ooniprobe-2.2.0/0000755000175000017500000000000013071152230011637 5ustar irlirlooniprobe-2.2.0/LICENSE0000644000175000017500000000277012733731376012674 0ustar irlirlCopyright (c) 2012-2016, Jacob Appelbaum, Aaron Gibson, Arturo Filastò, Isis Lovecruft, The Tor Project. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. This product includes GeoLite data created by MaxMind, available from http://www.maxmind.com. ooniprobe-2.2.0/PKG-INFO0000644000175000017500000001204113071152230012732 0ustar irlirlMetadata-Version: 1.1 Name: ooniprobe Version: 2.2.0 Summary: Network measurement tool foridentifying traffic manipulation and blocking. Home-page: https://ooni.torproject.org/ Author: Open Observatory of Network Interference Author-email: contact@openobservatory.org License: BSD 2 clause Description: ooniprobe: a network interference detection tool ================================================ .. image:: https://travis-ci.org/TheTorProject/ooni-probe.png?branch=master :target: https://travis-ci.org/TheTorProject/ooni-probe .. image:: https://coveralls.io/repos/TheTorProject/ooni-probe/badge.png :target: https://coveralls.io/r/TheTorProject/ooni-probe ___________________________________________________________________________ .. image:: https://ooni.torproject.org/images/ooni-header-mascot.png :target: https:://ooni.torproject.org/ OONI, the Open Observatory of Network Interference, is a global observation network which aims is to collect high quality data using open methodologies, using Free and Open Source Software (FL/OSS) to share observations and data about the various types, methods, and amounts of network tampering in the world. Read this before running ooniprobe! ----------------------------------- Running ooniprobe is a potentially risky activity. This greatly depends on the jurisdiction in which you are in and which test you are running. It is technically possible for a person observing your internet connection to be aware of the fact that you are running ooniprobe. This means that if running network measurement tests is something considered to be illegal in your country then you could be spotted. Furthermore, ooniprobe takes no precautions to protect the install target machine from forensics analysis. If the fact that you have installed or used ooni probe is a liability for you, please be aware of this risk. Setup ooniprobe ------------------- To install ooniprobe you will need the following dependencies: * python * python-dev * python-setuptools * build-essential * libdumbnet1 * python-dumbnet * python-libpcap * tor * libgeoip-dev * libpcap0.8-dev * libssl-dev * libffi-dev * libdumbnet-dev On debian based systems this can generally be done by running: .. code:: bash sudo apt-get install -y build-essential libdumbnet-dev libpcap-dev libgeoip-dev libffi-dev python-dev python-pip When you got them run: .. code:: bash sudo pip install ooniprobe Using ooniprobe --------------- It is recommended that you start the ooniprobe-agent system daemon that will expose a localhost only Web UI and automatically run tests for you. This can be done with: .. code:: bash ooniprobe-agent start Then connect to the local web interface on http://127.0.0.1:8842/ Have fun! Platform: UNKNOWN Classifier: Development Status :: 5 - Production/Stable Classifier: Environment :: Console Classifier: Framework :: Twisted Classifier: Intended Audience :: Developers Classifier: Intended Audience :: Education Classifier: Intended Audience :: End Users/Desktop Classifier: Intended Audience :: Information Technology Classifier: Intended Audience :: Science/Research Classifier: Intended Audience :: Telecommunications Industry Classifier: License :: OSI Approved :: BSD License Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 2 Classifier: Programming Language :: Python :: 2 :: Only Classifier: Programming Language :: Python :: 2.6 Classifier: Programming Language :: Python :: 2.7 Classifier: Operating System :: MacOS :: MacOS X Classifier: Operating System :: POSIX Classifier: Operating System :: POSIX :: BSD Classifier: Operating System :: POSIX :: BSD :: BSD/OS Classifier: Operating System :: POSIX :: BSD :: FreeBSD Classifier: Operating System :: POSIX :: BSD :: NetBSD Classifier: Operating System :: POSIX :: BSD :: OpenBSD Classifier: Operating System :: POSIX :: Linux Classifier: Operating System :: Unix Classifier: Topic :: Scientific/Engineering :: Information Analysis Classifier: Topic :: Security Classifier: Topic :: Security :: Cryptography Classifier: Topic :: Software Development :: Libraries :: Application Frameworks Classifier: Topic :: Software Development :: Libraries :: Python Modules Classifier: Topic :: Software Development :: Testing Classifier: Topic :: Software Development :: Testing :: Traffic Generation Classifier: Topic :: System :: Networking :: Monitoring ooniprobe-2.2.0/README.rst0000644000175000017500000002407313061505267013347 0ustar irlirlooniprobe: a network interference detection tool ================================================ .. image:: https://travis-ci.org/TheTorProject/ooni-probe.png?branch=master :target: https://travis-ci.org/TheTorProject/ooni-probe .. image:: https://coveralls.io/repos/TheTorProject/ooni-probe/badge.png :target: https://coveralls.io/r/TheTorProject/ooni-probe .. image:: https://slack.openobservatory.org/badge.svg :target: https://slack.openobservatory.org/badge.svg ___________________________________________________________________________ .. image:: https://ooni.torproject.org/images/ooni-header-mascot.png :target: https:://ooni.torproject.org/ OONI, the Open Observatory of Network Interference, is a global observation network which aims is to collect high quality data using open methodologies, using Free and Open Source Software (FL/OSS) to share observations and data about the various types, methods, and amounts of network tampering in the world. "The Net interprets censorship as damage and routes around it." - John Gilmore; TIME magazine (6 December 1993) ooniprobe is the first program that users run to probe their network and to collect data for the OONI project. Are you interested in testing your network for signs of surveillance and censorship? Do you want to collect data to share with others, so that you and others may better understand your network? If so, please read this document and we hope ooniprobe will help you to gather network data that will assist you with your endeavors! Read this before running ooniprobe! ----------------------------------- Running ooniprobe is a potentially risky activity. This greatly depends on the jurisdiction in which you are in and which test you are running. It is technically possible for a person observing your internet connection to be aware of the fact that you are running ooniprobe. This means that if running network measurement tests is something considered to be illegal in your country then you could be spotted. Furthermore, ooniprobe takes no precautions to protect the install target machine from forensics analysis. If the fact that you have installed or used ooni probe is a liability for you, please be aware of this risk. OONI in 5 minutes ================= The latest ooniprobe version for Debian and Ubuntu releases can be found in the deb.torproject.org package repository. On Debian stable (jessie):: gpg --keyserver keys.gnupg.net --recv A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add - echo 'deb http://deb.torproject.org/torproject.org jessie main' | sudo tee /etc/apt/sources.list.d/ooniprobe.list sudo apt-get update sudo apt-get install ooniprobe deb.torproject.org-keyring On Debian testing:: gpg --keyserver keys.gnupg.net --recv A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add - echo 'deb http://deb.torproject.org/torproject.org testing main' | sudo tee /etc/apt/sources.list.d/ooniprobe.list sudo apt-get update sudo apt-get install ooniprobe deb.torproject.org-keyring On Debian unstable:: gpg --keyserver keys.gnupg.net --recv A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add - echo 'deb http://deb.torproject.org/torproject.org unstable main' | sudo tee /etc/apt/sources.list.d/ooniprobe.list sudo apt-get update sudo apt-get install ooniprobe deb.torproject.org-keyring On Ubuntu 16.10 (yakkety), 16.04 (xenial) or 14.04 (trusty):: gpg --keyserver keys.gnupg.net --recv A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add - echo 'deb http://deb.torproject.org/torproject.org $RELEASE main' | sudo tee /etc/apt/sources.list.d/ooniprobe.list sudo apt-get update sudo apt-get install ooniprobe deb.torproject.org-keyring Note: You'll need to swap out ``$RELEASE`` for either ``yakkety``, ``xenial`` or ``trusty``. This will not happen automatically. You will also need to ensure that you have the ``universe`` repository enabled. The ``universe`` repository is enabled by default in a standard Ubuntu installation but may not be on some minimal, or not standard, installations. Installation ============ macOS ----- You can install ooniprobe on macOS if you have installed homebrew (http://brew.sh/) with:: brew install ooniprobe Unix systems (with pip) ----------------------- Make sure you have installed the following dependencies: * build-essential * python (>=2.7) * python-dev * pip * libgeoip-dev * libdumbnet-dev * libpcap-dev * libssl-dev * libffi-dev * tor (>=0.2.5.1 to run all the tor related tests) Optional dependencies: * obfs4proxy On debian based systems this can generally be done by running:: sudo apt-get install -y build-essential libdumbnet-dev libpcap-dev libgeoip-dev libffi-dev python-dev python-pip tor libssl-dev obfs4proxy Then you should be able to install ooniprobe by running:: sudo pip install ooniprobe or install ooniprobe as a user:: pip install ooniprobe Using ooniprobe =============== **Net test** is a set of measurements to assess what kind of internet censorship is occurring. **Decks** are collections of ooniprobe nettests with some associated inputs. **Collector** is a service used to report the results of measurements. **Test helper** is a service used by a probe for successfully performing its measurements. **Bouncer** is a service used to discover the addresses of test helpers and collectors. Configuring ooniprobe --------------------- After successfully installing ooniprobe you should be able to access the web UI on your host machine at . You should now be presented with the web UI setup wizard where you can read the risks involved with running ooniprobe. Upon answering the quiz correctly you can enable or disable ooniprobe tests, set how you can connect to the measurement's collector and finally configure your privacy settings. By default ooniprobe will not include personal identifying information in the test results, nor create a pcap file. This behavior can be personalized. Run ooniprobe as a service (systemd) ------------------------------------ Upon ooniprobe version 2.0.0 there is no need for cronjobs as ooniprobe-agent is responsible for the tasks scheduling. You can ensure that ooniprobe-agent is always running by installing and enabling the systemd unit `ooniprobe.service`:: wget https://raw.githubusercontent.com/TheTorProject/ooni-probe/master/scripts/systemd/ooniprobe.service --directory-prefix=/etc/systemd/system systemctl enable ooniprobe systemctl start ooniprobe You should be able to see a similar output if ooniprobe (systemd) service is active and loaded by running `systemctl status ooniprobe`:: ● ooniprobe.service - ooniprobe.service, network interference detection tool Loaded: loaded (/etc/systemd/system/ooniprobe.service; enabled) Active: active (running) since Thu 2016-10-20 09:17:42 UTC; 16s ago Process: 311 ExecStart=/usr/local/bin/ooniprobe-agent start (code=exited, status=0/SUCCESS) Main PID: 390 (ooniprobe-agent) CGroup: /system.slice/ooniprobe.service └─390 /usr/bin/python /usr/local/bin/ooniprobe-agent start Setting capabilities on your virtualenv python binary ===================================================== If your distribution supports capabilities you can avoid needing to run OONI as root:: setcap cap_net_admin,cap_net_raw+eip /path/to/your/virtualenv's/python2 Reporting bugs ============== You can report bugs and issues you find with ooni-probe on The Tor Project issue tracker filing them under the "Ooni" component: https://trac.torproject.org/projects/tor/newticket?component=Ooni. You can either register an account or use the group account "cypherpunks" with password "writecode". Contributing ============ You can download the code for ooniprobe from the following git repository:: git clone https://github.com/TheTorProject/ooni-probe.git You should then submit patches for review as pull requests to this github repository: https://github.com/TheTorProject/ooni-probe Read this article to learn how to create a pull request on github (https://help.github.com/articles/creating-a-pull-request). If you prefer not to use github (or don't have an account), you may also submit patches as attachments to tickets. Be sure to format the patch (given that you are working on a feature branch that is different from master) with:: git format-patch master --stdout > my_first_ooniprobe.patch Setting up development environment ---------------------------------- On Debian based systems a development environment can be setup as follows: (prerequisites include build essentials, python-dev, and tor; for tor see https://www.torproject.org/docs/debian.html.en):: sudo apt-get install python-pip python-virtualenv virtualenv sudo apt-get install libgeoip-dev libffi-dev libdumbnet-dev libssl-dev libpcap-dev git clone https://github.com/TheTorProject/ooni-probe cd ooni-probe virtualenv venv `virtualenv venv` will create a folder in the current directory which will contain the Python executable files, and a copy of the pip library which you can use to install other packages. To begin using the virtual environment, it needs to be activated:: source venv/bin/activate pip install -r requirements.txt pip install -r requirements-dev.txt python setup.py install Then, you can check whether the installation went well with:: ooniprobe -s This will explain you the risks of running ooniprobe and make sure you have understood them, afterwards it shows you the available tests. To run the ooniprobe agent, instead, type:: ooniprobe-agent run To execute the unit tests for ooniprobe, type:: coverage run $(which trial) ooni Donate ------- Send bitcoins to .. image:: http://i.imgur.com/CIWHb5R.png :target: http://www.coindesk.com/information/how-can-i-buy-bitcoins/ 1Ai9d4dhDBjxYVkKKf1pFXptEGfM1vxFBf ooniprobe-2.2.0/ooniprobe.egg-info/0000755000175000017500000000000013071152230015325 5ustar irlirlooniprobe-2.2.0/ooniprobe.egg-info/requires.txt0000644000175000017500000000032213071152230017722 0ustar irlirlpyasn1>=0.1.8 setuptools>=11.3 PyYAML>=3.10 Twisted>=13.2.0 ipaddr>=2.1.10 pyOpenSSL>=0.15.1 geoip txtorcon>=0.7 txsocksx>=0.0.2 scapy>=2.2.0 pypcap>=1.1 service-identity pydumbnet zope.interface certifi klein ooniprobe-2.2.0/ooniprobe.egg-info/PKG-INFO0000644000175000017500000001204113071152230016420 0ustar irlirlMetadata-Version: 1.1 Name: ooniprobe Version: 2.2.0 Summary: Network measurement tool foridentifying traffic manipulation and blocking. Home-page: https://ooni.torproject.org/ Author: Open Observatory of Network Interference Author-email: contact@openobservatory.org License: BSD 2 clause Description: ooniprobe: a network interference detection tool ================================================ .. image:: https://travis-ci.org/TheTorProject/ooni-probe.png?branch=master :target: https://travis-ci.org/TheTorProject/ooni-probe .. image:: https://coveralls.io/repos/TheTorProject/ooni-probe/badge.png :target: https://coveralls.io/r/TheTorProject/ooni-probe ___________________________________________________________________________ .. image:: https://ooni.torproject.org/images/ooni-header-mascot.png :target: https:://ooni.torproject.org/ OONI, the Open Observatory of Network Interference, is a global observation network which aims is to collect high quality data using open methodologies, using Free and Open Source Software (FL/OSS) to share observations and data about the various types, methods, and amounts of network tampering in the world. Read this before running ooniprobe! ----------------------------------- Running ooniprobe is a potentially risky activity. This greatly depends on the jurisdiction in which you are in and which test you are running. It is technically possible for a person observing your internet connection to be aware of the fact that you are running ooniprobe. This means that if running network measurement tests is something considered to be illegal in your country then you could be spotted. Furthermore, ooniprobe takes no precautions to protect the install target machine from forensics analysis. If the fact that you have installed or used ooni probe is a liability for you, please be aware of this risk. Setup ooniprobe ------------------- To install ooniprobe you will need the following dependencies: * python * python-dev * python-setuptools * build-essential * libdumbnet1 * python-dumbnet * python-libpcap * tor * libgeoip-dev * libpcap0.8-dev * libssl-dev * libffi-dev * libdumbnet-dev On debian based systems this can generally be done by running: .. code:: bash sudo apt-get install -y build-essential libdumbnet-dev libpcap-dev libgeoip-dev libffi-dev python-dev python-pip When you got them run: .. code:: bash sudo pip install ooniprobe Using ooniprobe --------------- It is recommended that you start the ooniprobe-agent system daemon that will expose a localhost only Web UI and automatically run tests for you. This can be done with: .. code:: bash ooniprobe-agent start Then connect to the local web interface on http://127.0.0.1:8842/ Have fun! Platform: UNKNOWN Classifier: Development Status :: 5 - Production/Stable Classifier: Environment :: Console Classifier: Framework :: Twisted Classifier: Intended Audience :: Developers Classifier: Intended Audience :: Education Classifier: Intended Audience :: End Users/Desktop Classifier: Intended Audience :: Information Technology Classifier: Intended Audience :: Science/Research Classifier: Intended Audience :: Telecommunications Industry Classifier: License :: OSI Approved :: BSD License Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 2 Classifier: Programming Language :: Python :: 2 :: Only Classifier: Programming Language :: Python :: 2.6 Classifier: Programming Language :: Python :: 2.7 Classifier: Operating System :: MacOS :: MacOS X Classifier: Operating System :: POSIX Classifier: Operating System :: POSIX :: BSD Classifier: Operating System :: POSIX :: BSD :: BSD/OS Classifier: Operating System :: POSIX :: BSD :: FreeBSD Classifier: Operating System :: POSIX :: BSD :: NetBSD Classifier: Operating System :: POSIX :: BSD :: OpenBSD Classifier: Operating System :: POSIX :: Linux Classifier: Operating System :: Unix Classifier: Topic :: Scientific/Engineering :: Information Analysis Classifier: Topic :: Security Classifier: Topic :: Security :: Cryptography Classifier: Topic :: Software Development :: Libraries :: Application Frameworks Classifier: Topic :: Software Development :: Libraries :: Python Modules Classifier: Topic :: Software Development :: Testing Classifier: Topic :: Software Development :: Testing :: Traffic Generation Classifier: Topic :: System :: Networking :: Monitoring ooniprobe-2.2.0/ooniprobe.egg-info/top_level.txt0000644000175000017500000000000513071152230020052 0ustar irlirlooni ooniprobe-2.2.0/ooniprobe.egg-info/dependency_links.txt0000644000175000017500000000000113071152230021373 0ustar irlirl ooniprobe-2.2.0/ooniprobe.egg-info/not-zip-safe0000644000175000017500000000000112762034611017563 0ustar irlirl ooniprobe-2.2.0/ooniprobe.egg-info/entry_points.txt0000644000175000017500000000036013071152230020622 0ustar irlirl[console_scripts] oonideckgen = ooni.scripts.oonideckgen:run ooniprobe = ooni.scripts.ooniprobe:run ooniprobe-agent = ooni.scripts.ooniprobe_agent:run oonireport = ooni.scripts.oonireport:run ooniresources = ooni.scripts.ooniresources:run ooniprobe-2.2.0/ooniprobe.egg-info/SOURCES.txt0000644000175000017500000002262213071152230017215 0ustar irlirlChangeLog.rst LICENSE MANIFEST.in README.rst requirements.txt setup.cfg setup.py data/lepidopter-update.py data/oonideckgen.1 data/ooniprobe-agent.1 data/ooniprobe.1 data/ooniprobe.conf.sample data/oonireport.1 data/ooniresources.1 data/decks/http-invalid.yaml data/decks/im.yaml data/decks/tor.yaml data/decks/web.yaml ooni/__init__.py ooni/backend_client.py ooni/constants.py ooni/director.py ooni/errors.py ooni/geoip.py ooni/managers.py ooni/measurements.py ooni/nettest.py ooni/otime.py ooni/reporter.py ooni/resources.py ooni/settings.ini ooni/settings.py ooni/tasks.py ooni/agent/__init__.py ooni/agent/agent.py ooni/agent/scheduler.py ooni/common/__init__.py ooni/common/http_utils.py ooni/common/ip_utils.py ooni/common/tcp_utils.py ooni/common/txextra.py ooni/contrib/__init__.py ooni/contrib/croniter.py ooni/contrib/dateutil/__init__.py ooni/contrib/dateutil/relativedelta.py ooni/contrib/dateutil/tz/__init__.py ooni/contrib/dateutil/tz/_common.py ooni/contrib/dateutil/tz/tz.py ooni/contrib/dateutil/tz/win.py ooni/deck/__init__.py ooni/deck/backend.py ooni/deck/deck.py ooni/deck/legacy.py ooni/deck/store.py ooni/kit/__init__.py ooni/kit/daphn3.py ooni/kit/domclass.py ooni/nettests/__init__.py ooni/nettests/__init__.pyc ooni/nettests/blocking/__init__.py ooni/nettests/blocking/__init__.pyc ooni/nettests/blocking/bridge_reachability.py ooni/nettests/blocking/bridge_reachability.pyc ooni/nettests/blocking/dns_consistency.py ooni/nettests/blocking/dns_consistency.pyc ooni/nettests/blocking/dns_n_http.pyc ooni/nettests/blocking/facebook_messenger.py ooni/nettests/blocking/facebook_messenger.pyc ooni/nettests/blocking/http_requests.py ooni/nettests/blocking/http_requests.pyc ooni/nettests/blocking/meek_fronted_requests.py ooni/nettests/blocking/meek_fronted_requests.pyc ooni/nettests/blocking/tcp_connect.py ooni/nettests/blocking/tcp_connect.pyc ooni/nettests/blocking/telegram.py ooni/nettests/blocking/vanilla_tor.py ooni/nettests/blocking/vanilla_tor.pyc ooni/nettests/blocking/web_connectivity.py ooni/nettests/blocking/web_connectivity.pyc ooni/nettests/blocking/whatsapp.py ooni/nettests/blocking/whatsapp.pyc ooni/nettests/examples/__init__.py ooni/nettests/examples/__init__.pyc ooni/nettests/examples/example_dns_http.py ooni/nettests/examples/example_dnst.py ooni/nettests/examples/example_dnst.pyc ooni/nettests/examples/example_http_checksum.py ooni/nettests/examples/example_http_checksum.pyc ooni/nettests/examples/example_httpt.py ooni/nettests/examples/example_httpt.pyc ooni/nettests/examples/example_myip.py ooni/nettests/examples/example_myip.pyc ooni/nettests/examples/example_postprocessor.py ooni/nettests/examples/example_process.py ooni/nettests/examples/example_process.pyc ooni/nettests/examples/example_scapyt.py ooni/nettests/examples/example_scapyt.pyc ooni/nettests/examples/example_scapyt_yield.py ooni/nettests/examples/example_scapyt_yield.pyc ooni/nettests/examples/example_simple.py ooni/nettests/examples/example_simple_post.py ooni/nettests/examples/example_tcpt.py ooni/nettests/examples/example_tcpt.pyc ooni/nettests/experimental/__init__.py ooni/nettests/experimental/__init__.pyc ooni/nettests/experimental/chinatrigger.py ooni/nettests/experimental/chinatrigger.pyc ooni/nettests/experimental/daphne.py ooni/nettests/experimental/dns_injection.py ooni/nettests/experimental/dns_injection.pyc ooni/nettests/experimental/domclass_collector.py ooni/nettests/experimental/domclass_collector.pyc ooni/nettests/experimental/dynamic_inputs.pyc ooni/nettests/experimental/http_filtering_bypassing.py ooni/nettests/experimental/http_keyword_filtering.py ooni/nettests/experimental/http_keyword_filtering.pyc ooni/nettests/experimental/http_trix.py ooni/nettests/experimental/http_uk_mobile_networks.py ooni/nettests/experimental/http_uk_mobile_networks.pyc ooni/nettests/experimental/keyword_filtering.py ooni/nettests/experimental/keyword_filtering.pyc ooni/nettests/experimental/mk_http_invalid_request_line.pyc ooni/nettests/experimental/parasitictraceroute.py ooni/nettests/experimental/parasitictraceroute.pyc ooni/nettests/experimental/script.py ooni/nettests/experimental/squid.py ooni/nettests/experimental/squid.pyc ooni/nettests/experimental/tls_handshake.py ooni/nettests/experimental/bridge_reachability/bridget.py ooni/nettests/experimental/bridge_reachability/echo.py ooni/nettests/manipulation/__init__.py ooni/nettests/manipulation/__init__.pyc ooni/nettests/manipulation/captiveportal.py ooni/nettests/manipulation/captiveportal.pyc ooni/nettests/manipulation/daphne.pyc ooni/nettests/manipulation/dns_spoof.py ooni/nettests/manipulation/dns_spoof.pyc ooni/nettests/manipulation/http_header_field_manipulation.py ooni/nettests/manipulation/http_header_field_manipulation.pyc ooni/nettests/manipulation/http_host.py ooni/nettests/manipulation/http_host.pyc ooni/nettests/manipulation/http_invalid_request_line.py ooni/nettests/manipulation/http_invalid_request_line.pyc ooni/nettests/manipulation/traceroute.py ooni/nettests/manipulation/traceroute.pyc ooni/nettests/scanning/__init__.py ooni/nettests/scanning/__init__.pyc ooni/nettests/scanning/http_url_list.py ooni/nettests/scanning/http_url_list.pyc ooni/nettests/third_party/Makefile ooni/nettests/third_party/README ooni/nettests/third_party/__init__.py ooni/nettests/third_party/__init__.pyc ooni/nettests/third_party/lantern.py ooni/nettests/third_party/lantern.pyc ooni/nettests/third_party/netalyzr.py ooni/nettests/third_party/netalyzr.pyc ooni/nettests/third_party/openvpn.py ooni/nettests/third_party/openvpn.pyc ooni/nettests/third_party/psiphon.py ooni/nettests/third_party/psiphon.pyc ooni/scripts/__init__.py ooni/scripts/oonideckgen.py ooni/scripts/ooniprobe.py ooni/scripts/ooniprobe_agent.py ooni/scripts/oonireport.py ooni/scripts/ooniresources.py ooni/templates/__init__.py ooni/templates/dnst.py ooni/templates/httpt.py ooni/templates/process.py ooni/templates/scapyt.py ooni/templates/tcpt.py ooni/tests/__init__.py ooni/tests/bases.py ooni/tests/disable_test_dns.py ooni/tests/mocks.py ooni/tests/test_backend_client.py ooni/tests/test_common.py ooni/tests/test_deck.py ooni/tests/test_director.py ooni/tests/test_errors.py ooni/tests/test_geoip.py ooni/tests/test_managers.py ooni/tests/test_mutate.py ooni/tests/test_nettest.py ooni/tests/test_onion.py ooni/tests/test_oonicli.py ooni/tests/test_oonideckgen.py ooni/tests/test_oonireport.py ooni/tests/test_reporter.py ooni/tests/test_resources.py ooni/tests/test_safe_represent.py ooni/tests/test_scheduler.py ooni/tests/test_settings.py ooni/tests/test_socks.py ooni/tests/test_templates.py ooni/tests/test_trueheaders.py ooni/tests/test_txscapy.py ooni/tests/test_utils.py ooni/tests/test_wui_server.py ooni/ui/__init__.py ooni/ui/cli.py ooni/ui/consent-form.md ooni/ui/web/__init__.py ooni/ui/web/server.py ooni/ui/web/web.py ooni/ui/web/client/0.measurements.abbefd5cfbd0c09ba163.js ooni/ui/web/client/1.dashboard.8a8441e69ec6ad3f4623.js ooni/ui/web/client/3.onboard.d447ccf49a17f1bcf076.js ooni/ui/web/client/4.4.98946e4733f3cb74e9a8.js ooni/ui/web/client/5.settings.c6df80ccc6ab26c17688.js ooni/ui/web/client/6.logs.2037a11d271e08733f99.js ooni/ui/web/client/app.18387b22880f2afc1f16828000464498.css ooni/ui/web/client/app.8b2cc273c7c7f67623f2.js ooni/ui/web/client/favicon.ico ooni/ui/web/client/humans.txt ooni/ui/web/client/index.html ooni/ui/web/client/robots.txt ooni/ui/web/client/vendor.c8637e95835a4a051245.js ooni/ui/web/client/favicons/android-icon-192x192.png ooni/ui/web/client/favicons/apple-icon-114x114.png ooni/ui/web/client/favicons/apple-icon-120x120.png ooni/ui/web/client/favicons/apple-icon-144x144.png ooni/ui/web/client/favicons/apple-icon-152x152.png ooni/ui/web/client/favicons/apple-icon-180x180.png ooni/ui/web/client/favicons/apple-icon-57x57.png ooni/ui/web/client/favicons/apple-icon-60x60.png ooni/ui/web/client/favicons/apple-icon-72x72.png ooni/ui/web/client/favicons/apple-icon-76x76.png ooni/ui/web/client/favicons/favicon-16x16.png ooni/ui/web/client/favicons/favicon-32x32.png ooni/ui/web/client/favicons/favicon-96x96.png ooni/ui/web/client/favicons/ms-icon-144x144.png ooni/ui/web/client/fonts/charter-bold-italic.e5c78e2789ec748d8c7f5adccad90e0b.woff ooni/ui/web/client/fonts/charter-bold.78342dfad83c591ee5e926f2ffbd0671.woff ooni/ui/web/client/fonts/charter-italic.a043b97f0bac1546f96bc31abd6956bb.woff ooni/ui/web/client/fonts/charter-regular.0c4500a9d203a33bd879a9a0bee1190d.woff ooni/ui/web/client/fonts/fira-sans-bold.5310ca5fb41a915987df5663660da770.otf ooni/ui/web/client/fonts/fira-sans-light.7dd0ad25580893d980bbf0475f88aead.otf ooni/ui/web/client/fonts/fira-sans-semi-bold.3de79d2eb33e18bba8f5f5834a3d9d05.otf ooni/ui/web/client/fonts/fontawesome-webfont.674f50d287a8c48dc19ba404d20fe713.eot ooni/ui/web/client/fonts/fontawesome-webfont.af7ae505a9eed503f8b8e6982036873e.woff2 ooni/ui/web/client/fonts/fontawesome-webfont.b06871f281fee6b241d60582ae9369b9.ttf ooni/ui/web/client/fonts/fontawesome-webfont.fee66e712a8a08eef5805a46892932ad.woff ooni/ui/web/client/fonts/ooni-icons.7f721a571194837f629b6dd86a703ca5.eot ooni/ui/web/client/fonts/source-code-pro-bold.b78a2d32658068a52eab4b7f8f7d366e.woff ooni/ui/web/client/fonts/source-code-pro-regular.7e5b1b977ba8a582d81367d2940e8150.woff ooni/utils/__init__.py ooni/utils/files.py ooni/utils/log.py ooni/utils/net.py ooni/utils/onion.py ooni/utils/socks.py ooni/utils/txscapy.py ooniprobe.egg-info/PKG-INFO ooniprobe.egg-info/SOURCES.txt ooniprobe.egg-info/dependency_links.txt ooniprobe.egg-info/entry_points.txt ooniprobe.egg-info/not-zip-safe ooniprobe.egg-info/requires.txt ooniprobe.egg-info/top_level.txtooniprobe-2.2.0/ooni/0000755000175000017500000000000013071152230012603 5ustar irlirlooniprobe-2.2.0/ooni/agent/0000755000175000017500000000000013071152230013701 5ustar irlirlooniprobe-2.2.0/ooni/agent/scheduler.py0000644000175000017500000004126213070703575016253 0ustar irlirlimport os import errno import random from hashlib import md5 from datetime import datetime, timedelta from twisted.application import service from twisted.internet import defer, reactor from twisted.internet.task import LoopingCall from twisted.python.filepath import FilePath from ooni.scripts import oonireport from ooni import resources from ooni.utils import log, SHORT_DATE from ooni.utils.files import human_size_to_bytes, directory_usage from ooni.deck.store import input_store, deck_store, DEFAULT_DECKS from ooni.settings import config from ooni.contrib import croniter from ooni.contrib.dateutil.tz import tz from ooni.geoip import probe_ip from ooni.measurements import list_measurements class FileSystemlockAndMutex(object): """ This is a lock that is both a mutex lock and also on filesystem. When you acquire it, it will first acquire the mutex lock and then acquire the filesystem lock. The release order is inverted. This is to avoid concurrent usage within the same process. When using it concurrently the mutex lock will block before the filesystem lock is acquired. It's a way to support concurrent usage of the DeferredFilesystemLock from different stacks (threads/fibers) within the same process without races. """ def __init__(self, file_path): """ Args: file_path: is the location of where the filesystem based lockfile should be written to. """ self._fs_lock = defer.DeferredFilesystemLock(file_path) self._mutex = defer.DeferredLock() @defer.inlineCallbacks def acquire(self): yield self._mutex.acquire() yield self._fs_lock.deferUntilLocked() def release(self): """Release the filesystem based and in memory locks.""" self._fs_lock.unlock() self._mutex.release() @property def locked(self): return self._mutex.locked or self._fs_lock.locked # We use this date to indicate that the scheduled task has never run. # Easter egg, try to see what is special about this date :)? CANARY_DATE = datetime(1957, 10, 4, tzinfo=tz.tzutc()) class DidNotRun(Exception): pass class ScheduledTask(object): """ Two ScheduledTask instances with same identifier are not permited to run concurrently. There should be no ScheduledTask queue waiting for the lock as SchedulerService ticks quite often. """ _time_format = "%Y-%m-%dT%H:%M:%SZ" schedule = None identifier = None def __init__(self, schedule=None, identifier=None, scheduler_directory=None): if scheduler_directory is None: scheduler_directory = config.scheduler_directory if schedule is not None: self.schedule = schedule if identifier is not None: self.identifier = identifier assert self.identifier is not None, "self.identifier must be set" assert self.schedule is not None, "self.schedule must be set" # XXX: both _last_run_lock and _smear_coef require that there is single # instance of the ScheduledTask of each type identified by `identifier`. self._last_run = FilePath(scheduler_directory).child(self.identifier) self._last_run_lock = FileSystemlockAndMutex( FilePath(scheduler_directory).child(self.identifier + ".lock").path ) self._smear_coef = random.random() def cancel(self): """ Cancel a currently running task. If it is locked, then release the lock. """ if not self._last_run_lock.locked: # _last_run_lock.release() will throw if we try to release it log.err('BUG: cancelling non-locked task {} without holding lock'.format(self.identifier)) return # probably, cancelling the task TAKEN the lock is even worse :-) self._last_run_lock.release() @property def should_run(self): current_time = datetime.utcnow().replace(tzinfo=tz.tzutc()) next_cycle = croniter(self.schedule, self.last_run).get_next(datetime) delta = (croniter(self.schedule, next_cycle).get_next(datetime) - next_cycle).total_seconds() next_cycle = next_cycle + timedelta(seconds=delta * 0.1 * self._smear_coef) if next_cycle <= current_time: return True return False @property def last_run(self): self._last_run.restat(False) if not self._last_run.exists(): return CANARY_DATE with self._last_run.open('r') as in_file: date_str = in_file.read() return datetime.strptime(date_str, self._time_format).replace( tzinfo=tz.tzutc()) def _update_last_run(self, last_run_time): """ Update the time at which this task ran successfully last, by running to a file. """ with self._last_run.open('w') as out_file: out_file.write(last_run_time.strftime(self._time_format)) def task(self): raise NotImplementedError def first_run(self): """ This hook is called if it's the first time a particular scheduled operation is run. """ pass @defer.inlineCallbacks def run(self): if self._last_run_lock.locked: # do not allow the queue to grow forever raise DidNotRun yield self._last_run_lock.acquire() if not self.should_run: self._last_run_lock.release() raise DidNotRun try: if self.last_run == CANARY_DATE: log.debug("Detected first run") yield defer.maybeDeferred(self.first_run) last_run_time = datetime.utcnow() yield self.task() self._update_last_run(last_run_time) except: raise finally: self._last_run_lock.release() class UpdateInputsAndResources(ScheduledTask): identifier = "update-inputs" schedule = "@daily" @defer.inlineCallbacks def first_run(self): """ On first run we update the resources that are common to every country. """ log.debug("Updating the global inputs and resources") yield resources.check_for_update("ZZ") @defer.inlineCallbacks def task(self): log.debug("Updating the inputs") yield probe_ip.lookup() log.debug("Updating the inputs for country %s" % probe_ip.geodata['countrycode']) yield resources.check_for_update(probe_ip.geodata['countrycode']) yield input_store.update(probe_ip.geodata['countrycode']) yield probe_ip.resolveGeodata() class UploadReports(ScheduledTask): """ This task is used to submit to the collector reports that have not been submitted and those that have been partially uploaded. """ identifier = 'upload-reports' schedule = '@hourly' @defer.inlineCallbacks def task(self): yield oonireport.upload_all(upload_incomplete=True) class DeleteOldReports(ScheduledTask): """ This task is used to delete reports that are older than a week. """ identifier = 'delete-old-reports' schedule = '@daily' def task(self): measurement_path = FilePath(config.measurements_directory) for measurement in list_measurements(): if measurement['keep'] is True: continue delta = datetime.utcnow() - \ datetime.strptime(measurement['test_start_time'], SHORT_DATE) if delta.days >= 7: log.debug("Deleting old report {0}".format(measurement["id"])) measurement_path.child(measurement['id']).remove() class CheckMeasurementQuota(ScheduledTask): """ This task is run to ensure we don't run out of disk space and deletes older reports to avoid filling the quota. """ identifier = 'check-measurement-quota' schedule = '@hourly' _warn_when = 0.8 def task(self): if config.basic.measurement_quota is None: return maximum_bytes = human_size_to_bytes(config.basic.measurement_quota) used_bytes = directory_usage(config.measurements_directory) warning_path = os.path.join(config.running_path, 'quota_warning') if (float(used_bytes) / float(maximum_bytes)) >= self._warn_when: log.warn("You are about to reach the maximum allowed quota. Be careful") with open(warning_path, "w") as out_file: out_file.write("{0} {1}".format(used_bytes, maximum_bytes)) else: try: os.remove(warning_path) except OSError as ose: if ose.errno != errno.ENOENT: raise if float(used_bytes) < float(maximum_bytes): # We are within the allow quota exit. return # We should begin to delete old reports amount_to_delete = float(used_bytes) - float(maximum_bytes) amount_deleted = 0 measurement_path = FilePath(config.measurements_directory) kept_measurements = [] stale_measurements = [] remaining_measurements = [] measurements_by_date = sorted(list_measurements(compute_size=True), key=lambda k: k['test_start_time']) for measurement in measurements_by_date: if measurement['keep'] is True: kept_measurements.append(measurement) elif measurement['stale'] is True: stale_measurements.append(measurement) else: remaining_measurements.append(measurement) # This is the order in which we should begin deleting measurements. ordered_measurements = (stale_measurements + remaining_measurements + kept_measurements) while amount_deleted < amount_to_delete: measurement = ordered_measurements.pop(0) log.warn("Deleting report {0}".format(measurement["id"])) measurement_path.child(measurement['id']).remove() amount_deleted += measurement['size'] class RunDeck(ScheduledTask): """ This will run the decks that have been configured on the system as the decks to run by default. """ def __init__(self, director, deck_id, schedule): self.deck_id = deck_id self.director = director # We use as identifier also the schedule time identifier = 'run-deck-' + deck_id + '-' + md5(schedule).hexdigest() super(RunDeck, self).__init__(schedule, identifier) @defer.inlineCallbacks def task(self): deck = deck_store.get(self.deck_id) yield deck.setup() yield deck.run(self.director, from_schedule=True) class RefreshDeckList(ScheduledTask): """ This task is configured to refresh the list of decks that are enabled. """ identifier = 'refresh-deck-list' schedule = '@hourly' def __init__(self, scheduler, schedule=None, identifier=None): self.scheduler = scheduler super(RefreshDeckList, self).__init__(schedule, identifier) def first_run(self): """ On first run we enable the default decks. """ for deck_id in DEFAULT_DECKS: deck_store.enable(deck_id) def task(self): self.scheduler.refresh_deck_list() class SendHeartBeat(ScheduledTask): """ This task is used to send a heartbeat that the probe is still alive and well. """ identifier = 'send-heartbeat' schedule = '@hourly' def task(self): # XXX implement this pass # Order matters SYSTEM_TASKS = [ UpdateInputsAndResources ] @defer.inlineCallbacks def run_system_tasks(no_input_store=False): task_classes = SYSTEM_TASKS[:] if no_input_store: log.debug("Not updating the inputs") try: task_classes.remove(UpdateInputsAndResources) except ValueError: pass for task_class in task_classes: task = task_class() log.debug("Running task {0}".format(task.identifier)) try: yield task.run() except DidNotRun: log.debug("Did not run {0}".format(task.identifier)) except Exception as exc: log.err("Failed to run task {0}".format(task.identifier)) log.exception(exc) class SchedulerService(service.MultiService): """ This service is responsible for running the periodic tasks. """ def __init__(self, director, interval=30, _reactor=reactor): service.MultiService.__init__(self) self.director = director self.interval = interval self._looping_call = LoopingCall(self._should_run) self._looping_call.clock = _reactor self._scheduled_tasks = [] def schedule(self, task): self._scheduled_tasks.append(task) def unschedule(self, task): # We first cancel the task so the run lock is deleted task.cancel() self._scheduled_tasks.remove(task) def refresh_deck_list(self): """ This checks if there are some decks that have been enabled and should be scheduled as periodic tasks to run on the next scheduler cycle and if some have been disabled and should not be run. It does so by listing the enabled decks and checking if the enabled ones are already scheduled or if some of the scheduled ones are not amongst the enabled decks. """ to_enable = [] for deck_id, deck in deck_store.list_enabled(): if deck.schedule is None: continue to_enable.append((deck_id, deck.schedule)) # If we are not initialized we should not enable anything if not config.is_initialized(): log.msg("We are not initialized skipping setup of decks") to_enable = [] for scheduled_task in self._scheduled_tasks[:]: if not isinstance(scheduled_task, RunDeck): continue info = (scheduled_task.deck_id, scheduled_task.schedule) if info in to_enable: # If the task is already scheduled there is no need to # enable it. log.debug("The deck {0} is already scheduled".format(deck_id)) to_enable.remove(info) else: # If one of the tasks that is scheduled is no longer in the # scheduled tasks. We should disable it. log.debug("The deck task {0} should be disabled".format(deck_id)) self.unschedule(scheduled_task) for deck_id, schedule in to_enable: log.debug("Scheduling to run {0}".format(deck_id)) self.schedule(RunDeck(self.director, deck_id, schedule)) def _task_did_not_run(self, failure, task): """ Fired when a tasks did not run. This is not an error. """ failure.trap(DidNotRun) log.debug("Did not run {0}".format(task.identifier)) def _task_failed(self, failure, task): """ Fired when a task failed to run due to an error. """ log.err("Failed to run {0}".format(task.identifier)) log.exception(failure) def _task_success(self, result, task): """ Fired when a task has successfully run. """ log.debug("Ran {0}".format(task.identifier)) def _should_run(self): """ This function is called every self.interval seconds to check which periodic tasks should be run. Note: the task will wait on the lock if there is already a task of that type running. This means that if a task is very long running there can potentially be a pretty large backlog of accumulated periodic tasks waiting to know if they should run. XXX We may want to do something like not wait on the lock if there is already a queue that is larger than a certain amount or something smarter if still starts to become a memory usage concern. """ for task in self._scheduled_tasks: log.debug("Running task {0}".format(task.identifier)) d = task.run() d.addErrback(self._task_did_not_run, task) d.addCallback(self._task_success, task) d.addErrback(self._task_failed, task) def startService(self): service.MultiService.startService(self) self.refresh_deck_list() self.schedule(UpdateInputsAndResources()) self.schedule(UploadReports()) self.schedule(DeleteOldReports()) self.schedule(CheckMeasurementQuota()) self.schedule(RefreshDeckList(self)) self._looping_call.start(self.interval) def stopService(self): service.MultiService.stopService(self) self._looping_call.stop() ooniprobe-2.2.0/ooni/agent/agent.py0000644000175000017500000000211113024243330015344 0ustar irlirlfrom twisted.application import service from ooni.director import Director from ooni.settings import config from ooni.ui.web.web import WebUIService from ooni.agent.scheduler import SchedulerService class AgentService(service.MultiService): """Manage all services related to the ooniprobe-agent daemon.""" def __init__(self, web_ui_port): """ If the advanced->disabled_webui is set to true then we will not start the WebUI. """ service.MultiService.__init__(self) director = Director() self.scheduler_service = SchedulerService(director) self.scheduler_service.setServiceParent(self) if not config.advanced.disabled_webui: self.web_ui_service = WebUIService(director, self.scheduler_service, web_ui_port) self.web_ui_service.setServiceParent(self) def startService(self): service.MultiService.startService(self) def stopService(self): service.MultiService.stopService(self) ooniprobe-2.2.0/ooni/agent/__init__.py0000644000175000017500000000000012767752452016027 0ustar irlirlooniprobe-2.2.0/ooni/utils/0000755000175000017500000000000013071152230013743 5ustar irlirlooniprobe-2.2.0/ooni/utils/files.py0000644000175000017500000000156312767752460015452 0ustar irlirlimport os import re HUMAN_SIZE = re.compile("(\d+\.?\d*G)|(\d+\.?\d*M)|(\d+\.?\d*K)|(\d+\.?\d*)") class InvalidFormat(Exception): pass def human_size_to_bytes(human_size): """ Converts a size specified in a human friendly way (for example 1G, 10M, 30K) into bytes. """ gb, mb, kb, b = HUMAN_SIZE.match(human_size).groups() if gb is not None: b = float(gb[:-1]) * (1024 ** 3) elif mb is not None: b = float(mb[:-1]) * (1024 ** 2) elif kb is not None: b = float(kb[:-1]) * 1024 elif b is not None: b = float(b) else: raise InvalidFormat return b def directory_usage(path): total_usage = 0 for root, dirs, filenames in os.walk(path): for filename in filenames: fp = os.path.join(root, filename) total_usage += os.path.getsize(fp) return total_usage ooniprobe-2.2.0/ooni/utils/onion.py0000644000175000017500000003053213017627406015456 0ustar irlirlimport os import re import pwd import fcntl import errno import string import StringIO import subprocess from distutils.spawn import find_executable from distutils.version import LooseVersion from twisted.internet import reactor, defer from twisted.internet.endpoints import TCP4ClientEndpoint from txtorcon import TorConfig, TorState, launch_tor, build_tor_connection from txtorcon.util import find_tor_binary as tx_find_tor_binary from ooni.utils import mkdir_p from ooni.utils.net import randomFreePort from ooni import constants from ooni import errors from ooni.utils import log from ooni.settings import config ONION_ADDRESS_REGEXP = re.compile("^((httpo|http|https)://)?" "[a-z0-9]{16}\.onion") TBB_PT_PATHS = ("/Applications/TorBrowser.app/Contents/MacOS/Tor" "/PluggableTransports/",) class TorVersion(LooseVersion): pass class OBFSProxyVersion(LooseVersion): pass def find_tor_binary(): if config.advanced.tor_binary: return config.advanced.tor_binary return tx_find_tor_binary() def executable_version(binary, strip=lambda x: x): if not binary: return None try: proc = subprocess.Popen((binary, '--version'), stdout=subprocess.PIPE, stderr=subprocess.PIPE) except OSError: pass else: stdout, _ = proc.communicate() if proc.poll() == 0 and stdout != '': version = stdout.strip() return LooseVersion(strip(version)) return None def tor_version(): version = executable_version(find_tor_binary(), lambda x: x.split(' ')[2]) return TorVersion(str(version)) def obfsproxy_version(): version = executable_version(find_executable('obfsproxy')) return OBFSProxyVersion(str(version)) def transport_name(address): """ If the address of the bridge starts with a valid c identifier then we consider it to be a bridge. Returns: The transport_name if it's a transport. None if it's not a obfsproxy bridge. """ transport_name = address.split(' ')[0] transport_name_chars = string.ascii_letters + string.digits if all(c in transport_name_chars for c in transport_name): return transport_name return None def is_onion_address(address): return ONION_ADDRESS_REGEXP.match(address) != None def find_pt_executable(name): bin_loc = find_executable(name) if bin_loc: return bin_loc for path in TBB_PT_PATHS: bin_loc = os.path.join(path, name) if os.path.isfile(bin_loc): return bin_loc return None tor_details = { 'binary': find_tor_binary(), 'version': tor_version() } obfsproxy_details = { 'binary': find_executable('obfsproxy'), 'version': obfsproxy_version() } transport_bin_name = { 'fte': 'fteproxy', 'scramblesuit': 'obfsproxy', 'obfs2': 'obfsproxy', 'obfs3': 'obfsproxy', 'obfs4': 'obfs4proxy' } _pyobfsproxy_line = lambda transport, bin_loc, log_file: \ "%s exec %s --log-min-severity info --log-file %s managed" % \ (transport, bin_loc, log_file) _transport_line_templates = { 'fte': lambda bin_loc, log_file : \ "fte exec %s --managed" % bin_loc, 'scramblesuit': lambda bin_loc, log_file: \ _pyobfsproxy_line('scramblesuit', bin_loc, log_file), 'obfs2': lambda bin_loc, log_file: \ _pyobfsproxy_line('obfs2', bin_loc, log_file), 'obfs3': lambda bin_loc, log_file: \ _pyobfsproxy_line('obfs3', bin_loc, log_file), 'obfs4': lambda bin_loc, log_file: \ "obfs4 exec %s --enableLogging=true --logLevel=INFO" % bin_loc, } pt_names = _transport_line_templates.keys() class UnrecognizedTransport(Exception): pass class UninstalledTransport(Exception): pass class OutdatedObfsproxy(Exception): pass class OutdatedTor(Exception): pass def bridge_line(transport, log_file): bin_name = transport_bin_name.get(transport) if not bin_name: raise UnrecognizedTransport bin_loc = find_executable(bin_name) if not bin_loc: raise UninstalledTransport if OBFSProxyVersion('0.2') > obfsproxy_details['version']: raise OutdatedObfsproxy if (transport == 'scramblesuit' or \ bin_name == 'obfs4proxy') and \ TorVersion('0.2.5.1') > tor_details['version']: raise OutdatedTor if TorVersion('0.2.4.1') > tor_details['version']: raise OutdatedTor return _transport_line_templates[transport](bin_loc, log_file) pt_config = { 'meek': [ { 'executable': 'obfs4proxy', 'minimum_version': '0.0.6', 'version_parse': lambda x: x.split('-')[1], 'client_transport_line': 'meek exec {bin_loc}' }, { 'executable': 'meek-client', 'minimum_version': None, 'client_transport_line': 'meek exec {bin_loc}' } ], 'obfs4': [ { 'executable': 'obfs4proxy', 'minimum_version': None, 'client_transport_line': 'obfs4 exec {bin_loc}' } ] } def get_client_transport(transport): """ :param transport: :return: client_transport_line """ try: pts = pt_config[transport] except KeyError: raise UnrecognizedTransport for pt in pts: bin_loc = find_pt_executable(pt['executable']) if bin_loc is None: continue if pt['minimum_version'] is not None: pt_version = executable_version(bin_loc, pt['version_parse']) if (pt_version is None or pt_version < LooseVersion(pt['minimum_version'])): continue return pt['client_transport_line'].format(bin_loc=bin_loc) raise UninstalledTransport def is_tor_data_dir_usable(tor_data_dir): """ Checks if the Tor data dir specified is usable. This means that it is not being locked and we have permissions to write to it. """ if not os.path.exists(tor_data_dir): return True try: fcntl.flock(open(os.path.join(tor_data_dir, 'lock'), 'w'), fcntl.LOCK_EX | fcntl.LOCK_NB) return True except (IOError, OSError) as err: if err.errno == errno.EACCES: # Permission error return False elif err.errno == errno.EAGAIN: # File locked return False def get_tor_config(): tor_config = TorConfig() if config.tor.control_port is None: config.tor.control_port = int(randomFreePort()) if config.tor.socks_port is None: config.tor.socks_port = int(randomFreePort()) tor_config.ControlPort = config.tor.control_port tor_config.SocksPort = config.tor.socks_port if config.tor.data_dir: data_dir = os.path.expanduser(config.tor.data_dir) # We only use the Tor data dir specified in the config file if # 1. It is not locked (i.e. another process is using it) # 2. We have write permissions to it data_dir_usable = is_tor_data_dir_usable(data_dir) try: mkdir_p(data_dir) except OSError as ose: if ose.errno == errno.EACCESS: data_dir_usable = False else: raise if data_dir_usable: tor_config.DataDirectory = data_dir if config.tor.bridges: tor_config.UseBridges = 1 if config.advanced.obfsproxy_binary: tor_config.ClientTransportPlugin = ( 'obfs2,obfs3 exec %s managed' % config.advanced.obfsproxy_binary ) bridges = [] with open(config.tor.bridges) as f: for bridge in f: if 'obfs' in bridge: if config.advanced.obfsproxy_binary: bridges.append(bridge.strip()) else: bridges.append(bridge.strip()) tor_config.Bridge = bridges if config.tor.torrc: for i in config.tor.torrc.keys(): setattr(tor_config, i, config.tor.torrc[i]) if os.geteuid() == 0: tor_config.User = pwd.getpwuid(os.geteuid()).pw_name tor_config.save() log.debug("Setting control port as %s" % tor_config.ControlPort) log.debug("Setting SOCKS port as %s" % tor_config.SocksPort) return tor_config class TorLauncherWithRetries(object): def __init__(self, tor_config, timeout=config.tor.timeout): self.retry_with = ["obfs4", "meek"] self.started = defer.Deferred() self.tor_output = StringIO.StringIO() self.tor_config = tor_config if timeout is None: # XXX we will want to move setting the default inside of the # config object. timeout = 200 self.timeout = timeout def _reset_tor_config(self): """ This is used to reset the Tor configuration to before launch_tor modified it. This is in particular used to force the regeneration of the DataDirectory. """ new_tor_config = TorConfig() for key in self.tor_config: if config.tor.data_dir is None and key == "DataDirectory": continue setattr(new_tor_config, key, getattr(self.tor_config, key)) self.tor_config = new_tor_config def _progress_updates(self, prog, tag, summary): log.msg("%d%%: %s" % (prog, summary)) @defer.inlineCallbacks def _state_complete(self, state): config.tor_state = state log.debug("We now have the following circuits: ") for circuit in state.circuits.values(): log.debug(" * %s" % circuit) socks_port = yield state.protocol.get_conf("SocksPort") control_port = yield state.protocol.get_conf("ControlPort") config.tor.socks_port = int(socks_port.values()[0]) config.tor.control_port = int(control_port.values()[0]) self.started.callback(state) def _setup_failed(self, failure): self.tor_output.seek(0) map(log.debug, self.tor_output.readlines()) self.tor_output.seek(0) if len(self.retry_with) == 0: self.started.errback(errors.UnableToStartTor()) return while len(self.retry_with) > 0: self._reset_tor_config() self.tor_config.UseBridges = 1 transport = self.retry_with.pop(0) log.msg("Failed to start Tor. Retrying with {0}".format(transport)) try: bridge_lines = getattr(constants, '{0}_BRIDGES'.format(transport).upper()) except AttributeError: continue try: self.tor_config.ClientTransportPlugin = get_client_transport(transport) except UninstalledTransport: log.err("Pluggable transport {0} is not installed".format( transport)) continue except UnrecognizedTransport: log.err("Unrecognized transport type") continue self.tor_config.Bridge = bridge_lines self.launch() break def _setup_complete(self, proto): """ Called when we read from stdout that Tor has reached 100%. """ log.debug("Building a TorState") config.tor.protocol = proto state = TorState(proto.tor_protocol) state.post_bootstrap.addCallbacks(self._state_complete, self._setup_failed) def _launch_tor(self): return launch_tor(self.tor_config, reactor, tor_binary=config.advanced.tor_binary, progress_updates=self._progress_updates, stdout=self.tor_output, timeout=self.timeout, stderr=self.tor_output) def launch(self): self._launched = self._launch_tor() self._launched.addCallbacks(self._setup_complete, self._setup_failed) return self.started def start_tor(tor_config): tor_launcher = TorLauncherWithRetries(tor_config) return tor_launcher.launch() @defer.inlineCallbacks def connect_to_control_port(): connection = TCP4ClientEndpoint(reactor, '127.0.0.1', config.tor.control_port) config.tor_state = yield build_tor_connection(connection) ooniprobe-2.2.0/ooni/utils/net.py0000644000175000017500000001376013004657346015130 0ustar irlirlimport sys import socket from random import randint from zope.interface import implements from twisted.internet import defer from twisted.internet.protocol import Factory, Protocol from twisted.web.iweb import IBodyProducer from scapy.config import conf from ooni.errors import IfaceError # This is our own connectProtocol to avoid noisy twisted cluttering our logs def connectProtocol(endpoint, protocol): class OneShotFactory(Factory): noisy = False def buildProtocol(self, addr): return protocol return endpoint.connect(OneShotFactory()) # if sys.platform.system() == 'Windows': # import _winreg as winreg # These user agents are taken from the "How Unique Is Your Web Browser?" # (https://panopticlick.eff.org/browser-uniqueness.pdf) paper as the browser user # agents with largest anonymity set. userAgents = ("Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6", "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2) Gecko/20100115 Firefox/3.6", "Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.2) Gecko/20100115 Firefox/3.6", "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2) Gecko/20100115 Firefox/3.6", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7", "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.7) " "Gecko/20091221 Firefox/3.5.7 (.NET CLR 3.5.30729)") PLATFORMS = {'LINUX': sys.platform.startswith("linux"), 'OPENBSD': sys.platform.startswith("openbsd"), 'FREEBSD': sys.platform.startswith("freebsd"), 'NETBSD': sys.platform.startswith("netbsd"), 'DARWIN': sys.platform.startswith("darwin"), 'SOLARIS': sys.platform.startswith("sunos"), 'WINDOWS': sys.platform.startswith("win32")} # These are the 25 most common server headers for the sites in the # citizenlab global testing list. COMMON_SERVER_HEADERS = ( "date", "content-type", "server", "cache-control", "vary", "set-cookie", "location", "expires", "x-powered-by", "content-encoding", "last-modified", "accept-ranges", "pragma", "x-frame-options", "etag", "x-content-type-options", "age", "via", "p3p", "x-xss-protection", "content-language", "cf-ray", "strict-transport-security", "link", "x-varnish" ) # This is used as a default for checking if we get the expected result when # fetching URLs over some proxy. GOOGLE_HUMANS = ('http://www.google.com/humans.txt', 'Google is built by a large') class StringProducer(object): implements(IBodyProducer) def __init__(self, body): self.body = body self.length = len(body) def startProducing(self, consumer): consumer.write(self.body) return defer.succeed(None) def pauseProducing(self): pass def stopProducing(self): pass class BodyReceiver(Protocol): def __init__(self, finished, content_length=None, body_processor=None): self.finished = finished self.data = "" self.bytes_remaining = content_length self.body_processor = body_processor def dataReceived(self, b): self.data += b if self.bytes_remaining: if self.bytes_remaining == 0: self.connectionLost(None) else: self.bytes_remaining -= len(b) def connectionLost(self, reason): try: if self.body_processor: self.data = self.body_processor(self.data) self.finished.callback(self.data) except Exception as exc: self.finished.errback(exc) class Downloader(Protocol): def __init__(self, download_path, finished, content_length=None): self.finished = finished self.bytes_remaining = content_length self.fp = open(download_path, 'w+') def dataReceived(self, b): self.fp.write(b) if self.bytes_remaining: if self.bytes_remaining == 0: self.connectionLost(None) else: self.bytes_remaining -= len(b) def connectionLost(self, reason): self.fp.flush() self.fp.close() self.finished.callback(None) class ConnectAndCloseProtocol(Protocol): def connectionMade(self): self.transport.loseConnection() def randomFreePort(addr="127.0.0.1"): """ Args: addr (str): the IP address to attempt to bind to. Returns an int representing the free port number at the moment of calling Note: there is no guarantee that some other application will attempt to bind to this port once this function has been called. """ free = False while not free: port = randint(1024, 65535) s = socket.socket() try: s.bind((addr, port)) free = True except: pass s.close() return port def getDefaultIface(): """ Return the default interface or raise IfaceError """ iface = conf.route.route('0.0.0.0', verbose=0)[0] if len(iface) > 0: return iface raise IfaceError def getAddresses(): from scapy.all import get_if_addr, get_if_list from ipaddr import IPAddress addresses = set() for i in get_if_list(): try: addresses.add(get_if_addr(i)) except: pass if '0.0.0.0' in addresses: addresses.remove('0.0.0.0') return [IPAddress(addr) for addr in addresses] def hasRawSocketPermission(): try: socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_RAW) return True except socket.error: return False ooniprobe-2.2.0/ooni/utils/__init__.py0000644000175000017500000001237613046133036016072 0ustar irlirlimport shutil import string import random import errno import gzip import os from datetime import datetime, timedelta from zipfile import ZipFile from twisted.python.filepath import FilePath from twisted.python.runtime import platform class Storage(dict): """ A Storage object is like a dictionary except `obj.foo` can be used in addition to `obj['foo']`. >>> o = Storage(a=1) >>> o.a 1 >>> o['a'] 1 >>> o.a = 2 >>> o['a'] 2 >>> del o.a >>> o.a None """ def __getattr__(self, key): try: return self[key] except KeyError: return None def __setattr__(self, key, value): self[key] = value def __delattr__(self, key): try: del self[key] except KeyError, k: raise AttributeError(k) def __repr__(self): return '' def __getstate__(self): return dict(self) def __setstate__(self, value): for (k, v) in value.items(): self[k] = v def checkForRoot(): from ooni import errors if os.getuid() != 0: raise errors.InsufficientPrivileges def randomSTR(length, num=True): """ Returns a random all uppercase alfa-numerical (if num True) string long length """ chars = string.ascii_uppercase if num: chars += string.digits return ''.join(random.choice(chars) for x in range(length)) def randomstr(length, num=True): """ Returns a random all lowercase alfa-numerical (if num True) string long length """ chars = string.ascii_lowercase if num: chars += string.digits return ''.join(random.choice(chars) for x in range(length)) def randomStr(length, num=True): """ Returns a random a mixed lowercase, uppercase, alfanumerical (if num True) string long length """ chars = string.ascii_lowercase + string.ascii_uppercase if num: chars += string.digits return ''.join(random.choice(chars) for x in range(length)) def randomDate(start, end): """ From: http://stackoverflow.com/a/553448 """ delta = end - start int_delta = (delta.days * 24 * 60 * 60) random_second = random.randrange(int_delta) return start + timedelta(seconds=random_second) LONG_DATE = "%Y-%m-%d %H:%M:%S" SHORT_DATE = "%Y%m%dT%H%M%SZ" def generate_filename(test_details, prefix=None, extension=None, deck_id=None): """ Returns a filename for every test execution. It's used to assure that all files of a certain test have a common basename but different extension. """ kwargs = {} filename_format = "" if prefix is not None: kwargs["prefix"] = prefix filename_format += "{prefix}-" filename_format += "{timestamp}-{probe_cc}-{probe_asn}-{test_name}" if deck_id is not None: kwargs["deck_id"] = deck_id filename_format += "-{deck_id}" if extension is not None: kwargs["extension"] = extension filename_format += ".{extension}" kwargs['test_name'] = test_details['test_name'] kwargs['probe_cc'] = test_details.get('probe_cc', 'ZZ') kwargs['probe_asn'] = test_details.get('probe_asn', 'AS0') kwargs['timestamp'] = datetime.strptime(test_details['test_start_time'], LONG_DATE).strftime(SHORT_DATE) return filename_format.format(**kwargs) def sanitize_options(options): """ Strips all possible user identifying information from the ooniprobe test options. Currently only strips leading directories from filepaths. """ sanitized_options = [] for option in options: if isinstance(option, str): option = os.path.basename(option) sanitized_options.append(option) return sanitized_options def rename(src, dst): # Best effort atomic renaming if platform.isWindows() and os.path.exists(dst): os.unlink(dst) os.rename(src, dst) def unzip(filename, dst): assert filename.endswith('.zip') dst_path = os.path.join( dst, os.path.basename(filename).replace(".zip", "") ) with open(filename) as zfp: zip_file = ZipFile(zfp) zip_file.extractall(dst_path) return dst_path def gunzip(file_path): """ gunzip a file in place. """ tmp_location = FilePath(file_path).temporarySibling() in_file = gzip.open(file_path) with tmp_location.open('w') as out_file: shutil.copyfileobj(in_file, out_file) in_file.close() rename(tmp_location.path, file_path) def get_ooni_root(): script = os.path.join(__file__, '..') return os.path.dirname(os.path.realpath(script)) def is_process_running(pid): try: os.kill(pid, 0) running = True except OSError as ose: if ose.errno == errno.EPERM: running = True elif ose.errno == errno.ESRCH: running = False else: raise return running def mkdir_p(path): """ Like makedirs, but it also ignores EEXIST errors, unless it exists but isn't a directory. """ try: os.makedirs(path) except OSError as ose: if ose.errno != errno.EEXIST: raise if not os.path.isdir(path): raise ooniprobe-2.2.0/ooni/utils/txscapy.py0000644000175000017500000003645212767752461016051 0ustar irlirlimport sys import time import random from twisted.internet import fdesc from twisted.internet import reactor from twisted.internet import defer, abstract from scapy.config import conf from scapy.all import RandShort, IP, IPerror, ICMP, ICMPerror, TCP, TCPerror, UDP, UDPerror from ooni.errors import ProtocolNotRegistered, ProtocolAlreadyRegistered, LibraryNotInstalledError from ooni.utils import log from ooni.utils.net import getDefaultIface, getAddresses from ooni.settings import config # Check to see if libdnet or libpcap are installed and set the according # variables. # In debian libdnet is called dumbnet instead of dnet, but scapy is # expecting "dnet" so we try and import it under such name. try: import dumbnet sys.modules['dnet'] = dumbnet except ImportError: pass try: conf.use_pcap = True conf.use_dnet = True from scapy.arch import pcapdnet config.pcap_dnet = True except ImportError as e: log.err(e.message + ". Pypcap or dnet are not properly installed. Certain tests may not work.") config.pcap_dnet = False conf.use_pcap = False conf.use_dnet = False # This is required for unix systems that are different than linux (OSX for # example) since scapy explicitly wants pcap and libdnet installed for it # to work. try: from scapy.arch import pcapdnet except ImportError: log.err("Your platform requires having libdnet and libpcap installed.") raise LibraryNotInstalledError _PCAP_DNET_INSTALLED = config.pcap_dnet if _PCAP_DNET_INSTALLED: from scapy.all import PcapWriter else: class DummyPcapWriter: def __init__(self, pcap_filename, *arg, **kw): log.err("Initializing DummyPcapWriter. We will not actually write to a pcapfile") @staticmethod def write(self): pass PcapWriter = DummyPcapWriter from scapy.all import Gen, SetGen, MTU class ScapyFactory(abstract.FileDescriptor): """ Inspired by muxTCP scapyLink: https://github.com/enki/muXTCP/blob/master/scapyLink.py """ def __init__(self, interface, super_socket=None, timeout=5): abstract.FileDescriptor.__init__(self, reactor) if interface == 'auto': interface = getDefaultIface() if not super_socket and sys.platform == 'darwin': super_socket = conf.L3socket(iface=interface, promisc=True, filter='') elif not super_socket: super_socket = conf.L3socket(iface=interface) self.protocols = [] fdesc._setCloseOnExec(super_socket.ins.fileno()) self.super_socket = super_socket def writeSomeData(self, data): """ XXX we actually want to use this, but this requires overriding doWrite or writeSequence. """ pass def send(self, packet): """ Write a scapy packet to the wire. """ return self.super_socket.send(packet) def fileno(self): return self.super_socket.ins.fileno() def doRead(self): packet = self.super_socket.recv(MTU) if packet: for protocol in self.protocols: protocol.packetReceived(packet) def registerProtocol(self, protocol): if not self.connected: self.startReading() if protocol not in self.protocols: protocol.factory = self self.protocols.append(protocol) else: raise ProtocolAlreadyRegistered def unRegisterProtocol(self, protocol): if protocol in self.protocols: self.protocols.remove(protocol) if len(self.protocols) == 0: self.loseConnection() else: raise ProtocolNotRegistered class ScapyProtocol(object): factory = None def packetReceived(self, packet): """ When you register a protocol, this method will be called with argument the packet it received. Every protocol that is registered will have this method called. """ raise NotImplementedError class ScapySender(ScapyProtocol): timeout = 5 # This deferred will fire when we have finished sending a receiving packets. # Should we look for multiple answers for the same sent packet? multi = False # When 0 we stop when all the packets we have sent have received an # answer expected_answers = 0 def processPacket(self, packet): """ Hook useful for processing packets as they come in. """ def processAnswer(self, packet, answer_hr): log.debug("Got a packet from %s" % packet.src) log.debug("%s" % self.__hash__) for i in range(len(answer_hr)): if packet.answers(answer_hr[i]): self.answered_packets.append((answer_hr[i], packet)) if not self.multi: del (answer_hr[i]) break if len(self.answered_packets) == len(self.sent_packets): log.debug("All of our questions have been answered.") self.stopSending() return if self.expected_answers and self.expected_answers == len(self.answered_packets): log.debug("Got the number of expected answers") self.stopSending() def packetReceived(self, packet): if self.timeout and time.time() - self._start_time > self.timeout: self.stopSending() if packet: self.processPacket(packet) # A string that has the same value for the request than for the # response. hr = packet.hashret() if hr in self.hr_sent_packets: answer_hr = self.hr_sent_packets[hr] self.processAnswer(packet, answer_hr) def stopSending(self): result = (self.answered_packets, self.sent_packets) self.d.callback(result) self.factory.unRegisterProtocol(self) def sendPackets(self, packets): if not isinstance(packets, Gen): packets = SetGen(packets) for packet in packets: hashret = packet.hashret() if hashret in self.hr_sent_packets: self.hr_sent_packets[hashret].append(packet) else: self.hr_sent_packets[hashret] = [packet] self.sent_packets.append(packet) self.factory.send(packet) def startSending(self, packets): # This dict is used to store the unique hashes that allow scapy to # match up request with answer self.hr_sent_packets = {} # These are the packets we have received as answer to the ones we sent self.answered_packets = [] # These are the packets we send self.sent_packets = [] self._start_time = time.time() self.d = defer.Deferred() self.sendPackets(packets) return self.d class ScapySniffer(ScapyProtocol): def __init__(self, pcap_filename, *arg, **kw): self.pcapwriter = PcapWriter(pcap_filename, *arg, **kw) def packetReceived(self, packet): self.pcapwriter.write(packet) def close(self): self.pcapwriter.close() class ParasiticTraceroute(ScapyProtocol): def __init__(self): self.numHosts = 7 self.rate = 15 self.hosts = {} self.ttl_max = 15 self.ttl_min = 1 self.sent_packets = [] self.received_packets = [] self.matched_packets = {} self.addresses = [str(x) for x in getAddresses()] def sendPacket(self, packet): self.factory.send(packet) self.sent_packets.append(packet) log.debug("Sent packet to %s with ttl %d" % (packet.dst, packet.ttl)) def packetReceived(self, packet): try: packet[IP] except IndexError: return # Add TTL Expired responses. if isinstance(packet.getlayer(3), TCPerror): self.received_packets.append(packet) # Live traceroute? log.debug("%s replied with icmp-ttl-exceeded for %s" % (packet.src, packet[IPerror].dst)) return elif packet.dst in self.hosts: if random.randint(1, 100) > self.rate: # Don't send a packet this time return try: packet[IP].ttl = self.hosts[packet.dst]['ttl'].pop() del packet.chksum # XXX Why is this incorrect? self.sendPacket(packet) k = (packet.id, packet[TCP].sport, packet[TCP].dport, packet[TCP].seq) self.matched_packets[k] = {'ttl': packet.ttl} return except IndexError: return def maxttl(packet=None): if packet: return min(self.ttl_max, *map(lambda x: x - packet.ttl, [64, 128, 256])) - 1 else: return self.ttl_max def genttl(packet=None): ttl = range(self.ttl_min, maxttl(packet)) random.shuffle(ttl) return ttl if len(self.hosts) < self.numHosts: if packet.dst not in self.hosts \ and packet.dst not in self.addresses \ and isinstance(packet.getlayer(1), TCP): self.hosts[packet.dst] = {'ttl': genttl()} log.debug("Tracing to %s" % packet.dst) return if packet.src not in self.hosts \ and packet.src not in self.addresses \ and isinstance(packet.getlayer(1), TCP): self.hosts[packet.src] = {'ttl': genttl(packet), 'ttl_max': maxttl(packet)} log.debug("Tracing to %s" % packet.src) return if packet.src in self.hosts and not 'ttl_max' in self.hosts[packet.src]: self.hosts[packet.src]['ttl_max'] = ttl_max = maxttl(packet) log.debug("set ttl_max to %d for host %s" % (ttl_max, packet.src)) ttl = [] for t in self.hosts[packet.src]['ttl']: if t < ttl_max: ttl.append(t) self.hosts[packet.src]['ttl'] = ttl return def stopListening(self): self.factory.unRegisterProtocol(self) class MPTraceroute(ScapyProtocol): dst_ports = [0, 22, 23, 53, 80, 123, 443, 8080, 65535] ttl_min = 1 ttl_max = 30 def __init__(self): self.sent_packets = [] self._recvbuf = [] self.received_packets = {} self.matched_packets = {} self.hosts = [] self.interval = 0.2 self.timeout = ((self.ttl_max - self.ttl_min) * len(self.dst_ports) * self.interval) + 5 self.numPackets = 1 def ICMPTraceroute(self, host): if host not in self.hosts: self.hosts.append(host) d = defer.Deferred() reactor.callLater(self.timeout, d.callback, self) self.sendPackets(IP(dst=host, ttl=(self.ttl_min, self.ttl_max), id=RandShort()) / ICMP(id=RandShort())) return d def UDPTraceroute(self, host): if host not in self.hosts: self.hosts.append(host) d = defer.Deferred() reactor.callLater(self.timeout, d.callback, self) for dst_port in self.dst_ports: self.sendPackets( IP(dst=host, ttl=(self.ttl_min, self.ttl_max), id=RandShort()) / UDP(dport=dst_port, sport=RandShort())) return d def TCPTraceroute(self, host): if host not in self.hosts: self.hosts.append(host) d = defer.Deferred() reactor.callLater(self.timeout, d.callback, self) for dst_port in self.dst_ports: self.sendPackets( IP(dst=host, ttl=(self.ttl_min, self.ttl_max), id=RandShort()) / TCP(flags=2L, dport=dst_port, sport=RandShort(), seq=RandShort())) return d @defer.inlineCallbacks def sendPackets(self, packets): def sleep(seconds): d = defer.Deferred() reactor.callLater(seconds, d.callback, seconds) return d if not isinstance(packets, Gen): packets = SetGen(packets) for packet in packets: for i in xrange(self.numPackets): self.sent_packets.append(packet) self.factory.super_socket.send(packet) yield sleep(self.interval) def matchResponses(self): def addToReceivedPackets(key, packet): """ Add a packet into the received packets dictionary, typically the key is a tuple of packet fields used to correlate sent packets with received packets. """ # Initialize or append to the lists of packets # with the same key if key in self.received_packets: self.received_packets[key].append(packet) else: self.received_packets[key] = [packet] def matchResponse(k, p): if k in self.received_packets: if p in self.matched_packets: log.debug("Matched sent packet to more than one response!") self.matched_packets[p].extend(self.received_packets[k]) else: self.matched_packets[p] = self.received_packets[k] log.debug("Packet %s matched %s" % ([p], self.received_packets[k])) return 1 return 0 for p in self._recvbuf: l = p.getlayer(2) if isinstance(l, IPerror): l = p.getlayer(3) if isinstance(l, ICMPerror): addToReceivedPackets(('icmp', l.id), p) elif isinstance(l, TCPerror): addToReceivedPackets(('tcp', l.dport, l.sport), p) elif isinstance(l, UDPerror): addToReceivedPackets(('udp', l.dport, l.sport), p) elif hasattr(p, 'src') and p.src in self.hosts: l = p.getlayer(1) if isinstance(l, ICMP): addToReceivedPackets(('icmp', l.id), p) elif isinstance(l, TCP): addToReceivedPackets(('tcp', l.ack - 1, l.dport, l.sport), p) elif isinstance(l, UDP): addToReceivedPackets(('udp', l.dport, l.sport), p) for p in self.sent_packets: # for each sent packet, find corresponding # received packets l = p.getlayer(1) i = 0 if isinstance(l, ICMP): i += matchResponse(('icmp', p.id), p) # match by ipid i += matchResponse(('icmp', l.id), p) # match by icmpid if isinstance(l, TCP): i += matchResponse(('tcp', l.dport, l.sport), p) # match by s|dport i += matchResponse(('tcp', l.seq, l.sport, l.dport), p) if isinstance(l, UDP): i += matchResponse(('udp', l.dport, l.sport), p) i += matchResponse(('udp', l.sport, l.dport), p) if i == 0: log.debug("No response for packet %s" % [p]) del self._recvbuf def packetReceived(self, packet): l = packet.getlayer(1) if not l: return elif isinstance(l, ICMP) or isinstance(l, UDP) or isinstance(l, TCP): self._recvbuf.append(packet) def stopListening(self): self.factory.unRegisterProtocol(self) ooniprobe-2.2.0/ooni/utils/log.py0000644000175000017500000001705113061505273015112 0ustar irlirlimport os import sys import errno import codecs import logging from datetime import datetime from twisted.python import log as tw_log from twisted.python.logfile import DailyLogFile, LogFile from ooni.utils import mkdir_p from ooni.utils.files import human_size_to_bytes from ooni import otime # Get rid of the annoying "No route found for # IPv6 destination warnings": logging.getLogger("scapy.runtime").setLevel(logging.ERROR) class MyDailyLogFile(DailyLogFile): """ Override default behavior of Twisted class such that the suffix always uses two digits for months and days such that the rotated log files are lexicographically sortable """ def suffix(self, tupledate): if len(tupledate) < 3: # just in case return DailyLogFile.suffix(self, tupledate) return "{:04d}_{:02d}_{:02d}".format(*tupledate[:3]) def log_encode(logmsg): """ I encode logmsg (a str or unicode) as printable ASCII. Each case gets a distinct prefix, so that people differentiate a unicode from a utf-8-encoded-byte-string or binary gunk that would otherwise result in the same final output. """ if isinstance(logmsg, unicode): return codecs.encode(logmsg, 'unicode_escape') elif isinstance(logmsg, str): try: unicodelogmsg = logmsg.decode('utf-8') except UnicodeDecodeError: return codecs.encode(logmsg, 'string_escape') else: return codecs.encode(unicodelogmsg, 'unicode_escape') else: raise Exception("I accept only a unicode object or a string, " "not a %s object like %r" % (type(logmsg), repr(logmsg))) levels = { 'NONE': 9999, 'CRITICAL': 50, 'ERROR': 40, 'WARNING': 30, # This is the name twisted gives it 'WARN': 30, 'NOTICE': 25, 'INFO': 20, 'DEBUG': 10, } class LogLevelObserver(tw_log.FileLogObserver): def __init__(self, f, log_level=levels['INFO']): tw_log.FileLogObserver.__init__(self, f) self.log_level = log_level def should_emit(self, eventDict): if eventDict['isError']: level = levels['ERROR'] elif 'log_level' in eventDict: level = eventDict['log_level'] else: level = levels['INFO'] # To support twisted > 15.2 log_level argument if hasattr(level, 'name'): level = levels[level.name.upper()] source = 'unknown' if 'source' in eventDict: source = eventDict['source'] # Don't log messages not coming from OONI unless the configured log # level is debug and unless they are really important. if (source != 'ooni' and level <= levels['WARN'] and self.log_level >= levels['DEBUG']): return False if level >= self.log_level: return True return False def emit(self, eventDict): if not self.should_emit(eventDict): return tw_log.FileLogObserver.emit(self, eventDict) class StdoutStderrObserver(LogLevelObserver): stderr = sys.stderr def emit(self, eventDict): if not self.should_emit(eventDict): return text = tw_log.textFromEventDict(eventDict) if eventDict['isError']: self.stderr.write(text + "\n") self.stderr.flush() else: self.write(text + "\n") self.flush() class MsecLogObserver(LogLevelObserver): def formatTime(self, when): """ Code from Twisted==16.4.1 modified to log microseconds. Although this logging subsystem is legacy: http://twistedmatrix.com/trac/ticket/7596 Also, `timeFormat` is not used as `%z` is broken. """ tzOffset = -self.getTimezoneOffset(when) when = datetime.utcfromtimestamp(when + tzOffset) tzHour = abs(int(tzOffset / 60 / 60)) tzMin = abs(int(tzOffset / 60 % 60)) if tzOffset < 0: tzSign = '-' else: tzSign = '+' return '%d-%02d-%02d %02d:%02d:%02d,%06d%s%02d%02d' % ( when.year, when.month, when.day, when.hour, when.minute, when.second, when.microsecond, tzSign, tzHour, tzMin) class OONILogger(object): def msg(self, msg, *arg, **kw): text = log_encode(msg) tw_log.msg(text, log_level=levels['INFO'], source="ooni") def debug(self, msg, *arg, **kw): text = log_encode(msg) tw_log.msg(text, log_level=levels['DEBUG'], source="ooni") def err(self, msg, *arg, **kw): if isinstance(msg, str) or isinstance(msg, unicode): text = "[!] " + log_encode(msg) tw_log.msg(text, log_level=levels['ERROR'], source="ooni") else: tw_log.err(msg, source="ooni") def warn(self, msg, *arg, **kw): text = log_encode(msg) tw_log.msg(text, log_level=levels['WARNING'], source="ooni") def exception(self, error): """ Error can either be an error message to print to stdout and to the logfile or it can be a twisted.python.failure.Failure instance. """ tw_log.err(error, source="ooni") def start(self, logfile=None, application_name="ooniprobe"): from ooni.settings import config if not logfile: logfile = os.path.expanduser(config.basic.logfile) log_folder = os.path.dirname(logfile) if (not os.access(log_folder, os.W_OK) or (os.path.exists(logfile) and not os.access(logfile, os.W_OK))): # If we don't have permissions to write to the log_folder or # logfile. log_folder = config.running_path logfile = os.path.join(log_folder, "ooniprobe.log") self.log_filepath = logfile mkdir_p(log_folder) log_filename = os.path.basename(logfile) file_log_level = levels.get(config.basic.loglevel, levels['INFO']) stdout_log_level = levels['INFO'] if config.advanced.debug: stdout_log_level = levels['DEBUG'] if config.basic.rotate == 'daily': logfile = MyDailyLogFile(log_filename, log_folder) elif config.basic.rotate == 'length': logfile = LogFile(log_filename, log_folder, rotateLength=int(human_size_to_bytes( config.basic.rotate_length )), maxRotatedFiles=config.basic.max_rotated_files) else: logfile = open(os.path.join(log_folder, log_filename), 'a') self.fileObserver = MsecLogObserver(logfile, log_level=file_log_level) self.stdoutObserver = StdoutStderrObserver(sys.stdout, log_level=stdout_log_level) tw_log.startLoggingWithObserver(self.fileObserver.emit) tw_log.addObserver(self.stdoutObserver.emit) tw_log.msg("Starting %s on %s (%s UTC)" % (application_name, otime.prettyDateNow(), otime.prettyDateNowUTC())) def stop(self): self.stdoutObserver.stop() self.fileObserver.stop() oonilogger = OONILogger() # This is a mock of a LoggerObserverFactory to be supplied to twistd. ooniloggerNull = lambda: lambda eventDict: None start = oonilogger.start stop = oonilogger.stop msg = oonilogger.msg debug = oonilogger.debug err = oonilogger.err warn = oonilogger.warn exception = oonilogger.exception ooniprobe-2.2.0/ooni/utils/socks.py0000644000175000017500000000160312733731377015462 0ustar irlirlfrom twisted.internet import reactor from ooni.common.txextra import HTTPConnectionPool from twisted import version as twisted_version from twisted.python.versions import Version _twisted_15_0 = Version('twisted', 15, 0, 0) from txsocksx.http import SOCKS5Agent from txsocksx.client import SOCKS5ClientFactory SOCKS5ClientFactory.noisy = False class TrueHeadersSOCKS5Agent(SOCKS5Agent): def __init__(self, *args, **kw): super(TrueHeadersSOCKS5Agent, self).__init__(*args, **kw) pool = HTTPConnectionPool(reactor, False) # # With Twisted > 15.0 txsocksx wraps the twisted agent using a # wrapper class, hence we must set the _pool attribute in the # inner class rather than into its external wrapper. # if twisted_version >= _twisted_15_0: self._wrappedAgent._pool = pool else: self._pool = pool ooniprobe-2.2.0/ooni/templates/0000755000175000017500000000000013071152230014601 5ustar irlirlooniprobe-2.2.0/ooni/templates/__init__.py0000644000175000017500000000000012373757552016726 0ustar irlirlooniprobe-2.2.0/ooni/templates/tcpt.py0000644000175000017500000000607212767752456016165 0ustar irlirlfrom twisted.internet import protocol, defer, reactor from twisted.internet.endpoints import TCP4ClientEndpoint from ooni.nettest import NetTestCase from ooni.errors import failureToString from ooni.utils import log class TCPSender(protocol.Protocol): def __init__(self): self.received_data = '' self.sent_data = '' def dataReceived(self, data): """ We receive data until the total amount of data received reaches that which we have sent. At that point we append the received data to the report and we fire the callback of the test template sendPayload function. This is used in pair with a TCP Echo server. The reason why we put the data received inside of an array is that in future we may want to expand this to support state and do something similar to what daphne does, but without the mutation. XXX Actually daphne will probably be refactored to be a subclass of the TCP Test Template. """ if self.payload_len: self.received_data += data def sendPayload(self, payload): """ Write the payload to the wire and set the expected size of the payload we are to receive. Args: payload: the data to be sent on the wire. """ self.payload_len = len(payload) self.sent_data = payload self.transport.write(payload) class TCPSenderFactory(protocol.Factory): noisy = False def buildProtocol(self, addr): return TCPSender() class TCPTest(NetTestCase): name = "Base TCP Test" version = "0.1" requiresRoot = False timeout = 5 address = None port = None def _setUp(self): super(TCPTest, self)._setUp() self.report['sent'] = [] self.report['received'] = [] def sendPayload(self, payload): d1 = defer.Deferred() def closeConnection(proto): self.report['sent'].append(proto.sent_data) self.report['received'].append(proto.received_data) proto.transport.loseConnection() log.debug("Closing connection") d1.callback(proto.received_data) def timedOut(proto): self.report['failure'] = 'tcp_timed_out_error' proto.transport.loseConnection() def errback(failure): self.report['failure'] = failureToString(failure) d1.errback(failure) def connected(proto): log.debug("Connected to %s:%s" % (self.address, self.port)) proto.report = self.report proto.deferred = d1 proto.sendPayload(payload) if self.timeout: # XXX-Twisted this logic should probably go inside of the protocol reactor.callLater(self.timeout, closeConnection, proto) point = TCP4ClientEndpoint(reactor, self.address, self.port) log.debug("Connecting to %s:%s" % (self.address, self.port)) d2 = point.connect(TCPSenderFactory()) d2.addCallback(connected) d2.addErrback(errback) return d1 ooniprobe-2.2.0/ooni/templates/scapyt.py0000644000175000017500000001163613004657346016503 0ustar irlirlfrom base64 import b64encode from ooni.nettest import NetTestCase from ooni.utils import log from ooni.settings import config from ooni.utils.net import hasRawSocketPermission from ooni.utils.txscapy import ScapySender, ScapyFactory def representPacket(packet): return { "raw_packet": { 'data': b64encode(str(packet)), 'format': 'base64' }, "summary": str(repr(packet)) } class BaseScapyTest(NetTestCase): """ The report of a test run with scapy looks like this: report: sent_packets: [ { 'raw_packet': BASE64Encoding of packet, 'summary': 'IP / TCP 192.168.2.66:ftp_data > 8.8.8.8:http S' } ] answered_packets: [] """ name = "Base Scapy Test" version = 0.1 requiresRoot = not hasRawSocketPermission() baseFlags = [ ['ipsrc', 's', 'Does *not* check if IP src and ICMP IP citation ' 'matches when processing answers'], ['seqack', 'k', 'Check if TCP sequence number and ACK match in the ' 'ICMP citation when processing answers'], ['ipid', 'i', 'Check if the IPID matches when processing answers']] def _setUp(self): super(BaseScapyTest, self)._setUp() if config.scapyFactory is None: log.debug("Scapy factory not set, registering it.") config.scapyFactory = ScapyFactory(config.advanced.interface) self.report['answer_flags'] = [] if self.localOptions['ipsrc']: config.checkIPsrc = 0 else: self.report['answer_flags'].append('ipsrc') config.checkIPsrc = 1 if self.localOptions['ipid']: self.report['answer_flags'].append('ipid') config.checkIPID = 1 else: config.checkIPID = 0 # XXX we don't support strict matching # since (from scapy's documentation), some stacks have a bug for which # the bytes in the IPID are swapped. # Perhaps in the future we will want to have more fine grained control # over this. if self.localOptions['seqack']: self.report['answer_flags'].append('seqack') config.check_TCPerror_seqack = 1 else: config.check_TCPerror_seqack = 0 self.report['sent_packets'] = [] self.report['answered_packets'] = [] def finishedSendReceive(self, packets): """ This gets called when all packets have been sent and received. """ answered, unanswered = packets for snd, rcv in answered: log.debug("Writing report for scapy test") sent_packet = snd received_packet = rcv if not config.privacy.includeip: log.debug("Detected you would not like to " "include your ip in the report") log.debug( "Stripping source and destination IPs from the reports") sent_packet.src = '127.0.0.1' received_packet.dst = '127.0.0.1' self.report['sent_packets'].append(representPacket(sent_packet)) self.report['answered_packets'].append(representPacket(received_packet)) return packets def sr(self, packets, timeout=None, *arg, **kw): """ Wrapper around scapy.sendrecv.sr for sending and receiving of packets at layer 3. """ scapySender = ScapySender(timeout=timeout) config.scapyFactory.registerProtocol(scapySender) log.debug("Using sending with hash %s" % scapySender.__hash__) d = scapySender.startSending(packets) d.addCallback(self.finishedSendReceive) return d def sr1(self, packets, *arg, **kw): def done(packets): """ We do this so that the returned value is only the one packet that we expected a response for, identical to the scapy implementation of sr1. """ try: return packets[0][0][1] except IndexError: log.err("Got no response...") return packets scapySender = ScapySender() scapySender.expected_answers = 1 config.scapyFactory.registerProtocol(scapySender) log.debug("Running sr1") d = scapySender.startSending(packets) log.debug("Started to send") d.addCallback(self.finishedSendReceive) d.addCallback(done) return d def send(self, packets, *arg, **kw): """ Wrapper around scapy.sendrecv.send for sending of packets at layer 3 """ scapySender = ScapySender() config.scapyFactory.registerProtocol(scapySender) scapySender.startSending(packets) scapySender.stopSending() for sent_packet in packets: self.report['sent_packets'].append(representPacket(sent_packet)) ScapyTest = BaseScapyTest ooniprobe-2.2.0/ooni/templates/process.py0000644000175000017500000001015612767752456016667 0ustar irlirlfrom twisted.internet import protocol, defer, reactor from ooni.settings import config from ooni.nettest import NetTestCase from ooni.utils import log from ooni.geoip import probe_ip class ProcessDirector(protocol.ProcessProtocol): def __init__(self, d, finished=None, timeout=None, stdin=None): self.d = d self.stderr = "" self.stdout = "" self.finished = finished self.timeout = timeout self.stdin = stdin self.timer = None self.exit_reason = None def cancelTimer(self): if self.timeout and self.timer: self.timer.cancel() self.timer = None def close(self, reason=None): self.reason = reason self.transport.loseConnection() def resetTimer(self): if self.timeout is not None: if self.timer is not None and self.timer.active(): self.timer.cancel() self.timer = reactor.callLater(self.timeout, self.close, "timeout_reached") def finish(self, exit_reason=None): if not self.exit_reason: self.exit_reason = exit_reason data = { "stderr": self.stderr, "stdout": self.stdout, "exit_reason": self.exit_reason } self.d.callback(data) def shouldClose(self): if self.finished is None: return False return self.finished(self.stdout, self.stderr) def connectionMade(self): self.resetTimer() if self.stdin is not None: self.transport.write(self.stin) self.transport.closeStdin() def outReceived(self, data): log.debug("STDOUT: %s" % data) self.stdout += data if self.shouldClose(): self.close("condition_met") self.handleRead(data, None) def errReceived(self, data): log.debug("STDERR: %s" % data) self.stderr += data if self.shouldClose(): self.close("condition_met") self.handleRead(None, data) def inConnectionLost(self): log.debug("inConnectionLost") # self.d.callback(self.data()) def outConnectionLost(self): log.debug("outConnectionLost") def errConnectionLost(self): log.debug("errConnectionLost") def processExited(self, reason): log.debug("Exited %s" % reason) def processEnded(self, reason): log.debug("Ended %s" % reason) self.finish("process_done") def handleRead(self, stdout, stderr=None): pass class ProcessTest(NetTestCase): name = "Base Process Test" version = "0.1" requiresRoot = False timeout = 5 processDirector = None def _setUp(self): super(ProcessTest, self)._setUp() def processEnded(self, result, command): log.debug("Finished %s: %s" % (command, result)) if not isinstance(self.report.get('commands'), list): self.report['commands'] = [] # Attempt to redact the IP address of the probe from the standard output if config.privacy.includeip is False and probe_ip.address is not None: result['stdout'] = result['stdout'].replace(probe_ip.address, "[REDACTED]") result['stderr'] = result['stderr'].replace(probe_ip.address, "[REDACTED]") self.report['commands'].append({ 'command_name': ' '.join(command), 'command_stdout': result['stdout'], 'command_stderr': result['stderr'], 'command_exit_reason': result['exit_reason'], }) return result def run(self, command, finished=None, env={}, path=None, usePTY=0): d = defer.Deferred() d.addCallback(self.processEnded, command) self.processDirector = ProcessDirector(d, finished, self.timeout) self.processDirector.handleRead = self.handleRead reactor.spawnProcess(self.processDirector, command[0], command, env=env, path=path, usePTY=usePTY) return d # handleRead is not an abstract method to be backwards compatible def handleRead(self, stdout, stderr=None): pass ooniprobe-2.2.0/ooni/templates/httpt.py0000644000175000017500000003571113070747126016342 0ustar irlirlimport random from txtorcon.interface import StreamListenerMixin from twisted.web.client import readBody, PartialDownloadError from twisted.web.client import ContentDecoderAgent from twisted.internet import reactor from twisted.internet.endpoints import TCP4ClientEndpoint from ooni.utils.socks import TrueHeadersSOCKS5Agent from ooni.nettest import NetTestCase from ooni.utils import log from ooni.settings import config from ooni.utils.net import StringProducer, userAgents from ooni.common.txextra import TrueHeaders from ooni.common.txextra import FixedRedirectAgent, TrueHeadersAgent from ooni.common.http_utils import representBody from ooni.errors import handleAllFailures from ooni.geoip import probe_ip class InvalidSocksProxyOption(Exception): pass class StreamListener(StreamListenerMixin): def __init__(self, request): self.request = request def stream_succeeded(self, stream): host=self.request['url'].split('/')[2] try: if stream.target_host == host and self.request['tor']['exit_ip'] is None: self.request['tor']['exit_ip'] = stream.circuit.path[-1].ip self.request['tor']['exit_name'] = stream.circuit.path[-1].name config.tor_state.stream_listeners.remove(self) except: log.err("Tor Exit ip detection failed") def _representHeaders(headers): represented_headers = {} for name, value in headers.getAllRawHeaders(): represented_headers[name] = unicode(value[0], errors='ignore') return represented_headers class HTTPTest(NetTestCase): """ A utility class for dealing with HTTP based testing. It provides methods to be overriden for dealing with HTTP based testing. The main functions to look at are processResponseBody and processResponseHeader that are invoked once the headers have been received and once the request body has been received. To perform requests over Tor you will have to use the special URL schema "shttp". For example to request / on example.com you will have to do specify as URL "shttp://example.com/". XXX all of this requires some refactoring. """ name = "HTTP Test" version = "0.1.1" randomizeUA = False followRedirects = False # When this is set to False we will follow redirects pointing to IPs in # rfc1918 ignorePrivateRedirects = False # You can specify a list of tuples in the format of (CONTENT_TYPE, # DECODER) # For example to support Gzip decoding you should specify # contentDecoders = [('gzip', GzipDecoder)] contentDecoders = [] baseParameters = [['socksproxy', 's', None, 'Specify a socks proxy to use for requests (ip:port)']] def _setUp(self): super(HTTPTest, self)._setUp() try: import OpenSSL except: log.err("Warning! pyOpenSSL is not installed. https websites will " "not work") self.control_agent = TrueHeadersSOCKS5Agent(reactor, proxyEndpoint=TCP4ClientEndpoint(reactor, '127.0.0.1', config.tor.socks_port)) self.report['socksproxy'] = None if self.localOptions['socksproxy']: try: sockshost, socksport = self.localOptions['socksproxy'].split(':') self.report['socksproxy'] = self.localOptions['socksproxy'] except ValueError: raise InvalidSocksProxyOption socksport = int(socksport) self.agent = TrueHeadersSOCKS5Agent(reactor, proxyEndpoint=TCP4ClientEndpoint(reactor, sockshost, socksport)) else: self.agent = TrueHeadersAgent(reactor) self.report['agent'] = 'agent' if self.followRedirects: try: self.control_agent = FixedRedirectAgent(self.control_agent) self.agent = FixedRedirectAgent( self.agent, ignorePrivateRedirects=self.ignorePrivateRedirects ) self.report['agent'] = 'redirect' except: log.err("Warning! You are running an old version of twisted " "(<= 10.1). I will not be able to follow redirects." "This may make the testing less precise.") if len(self.contentDecoders) > 0: self.control_agent = ContentDecoderAgent(self.control_agent, self.contentDecoders) self.agent = ContentDecoderAgent(self.agent, self.contentDecoders) self.processInputs() log.debug("Finished test setup") def randomize_useragent(self, request): user_agent = random.choice(userAgents) request['headers']['User-Agent'] = [user_agent] def processInputs(self): pass def addToReport(self, request, response=None, response_body=None, failure_string=None, previous_response=None): """ Adds to the report the specified request and response. Args: request (dict): A dict describing the request that was made response (instance): An instance of :class:twisted.web.client.Response. Note: headers is our modified True Headers version. failure (instance): An instance of :class:twisted.internet.failure.Failure """ log.debug("Adding %s to report" % request) request_headers = TrueHeaders(request['headers']) session = { 'request': { 'headers': _representHeaders(request_headers), 'body': request['body'], 'url': request['url'], 'method': request['method'], 'tor': request['tor'] }, 'response': None } if response: if (getattr(response, 'request', None) and getattr(response.request, 'absoluteURI', None)): session['request']['url'] = response.request.absoluteURI response_headers = {} for name, value in response.headers.getAllRawHeaders(): response_headers[name] = value[0] # Attempt to redact the IP address of the probe from the responses if config.privacy.includeip is False and \ probe_ip.address is not None: if isinstance(response_body, (str, unicode)): response_body = response_body.replace(probe_ip.address, "[REDACTED]") for key, value in response_headers.items(): response_headers[key] = value.replace(probe_ip.address, "[REDACTED]") for key, value in response_headers.items(): response_headers[key] = representBody(value) if self.localOptions.get('withoutbody', 0) is 0: response_body = representBody(response_body) else: response_body = '' session['response'] = { 'headers': response_headers, 'body': response_body, 'code': response.code } session['failure'] = None if failure_string: session['failure'] = failure_string self.report['requests'].append(session) if response and response.previousResponse: previous_response = response.previousResponse if previous_response: self.addToReport(request, previous_response, response_body=None, failure_string=None) def _processResponseBody(self, response_body, request, response, body_processor): log.debug("Processing response body") HTTPTest.addToReport(self, request, response, response_body) if body_processor: body_processor(response_body) else: self.processResponseBody(response_body) response.body = response_body return response def _processResponseBodyFail(self, failure, request, response): if failure.check(PartialDownloadError): return failure.value.response failure_string = handleAllFailures(failure) HTTPTest.addToReport(self, request, response, failure_string=failure_string) return response def processResponseBody(self, body): """ Overwrite this method if you wish to interact with the response body of every request that is made. Args: body (str): The body of the HTTP response """ pass def processResponseHeaders(self, headers): """ This should take care of dealing with the returned HTTP headers. Args: headers (dict): The returned header fields. """ pass def processRedirect(self, location): """ Handle a redirection via a 3XX HTTP status code. Here you may place logic that evaluates the destination that you are being redirected to. Matches against known censor redirects, etc. Note: if self.followRedirects is set to True, then this method will never be called. XXX perhaps we may want to hook _handleResponse in RedirectAgent to call processRedirect every time we get redirected. Args: location (str): the url that we are being redirected to. """ pass def _cbResponse(self, response, request, headers_processor, body_processor): """ This callback is fired once we have gotten a response for our request. If we are using a RedirectAgent then this will fire once we have reached the end of the redirect chain. Args: response (:twisted.web.iweb.IResponse:): a provider for getting our response request (dict): the dict containing our response (XXX this should be dropped) header_processor (func): a function to be called with argument a dict containing the response headers. This will lead self.headerProcessor to not be called. body_processor (func): a function to be called with as argument the body of the response. This will lead self.bodyProcessor to not be called. """ if not response: log.err("Got no response for request %s" % request) HTTPTest.addToReport(self, request, response) return else: log.debug("Got response") log.debug("code: %d" % response.code) log.debug("headers: %s" % response.headers.getAllRawHeaders()) if str(response.code).startswith('3'): self.processRedirect(response.headers.getRawHeaders('Location')[0]) # [!] We are passing to the headers_processor the headers dict and # not the Headers() object response_headers_dict = list(response.headers.getAllRawHeaders()) if headers_processor: headers_processor(response_headers_dict) else: self.processResponseHeaders(response_headers_dict) finished = readBody(response) finished.addErrback(self._processResponseBodyFail, request, response) finished.addCallback(self._processResponseBody, request, response, body_processor) return finished def doRequest(self, url, method="GET", headers={}, body=None, headers_processor=None, body_processor=None, use_tor=False): """ Perform an HTTP request with the specified method and headers. Args: url (str): the full URL of the request. The scheme may be either http, https, or httpo for http over Tor Hidden Service. Kwargs: method (str): the HTTP method name to use for the request headers (dict): the request headers to send body (str): the request body headers_processor : a function to be used for processing the HTTP header responses (defaults to self.processResponseHeaders). This function takes as argument the HTTP headers as a dict. body_processory: a function to be used for processing the HTTP response body (defaults to self.processResponseBody). This function takes the response body as an argument. use_tor (bool): specify if the HTTP request should be done over Tor or not. """ # We prefix the URL with 's' to make the connection go over the # configured socks proxy if use_tor: log.debug("Using Tor for the request to %s" % url) agent = self.control_agent else: agent = self.agent if self.localOptions['socksproxy']: log.debug("Using SOCKS proxy %s for request" % (self.localOptions['socksproxy'])) log.debug("Performing request %s %s %s" % (url, method, headers)) request = {} request['method'] = method request['url'] = url request['headers'] = headers request['body'] = body request['tor'] = { 'exit_ip': None, 'exit_name': None } if use_tor: request['tor']['is_tor'] = True else: request['tor']['is_tor'] = False if self.randomizeUA: log.debug("Randomizing user agent") self.randomize_useragent(request) self.report['requests'] = self.report.get('requests', []) # If we have a request body payload, set the request body to such # content if body: body_producer = StringProducer(request['body']) else: body_producer = None headers = TrueHeaders(request['headers']) def errback(failure, request): if request['tor']['is_tor']: log.msg("Error performing torified HTTP request: %s" % request['url']) else: log.msg("Error performing HTTP request: %s" % request['url']) failure_string = handleAllFailures(failure) previous_response = None if getattr(failure, "previousResponse", None): previous_response = failure.previousResponse if getattr(failure, "requestLocation", None): request['url'] = failure.requestLocation self.addToReport(request, failure_string=failure_string, previous_response=previous_response) return failure if use_tor: state = config.tor_state if state: state.add_stream_listener(StreamListener(request)) d = agent.request(request['method'], request['url'], headers, body_producer) d.addErrback(errback, request) d.addCallback(self._cbResponse, request, headers_processor, body_processor) return d ooniprobe-2.2.0/ooni/templates/dnst.py0000644000175000017500000002033712702717733016147 0ustar irlirl# -*- encoding: utf-8 -*- # # :authors: Arturo Filastò # :licence: see LICENSE from twisted.internet import udp, error, base from twisted.internet.defer import TimeoutError from twisted.names import client, dns from twisted.names.client import Resolver from ooni.utils import log from ooni.nettest import NetTestCase from ooni.errors import failureToString import socket from socket import gaierror dns.DNSDatagramProtocol.noisy = False def _bindSocket(self): """ _bindSocket taken from Twisted 13.1.0 to suppress logging. """ try: skt = self.createInternetSocket() skt.bind((self.interface, self.port)) except socket.error as le: raise error.CannotListenError(self.interface, self.port, le) # Make sure that if we listened on port 0, we update that to # reflect what the OS actually assigned us. self._realPortNumber = skt.getsockname()[1] # Here we remove the logging. # log.msg("%s starting on %s" % ( # self._getLogPrefix(self.protocol), self._realPortNumber)) self.connected = 1 self.socket = skt self.fileno = self.socket.fileno udp.Port._bindSocket = _bindSocket def connectionLost(self, reason=None): """ Taken from Twisted 13.1.0 to suppress log.msg printing. """ # Here we remove the logging. # log.msg('(UDP Port %s Closed)' % self._realPortNumber) self._realPortNumber = None base.BasePort.connectionLost(self, reason) self.protocol.doStop() self.socket.close() del self.socket del self.fileno if hasattr(self, "d"): self.d.callback(None) del self.d udp.Port.connectionLost = connectionLost def representAnswer(answer): answer_types = { dns.SOA: 'SOA', dns.NS: 'NS', dns.PTR: 'PTR', dns.A: 'A', dns.CNAME: 'CNAME', dns.MX: 'MX' } answer_type = answer_types.get(answer.type, 'unknown') represented_answer = { "answer_type": answer_type } if answer_type is 'SOA': represented_answer['ttl'] = answer.payload.ttl represented_answer['hostname'] = answer.payload.mname.name represented_answer['responsible_name'] = answer.payload.rname.name represented_answer['serial_number'] = answer.payload.serial represented_answer['refresh_interval'] = answer.payload.refresh represented_answer['retry_interval'] = answer.payload.retry represented_answer['minimum_ttl'] = answer.payload.minimum represented_answer['expiration_limit'] = answer.payload.expire elif answer_type in ['NS', 'PTR', 'CNAME']: represented_answer['hostname'] = answer.payload.name.name elif answer_type is 'A': represented_answer['ipv4'] = answer.payload.dottedQuad() return represented_answer class DNSTest(NetTestCase): name = "Base DNS Test" version = "0.2.0" requiresRoot = False queryTimeout = [1] def _setUp(self): super(DNSTest, self)._setUp() self.report['queries'] = [] def performPTRLookup(self, address, dns_server = None): """ Does a reverse DNS lookup on the input ip address :address: the IP Address as a dotted quad to do a reverse lookup on. :dns_server: is the dns_server that should be used for the lookup as a tuple of ip port (ex. ("127.0.0.1", 53)) if None, system dns settings will be used """ ptr = '.'.join(address.split('.')[::-1]) + '.in-addr.arpa' return self.dnsLookup(ptr, 'PTR', dns_server) def performALookup(self, hostname, dns_server = None): """ Performs an A lookup and returns an array containg all the dotted quad IP addresses in the response. :hostname: is the hostname to perform the A lookup on :dns_server: is the dns_server that should be used for the lookup as a tuple of ip port (ex. ("127.0.0.1", 53)) if None, system dns settings will be used """ return self.dnsLookup(hostname, 'A', dns_server) def performNSLookup(self, hostname, dns_server = None): """ Performs a NS lookup and returns an array containg all nameservers in the response. :hostname: is the hostname to perform the NS lookup on :dns_server: is the dns_server that should be used for the lookup as a tuple of ip port (ex. ("127.0.0.1", 53)) if None, system dns settings will be used """ return self.dnsLookup(hostname, 'NS', dns_server) def performSOALookup(self, hostname, dns_server = None): """ Performs a SOA lookup and returns the response (name,serial). :hostname: is the hostname to perform the SOA lookup on :dns_server: is the dns_server that should be used for the lookup as a tuple of ip port (ex. ("127.0.0.1", 53)) if None, system dns settings will be used """ return self.dnsLookup(hostname,'SOA',dns_server) def dnsLookup(self, hostname, dns_type, dns_server = None): """ Performs a DNS lookup and returns the response. :hostname: is the hostname to perform the DNS lookup on :dns_type: type of lookup 'NS'/'A'/'SOA' :dns_server: is the dns_server that should be used for the lookup as a tuple of ip port (ex. ("127.0.0.1", 53)) """ types = { 'NS': dns.NS, 'A': dns.A, 'SOA': dns.SOA, 'PTR': dns.PTR } dnsType = types[dns_type] query = [dns.Query(hostname, dnsType, dns.IN)] def gotResponse(message): log.debug(dns_type + " Lookup successful") log.debug(str(message)) if dns_server: msg = message.answers else: msg = message[0] answers = [] addrs = [] for answer in msg: addr = None if answer.type is dns.SOA: addr = (answer.name.name,answer.payload.serial) elif answer.type in [dns.NS, dns.PTR, dns.CNAME]: addr = answer.payload.name.name elif answer.type is dns.A: addr = answer.payload.dottedQuad() else: log.debug("Unidentified answer %s" % answer) addrs.append(addr) answers.append(representAnswer(answer)) if dns_type == 'SOA': for authority in message.authority: answers.append(representAnswer(authority)) DNSTest.addToReport(self, query, resolver=dns_server, query_type=dns_type, answers=answers) return addrs def gotError(failure): failure.trap(gaierror, TimeoutError) DNSTest.addToReport(self, query, resolver=dns_server, query_type=dns_type, failure=failure) return failure if dns_server: resolver = Resolver(servers=[dns_server]) d = resolver.queryUDP(query, timeout=self.queryTimeout) else: lookupFunction = { 'NS': client.lookupNameservers, 'SOA': client.lookupAuthority, 'A': client.lookupAddress, 'PTR': client.lookupPointer } d = lookupFunction[dns_type](hostname) d.addCallback(gotResponse) d.addErrback(gotError) return d def addToReport(self, query, resolver=None, query_type=None, answers=None, failure=None): log.debug("Adding %s to report)" % query) result = { 'resolver_hostname': None, 'resolver_port': None } if resolver is not None and len(resolver) == 2: result['resolver_hostname'] = resolver[0] result['resolver_port'] = resolver[1] result['query_type'] = query_type result['hostname'] = str(query[0].name) result['failure'] = None if failure: result['failure'] = failureToString(failure) result['answers'] = [] if answers: result['answers'] = answers self.report['queries'].append(result) ooniprobe-2.2.0/ooni/backend_client.py0000644000175000017500000002523313064300762016116 0ustar irlirlimport os import json from urlparse import urljoin, urlparse from twisted.web.error import Error from twisted.web.client import Agent, Headers from twisted.internet import defer, reactor from twisted.internet.endpoints import TCP4ClientEndpoint from twisted.python.versions import Version from twisted import version as _twisted_version _twisted_14_0_2_version = Version('twisted', 14, 0, 2) from ooni import errors as e, constants from ooni.settings import config from ooni.utils import log, onion from ooni.utils.net import BodyReceiver, StringProducer, Downloader from ooni.utils.socks import TrueHeadersSOCKS5Agent def guess_backend_type(address): if address is None: raise e.InvalidAddress if onion.is_onion_address(address): return 'onion' elif address.startswith('https://'): return 'https' elif address.startswith('http://'): return 'http' else: raise e.InvalidAddress class OONIBClient(object): def __init__(self, address=None, settings={}): self.base_headers = {} self.backend_type = settings.get('type', None) self.base_address = settings.get('address', address) self.front = settings.get('front', '').encode('ascii') if self.backend_type is None: self.backend_type = guess_backend_type(self.base_address) self.backend_type = self.backend_type.encode('ascii') self.settings = { 'type': self.backend_type, 'address': self.base_address, 'front': self.front } self._setupBaseAddress() def _setupBaseAddress(self): parsed_address = urlparse(self.base_address) if self.backend_type == 'onion': if not onion.is_onion_address(self.base_address): log.err("Invalid onion address.") raise e.InvalidAddress(self.base_address) if parsed_address.scheme in ('http', 'httpo'): self.base_address = ("http://%s" % parsed_address.netloc) else: self.base_address = ("%s://%s" % (parsed_address.scheme, parsed_address.netloc)) elif self.backend_type == 'http': self.base_address = ("http://%s" % parsed_address.netloc) elif self.backend_type == 'https': self.base_address = ("https://%s" % parsed_address.netloc) elif self.backend_type == 'cloudfront': self.base_headers['Host'] = [parsed_address.netloc] self.base_address = ("https://%s" % self.front) self.base_address = self.base_address.encode('ascii') def isSupported(self): if self.backend_type in ("https", "cloudfront"): if _twisted_version < _twisted_14_0_2_version: log.err("HTTPS and cloudfronted backends require " "twisted > 14.0.2.") return False elif self.backend_type == "http": if config.advanced.insecure_backend is not True: log.err("Plaintext backends are not supported. To " "enable at your own risk set " "advanced->insecure_backend to true") return False elif self.backend_type == "onion": # XXX add an extra check to ensure tor is running if not config.tor_state and config.tor.socks_port is None: return False return True def isReachable(self): raise NotImplemented def _request(self, method, urn, genReceiver, bodyProducer=None, retries=3): if self.backend_type == 'onion': agent = TrueHeadersSOCKS5Agent(reactor, proxyEndpoint=TCP4ClientEndpoint(reactor, '127.0.0.1', config.tor.socks_port)) else: agent = Agent(reactor) attempts = 0 finished = defer.Deferred() def perform_request(attempts): uri = urljoin(self.base_address, urn) d = agent.request(method, uri, bodyProducer=bodyProducer, headers=Headers(self.base_headers)) @d.addCallback def callback(response): try: content_length = int(response.headers.getRawHeaders('content-length')[0]) except: content_length = None response.deliverBody(genReceiver(finished, content_length)) def errback(err, attempts): # We we will recursively keep trying to perform a request until # we have reached the retry count. if attempts < retries: log.err("Lookup {} failed. Retrying.".format(uri)) attempts += 1 perform_request(attempts) else: log.err("Failed. Giving up.") finished.errback(err) d.addErrback(errback, attempts) perform_request(attempts) return finished def queryBackend(self, method, urn, query=None, retries=3): log.debug("Querying backend {0}{1} with {2}".format(self.base_address, urn, query)) bodyProducer = None if query: bodyProducer = StringProducer(json.dumps(query)) def genReceiver(finished, content_length): def process_response(s): # If empty string then don't parse it. if not s: return try: response = json.loads(s) except ValueError: raise e.get_error(None) if 'error' in response: log.debug("Got this backend error message %s" % response) raise e.get_error(response['error']) return response return BodyReceiver(finished, content_length, process_response) return self._request(method, urn, genReceiver, bodyProducer, retries) def download(self, urn, download_path): def genReceiver(finished, content_length): return Downloader(download_path, finished, content_length) return self._request('GET', urn, genReceiver) class BouncerClient(OONIBClient): def isReachable(self): return defer.succeed(True) @defer.inlineCallbacks def lookupTestCollector(self, net_tests): try: test_collector = yield self.queryBackend('POST', '/bouncer/net-tests', query={'net-tests': net_tests}) except Exception as exc: log.exception(exc) raise e.CouldNotFindTestCollector defer.returnValue(test_collector) @defer.inlineCallbacks def lookupTestHelpers(self, test_helper_names): try: test_helper = yield self.queryBackend('POST', '/bouncer/test-helpers', query={'test-helpers': test_helper_names}) except Exception as exc: log.exception(exc) raise e.CouldNotFindTestHelper if not test_helper: raise e.CouldNotFindTestHelper defer.returnValue(test_helper) class CollectorClient(OONIBClient): def isReachable(self): # XXX maybe in the future we can have a dedicated API endpoint to # test the reachability of the collector. d = self.queryBackend('GET', '/invalidpath') @d.addCallback def cb(_): # We should never be getting an acceptable response for a # request to an invalid path. return False @d.addErrback def err(failure): failure.trap(Error) return failure.value.status == '404' return d def getInputPolicy(self): return self.queryBackend('GET', '/policy/input') def getNettestPolicy(self): return self.queryBackend('GET', '/policy/nettest') def createReport(self, test_details): request = { 'software_name': test_details['software_name'], 'software_version': test_details['software_version'], 'probe_asn': test_details['probe_asn'], 'probe_cc': test_details['probe_cc'], 'test_name': test_details['test_name'], 'test_version': test_details['test_version'], 'test_start_time': test_details['test_start_time'], 'input_hashes': test_details['input_hashes'], 'data_format_version': test_details['data_format_version'], 'format': 'json' } # import values from the environment request.update([(k.lower(),v) for (k,v) in os.environ.iteritems() if k.startswith('PROBE_')]) return self.queryBackend('POST', '/report', query=request) def updateReport(self, report_id, serialization_format, entry_content): request = { 'format': serialization_format, 'content': entry_content } return self.queryBackend('POST', '/report/%s' % report_id, query=request) def closeReport(self, report_id): return self.queryBackend('POST', '/report/' + report_id + '/close') class WebConnectivityClient(OONIBClient): def isReachable(self): d = self.queryBackend('GET', '/status') @d.addCallback def cb(result): if result.get("status", None) != "ok": return False return True @d.addErrback def err(_): return False return d def control(self, http_request, tcp_connect, http_request_headers=None, include_http_responses=False): if http_request_headers is None: http_request_headers = {} request = { 'http_request': http_request, 'tcp_connect': tcp_connect, 'http_request_headers': http_request_headers, 'include_http_responses': include_http_responses } return self.queryBackend('POST', '/', query=request) def get_preferred_bouncer(): preferred_backend = config.advanced.get( "preferred_backend", "onion" ) bouncer_address = getattr( constants, "CANONICAL_BOUNCER_{0}".format( preferred_backend.upper() ) ) if preferred_backend == "cloudfront": return BouncerClient( settings={ 'address': bouncer_address[0], 'front': bouncer_address[1], 'type': 'cloudfront' }) else: return BouncerClient(bouncer_address) ooniprobe-2.2.0/ooni/deck/0000755000175000017500000000000013071152230013511 5ustar irlirlooniprobe-2.2.0/ooni/deck/deck.py0000644000175000017500000003472113046133036015005 0ustar irlirlimport os import json import uuid import errno import hashlib from copy import deepcopy from string import Template import yaml from twisted.internet import defer from twisted.python.filepath import FilePath from ooni import errors as e from ooni.backend_client import BouncerClient, CollectorClient from ooni.backend_client import get_preferred_bouncer from ooni.deck.backend import lookup_collector_and_test_helpers from ooni.deck.legacy import convert_legacy_deck from ooni.geoip import probe_ip from ooni.nettest import NetTestLoader, nettest_to_path from ooni.measurements import generate_summary from ooni.settings import config from ooni.utils import log, generate_filename def resolve_file_path(v, prepath=None): from ooni.deck.store import input_store if v.startswith("$"): # This raises InputNotFound and we let it carry onto the caller return input_store.get(v[1:])["filepath"] if prepath is not None and (not os.path.isabs(v)): return FilePath(prepath).preauthChild(v).path return v def options_to_args(options): args = [] for k, v in options.items(): if v is None: continue if v is False: continue if (len(k)) == 1: args.append('-'+k) else: args.append('--'+k) if v is True: continue args.append(v) return args def normalize_options(options): """ Takes some options that have a mixture of - and _ and returns the equivalent options with only '_'. """ normalized_opts = {} for k, v in options.items(): normalized_key = k.replace('-', '_') assert normalized_key not in normalized_opts, "The key {0} cannot be normalized".format(k) normalized_opts[normalized_key] = v return normalized_opts class UnknownTaskKey(Exception): pass class MissingTaskDataKey(Exception): pass class NGDeck(object): def __init__(self, deck_data=None, deck_path=None, global_options={}, no_collector=False, arbitrary_paths=False): # Used to resolve relative paths inside of decks. self.deck_directory = os.getcwd() self.requires_tor = False self.no_collector = no_collector self.name = "" self.description = "" self.icon = "" self.id = None self.schedule = None self.metadata = {} self.global_options = normalize_options(global_options) self.bouncer = None self._arbitrary_paths = arbitrary_paths self._is_setup = False self._measurement_path = FilePath(config.measurements_directory) self._tasks = [] if deck_path is not None: self.open(deck_path) elif deck_data is not None: self.load(deck_data) def open(self, deck_path, global_options=None): with open(deck_path) as fh: deck_data = yaml.safe_load(fh) self.id = os.path.basename(deck_path[:-1*len('.yaml')]) self.deck_directory = os.path.abspath(os.path.dirname(deck_path)) self.load(deck_data, global_options) def load(self, deck_data, global_options=None): if self.id is None: # This happens when you load a deck not from a filepath so we # use the first 16 characters of the SHA256 hexdigest as an ID self.id = hashlib.sha256(json.dumps(deck_data)).hexdigest()[:16] if global_options is not None: self.global_options = normalize_options(global_options) if isinstance(deck_data, list): deck_data = convert_legacy_deck(deck_data) self.name = deck_data.pop("name", "Un-named Deck") self.description = deck_data.pop("description", "No description") self.icon = deck_data.pop("icon", "fa-gears") bouncer_address = self.global_options.get('bouncer', deck_data.pop("bouncer", None)) if bouncer_address is None: self.bouncer = get_preferred_bouncer() elif isinstance(bouncer_address, dict): self.bouncer = BouncerClient(settings=bouncer_address) else: self.bouncer = BouncerClient(bouncer_address) self.schedule = deck_data.pop("schedule", None) tasks_data = deck_data.pop("tasks", []) for key, metadata in deck_data.items(): self.metadata[key] = metadata # We override the task metadata with the global options if present self.metadata.update(self.global_options) for task_data in tasks_data: deck_task = DeckTask( data=task_data, parent_metadata=self.metadata, global_options=self.global_options, cwd=self.deck_directory, arbitrary_paths=self._arbitrary_paths ) if deck_task.requires_tor: self.requires_tor = True if (deck_task.requires_bouncer and self.bouncer.backend_type == "onion"): self.requires_tor = True self._tasks.append(deck_task) if self.metadata.get('no_collector', False): self.no_collector = True if (self.no_collector is False and self.bouncer.backend_type == "onion"): self.requires_tor = True @property def tasks(self): return self._tasks def write(self, fh): """ Writes a properly formatted deck to the supplied file handle. :param fh: an open file handle :return: """ deck_data = { "name": self.name, "description": self.description, "tasks": [task.data for task in self._tasks] } if self.schedule is not None: deck_data["schedule"] = self.schedule for key, value in self.metadata.items(): deck_data[key] = value fh.write("---\n") yaml.safe_dump(deck_data, fh, default_flow_style=False) @defer.inlineCallbacks def query_bouncer(self): preferred_backend = config.advanced.get( "preferred_backend", "onion" ) log.msg("Looking up collector and test helpers with {0}".format( self.bouncer.base_address) ) net_test_loaders = [] for task in self._tasks: if task.type == "ooni": net_test_loaders.append(task.ooni["net_test_loader"]) yield lookup_collector_and_test_helpers( net_test_loaders, self.bouncer, preferred_backend, self.no_collector ) defer.returnValue(net_test_loaders) def _measurement_completed(self, result, task): if not task.output_path: measurement_id = task.id measurement_dir = self._measurement_path.child(measurement_id) measurement_dir.child("measurements.njson.progress").moveTo( measurement_dir.child("measurements.njson") ) generate_summary( measurement_dir.child("measurements.njson").path, measurement_dir.child("summary.json").path, measurement_dir.child("anomaly").path, deck_id=self.id ) measurement_dir.child("running.pid").remove() def _measurement_failed(self, failure, task): if not task.output_path: # XXX do we also want to delete measurements.njson.progress? measurement_id = task.id measurement_dir = self._measurement_path.child(measurement_id) measurement_dir.child("running.pid").remove() return failure def _run_ooni_task(self, task, director): net_test_loader = task.ooni["net_test_loader"] # XXX-REFACTOR we do this so late to avoid the collision between the # same id and hence generating the same filename. test_details = net_test_loader.getTestDetails() task.id = generate_filename(test_details, deck_id=self.id) measurement_id = None report_filename = task.output_path if not task.output_path: measurement_id = task.id measurement_dir = self._measurement_path.child(measurement_id) try: measurement_dir.createDirectory() except OSError as ose: if ose.errno == errno.EEXIST: raise Exception("Directory already exists, there is a " "collision") report_filename = measurement_dir.child("measurements.njson.progress").path pid_file = measurement_dir.child("running.pid") with pid_file.open('w') as out_file: out_file.write("{0}".format(os.getpid())) d = director.start_net_test_loader( net_test_loader, report_filename, collector_client=net_test_loader.collector, test_details=test_details, measurement_id=measurement_id ) d.addCallback(self._measurement_completed, task) d.addErrback(self._measurement_failed, task) return d @defer.inlineCallbacks def setup(self): """ This method needs to be called before you are able to run a deck. """ from ooni.deck.store import InputNotFound for task in self._tasks: try: yield task.setup() except InputNotFound: log.msg("Skipping the task {0} because the input cannot be " "found".format(task.id)) task.skip = True self._is_setup = True @defer.inlineCallbacks def run(self, director, from_schedule=False): assert self._is_setup, "You must call setup() before you can run a " \ "deck" if self.requires_tor: yield director.start_tor() yield self.query_bouncer() director.deckStarted(self.id, from_schedule) for task in self._tasks: if task.skip is True: log.debug("Skipping running {0}".format(task.id)) continue if task.type == "ooni": yield self._run_ooni_task(task, director) director.deckFinished(self.id, from_schedule) self._is_setup = False class DeckTask(object): _metadata_keys = ["name"] _supported_tasks = ["ooni"] def __init__(self, data, parent_metadata={}, global_options={}, cwd=None, arbitrary_paths=False): self.parent_metadata = normalize_options(parent_metadata) self.global_options = global_options self.cwd = cwd self.data = deepcopy(data) self.skip = False self.id = "invalid" self.type = None self.metadata = {} self.requires_tor = False self.requires_bouncer = False # If this is set to true a deck can specify any path. It should only # be run against trusted decks or when you create a deck # programmaticaly to a run test specified from the command line. self._arbitrary_paths = arbitrary_paths self.ooni = { 'bouncer_client': None, 'test_details': {}, 'test_name': None } self.output_path = None self._load(data) def _pop_option(self, name, task_data, default=None): try: value = self.global_options[name] if value in [None, 0]: raise KeyError except KeyError: value = task_data.pop(name, self.parent_metadata.get(name, default)) task_data.pop(name, None) return value def _load_ooni(self, task_data): required_keys = ["test_name"] for required_key in required_keys: if required_key not in task_data: raise MissingTaskDataKey(required_key) self.ooni['test_name'] = task_data.pop('test_name') # This raises e.NetTestNotFound, we let it go onto the caller nettest_path = nettest_to_path(self.ooni['test_name'], self._arbitrary_paths) annotations = self._pop_option('annotations', task_data, {}) collector_address = self._pop_option('collector', task_data, None) try: self.output_path = self.global_options['reportfile'] except KeyError: self.output_path = task_data.pop('reportfile', None) if task_data.get('no-collector', False): collector_address = None elif config.reports.upload is False: collector_address = None net_test_loader = NetTestLoader( options_to_args(task_data), annotations=annotations, test_file=nettest_path ) if isinstance(collector_address, dict): net_test_loader.collector = CollectorClient( settings=collector_address ) elif collector_address is not None: net_test_loader.collector = CollectorClient( collector_address ) if (net_test_loader.collector is not None and net_test_loader.collector.backend_type == "onion"): self.requires_tor = True try: net_test_loader.checkOptions() if net_test_loader.requiresTor: self.requires_tor = True except e.MissingTestHelper: self.requires_bouncer = True self.ooni['net_test_loader'] = net_test_loader @defer.inlineCallbacks def _setup_ooni(self): yield probe_ip.lookup() for input_file in self.ooni['net_test_loader'].inputFiles: filename = Template(input_file['filename']).safe_substitute( probe_cc=probe_ip.geodata['countrycode'].lower() ) file_path = resolve_file_path(filename, self.cwd) input_file['test_options'][input_file['key']] = file_path def setup(self): self.id = str(uuid.uuid4()) return getattr(self, "_setup_"+self.type)() def _load(self, data): for key in self._metadata_keys: try: self.metadata[key] = data.pop(key) except KeyError: continue task_type, task_data = data.popitem() if task_type not in self._supported_tasks: raise UnknownTaskKey(task_type) self.type = task_type getattr(self, "_load_"+task_type)(task_data) assert len(data) == 0, "Got an unidentified key" ooniprobe-2.2.0/ooni/deck/store.py0000644000175000017500000002000613046133036015222 0ustar irlirlimport csv import json import errno from copy import deepcopy from twisted.internet import defer from twisted.python.filepath import FilePath from ooni.utils import mkdir_p, log from ooni.deck.deck import NGDeck from ooni.otime import timestampNowISO8601UTC from ooni.resources import check_for_update from ooni.settings import config # These are the decks to be run by default. DEFAULT_DECKS = ['web', 'tor', 'im', 'http-invalid'] class InputNotFound(Exception): pass class DeckNotFound(Exception): pass def write_txt_from_csv(in_file, out_file, func, skip_header=True): with in_file.open('r') as in_fh, out_file.open('w') as out_fh: csvreader = csv.reader(in_fh) if skip_header: csvreader.next() for row in csvreader: out_fh.write(func(row)) def write_descriptor(out_file, name, desc_id, filepath, file_type): with out_file.open('w') as out_fh: json.dump({ "name": name, "filepath": filepath, "last_updated": timestampNowISO8601UTC(), "id": desc_id, "type": file_type }, out_fh) class InputStore(object): def __init__(self): self.path = FilePath(config.inputs_directory) self.resources = FilePath(config.resources_directory) self._cache_stale = True self._cache = {} @defer.inlineCallbacks def update_url_lists(self, country_code): countries = ["global"] if country_code != "ZZ": countries.append(country_code) for cc in countries: cc = cc.lower() in_file = self.resources.child("citizenlab-test-lists").child("{0}.csv".format(cc)) if not in_file.exists(): yield check_for_update(country_code) if not in_file.exists(): log.msg("Could not find input for country " "{0} in {1}".format(cc, in_file.path)) continue # XXX maybe move this to some utility function. # It's duplicated in oonideckgen. data_fname = "citizenlab-test-lists_{0}.txt".format(cc) desc_fname = "citizenlab-test-lists_{0}.desc".format(cc) out_file = self.path.child("data").child(data_fname) write_txt_from_csv(in_file, out_file, lambda row: "{}\n".format(row[0]) ) desc_file = self.path.child("descriptors").child(desc_fname) if cc == "global": name = "List of globally accessed websites" else: # XXX resolve this to a human readable country name country_name = cc name = "List of websites for {0}".format(country_name) write_descriptor(desc_file, name, "citizenlab_{0}_urls".format(cc), out_file.path, "file/url") self._cache_stale = True yield defer.succeed(None) @defer.inlineCallbacks def update_tor_bridge_lines(self, country_code): from ooni.utils import onion in_file = self.resources.child("tor-bridges").child( "tor-bridges-ip-port.csv" ) if not in_file.exists(): yield check_for_update(country_code) data_fname = "tor-bridge-lines.txt" desc_fname = "tor-bridge-lines.desc" out_file = self.path.child("data").child(data_fname) def format_row(row): host, port, nickname, protocol = row if protocol.lower() not in onion.pt_names: return "{}:{}\n".format(host, port) return "{} {}:{}\n".format(protocol, host, port) write_txt_from_csv(in_file, out_file, format_row) desc_file = self.path.child("descriptors").child(desc_fname) write_descriptor( desc_file, "Tor bridge lines", "tor_bridge_lines", out_file.path, "file/ip-port" ) self._cache_stale = True # Do an empty defer to fit inside of a event loop clock yield defer.succeed(None) @defer.inlineCallbacks def create(self, country_code=None): # XXX This is a hax to avoid race conditions in testing because this # object is a singleton and config can have a custom home directory # passed at runtime. self.path = FilePath(config.inputs_directory) self.resources = FilePath(config.resources_directory) mkdir_p(self.path.child("descriptors").path) mkdir_p(self.path.child("data").path) yield self.update_url_lists(country_code) yield self.update_tor_bridge_lines(country_code) @defer.inlineCallbacks def update(self, country_code=None): # XXX why do we make a difference between create and update? yield self.create(country_code) def _update_cache(self): new_cache = {} descs = self.path.child("descriptors") if not descs.exists(): self._cache = new_cache return for fn in descs.listdir(): with descs.child(fn).open("r") as in_fh: input_desc = json.load(in_fh) new_cache[input_desc.pop("id")] = input_desc self._cache = new_cache self._cache_stale = False return def list(self): if self._cache_stale: self._update_cache() return deepcopy(self._cache) def get(self, input_id): if self._cache_stale: self._update_cache() try: input_desc = deepcopy(self._cache[input_id]) except KeyError: raise InputNotFound(input_id) return input_desc def getContent(self, input_id): input_desc = self.get(input_id) with open(input_desc["filepath"]) as fh: return fh.read() class DeckStore(object): def __init__(self, enabled_directory=config.decks_enabled_directory, available_directory=config.decks_available_directory): self.enabled_directory = FilePath(enabled_directory) self.available_directory = FilePath(available_directory) self._cache = {} self._cache_stale = True def _list(self): if self._cache_stale: self._update_cache() for deck_id, deck in self._cache.iteritems(): yield (deck_id, deck) def list(self): decks = [] for deck_id, deck in self._list(): decks.append((deck_id, deck)) return decks def list_enabled(self): decks = [] for deck_id, deck in self._list(): if not self.is_enabled(deck_id): continue decks.append((deck_id, deck)) return decks def is_enabled(self, deck_id): return self.enabled_directory.child(deck_id + '.yaml').exists() def enable(self, deck_id): deck_path = self.available_directory.child(deck_id + '.yaml') if not deck_path.exists(): raise DeckNotFound(deck_id) deck_enabled_path = self.enabled_directory.child(deck_id + '.yaml') try: deck_path.linkTo(deck_enabled_path) except OSError as ose: if ose.errno != errno.EEXIST: raise def disable(self, deck_id): deck_enabled_path = self.enabled_directory.child(deck_id + '.yaml') if not deck_enabled_path.exists(): raise DeckNotFound(deck_id) deck_enabled_path.remove() def _update_cache(self): new_cache = {} for deck_path in self.available_directory.listdir(): if not deck_path.endswith('.yaml'): continue deck = NGDeck( deck_path=self.available_directory.child(deck_path).path ) new_cache[deck.id] = deck self._cache = new_cache self._cache_stale = False def get(self, deck_id): if self._cache_stale: self._update_cache() try: return deepcopy(self._cache[deck_id]) except KeyError: raise DeckNotFound(deck_id) deck_store = DeckStore() input_store = InputStore() ooniprobe-2.2.0/ooni/deck/__init__.py0000644000175000017500000000003112767752454015645 0ustar irlirlfrom .deck import NGDeck ooniprobe-2.2.0/ooni/deck/legacy.py0000644000175000017500000000437613046133036015346 0ustar irlirlclass NotAnOption(Exception): pass def subargs_to_options(subargs): options = {} def parse_option_name(arg): if arg.startswith("--"): return arg[2:] elif arg.startswith("-"): return arg[1:] raise NotAnOption subargs = iter(reversed(subargs)) for subarg in subargs: try: value = subarg name = parse_option_name(subarg) options[name] = True except NotAnOption: try: name = parse_option_name(subargs.next()) options[name] = value except StopIteration: break return options boolean_options = [ 'no-collector', 'no-geoip', 'no-yamloo', 'verbose', 'help', 'no-default-reporter', 'resume' ] def convert_legacy_deck(deck_data): """ I take a legacy deck list and convert it to the new deck format. :param deck_data: in the legacy format :return: deck_data in the new format """ assert isinstance(deck_data, list), "Legacy decks are lists" new_deck_data = {} new_deck_data["name"] = "Legacy deck" new_deck_data["description"] = "This is a legacy deck converted to the " \ "new format" new_deck_data["bouncer"] = None new_deck_data["tasks"] = [] for deck_item in deck_data: deck_task = {"ooni": {}} options = deck_item["options"] deck_task["ooni"]["test_name"] = options.pop("test_file") deck_task["ooni"]["annotations"] = options.pop("annotations", {}) deck_task["ooni"]["collector"] = options.pop("collector", None) # XXX here we end up picking only the last not none bouncer_address bouncer_address = options.pop("bouncer", None) if bouncer_address is not None: new_deck_data["bouncer"] = bouncer_address subargs = options.pop("subargs", []) for name, value in subargs_to_options(subargs).items(): deck_task["ooni"][name] = value for name, value in options.items(): if name in boolean_options: value = False if value == 0 else True deck_task["ooni"][name] = value new_deck_data["tasks"].append(deck_task) return new_deck_data ooniprobe-2.2.0/ooni/deck/backend.py0000644000175000017500000001735212767752454015513 0ustar irlirlfrom twisted.internet import defer from ooni import errors as e from ooni.backend_client import guess_backend_type, WebConnectivityClient, \ CollectorClient from ooni.utils import log def sort_addresses_by_priority(priority_address, alternate_addresses, preferred_backend): prioritised_addresses = [] backend_type = guess_backend_type(priority_address) priority_address = { 'address': priority_address, 'type': backend_type } # We prefer an onion collector to an https collector to a cloudfront # collector to a plaintext collector address_priority = ['onion', 'https', 'cloudfront', 'http'] address_priority.remove(preferred_backend) address_priority.insert(0, preferred_backend) def filter_by_type(collectors, collector_type): return filter(lambda x: x['type'] == collector_type, collectors) if (priority_address['type'] != preferred_backend): valid_alternatives = filter_by_type(alternate_addresses, preferred_backend) if len(valid_alternatives) > 0: alternate_addresses += [priority_address] priority_address = valid_alternatives[0] alternate_addresses.remove(priority_address) prioritised_addresses += [priority_address] for address_type in address_priority: prioritised_addresses += filter_by_type(alternate_addresses, address_type) return prioritised_addresses @defer.inlineCallbacks def get_reachable_test_helper(test_helper_name, test_helper_address, test_helper_alternate, preferred_backend): # For the moment we look for alternate addresses only of # web_connectivity test helpers. if test_helper_name == 'web-connectivity': for web_connectivity_settings in sort_addresses_by_priority( test_helper_address, test_helper_alternate, preferred_backend): web_connectivity_test_helper = WebConnectivityClient( settings=web_connectivity_settings) if not web_connectivity_test_helper.isSupported(): log.err("Unsupported %s web_connectivity test_helper " "%s" % ( web_connectivity_settings['type'], web_connectivity_settings['address'] )) continue reachable = yield web_connectivity_test_helper.isReachable() if not reachable: log.err("Unreachable %s web_connectivity test helper %s" % ( web_connectivity_settings['type'], web_connectivity_settings['address'] )) continue defer.returnValue(web_connectivity_settings) raise e.NoReachableTestHelpers else: defer.returnValue(test_helper_address.encode('ascii')) @defer.inlineCallbacks def get_reachable_collector(collector_address, collector_alternate, preferred_backend): for collector_settings in sort_addresses_by_priority( collector_address, collector_alternate, preferred_backend): collector = CollectorClient(settings=collector_settings) if not collector.isSupported(): log.err("Unsupported %s collector %s" % ( collector_settings['type'], collector_settings['address'])) continue reachable = yield collector.isReachable() if not reachable: log.err("Unreachable %s collector %s" % ( collector_settings['type'], collector_settings['address'])) continue defer.returnValue(collector) raise e.NoReachableCollectors @defer.inlineCallbacks def get_reachable_test_helpers_and_collectors(net_tests, preferred_backend): for net_test in net_tests: primary_address = net_test['collector'] alternate_addresses = net_test.get('collector-alternate', []) net_test['collector'] = yield get_reachable_collector( primary_address, alternate_addresses, preferred_backend) for test_helper_name, test_helper_address in net_test['test-helpers'].items(): test_helper_alternate = \ net_test.get('test-helpers-alternate', {}).get(test_helper_name, []) net_test['test-helpers'][test_helper_name] = \ yield get_reachable_test_helper(test_helper_name, test_helper_address, test_helper_alternate, preferred_backend) defer.returnValue(net_tests) @defer.inlineCallbacks def lookup_collector_and_test_helpers(net_test_loaders, bouncer, preferred_backend, no_collector=False): required_nettests = [] requires_test_helpers = False requires_collector = False for net_test_loader in net_test_loaders: nettest = { 'name': net_test_loader.testName, 'version': net_test_loader.testVersion, 'test-helpers': [], # XXX deprecate this very soon 'input-hashes': [] } if not net_test_loader.collector and not no_collector: requires_collector = True if len(net_test_loader.missingTestHelpers) > 0: requires_test_helpers = True nettest['test-helpers'] += map(lambda x: x[1], net_test_loader.missingTestHelpers) required_nettests.append(nettest) if not requires_test_helpers and not requires_collector: defer.returnValue(None) print("Using bouncer %s" % bouncer) response = yield bouncer.lookupTestCollector(required_nettests) try: provided_net_tests = yield get_reachable_test_helpers_and_collectors( response['net-tests'], preferred_backend) except e.NoReachableCollectors: log.err("Could not find any reachable collector") raise except e.NoReachableTestHelpers: log.err("Could not find any reachable test helpers") raise def find_collector_and_test_helpers(test_name, test_version): # input_files = [u""+x['hash'] for x in input_files] for net_test in provided_net_tests: if net_test['name'] != test_name: continue if net_test['version'] != test_version: continue # XXX remove the notion of policies based on input file hashes # if set(net_test['input-hashes']) != set(input_files): # continue return net_test['collector'], net_test['test-helpers'] for net_test_loader in net_test_loaders: log.msg("Setting collector and test helpers for %s" % net_test_loader.testName) collector, test_helpers = \ find_collector_and_test_helpers( test_name=net_test_loader.testName, test_version=net_test_loader.testVersion # input_files=net_test_loader.inputFiles ) for option, name in net_test_loader.missingTestHelpers: test_helper_address_or_settings = test_helpers[name] net_test_loader.localOptions[option] = test_helper_address_or_settings net_test_loader.testHelpers[option] = test_helper_address_or_settings if not net_test_loader.collector and not no_collector: log.debug("Using collector {0}".format(collector)) net_test_loader.collector = collector ooniprobe-2.2.0/ooni/common/0000755000175000017500000000000013071152230014073 5ustar irlirlooniprobe-2.2.0/ooni/common/ip_utils.py0000644000175000017500000000260213046133036016302 0ustar irlirlfrom ipaddr import IPv4Address, IPv6Address from ipaddr import AddressValueError def in_private_ip_space(address): ip_address = IPv4Address(address) return any( [ip_address.is_private, ip_address.is_loopback] ) def is_public_ipv4_address(address): try: return not in_private_ip_space(address) except AddressValueError: return False def is_private_ipv4_address(address): try: return in_private_ip_space(address) except AddressValueError: return False def is_private_address(address, only_loopback=False): """ Checks to see if an IP address is in private IP space and if the hostname is either localhost or *.local. :param address: an IP address of a hostname :param only_loopback: will only check if the IP address is either 127.0.0.1/8 or ::1 in ipv6 :return: True if the IP address or host is in private space """ try: ip_address = IPv4Address(address) except AddressValueError: try: ip_address = IPv6Address(address) except AddressValueError: if address == "localhost": return True elif address.endswith(".local"): return True return False candidates = [ip_address.is_loopback] if not only_loopback: candidates.append(ip_address.is_private) return any(candidates) ooniprobe-2.2.0/ooni/common/txextra.py0000644000175000017500000001773413046134074016170 0ustar irlirlimport itertools from copy import copy from twisted.web.http_headers import Headers from twisted.web import error from twisted.web.client import BrowserLikeRedirectAgent from twisted.web._newclient import ResponseFailed from twisted.web._newclient import HTTPClientParser, ParseError from twisted.python.failure import Failure from twisted.web import client, _newclient from twisted.web._newclient import RequestNotSent, RequestGenerationFailed from twisted.web._newclient import TransportProxyProducer, STATUS from twisted.internet import reactor from twisted.internet.defer import Deferred, fail, maybeDeferred, failure from twisted.python import log from .ip_utils import is_private_address class TrueHeaders(Headers): def __init__(self, rawHeaders=None): self._rawHeaders = dict() if rawHeaders is not None: for name, values in rawHeaders.iteritems(): if type(values) is list: self.setRawHeaders(name, values[:]) elif type(values) is str: self.setRawHeaders(name, values) def setRawHeaders(self, name, values): if name.lower() not in self._rawHeaders: self._rawHeaders[name.lower()] = dict() self._rawHeaders[name.lower()]['name'] = name self._rawHeaders[name.lower()]['values'] = values def copy(self): rawHeaders = {} for k, v in self.getAllRawHeaders(): rawHeaders[k] = v return self.__class__(rawHeaders) def getAllRawHeaders(self): for _, v in self._rawHeaders.iteritems(): yield v['name'], v['values'] def getRawHeaders(self, name, default=None): if name.lower() in self._rawHeaders: return self._rawHeaders[name.lower()]['values'] return default def getDiff(self, headers, ignore=[]): """ Args: headers: a TrueHeaders object ignore: specify a list of header fields to ignore Returns: a set containing the header names that are not present in header_dict or not present in self. """ diff = set() field_names = [] headers_a = copy(self) headers_b = copy(headers) for name in ignore: try: del headers_a._rawHeaders[name.lower()] except KeyError: pass try: del headers_b._rawHeaders[name.lower()] except KeyError: pass for k, v in itertools.chain(headers_a.getAllRawHeaders(), headers_b.getAllRawHeaders()): field_names.append(k) for name in field_names: if self.getRawHeaders(name) and headers.getRawHeaders(name): pass else: diff.add(name) return list(diff) class HTTPClientParser(_newclient.HTTPClientParser): def logPrefix(self): return 'HTTPClientParser' def connectionMade(self): self.headers = TrueHeaders() self.connHeaders = TrueHeaders() self.state = STATUS self._partialHeader = None def headerReceived(self, name, value): if self.isConnectionControlHeader(name.lower()): headers = self.connHeaders else: headers = self.headers headers.addRawHeader(name, value) def statusReceived(self, status): # This is a fix for invalid number of parts try: return _newclient.HTTPClientParser.statusReceived(self, status) except ParseError as exc: if exc.args[0] == 'wrong number of parts': return _newclient.HTTPClientParser.statusReceived(self, status + " XXX") raise class HTTP11ClientProtocol(_newclient.HTTP11ClientProtocol): def request(self, request): if self._state != 'QUIESCENT': return fail(RequestNotSent()) self._state = 'TRANSMITTING' _requestDeferred = maybeDeferred(request.writeTo, self.transport) self._finishedRequest = Deferred() self._currentRequest = request self._transportProxy = TransportProxyProducer(self.transport) self._parser = HTTPClientParser(request, self._finishResponse) self._parser.makeConnection(self._transportProxy) self._responseDeferred = self._parser._responseDeferred def cbRequestWrotten(ignored): if self._state == 'TRANSMITTING': self._state = 'WAITING' self._responseDeferred.chainDeferred(self._finishedRequest) def ebRequestWriting(err): if self._state == 'TRANSMITTING': self._state = 'GENERATION_FAILED' self.transport.loseConnection() self._finishedRequest.errback( failure.Failure(RequestGenerationFailed([err]))) else: log.err(err, 'Error writing request, but not in valid state ' 'to finalize request: %s' % self._state) _requestDeferred.addCallbacks(cbRequestWrotten, ebRequestWriting) return self._finishedRequest class _HTTP11ClientFactory(client._HTTP11ClientFactory): noisy = False def buildProtocol(self, addr): return HTTP11ClientProtocol(self._quiescentCallback) class HTTPConnectionPool(client.HTTPConnectionPool): _factory = _HTTP11ClientFactory class TrueHeadersAgent(client.Agent): def __init__(self, *args, **kw): super(TrueHeadersAgent, self).__init__(*args, **kw) self._pool = HTTPConnectionPool(reactor, False) class FixedRedirectAgent(BrowserLikeRedirectAgent): """ This is a redirect agent with this patch manually applied: https://twistedmatrix.com/trac/ticket/8265 """ def __init__(self, agent, redirectLimit=20, ignorePrivateRedirects=False): self.ignorePrivateRedirects = ignorePrivateRedirects BrowserLikeRedirectAgent.__init__(self, agent, redirectLimit) def _handleRedirect(self, response, method, uri, headers, redirectCount): """ Handle a redirect response, checking the number of redirects already followed, and extracting the location header fields. This is patched to fix a bug in infinite redirect loop. """ if redirectCount >= self._redirectLimit: err = error.InfiniteRedirection( response.code, b'Infinite redirection detected', location=uri) raise ResponseFailed([Failure(err)], response) locationHeaders = response.headers.getRawHeaders(b'location', []) if not locationHeaders: err = error.RedirectWithNoLocation( response.code, b'No location header field', uri) raise ResponseFailed([Failure(err)], response) location = self._resolveLocation( # This is the fix to properly handle redirects response.request.absoluteURI, locationHeaders[0] ) if getattr(client, 'URI', None): uri = client.URI.fromBytes(location) else: # Backward compatibility with twisted 14.0.2 uri = client._URI.fromBytes(location) if self.ignorePrivateRedirects and is_private_address(uri.host, only_loopback=True): return response deferred = self._agent.request(method, location, headers) def _chainResponse(newResponse): if isinstance(newResponse, Failure): # This is needed to write the response even in case of failure newResponse.previousResponse = response newResponse.requestLocation = location return newResponse newResponse.setPreviousResponse(response) return newResponse deferred.addBoth(_chainResponse) return deferred.addCallback( self._handleResponse, method, uri, headers, redirectCount + 1) ooniprobe-2.2.0/ooni/common/__init__.py0000644000175000017500000000047312733731376016232 0ustar irlirl""" This modules contains functionality that is shared amongst ooni-probe and ooni-backend. If the code in here starts growing too much I think it would make sense to either: * Make the code in here into it's own package that is imported by ooni-probe and ooni-backend. * Merge ooniprobe with oonibackend. """ ooniprobe-2.2.0/ooni/common/tcp_utils.py0000644000175000017500000000043712733731376016501 0ustar irlirlfrom twisted.internet.protocol import Factory, Protocol class TCPConnectProtocol(Protocol): def connectionMade(self): self.transport.loseConnection() class TCPConnectFactory(Factory): noisy = False def buildProtocol(self, addr): return TCPConnectProtocol() ooniprobe-2.2.0/ooni/common/http_utils.py0000644000175000017500000000152413070747126016663 0ustar irlirlimport re from base64 import b64encode def representBody(body): if not body: return body try: body = unicode(body, 'utf-8') except UnicodeDecodeError: body = { 'data': b64encode(body), 'format': 'base64' } return body TITLE_REGEXP = re.compile("(.*?)", re.IGNORECASE | re.DOTALL) def extractTitle(body): m = TITLE_REGEXP.search(body, re.IGNORECASE | re.DOTALL) if m: return unicode(m.group(1), errors='ignore') return '' REQUEST_HEADERS = { 'User-Agent': ['Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, ' 'like Gecko) Chrome/47.0.2526.106 Safari/537.36'], 'Accept-Language': ['en-US;q=0.8,en;q=0.5'], 'Accept': ['text/html,application/xhtml+xml,application/xml;q=0.9,' '*/*;q=0.8'] } ooniprobe-2.2.0/ooni/errors.py0000644000175000017500000001574112750665111014513 0ustar irlirlfrom twisted.internet.defer import CancelledError from twisted.internet.defer import TimeoutError as DeferTimeoutError from twisted.web._newclient import ResponseNeverReceived from twisted.web.error import Error from twisted.internet.error import ConnectionRefusedError, TCPTimedOutError from twisted.internet.error import DNSLookupError, ConnectError, ConnectionLost from twisted.names.error import DNSNameError, DNSServerError from twisted.internet.error import TimeoutError as GenericTimeoutError from twisted.internet.error import ProcessDone, ConnectionDone from twisted.python import usage from txsocksx.errors import SOCKSError from txsocksx.errors import MethodsNotAcceptedError, AddressNotSupported from txsocksx.errors import ConnectionError, NetworkUnreachable from txsocksx.errors import ConnectionLostEarly, ConnectionNotAllowed from txsocksx.errors import NoAcceptableMethods, ServerFailure from txsocksx.errors import HostUnreachable, ConnectionRefused from txsocksx.errors import TTLExpired, CommandNotSupported from socket import gaierror known_failures = [ (ConnectionRefusedError, 'connection_refused_error'), (ConnectionLost, 'connection_lost_error'), (CancelledError, 'task_timed_out'), (gaierror, 'address_family_not_supported_error'), (DNSLookupError, 'dns_lookup_error'), (DNSNameError, 'dns_name_error'), (DNSServerError, 'dns_server_failure'), (TCPTimedOutError, 'tcp_timed_out_error'), (ResponseNeverReceived, 'response_never_received'), (DeferTimeoutError, 'deferred_timeout_error'), (GenericTimeoutError, 'generic_timeout_error'), (MethodsNotAcceptedError, 'socks_methods_not_supported'), (AddressNotSupported, 'socks_address_not_supported'), (NetworkUnreachable, 'socks_network_unreachable'), (ConnectionError, 'socks_connect_error'), (ConnectionLostEarly, 'socks_connection_lost_early'), (ConnectionNotAllowed, 'socks_connection_not_allowed'), (NoAcceptableMethods, 'socks_no_acceptable_methods'), (ServerFailure, 'socks_server_failure'), (HostUnreachable, 'socks_host_unreachable'), (ConnectionRefused, 'socks_connection_refused'), (TTLExpired, 'socks_ttl_expired'), (CommandNotSupported, 'socks_command_not_supported'), (SOCKSError, 'socks_error'), (ProcessDone, 'process_done'), (ConnectionDone, 'connection_done'), (ConnectError, 'connect_error'), ] def handleAllFailures(failure): """ Trap all the known Failures and we return a string that represents the failure. Any unknown Failures will be reraised and returned by failure.trap(). """ failure.trap(*[failure_type for failure_type, _ in known_failures]) return failureToString(failure) def failureToString(failure): """ Given a failure instance return a string representing the kind of error that occurred. Args: failure: a :class:twisted.internet.error instance Returns: A string representing the HTTP response error message. """ for failure_type, failure_string in known_failures: if isinstance(failure.value, failure_type): return failure_string # Failure without a corresponding failure message return 'unknown_failure %s' % str(failure.value) class DirectorException(Exception): pass class UnableToStartTor(DirectorException): pass class InvalidAddress(Exception): pass class InvalidOONIBCollectorAddress(InvalidAddress): pass class InvalidOONIBBouncerAddress(InvalidAddress): pass class AllReportersFailed(Exception): pass class GeoIPDataFilesNotFound(Exception): pass class ReportNotCreated(Exception): pass class ReportAlreadyClosed(Exception): pass class TorStateNotFound(Exception): pass class TorControlPortNotFound(Exception): pass class InsufficientPrivileges(Exception): pass class ProbeIPUnknown(Exception): pass class NoMoreReporters(Exception): pass class TorNotRunning(Exception): pass class OONIBError(Exception): pass class OONIBInvalidRequest(OONIBError): pass class OONIBReportError(OONIBError): pass class OONIBReportUpdateError(OONIBReportError): pass class OONIBReportCreationError(OONIBReportError): pass class OONIBTestDetailsLookupError(OONIBReportError): pass class OONIBInputError(OONIBError): pass class OONIBInputDescriptorNotFound(OONIBInputError): pass class OONIBInvalidInputHash(OONIBError): pass class OONIBInvalidNettestName(OONIBError): pass class UnableToLoadDeckInput(Exception): pass class CouldNotFindTestHelper(Exception): pass class CouldNotFindTestCollector(Exception): pass class NetTestNotFound(Exception): pass class MissingRequiredOption(Exception): def __init__(self, message, net_test_loader): super(MissingRequiredOption, self).__init__() self.net_test_loader = net_test_loader self.message = message def __str__(self): return ','.join(self.message) class MissingTestHelper(MissingRequiredOption): pass class OONIUsageError(usage.UsageError): def __init__(self, net_test_loader): super(OONIUsageError, self).__init__() self.net_test_loader = net_test_loader class FailureToLoadNetTest(Exception): pass class NoPostProcessor(Exception): pass class InvalidOption(Exception): pass class IncoherentOptions(Exception): def __init__(self, first_options, second_options): super(IncoherentOptions, self).__init__() self.message = "%s is different to %s" % (first_options, second_options) def __str__(self): return self.message class TaskTimedOut(Exception): pass class InvalidInputFile(Exception): pass class ReporterException(Exception): pass class InvalidDestination(ReporterException): pass class ReportLogExists(Exception): pass class InvalidConfigFile(Exception): pass class ConfigFileIncoherent(Exception): pass def get_error(error_key): if error_key == 'test-helpers-key-missing': return CouldNotFindTestHelper elif error_key == 'input-descriptor-not-found': return OONIBInputDescriptorNotFound elif error_key == 'invalid-request': return OONIBInvalidRequest elif error_key == 'invalid-input-hash': return OONIBInvalidInputHash elif error_key == 'invalid-nettest-name': return OONIBInvalidNettestName elif isinstance(error_key, int): return Error("%d" % error_key) else: return OONIBError class IfaceError(Exception): pass class ProtocolNotRegistered(Exception): pass class ProtocolAlreadyRegistered(Exception): pass class LibraryNotInstalledError(Exception): pass class InsecureBackend(Exception): pass class CollectorUnsupported(Exception): pass class HTTPSCollectorUnsupported(CollectorUnsupported): pass class BackendNotSupported(Exception): pass class NoReachableCollectors(Exception): pass class NoReachableTestHelpers(Exception): pass class InvalidPreferredBackend(Exception): pass ooniprobe-2.2.0/ooni/nettest.py0000644000175000017500000007711613046134112014660 0ustar irlirlimport os import re import sys import copy import time from twisted.internet import defer from twisted.python.filepath import FilePath from twisted.trial.runner import filenameToModule from twisted.python import failure, usage, reflect from ooni import __version__ as ooniprobe_version, errors from ooni import otime from ooni.tasks import Measurement from ooni.utils import log, sanitize_options, randomStr from ooni.utils.net import hasRawSocketPermission from ooni.settings import config from ooni.geoip import probe_ip from ooni import errors as e from inspect import getmembers from StringIO import StringIO class NoTestCasesFound(Exception): pass def getTestClassFromFile(net_test_file): """ Will return the first class that is an instance of NetTestCase. XXX this means that if inside of a test there are more than 1 test case then we will only run the first one. """ module = filenameToModule(net_test_file) for __, item in getmembers(module): try: assert issubclass(item, NetTestCase) return item except (TypeError, AssertionError): pass def getOption(opt_parameter, required_options, type='text'): """ Arguments: usage_options: a list as should be the optParameters of an UsageOptions class. required_options: a list containing the strings of the options that are required. type: a string containing the type of the option. Returns: a dict containing { 'description': the description of the option, 'default': the default value of the option, 'required': True|False if the option is required or not, 'type': the type of the option ('text' or 'file') } """ option_name, _, default, description = opt_parameter if option_name in required_options: required = True else: required = False return { 'description': description, 'value': default, 'required': required, 'type': type } def getArguments(test_class): arguments = {} if test_class.inputFile: option_name = test_class.inputFile[0] arguments[option_name] = getOption( test_class.inputFile, test_class.requiredOptions, type='file') try: list(test_class.usageOptions.optParameters) except AttributeError: return arguments for opt_parameter in test_class.usageOptions.optParameters: option_name = opt_parameter[0] opt_type = "text" if opt_parameter[3].lower().startswith("file"): opt_type = "file" arguments[option_name] = getOption( opt_parameter, test_class.requiredOptions, type=opt_type) return arguments def normalizeTestName(test_class_name): return test_class_name.lower().replace(' ', '_') def getNetTestInformation(net_test_file): """ Returns a dict containing: { 'id': the test filename excluding the .py extension, 'name': the full name of the test, 'description': the description of the test, 'version': version number of this test, 'arguments': a dict containing as keys the supported arguments and as values the argument description. } """ test_class = getTestClassFromFile(net_test_file) test_id = os.path.basename(net_test_file).replace('.py', '') information = { 'id': test_id, 'name': test_class.name, 'description': test_class.description, 'version': test_class.version, 'arguments': getArguments(test_class), 'simple_options': test_class.simpleOptions, 'path': net_test_file } return information def usageOptionsFactory(test_name, test_version): class UsageOptions(usage.Options): optParameters = [] optFlags = [] synopsis = "{} {} [options]".format( os.path.basename(sys.argv[0]), test_name ) def opt_help(self): map(log.msg, self.__str__().split("\n")) sys.exit(0) def opt_version(self): """ Display the net_test version and exit. """ log.msg("{} version: {}".format(test_name, test_version)) sys.exit(0) return UsageOptions def netTestCaseFactory(test_class, local_options): class NetTestCaseWithLocalOptions(test_class): localOptions = local_options return NetTestCaseWithLocalOptions ONION_INPUT_REGEXP = re.compile("(httpo://[a-z0-9]{16}\.onion)/input/([" "a-z0-9]{64})$") class NetTestLoader(object): method_prefix = 'test' collector = None yamloo = True requiresTor = False def __init__(self, options, test_file=None, test_string=None, annotations=None): self.options = options if annotations is None: annotations = {} if not isinstance(annotations, dict): log.warn("BUG: Annotations is not a dictionary. Resetting it.") annotations = {} self.annotations = annotations self.annotations['platform'] = self.annotations.get('platform', config.platform) self.requiresTor = False self.testName = "" self.testVersion = "" self.reportId = None self.testHelpers = {} self.missingTestHelpers = [] self.usageOptions = None self.inputFiles = [] self._testCases = [] self.localOptions = None if test_file: self.loadNetTestFile(test_file) elif test_string: self.loadNetTestString(test_string) def getTestDetails(self): return { 'probe_asn': probe_ip.geodata['asn'], 'probe_cc': probe_ip.geodata['countrycode'], 'probe_ip': probe_ip.geodata['ip'], 'probe_city': probe_ip.geodata['city'], 'software_name': 'ooniprobe', 'software_version': ooniprobe_version, # XXX only sanitize the input files 'options': sanitize_options(self.options), 'annotations': self.annotations, 'data_format_version': '0.2.0', 'test_name': self.testName, 'test_version': self.testVersion, 'test_helpers': self.testHelpers, 'test_start_time': otime.timestampNowLongUTC(), # XXX We should deprecate this key very soon 'input_hashes': [], 'report_id': self.reportId } def getTestCases(self): """ Specialises the test_classes to include the local options. :return: """ test_cases = [] for test_class, test_method in self._testCases: test_cases.append((netTestCaseFactory(test_class, self.localOptions), test_method)) return test_cases def _accumulateInputFiles(self, test_class): if not test_class.inputFile: return key = test_class.inputFile[0] filename = self.localOptions[key] if not filename: return input_file = { 'key': key, 'test_options': self.localOptions, 'filename': None } m = ONION_INPUT_REGEXP.match(filename) if m: raise e.InvalidInputFile("Input files hosted on hidden services " "are no longer supported") else: input_file['filename'] = filename self.inputFiles.append(input_file) def _accumulateTestOptions(self, test_class): """ Accumulate the optParameters and optFlags for the NetTestCase class into the usageOptions of the NetTestLoader. """ if getattr(test_class.usageOptions, 'optParameters', None): for parameter in test_class.usageOptions.optParameters: # XXX should look into if this is still necessary, seems like # something left over from a bug in some nettest. # In theory optParameters should always have a length of 4. if len(parameter) == 5: parameter.pop() self.usageOptions.optParameters.append(parameter) if getattr(test_class.usageOptions, 'optFlags', None): for parameter in test_class.usageOptions.optFlags: self.usageOptions.optFlags.append(parameter) if getattr(test_class, 'inputFile', None): self.usageOptions.optParameters.append(test_class.inputFile) if getattr(test_class, 'baseParameters', None): for parameter in test_class.baseParameters: self.usageOptions.optParameters.append(parameter) if getattr(test_class, 'baseFlags', None): for flag in test_class.baseFlags: self.usageOptions.optFlags.append(flag) def parseLocalOptions(self): """ Parses the localOptions for the NetTestLoader. """ self.localOptions = self.usageOptions() try: self.localOptions.parseOptions(self.options) except usage.UsageError: tb = sys.exc_info()[2] raise e.OONIUsageError(self), None, tb def _checkTestClassOptions(self, test_class): if test_class.requiresRoot and not hasRawSocketPermission(): raise e.InsufficientPrivileges if test_class.requiresTor: self.requiresTor = True self._checkRequiredOptions(test_class) self._setTestHelpers(test_class) test_instance = netTestCaseFactory(test_class, self.localOptions)() test_instance.requirements() def _setTestHelpers(self, test_class): for option, name in test_class.requiredTestHelpers.items(): if self.localOptions.get(option, None): self.testHelpers[option] = self.localOptions[option] def _checkRequiredOptions(self, test_class): missing_options = [] for required_option in test_class.requiredOptions: log.debug("Checking if %s is present" % required_option) if required_option not in self.localOptions or \ self.localOptions[required_option] is None: missing_options.append(required_option) missing_test_helpers = [opt in test_class.requiredTestHelpers.keys() for opt in missing_options] if len(missing_test_helpers) and all(missing_test_helpers): self.missingTestHelpers = map(lambda x: (x, test_class.requiredTestHelpers[x]), missing_options) raise e.MissingTestHelper(missing_options, test_class) elif missing_options: raise e.MissingRequiredOption(missing_options, test_class) def loadNetTestString(self, net_test_string): """ Load NetTest from a string. WARNING input to this function *MUST* be sanitized and *NEVER* take untrusted input. Failure to do so will result in code exec. net_test_string: a string that contains the net test to be run. """ net_test_file_object = StringIO(net_test_string) ns = {} test_cases = [] exec net_test_file_object.read() in ns for item in ns.itervalues(): test_cases.extend(self._getTestMethods(item)) if not test_cases: raise e.NoTestCasesFound self._setupTestCases(test_cases) def loadNetTestFile(self, net_test_file): """ Load NetTest from a file. """ test_cases = [] module = filenameToModule(net_test_file) for __, item in getmembers(module): test_cases.extend(self._getTestMethods(item)) if not test_cases: raise e.NoTestCasesFound self._setupTestCases(test_cases) def _setupTestCases(self, test_cases): """ Creates all the necessary test_cases (a list of tuples containing the NetTestCase (test_class, test_method)) example: [(test_classA, [test_method1, test_method2, test_method3, test_method4, test_method5]), (test_classB, [test_method1, test_method2])] Note: the inputs must be valid for test_classA and test_classB. net_test_file: is either a file path or a file like object that will be used to generate the test_cases. """ test_class, _ = test_cases[0] self.testName = normalizeTestName(test_class.name) self.testVersion = test_class.version self._testCases = test_cases self.usageOptions = usageOptionsFactory(self.testName, self.testVersion) if config.reports.unique_id is True: self.reportId = randomStr(64) for test_class, test_methods in self._testCases: self._accumulateTestOptions(test_class) def checkOptions(self): self.parseLocalOptions() test_options_exc = None usage_options = self._testCases[0][0].usageOptions for test_class, test_methods in self._testCases: try: self._accumulateInputFiles(test_class) self._checkTestClassOptions(test_class) if usage_options != test_class.usageOptions: raise e.IncoherentOptions(usage_options.__name__, test_class.usageOptions.__name__) except Exception as exc: test_options_exc = exc if test_options_exc is not None: raise test_options_exc def _getTestMethods(self, item): """ Look for test_ methods in subclasses of NetTestCase """ test_cases = [] try: assert issubclass(item, NetTestCase) methods = reflect.prefixedMethodNames(item, self.method_prefix) test_methods = [] for method in methods: test_methods.append(self.method_prefix + method) if test_methods: test_cases.append((item, test_methods)) except (TypeError, AssertionError): pass return test_cases class NetTestState(object): def __init__(self, allTasksDone): """ This keeps track of the state of a running NetTests case. Args: allTasksDone is a deferred that will get fired once all the NetTest cases have reached a final done state. """ self.doneTasks = 0 self.tasks = 0 self.completedScheduling = False self.allTasksDone = allTasksDone def taskCreated(self): self.tasks += 1 def checkAllTasksDone(self): log.debug("Checking all tasks for completion %s == %s" % (self.doneTasks, self.tasks)) if self.completedScheduling and \ self.doneTasks == self.tasks: if self.allTasksDone.called: log.err("allTasksDone was already called. This is probably a bug.") else: self.allTasksDone.callback(self.doneTasks) def taskDone(self): """ This is called every time a task has finished running. """ self.doneTasks += 1 self.checkAllTasksDone() def allTasksScheduled(self): """ This should be called once all the tasks that need to run have been scheduled. XXX this is ghetto. The reason for which we are calling allTasksDone inside of the allTasksScheduled method is called after all tasks are done, then we will run into a race condition. The race is that we don't end up checking that all the tasks are complete because no task is to be scheduled. """ self.completedScheduling = True self.checkAllTasksDone() class NetTest(object): director = None def __init__(self, test_cases, test_details, report): """ net_test_loader: an instance of :class:ooni.nettest.NetTestLoader containing the test to be run. report: an instance of :class:ooni.reporter.Reporter """ self.report = report self.testDetails = test_details self.testCases = test_cases self._startTime = 0 self._totalInputs = 0 self._completedInputs = 0 self.summary = {} # This will fire when all the measurements have been completed and # all the reports are done. Done means that they have either completed # successfully or all the possible retries have been reached. self.done = defer.Deferred() self.done.addCallback(self.doneNetTest) self.state = NetTestState(self.done) def __str__(self): return ' '.join(tc.name for tc, _ in self.testCases) def uniqueClasses(self): classes = [] for test_class, test_method in self.testCases: if test_class not in classes: classes.append(test_class) return classes def doneNetTest(self, result): if self.summary: log.msg("Summary for %s" % self.testDetails['test_name']) log.msg("------------" + "-"*len(self.testDetails['test_name'])) for test_class in self.uniqueClasses(): test_instance = test_class() test_instance.displaySummary(self.summary) if self.testDetails["report_id"]: log.msg("Report ID: %s" % self.testDetails["report_id"]) @property def completionRate(self): return float(self._completedInputs) / (time.time() - self._startTime) @property def completionPercentage(self): if self._totalInputs == 0: return 0.0 # Never return 100% if self._completedInputs >= self._totalInputs: return 0.99 return float(self._completedInputs) / float(self._totalInputs) @property def completionEta(self): remaining_inputs = self._totalInputs - self._completedInputs # We adjust for negative values if remaining_inputs <= 0: return 1 return (self.completionRate * remaining_inputs) * 1.5 # fudge factor def doneReport(self, report_results): """ This will get called every time a report is done and therefore a measurement is done. The state for the NetTest is informed of the fact that another task has reached the done state. """ self._completedInputs += 1 log.msg("") log.msg("Status") log.msg("------") log.msg("%d completed %d remaining" % (self._completedInputs, self._totalInputs)) log.msg("%0.1f%% (ETA: %ds)" % (self.completionPercentage * 100, self.completionEta)) self.state.taskDone() return report_results def makeMeasurement(self, test_instance, test_method, test_input=None): """ Creates a new instance of :class:ooni.tasks.Measurement and add's it's callbacks and errbacks. Args: test_class: a subclass of :class:ooni.nettest.NetTestCase test_method: a string that represents the method to be called on test_class test_input: optional argument that represents the input to be passed to the NetTestCase """ measurement = Measurement(test_instance, test_method, test_input) measurement.netTest = self if self.director: measurement.done.addCallback(self.director.measurementSucceeded, measurement) measurement.done.addErrback(self.director.measurementFailed, measurement) return measurement @defer.inlineCallbacks def initialize(self): for test_class, test_cases in self.testCases: # Initialize Input Processor test_instance = test_class() test_class.inputs = yield defer.maybeDeferred( test_instance.getInputProcessor ) for _ in test_cases: if test_instance._totalInputs != None: self._totalInputs += test_instance._totalInputs else: self._totalInputs += 1 # Run the setupClass method yield defer.maybeDeferred( test_class.setUpClass ) def generateMeasurements(self): """ This is a generator that yields measurements and registers the callbacks for when a measurement is successful or has failed. FIXME: If this generator throws exception TaskManager scheduler is irreversibly damaged. """ self._startTime = time.time() for test_class, test_methods in self.testCases: # load a singular input processor for all instances all_inputs = test_class.inputs for test_input in all_inputs: measurements = [] test_instance = test_class() # Set each instances inputs to a singular input processor test_instance.inputs = all_inputs test_instance._setUp() test_instance.summary = self.summary for method in test_methods: try: measurement = self.makeMeasurement( test_instance, method, test_input) except Exception: log.exception(failure.Failure()) log.err('Failed to run %s %s %s' % (test_instance, method, test_input)) continue # it's better to skip single measurement... log.debug("Running %s %s" % (test_instance, method)) measurements.append(measurement.done) self.state.taskCreated() yield measurement # This is to skip setting callbacks on measurements that # cannot be run. if len(measurements) == 0: continue # When the measurement.done callbacks have all fired # call the postProcessor before writing the report if self.report: post = defer.DeferredList(measurements) @post.addBoth def set_runtime(results): runtime = time.time() - test_instance._start_time for _, m in results: m.testInstance.report['test_runtime'] = runtime test_instance.report['test_runtime'] = runtime return results # Call the postProcessor, which must return a single report # or a deferred post.addCallback(test_instance.postProcessor) def noPostProcessor(failure, report): failure.trap(e.NoPostProcessor) return report post.addErrback(noPostProcessor, test_instance.report) post.addCallback(self.report.write) if self.report and self.director: # ghetto hax to keep NetTestState counts are accurate [post.addBoth(self.doneReport) for _ in measurements] self.state.allTasksScheduled() class NetTestCase(object): """ This is the base of the OONI nettest universe. When you write a nettest you will subclass this object. * inputs: can be set to a static set of inputs. All the tests (the methods starting with the "test" prefix) will be run once per input. At every run the _input_ attribute of the TestCase instance will be set to the value of the current iteration over inputs. Any python iterable object can be set to inputs. * inputFile: attribute should be set to an array containing the command line argument that should be used as the input file. Such array looks like this: ``["commandlinearg", "c", "default value" "The description"]`` The second value of such arrray is the shorthand for the command line arg. The user will then be able to specify inputs to the test via: ``ooniprobe mytest.py --commandlinearg path/to/file.txt`` or ``ooniprobe mytest.py -c path/to/file.txt`` * inputProcessor: should be set to a function that takes as argument a filename and it will return the input to be passed to the test instance. * name: should be set to the name of the test. * author: should contain the name and contact details for the test author. The format for such string is as follows: ``The Name `` * version: is the version string of the test. * requiresRoot: set to True if the test must be run as root. * usageOptions: a subclass of twisted.python.usage.Options for processing of command line arguments * localOptions: contains the parsed command line arguments. Quirks: Every class that is prefixed with test *must* return a twisted.internet.defer.Deferred. """ name = "This test is nameless" author = "Jane Doe " version = "0.0.0" description = "Sorry, this test has no description :(" inputs = None inputFile = None inputFilename = None usageOptions = usage.Options optParameters = None baseParameters = None baseFlags = None requiredTestHelpers = {} requiredOptions = [] requiresRoot = False requiresTor = False simpleOptions = {} localOptions = {} _totalInputs = None @classmethod def setUpClass(cls): """ You can override this hook with logic that should be run once before any test method in the NetTestCase is run. This can be useful to populate class attribute that should be valid for all the runtime of the NetTest. """ pass def _setUp(self): """ This is the internal setup method to be overwritten by templates. It gets called once for every input. """ self.report = {} def requirements(self): """ Place in here logic that will be executed before the test is to be run. If some condition is not met then you should raise an exception. """ pass def setUp(self): """ Place here your logic to be executed when the test is being setup. It gets called once every test method + input. """ pass def postProcessor(self, measurements): """ Subclass this to do post processing tasks that are to occur once all the test methods have been called once per input. postProcessing works exactly like test methods, in the sense that anything that gets written to the object self.report[] will be added to the final test report. You should also place in this method any logic that is required for generating the summary. """ raise e.NoPostProcessor def displaySummary(self, summary): """ This gets called after the test has run to allow printing out of a summary of the test run. """ pass def inputProcessor(self, filename): """ You may replace this with your own custom input processor. It takes as input a file name. An inputProcessor is an iterator that will yield one item from the file and takes as argument a filename. This can be useful when you have some input data that is in a certain format and you want to set the input attribute of the test to something that you will be able to properly process. For example you may wish to have an input processor that will allow you to ignore comments in files. This can be easily achieved like so:: fp = open(filename) for x in fp.xreadlines(): if x.startswith("#"): continue yield x.strip() fp.close() Other fun stuff is also possible. """ log.debug("Running default input processor") with open(filename) as f: for line in f: l = line.strip() # Skip empty lines if not l: continue # Skip comment lines elif l.startswith('#'): continue yield l @property def inputFileSpecified(self): """ Returns: True when inputFile is supported and is specified False when input is either not support or not specified """ if not self.inputFile: return False k = self.inputFile[0] if self.localOptions.get(k): return True else: return False def getInputProcessor(self): """ This method must be called after all options are validated by _checkValidOptions and _checkRequiredOptions, which ensure that if the inputFile is a required option it will be present. We check to see if it's possible to have an input file and if the user has specified such file. If the operations to be done here are network related or blocking, they should be wrapped in a deferred. That is the return value of this method should be a :class:`twisted.internet.defer.Deferred`. Returns: a generator that will yield one item from the file based on the inputProcessor. """ if self.inputFileSpecified: if self._totalInputs is None: self._totalInputs = 0 self.inputFilename = self.localOptions[self.inputFile[0]] for _ in self.inputProcessor(self.inputFilename): self._totalInputs += 1 return self.inputProcessor(self.inputFilename) if isinstance(self.inputs, list): self._totalInputs = len(self.inputs) if self.inputs: return self.inputs return [None] def __repr__(self): return "<%s inputs=%s>" % (self.__class__, self.inputs) def nettest_to_path(path, allow_arbitrary_paths=False): """ Takes as input either a path or a nettest name. The nettest name may either be prefixed by the category of the nettest ( blocking, experimental, manipulation or third_party) or not. Args: allow_arbitrary_paths: allow also paths that are not relative to the nettest_directory. Returns: full path to the nettest file. """ if allow_arbitrary_paths and os.path.exists(path): return path test_name = path.rsplit("/", 1)[-1] test_categories = [ "blocking", "experimental", "manipulation", "third_party" ] nettest_dir = FilePath(config.nettest_directory) found_path = None for category in test_categories: p = nettest_dir.preauthChild(os.path.join(category, test_name) + '.py') if p.exists(): if found_path is not None: raise Exception("Found two tests named %s" % test_name) found_path = p.path if not found_path: raise e.NetTestNotFound(path) return found_path ooniprobe-2.2.0/ooni/__init__.py0000644000175000017500000000033113071152215014714 0ustar irlirl# -*- encoding: utf-8 -*- __author__ = "Open Observatory of Network Interference" __version__ = "2.2.0" __all__ = [ 'agent', 'common', 'nettests', 'scripts', 'templates', 'ui', 'utils' ] ooniprobe-2.2.0/ooni/tasks.py0000644000175000017500000001077412777442663014343 0ustar irlirlimport time from twisted.internet import defer, reactor from ooni import errors as e from ooni.settings import config from ooni import otime class BaseTask(object): _timer = None _running = None def __init__(self): """ If you want to schedule a task multiple times, remember to create fresh instances of it. """ self.failures = 0 self.startTime = time.time() self.runtime = 0 # This is a deferred that gets called when a test has reached it's # final status, this means: all retries have been attempted or the test # has successfully executed. # Such deferred will be called on completion by the TaskManager. self.done = defer.Deferred() def _failed(self, failure): self.failures += 1 self.failed(failure) return failure def _succeeded(self, result): self.runtime = time.time() - self.startTime self.succeeded(result) return result def start(self): self._running = defer.maybeDeferred(self.run) self._running.addErrback(self._failed) self._running.addCallback(self._succeeded) return self._running def succeeded(self, result): """ Place here the logic to handle a successful execution of the task. """ pass def failed(self, failure): """ Place in here logic to handle failure. """ pass def run(self): """ Override this with the logic of your task. Must return a deferred. """ pass class TaskWithTimeout(BaseTask): timeout = 30 # So that we can test the callLater calls clock = reactor def _timedOut(self): """Internal method for handling timeout failure""" if self._running: self._failed(e.TaskTimedOut) self._running.cancel() def _cancelTimer(self): if self._timer.active(): self._timer.cancel() def _succeeded(self, result): self._cancelTimer() return BaseTask._succeeded(self, result) def _failed(self, failure): self._cancelTimer() return BaseTask._failed(self, failure) def start(self): self._timer = self.clock.callLater(self.timeout, self._timedOut) return BaseTask.start(self) class Measurement(TaskWithTimeout): def __init__(self, test_instance, test_method, test_input): """ test_class: is the class, subclass of NetTestCase, of the test to be run test_method: is a string representing the test method to be called to perform this measurement test_input: is the input to the test net_test: a reference to the net_test object such measurement belongs to. """ self.testInstance = test_instance self.testInstance.input = test_input self.testInstance.setUp() if 'input' not in self.testInstance.report.keys(): self.testInstance.report['input'] = self.testInstance.input self.netTestMethod = getattr(self.testInstance, test_method) if 'timeout' in dir(test_instance): if isinstance(test_instance.timeout, int) or isinstance(test_instance.timeout, float): # If the test has a timeout option set we set the measurement # timeout to that value + 8 seconds to give it enough time to # trigger it's internal timeout before we start trigger the # measurement timeout. self.timeout = test_instance.timeout + 8 elif config.advanced.measurement_timeout: self.timeout = config.advanced.measurement_timeout TaskWithTimeout.__init__(self) def succeeded(self, result): pass def failed(self, failure): pass def run(self): if 'measurement_start_time' not in self.testInstance.report.keys(): self.testInstance.report['measurement_start_time'] = otime.timestampNowLongUTC() if not hasattr(self.testInstance, '_start_time'): self.testInstance._start_time = time.time() return self.netTestMethod() class ReportEntry(TaskWithTimeout): def __init__(self, reporter, entry): self.reporter = reporter self.entry = entry if config.advanced.reporting_timeout: self.timeout = config.advanced.reporting_timeout TaskWithTimeout.__init__(self) def run(self): return self.reporter.writeReportEntry(self.entry) ooniprobe-2.2.0/ooni/resources.py0000644000175000017500000001357213061505273015207 0ustar irlirlimport json import errno from twisted.python.filepath import FilePath from twisted.internet import defer from twisted.web.client import downloadPage, getPage, HTTPClientFactory from ooni.utils import log, gunzip, rename, mkdir_p from ooni.settings import config # Disable logs of HTTPClientFactory HTTPClientFactory.noisy = False class UpdateFailure(Exception): pass def get_download_url(tag_name, filename): return ("https://github.com/OpenObservatory/ooni-resources/releases" "/download/{0}/{1}".format(tag_name, filename)) def get_current_version(): manifest = FilePath(config.resources_directory).child("manifest.json") if not manifest.exists(): return 0 with manifest.open("r") as f: manifest = json.load(f) return int(manifest["version"]) @defer.inlineCallbacks def get_latest_version(): """ Fetches the latest version of the resources package. :return: (int) the latest version number """ try: version = yield getPage(get_download_url("latest", "version")) except Exception as exc: raise exc defer.returnValue(int(version.strip())) def get_out_of_date_resources(current_manifest, new_manifest, country_code=None, resources_directory=config.resources_directory): current_res = {} new_res = {} for r in current_manifest["resources"]: current_res[r["path"]] = r for r in new_manifest["resources"]: new_res[r["path"]] = r paths_to_delete = [ current_res[path] for path in list( set(current_res.keys()) - set(new_res.keys()) ) ] paths_to_update = [] _resources = FilePath(resources_directory) for path, info in new_res.items(): if (country_code is not None and info["country_code"] != "ALL" and info["country_code"] != country_code): continue if current_res.get(path, None) is None: paths_to_update.append(info) elif current_res[path]["version"] < info["version"]: paths_to_update.append(info) else: pre_path, filename = info["path"].split("/") # Also perform an update when it doesn't exist on disk, although # the manifest claims we have a more up to date version. # This happens if an update by country_code happened and a new # country code is now required. if filename.endswith(".gz"): filename = filename[:-3] if not _resources.child(pre_path).child(filename).exists(): paths_to_update.append(info) return paths_to_update, paths_to_delete @defer.inlineCallbacks def check_for_update(country_code=None): """ Checks if we need to update the resources. If the country_code is specified then only the resources for that country will be updated/downloaded. XXX we currently don't check the shasum of resources although this is included inside of the manifest. This should probably be done once we have signing of resources. :return: the latest version. """ temporary_files = [] def cleanup(): # If we fail we need to delete all the temporary files for _, src_file_path in temporary_files: src_file_path.remove() current_version = get_current_version() latest_version = yield get_latest_version() resources_dir = FilePath(config.resources_directory) mkdir_p(resources_dir.path) current_manifest = resources_dir.child("manifest.json") if current_manifest.exists(): with current_manifest.open("r") as f: current_manifest_data = json.load(f) else: current_manifest_data = { "resources": [] } # We should download a newer manifest if current_version < latest_version: new_manifest = current_manifest.temporarySibling() new_manifest.alwaysCreate = 0 temporary_files.append((current_manifest, new_manifest)) try: yield downloadPage( get_download_url(latest_version, "manifest.json"), new_manifest.path ) except: cleanup() raise UpdateFailure("Failed to download manifest") new_manifest_data = json.loads(new_manifest.getContent()) else: new_manifest_data = current_manifest_data to_update, to_delete = get_out_of_date_resources( current_manifest_data, new_manifest_data, country_code) try: for resource in to_update: gzipped = False pre_path, filename = resource["path"].split("/") if filename.endswith(".gz"): filename = filename[:-3] gzipped = True dst_file = resources_dir.child(pre_path).child(filename) mkdir_p(dst_file.parent().path) src_file = dst_file.temporarySibling() src_file.alwaysCreate = 0 temporary_files.append((dst_file, src_file)) # The paths for the download require replacing "/" with "." download_url = get_download_url(latest_version, resource["path"].replace("/", ".")) yield downloadPage(download_url, src_file.path) if gzipped: gunzip(src_file.path) except Exception as exc: cleanup() log.exception(exc) raise UpdateFailure("Failed to download resource {0}".format(resource["path"])) for dst_file, src_file in temporary_files: log.msg("Moving {0} to {1}".format(src_file.path, dst_file.path)) rename(src_file.path, dst_file.path) for resource in to_delete: log.msg("Deleting old resources") pre_path, filename = resource["path"].split("/") resources_dir.child(pre_path).child(filename).remove() ooniprobe-2.2.0/ooni/kit/0000755000175000017500000000000013071152230013372 5ustar irlirlooniprobe-2.2.0/ooni/kit/daphn3.py0000644000175000017500000001503312672606310015134 0ustar irlirlimport yaml from twisted.internet import protocol, defer from ooni.utils import log def read_pcap(filename): """ @param filename: Filesystem path to the pcap. Returns: [{"client": "\x17\x52\x15"}, {"server": "\x17\x15\x13"}] """ from scapy.all import IP, Raw, rdpcap packets = rdpcap(filename) checking_first_packet = True client_ip_addr = None server_ip_addr = None ssl_packets = [] messages = [] """ pcap assumptions: pcap only contains packets exchanged between a Tor client and a Tor server. (This assumption makes sure that there are only two IP addresses in the pcap file) The first packet of the pcap is sent from the client to the server. (This assumption is used to get the IP address of the client.) All captured packets are TLS packets: that is TCP session establishment/teardown packets should be filtered out (no SYN/SYN+ACK) """ """ Minimally validate the pcap and also find out what's the client and server IP addresses. """ for packet in packets: if checking_first_packet: client_ip_addr = packet[IP].src checking_first_packet = False else: if packet[IP].src != client_ip_addr: server_ip_addr = packet[IP].src try: if (packet[Raw]): ssl_packets.append(packet) except IndexError: pass """Form our list.""" for packet in ssl_packets: if packet[IP].src == client_ip_addr: messages.append({"client": str(packet[Raw])}) elif packet[IP].src == server_ip_addr: messages.append({"server": str(packet[Raw])}) else: raise("Detected third IP address! pcap is corrupted.") return messages def read_yaml(filename): f = open(filename) obj = yaml.safe_load(f) f.close() return obj class NoInputSpecified(Exception): pass class StepError(Exception): pass def daphn3MutateString(string, i): """ Takes a string and mutates the ith bytes of it. """ mutated = "" for y in range(len(string)): if y == i: mutated += chr(ord(string[i]) + 1) else: mutated += string[y] return mutated def daphn3Mutate(steps, step_idx, mutation_idx): """ Take a set of steps and a step index and mutates the step of that index at the mutation_idx'th byte. """ mutated_steps = [] for idx, step in enumerate(steps): if idx == step_idx: step_string = step.values()[0] step_key = step.keys()[0] mutated_string = daphn3MutateString(step_string, mutation_idx) mutated_steps.append({step_key: mutated_string}) else: mutated_steps.append(step) return mutated_steps class Daphn3Protocol(protocol.Protocol): steps = None role = "client" report = None # We use this index to keep track of where we are in the state machine current_step = 0 current_data_received = 0 # We use this to keep track of the mutated steps mutated_steps = None d = defer.Deferred() def _current_step_role(self): return self.steps[self.current_step].keys()[0] def _current_step_data(self): step_idx, mutation_idx = self.factory.mutation log.debug("Mutating %s %s" % (step_idx, mutation_idx)) mutated_step = daphn3Mutate(self.steps, step_idx, mutation_idx) log.debug("Mutated packet into %s" % mutated_step) return mutated_step[self.current_step].values()[0] def sendPayload(self): self.debug("Sending payload") current_step_role = self._current_step_role() current_step_data = self._current_step_data() if current_step_role == self.role: print "In a state to do shit %s" % current_step_data self.transport.write(current_step_data) self.nextStep() else: print "Not in a state to do anything" def connectionMade(self): print "Got connection" def debug(self, msg): log.debug("Current step %s" % self.current_step) log.debug("Current data received %s" % self.current_data_received) log.debug("Current role %s" % self.role) log.debug("Current steps %s" % self.steps) log.debug("Current step data %s" % self._current_step_data()) def nextStep(self): """ XXX this method is overwritten individually by client and server transport. There is probably a smarter way to do this and refactor the common code into one place, but for the moment like this is good. """ pass def dataReceived(self, data): current_step_role = self.steps[self.current_step].keys()[0] log.debug("Current step role %s" % current_step_role) if current_step_role == self.role: log.debug("Got a state error!") raise StepError("I should not have gotten data, while I did, \ perhaps there is something wrong with the state machine?") self.current_data_received += len(data) expected_data_in_this_state = len(self.steps[self.current_step].values()[0]) log.debug("Current data received %s" % self.current_data_received) if self.current_data_received >= expected_data_in_this_state: self.nextStep() def nextMutation(self): log.debug("Moving onto next mutation") # [step_idx, mutation_idx] c_step_idx, c_mutation_idx = self.factory.mutation log.debug("[%s]: c_step_idx: %s | c_mutation_idx: %s" % (self.role, c_step_idx, c_mutation_idx)) if c_step_idx >= (len(self.steps) - 1): log.err("No censorship fingerprint bisected.") log.err("Givinig up.") self.transport.loseConnection() return # This means we have mutated all bytes in the step # we should proceed to mutating the next step. log.debug("steps: %s | %s" % (self.steps, self.steps[c_step_idx])) if c_mutation_idx >= (len(self.steps[c_step_idx].values()[0]) - 1): log.debug("Finished mutating step") # increase step self.factory.mutation[0] += 1 # reset mutation idx self.factory.mutation[1] = 0 else: log.debug("Mutating next byte in step") # increase mutation index self.factory.mutation[1] += 1 def connectionLost(self, reason): self.debug("--- Lost the connection ---") self.nextMutation() ooniprobe-2.2.0/ooni/kit/__init__.py0000644000175000017500000000006012373757527015527 0ustar irlirl#__all__ = ['domclass'] #from . import domclass ooniprobe-2.2.0/ooni/kit/domclass.py0000644000175000017500000001704612672606310015572 0ustar irlirl""" how this works -------------- This classifier uses the DOM structure of a website to determine how similar the two sites are. The procedure we use is the following: * First we parse all the DOM tree of the web page and we build a list of TAG parent child relationships (ex. => (html, a), (a, b), (html, c)). * We then use this information to build a matrix (M) where m[i][j] = P(of transitioning from tag[i] to tag[j]). If tag[i] does not exists P() = 0. Note: M is a square matrix that is number_of_tags wide. * We then calculate the eigenvectors (v_i) and eigenvalues (e) of M. * The corelation between page A and B is given via this formula: correlation = dot_product(e_A, e_B), where e_A and e_B are resepectively the eigenvalues for the probability matrix A and the probability matrix B. """ import numpy import time from ooni import log # All HTML4 tags # XXX add link to W3C page where these came from alltags = ['A', 'ABBR', 'ACRONYM', 'ADDRESS', 'APPLET', 'AREA', 'B', 'BASE', 'BASEFONT', 'BD', 'BIG', 'BLOCKQUOTE', 'BODY', 'BR', 'BUTTON', 'CAPTION', 'CENTER', 'CITE', 'CODE', 'COL', 'COLGROUP', 'DD', 'DEL', 'DFN', 'DIR', 'DIV', 'DL', 'DT', 'E M', 'FIELDSET', 'FONT', 'FORM', 'FRAME', 'FRAMESET', 'H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'HEAD', 'HR', 'HTML', 'I', 'IFRAME ', 'IMG', 'INPUT', 'INS', 'ISINDEX', 'KBD', 'LABEL', 'LEGEND', 'LI', 'LINK', 'MAP', 'MENU', 'META', 'NOFRAMES', 'NOSCRIPT', 'OBJECT', 'OL', 'OPTGROUP', 'OPTION', 'P', 'PARAM', 'PRE', 'Q', 'S', 'SAMP', 'SCRIPT', 'SELECT', 'SMALL', 'SPAN', 'STRIKE', 'STRONG', 'STYLE', 'SUB', 'SUP', 'TABLE', 'TBODY', 'TD', 'TEXTAREA', 'TFOOT', 'TH', 'THEAD', 'TITLE', 'TR', 'TT', 'U', 'UL', 'VAR'] # Reduced subset of only the most common tags commontags = ['A', 'B', 'BLOCKQUOTE', 'BODY', 'BR', 'BUTTON', 'CAPTION', 'CENTER', 'CITE', 'CODE', 'COL', 'DD', 'DIV', 'DL', 'DT', 'EM', 'FIELDSET', 'FONT', 'FORM', 'FRAME', 'FRAMESET', 'H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'HEAD', 'HR', 'HTML', 'IFRAME ', 'IMG', 'INPUT', 'INS', 'LABEL', 'LEGEND', 'LI', 'LINK', 'MAP', 'MENU', 'META', 'NOFRAMES', 'NOSCRIPT', 'OBJECT', 'OL', 'OPTION', 'P', 'PRE', 'SCRIPT', 'SELECT', 'SMALL', 'SPAN', 'STRIKE', 'STRONG', 'STYLE', 'SUB', 'SUP', 'TABLE', 'TBODY', 'TD', 'TEXTAREA', 'TFOOT', 'TH', 'THEAD', 'TITLE', 'TR', 'TT', 'U', 'UL'] # The tags we are intested in using for our analysis thetags = ['A', 'DIV', 'FRAME', 'H1', 'H2', 'H3', 'H4', 'IFRAME ', 'INPUT', 'LABEL','LI', 'P', 'SCRIPT', 'SPAN', 'STYLE', 'TR'] def compute_probability_matrix(dataset): """ Compute the probability matrix based on the input dataset. :dataset: an array of pairs representing the parent child relationships. """ matrix = numpy.zeros((len(thetags) + 1, len(thetags) + 1)) for data in dataset: x = data[0].upper() y = data[1].upper() try: x = thetags.index(x) except: x = len(thetags) try: y = thetags.index(y) except: y = len(thetags) matrix[x,y] += 1 for x in xrange(len(thetags) + 1): possibilities = 0 for y in matrix[x]: possibilities += y for i in xrange(len(matrix[x])): if possibilities != 0: matrix[x][i] = matrix[x][i]/possibilities return matrix def compute_eigenvalues(matrix): """ Returns the eigenvalues of the supplied square matrix. :matrix: must be a square matrix and diagonalizable. """ return numpy.linalg.eigvals(matrix) def readDOM(content=None, filename=None, debug=False): """ Parses the DOM of the HTML page and returns an array of parent, child pairs. :content: the content of the HTML page to be read. :filename: the filename to be read from for getting the content of the page. """ try: from bs4 import BeautifulSoup except ImportError: log.err("BeautifulSoup is not installed. This test canno run") raise Exception if filename: f = open(filename) content = ''.join(f.readlines()) f.close() if debug: start = time.time() print "Running BeautifulSoup on content" dom = BeautifulSoup(content) if debug: print "done in %s" % (time.time() - start) if debug: start = time.time() print "Creating couples matrix" couples = [] for x in dom.findAll(): couples.append((str(x.parent.name), str(x.name))) if debug: print "done in %s" % (time.time() - start) return couples def compute_eigenvalues_from_DOM(*arg,**kw): dom = readDOM(*arg, **kw) probability_matrix = compute_probability_matrix(dom) eigenvalues = compute_eigenvalues(probability_matrix) return eigenvalues def compute_correlation(matrix_a, matrix_b): correlation = numpy.vdot(matrix_a, matrix_b) correlation /= numpy.linalg.norm(matrix_a)*numpy.linalg.norm(matrix_b) correlation = (correlation + 1)/2 return correlation def benchmark(): """ Running some very basic benchmarks on this input data: Data files: 683 filea.txt 678 fileb.txt diff file* | wc -l 283 We get such results: Read file B Running BeautifulSoup on content done in 0.768223047256 Creating couples matrix done in 0.023903131485 -------- total done in 0.796372890472 Read file A Running BeautifulSoup on content done in 0.752885818481 Creating couples matrix done in 0.0163578987122 -------- total done in 0.770951986313 Computing prob matrix done in 0.0475239753723 Computing eigenvalues done in 0.00161099433899 Computing prob matrix B done in 0.0408289432526 Computing eigen B done in 0.000268936157227 Computing correlation done in 0.00016713142395 Corelation: 0.999999079331 What this means is that the bottleneck is not in the maths, but is rather in the computation of the DOM tree matrix. XXX We should focus on optimizing the parsing of the HTML (this depends on beautiful soup). Perhaps we can find and alternative to it that is sufficient for us. """ start = time.time() print "Read file B" site_a = readDOM(filename='filea.txt', debug=True) print "--------" print "total done in %s" % (time.time() - start) start = time.time() print "Read file A" site_b = readDOM(filename='fileb.txt', debug=True) print "--------" print "total done in %s" % (time.time() - start) a = {} b = {} start = time.time() print "Computing prob matrix" a['matrix'] = compute_probability_matrix(site_a) print "done in %s" % (time.time() - start) start = time.time() print "Computing eigenvalues" a['eigen'] = compute_eigenvalues(a['matrix']) print "done in %s" % (time.time() - start) start = time.time() start = time.time() print "Computing prob matrix B" b['matrix'] = compute_probability_matrix(site_b) print "done in %s" % (time.time() - start) start = time.time() print "Computing eigen B" b['eigen'] = compute_eigenvalues(b['matrix']) print "done in %s" % (time.time() - start) start = time.time() print "Computing correlation" correlation = compute_correlation(a['eigen'], b['eigen']) print "done in %s" % (time.time() - start) print "Corelation: %s" % correlation #benchmark() ooniprobe-2.2.0/ooni/scripts/0000755000175000017500000000000013071152230014272 5ustar irlirlooniprobe-2.2.0/ooni/scripts/oonireport.py0000644000175000017500000002314312767752455017101 0ustar irlirlfrom __future__ import print_function import os import sys import json import yaml from twisted.python import usage from twisted.internet import defer, task, reactor from ooni.constants import CANONICAL_BOUNCER_ONION from ooni.reporter import OONIBReporter, OONIBReportLog from ooni.utils import log from ooni.settings import config from ooni.backend_client import BouncerClient, CollectorClient from ooni import __version__ @defer.inlineCallbacks def lookup_collector_client(report_header, bouncer): oonib_client = BouncerClient(bouncer) net_tests = [{ 'test-helpers': [], 'input-hashes': [], 'name': report_header['test_name'], 'version': report_header['test_version'], }] result = yield oonib_client.lookupTestCollector( net_tests ) collector_client = CollectorClient( address=result['net-tests'][0]['collector'] ) defer.returnValue(collector_client) class NoIDFound(Exception): pass def report_path_to_id(report_file): measurement_dir = os.path.dirname(report_file) measurement_id = os.path.basename(measurement_dir) if os.path.dirname(measurement_dir) != config.measurements_directory: raise NoIDFound return measurement_id @defer.inlineCallbacks def upload(report_file, collector=None, bouncer=None, measurement_id=None): oonib_report_log = OONIBReportLog() collector_client = None if collector: collector_client = CollectorClient(address=collector) try: # Try to guess the measurement_id from the file path measurement_id = report_path_to_id(report_file) except NoIDFound: pass log.msg("Attempting to upload %s" % report_file) if report_file.endswith(".njson"): report = NJSONReportLoader(report_file) else: log.warn("Uploading of YAML formatted reports will be dropped in " "future versions") report = YAMLReportLoader(report_file) if bouncer and collector_client is None: collector_client = yield lookup_collector_client(report.header, bouncer) if collector_client is None: if measurement_id: report_log = yield oonib_report_log.get_report_log(measurement_id) collector_settings = report_log['collector'] print(collector_settings) if collector_settings is None or len(collector_settings) == 0: log.warn("Skipping uploading of %s since this measurement " "was run by specifying no collector." % report_file) defer.returnValue(None) elif isinstance(collector_settings, dict): collector_client = CollectorClient(settings=collector_settings) elif isinstance(collector_settings, str): collector_client = CollectorClient(address=collector_settings) else: log.msg("Looking up collector with canonical bouncer." % report_file) collector_client = yield lookup_collector_client(report.header, CANONICAL_BOUNCER_ONION) oonib_reporter = OONIBReporter(report.header, collector_client) log.msg("Creating report for %s with %s" % (report_file, collector_client.settings)) report_id = yield oonib_reporter.createReport() report.header['report_id'] = report_id if measurement_id: log.debug("Marking it as created") yield oonib_report_log.created(measurement_id, collector_client.settings) log.msg("Writing report entries") for entry in report: yield oonib_reporter.writeReportEntry(entry) log.msg("Written entry") log.msg("Closing report") yield oonib_reporter.finish() if measurement_id: log.debug("Closing log") yield oonib_report_log.closed(measurement_id) @defer.inlineCallbacks def upload_all(collector=None, bouncer=None, upload_incomplete=False): oonib_report_log = OONIBReportLog() reports_to_upload = yield oonib_report_log.get_to_upload() for report_file, value in reports_to_upload: try: yield upload(report_file, collector, bouncer, value['measurement_id']) except Exception as exc: log.exception(exc) if upload_incomplete: reports_to_upload = yield oonib_report_log.get_incomplete() for report_file, value in reports_to_upload: try: yield upload(report_file, collector, bouncer, value['measurement_id']) except Exception as exc: log.exception(exc) def print_report(report_file, value): print("* %s" % report_file) print(" %s" % value['last_update']) @defer.inlineCallbacks def status(): oonib_report_log = OONIBReportLog() reports_to_upload = yield oonib_report_log.get_to_upload() print("Reports to be uploaded") print("----------------------") for report_file, value in reports_to_upload: print_report(report_file, value) reports_in_progress = yield oonib_report_log.get_in_progress() print("Reports in progress") print("-------------------") for report_file, value in reports_in_progress: print_report(report_file, value) reports_incomplete = yield oonib_report_log.get_incomplete() print("Incomplete reports") print("------------------") for report_file, value in reports_incomplete: print_report(report_file, value) class ReportLoader(object): _header_keys = ( 'probe_asn', 'probe_cc', 'probe_ip', 'probe_city', 'test_start_time', 'test_name', 'test_version', 'options', 'input_hashes', 'software_name', 'software_version', 'data_format_version', 'report_id', 'test_helpers', 'annotations', 'id' ) def __iter__(self): return self def close(self): self._fp.close() class YAMLReportLoader(ReportLoader): def __init__(self, report_filename): self._fp = open(report_filename) self._yfp = yaml.safe_load_all(self._fp) self.header = self._yfp.next() def next(self): try: return self._yfp.next() except StopIteration: self.close() raise StopIteration class NJSONReportLoader(ReportLoader): def __init__(self, report_filename): self._fp = open(report_filename) self.header = self._peek_header() def _peek_header(self): header = {} first_entry = json.loads(next(self._fp)) for key in self._header_keys: header[key] = first_entry.get(key, None) self._fp.seek(0) return header def next(self): try: entry = json.loads(next(self._fp)) for key in self._header_keys: entry.pop(key, None) test_keys = entry.pop('test_keys') entry.update(test_keys) return entry except StopIteration: self.close() raise StopIteration class Options(usage.Options): synopsis = """%s [options] upload | status """ % (os.path.basename(sys.argv[0]),) optFlags = [ ["default-collector", "d", "Upload the reports to the default " "collector that is looked up with the " "canonical bouncer."] ] optParameters = [ ["configfile", "f", None, "Specify the configuration file to use."], ["collector", "c", None, "Specify the collector to upload the result to."], ["bouncer", "b", None, "Specify the bouncer to query for a collector."] ] def opt_version(self): print("oonireport version: %s" % __version__) sys.exit(0) def parseArgs(self, *args): if len(args) == 0: raise usage.UsageError( "Must specify at least one command" ) return self['command'] = args[0] if self['command'] not in ("upload", "status"): raise usage.UsageError( "Must specify either command upload or status" ) if self['command'] == "upload": try: self['report_file'] = args[1] except IndexError: self['report_file'] = None def tor_check(): if not config.tor.socks_port: log.err("Currently oonireport requires that you start Tor yourself " "and set the socks_port inside of ooniprobe.conf") sys.exit(1) def oonireport(_reactor=reactor, _args=sys.argv[1:]): options = Options() try: options.parseOptions(_args) except Exception as exc: print("Error: %s" % exc) print(options) sys.exit(2) config.global_options = dict(options) config.set_paths() config.read_config_file() if options['default-collector']: options['bouncer'] = CANONICAL_BOUNCER_ONION if options['command'] == "upload" and options['report_file']: log.start() tor_check() return upload(options['report_file'], options['collector'], options['bouncer']) elif options['command'] == "upload": log.start() tor_check() return upload_all(options['collector'], options['bouncer']) elif options['command'] == "status": return status() else: print(options) def run(): task.react(oonireport) if __name__ == "__main__": run() ooniprobe-2.2.0/ooni/scripts/oonideckgen.py0000644000175000017500000000725313015035407017144 0ustar irlirlfrom __future__ import print_function import os import sys from twisted.internet import defer, task from twisted.python import usage from ooni.utils import mkdir_p from ooni.otime import prettyDateNowUTC from ooni import errors from ooni.geoip import probe_ip from ooni.resources import check_for_update from ooni.deck import NGDeck from ooni import __version__ class Options(usage.Options): synopsis = """%s [options] """ % sys.argv[0] optParameters = [ ["country-code", "c", None, "Specify the two letter country code for which we should " "generate the deck."], ["collector", None, None, "Specify a custom collector to use when " "submitting reports"], ["bouncer", None, None, "Specify a custom bouncer to use"], ["output", "o", None, "Specify the path where we should be writing the deck to."] ] def opt_version(self): print("oonideckgen version: %s" % __version__) sys.exit(0) def generate_deck(options): deck_data = { "name": "Default ooniprobe deck", "description": "Default ooniprobe deck generated on {0}".format( prettyDateNowUTC()), "schedule": "@daily", "tasks": [ { "ooni": { "test_name": "http_invalid_request_line" }, }, { "ooni": { "test_name": "http_header_field_manipulation" }, }, { "ooni": { "test_name": "web_connectivity", "file": "$citizenlab_${probe_cc}_urls" }, }, { "ooni": { "test_name": "web_connectivity", "file": "$citizenlab_global_urls" } } ] } if options["collector"] is not None: deck_data["collector"] = options['collector'] if options["bouncer"] is not None: deck_data["bouncer"] = options['bouncer'] deck = NGDeck(deck_data=deck_data) with open(options['output'], 'w+') as fw: deck.write(fw) print("Deck written to {0}".format(options['output'])) print("Run ooniprobe like so:") print("ooniprobe -i {0}".format(options['output'])) @defer.inlineCallbacks def get_user_country_code(): yield probe_ip.lookup(include_country=True) defer.returnValue(probe_ip.geodata['countrycode']) @defer.inlineCallbacks def oonideckgen(reactor): options = Options() try: options.parseOptions() except usage.UsageError as error_message: print("%s: %s" % (sys.argv[0], error_message)) print(options) sys.exit(1) print("Checking for update of resources") yield check_for_update() if not options['output']: options['output'] = os.getcwd() if not options['country-code']: try: options['country-code'] = yield get_user_country_code() except errors.ProbeIPUnknown: print("Could not determine your IP address.") print("Check your internet connection or specify a country code " "with -c.") sys.exit(4) if len(options['country-code']) != 2: print("%s: --country-code must be 2 characters" % sys.argv[0]) sys.exit(2) if os.path.isdir(options['output']): options['output'] = os.path.join(options['output'], 'web-full.yaml') options['country-code'] = options['country-code'].lower() mkdir_p(os.path.dirname(options['output'])) generate_deck(options) def run(): task.react(oonideckgen) if __name__ == "__main__": run() ooniprobe-2.2.0/ooni/scripts/__init__.py0000644000175000017500000000000012767752455016423 0ustar irlirlooniprobe-2.2.0/ooni/scripts/ooniprobe.py0000644000175000017500000000235613042705306016654 0ustar irlirl#!/usr/bin/env python import webbrowser from multiprocessing import Process from twisted.internet import task, defer def ooniprobe(reactor): from ooni.ui.cli import runWithDaemonDirector, runWithDirector from ooni.ui.cli import setupGlobalOptions, initializeOoniprobe from ooni.settings import config global_options = setupGlobalOptions(logging=True, start_tor=True, check_incoherences=True) if global_options['info']: config.log_info() return defer.succeed(None) if global_options['queue']: return runWithDaemonDirector(global_options) if global_options['web-ui']: from ooni.settings import config from ooni.scripts.ooniprobe_agent import status_agent, start_agent if status_agent() != 0: p = Process(target=start_agent) p.start() p.join() print("Started ooniprobe-agent") webbrowser.open_new(config.web_ui_url) return defer.succeed(None) if global_options['initialize']: initializeOoniprobe(global_options) return defer.succeed(None) return runWithDirector(global_options) def run(): task.react(ooniprobe) if __name__ == "__main__": run() ooniprobe-2.2.0/ooni/scripts/ooniprobe_agent.py0000644000175000017500000001467413042705306020040 0ustar irlirlfrom __future__ import print_function import os import sys import time import errno import signal from twisted.scripts import twistd from twisted.python import usage from ooni.utils import log, is_process_running from ooni.settings import config from ooni.agent.agent import AgentService from ooni import __version__ class StartOoniprobeAgentPlugin: tapname = "ooniprobe" def makeService(self, so): return AgentService(config.advanced.webui_port) class OoniprobeTwistdConfig(twistd.ServerOptions): subCommands = [ ("StartOoniprobeAgent", None, usage.Options, "ooniprobe agent") ] class StartOptions(usage.Options): pass class StopOptions(usage.Options): pass class StatusOptions(usage.Options): pass class RunOptions(usage.Options): pass class AgentOptions(usage.Options): synopsis = """%s [options] command """ % (os.path.basename(sys.argv[0]),) subCommands = [ ['start', None, StartOptions, "Start the ooniprobe-agent in the " "background"], ['stop', None, StopOptions, "Stop the ooniprobe-agent"], ['status', None, StatusOptions, "Show status of the ooniprobe-agent"], ['run', None, RunOptions, "Run the ooniprobe-agent in the foreground"] ] def postOptions(self): self.twistd_args = [] def opt_version(self): """ Display the ooniprobe version and exit. """ print("ooniprobe-agent version:", __version__) sys.exit(0) def start_agent(options=None): config.set_paths() config.initialize_ooni_home() config.read_config_file() os.chdir(config.running_path) # Since we are starting the logger below ourselves we make twistd log to # a null log observer twistd_args = ['--logger', 'ooni.utils.log.ooniloggerNull', '--umask', '022'] twistd_config = OoniprobeTwistdConfig() if options is not None: twistd_args.extend(options.twistd_args) twistd_args.append("StartOoniprobeAgent") try: twistd_config.parseOptions(twistd_args) except usage.error as ue: print("ooniprobe: usage error from twistd: {}\n".format(ue)) sys.exit(1) twistd_config.loadedPlugins = { "StartOoniprobeAgent": StartOoniprobeAgentPlugin() } try: get_running_pidfile() print("Stop ooniprobe-agent before attempting to start it") return 1 except NotRunning: pass print("Starting ooniprobe agent.") print("To view the GUI go to %s" % config.web_ui_url) log.start() twistd.runApp(twistd_config) return 0 class NotRunning(RuntimeError): pass def get_running_pidfile(): """ :return: This pid of the running ooniprobe-agent instance. :raises: NotRunning if it's not running """ running_pidfile = None for pidfile in [config.system_pid_path, config.user_pid_path]: if not os.path.exists(pidfile): # Didn't find the pid_file continue pid = open(pidfile, "r").read() pid = int(pid) if is_process_running(pid): return pidfile raise NotRunning def is_stale_pidfile(pidfile): try: with open(pidfile) as fd: pid = int(fd.read()) except Exception: return False # that's either garbage in the pid-file or a race return not is_process_running(pid) def get_stale_pidfiles(): return [f for f in [config.system_pid_path, config.user_pid_path] if is_stale_pidfile(f)] def status_agent(): try: get_running_pidfile() print("ooniprobe-agent is running") return 0 except NotRunning: print("ooniprobe-agent is NOT running") return 1 def do_stop_agent(): # This function is borrowed from tahoe try: pidfile = get_running_pidfile() except NotRunning: print("ooniprobe-agent is NOT running. Nothing to do.") return 2 pid = open(pidfile, "r").read() pid = int(pid) try: os.kill(pid, signal.SIGTERM) except OSError as ose: if ose.errno == errno.ESRCH: print("No process was running.") # it's just a race return 2 elif ose.errno == errno.EPERM: # The process is owned by root. We assume it's running print("ooniprobe-agent is owned by root. We cannot stop it.") return 3 else: raise # the process wants to clean it's own pidfile itself start = time.time() time.sleep(0.1) wait = 40 first_time = True while True: # poll once per second until we see the process is no longer running try: os.kill(pid, 0) except OSError: print("process %d is dead" % pid) return wait -= 1 if wait < 0: if first_time: print("It looks like pid %d is still running " "after %d seconds" % (pid, (time.time() - start))) print("Sending a SIGKILL and waiting for it to terminate " "until you kill me.") try: os.kill(pid, signal.SIGKILL) except OSError as ose: # Race condition check. It could have dies already. If # so we are happy. if ose.errno == errno.ESRCH: print("process %d is dead" % pid) return wait = 10 first_time = False else: print("pid %d still running after %d seconds" % \ (pid, (time.time() - start))) wait = 10 time.sleep(1) # we define rc=1 to mean "I think something is still running, sorry" return 1 def stop_agent(): retval = do_stop_agent() for pidfile in get_stale_pidfiles(): try: os.remove(pidfile) print("Cleaned up stale pidfile {0}".format(pidfile)) except EnvironmentError: print("Failed to delete the pidfile {0}: {1}".format(pidfile, exc)) return retval def run(): options = AgentOptions() options.parseOptions() if options.subCommand == None: print(options) return if options.subCommand == "stop": return stop_agent() if options.subCommand == "status": return status_agent() if options.subCommand == "run": options.twistd_args += ("--nodaemon",) return start_agent(options) if __name__ == "__main__": run() ooniprobe-2.2.0/ooni/scripts/ooniresources.py0000644000175000017500000000200512767752455017572 0ustar irlirlimport sys from twisted.python import usage from ooni import __version__ class Options(usage.Options): synopsis = """%s [DEPRECATED] Usage of this script is deprecated and it will be deleted in future versions of ooniprobe. """ % sys.argv[0] optFlags = [ ["update-inputs", None, "(deprecated) update the resources needed for " "inputs."], ["update-geoip", None, "(deprecated) Update the geoip related " "resources."] ] optParameters = [] def opt_version(self): print("ooniresources version: %s" % __version__) sys.exit(0) def run(): options = Options() try: options.parseOptions() except usage.UsageError as error_message: print "%s: %s" % (sys.argv[0], error_message) print "%s: Try --help for usage details." % (sys.argv[0]) sys.exit(1) print("WARNING: Usage of this script is deprecated. We will not do " "anything.") sys.exit(0) ooniprobe-2.2.0/ooni/settings.ini0000644000175000017500000000030213071150737015151 0ustar irlirl[directories] usr_share = /Users/x/.virtualenvs/ooni-probe-test/share/ooni var_lib = /Users/x/.virtualenvs/ooni-probe-test/var/lib/ooni etc = /Users/x/.virtualenvs/ooni-probe-test/var/lib/ooni ooniprobe-2.2.0/ooni/otime.py0000644000175000017500000000125012767752455014322 0ustar irlirlfrom datetime import datetime def prettyDateNow(): """ Returns a good looking string for the local time. """ return datetime.now().ctime() def prettyDateNowUTC(): """ Returns a good looking string for utc time. """ return datetime.utcnow().ctime() def timestampNowLongUTC(): """ Returns a timestamp in the format of %Y-%m-%d %H:%M:%S in Universal Time Coordinates. """ return datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S") def timestampNowISO8601UTC(): """ Returns a timestamp in the format of %Y-%m-%d %H:%M:%S in Universal Time Coordinates. """ return datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%SZ") ooniprobe-2.2.0/ooni/geoip.py0000644000175000017500000002012713032460744014273 0ustar irlirlfrom __future__ import absolute_import import re import os import json import time import random from hashlib import sha256 from twisted.web import client, http_headers client._HTTP11ClientFactory.noisy = False from twisted.internet import reactor, defer from ooni.utils import log from ooni import errors try: from pygeoip import GeoIP except ImportError: try: import GeoIP as CGeoIP def GeoIP(database_path, *args, **kwargs): return CGeoIP.open(database_path, CGeoIP.GEOIP_STANDARD) except ImportError: log.err("Unable to import pygeoip. We will not be able to run geo IP related measurements") class GeoIPDataFilesNotFound(Exception): pass def ip_to_location(ipaddr): from ooni.settings import config country_file = config.get_data_file_path( 'resources/maxmind-geoip/GeoIP.dat' ) asn_file = config.get_data_file_path( 'resources/maxmind-geoip/GeoIPASNum.dat' ) location = {'city': None, 'countrycode': 'ZZ', 'asn': 'AS0'} if not asn_file or not country_file: log.err("Could not find GeoIP data file in data directories." "Try running ooniresources or" " edit your ooniprobe.conf") return location country_dat = GeoIP(country_file) asn_dat = GeoIP(asn_file) country_code = country_dat.country_code_by_addr(ipaddr) if country_code is not None: location['countrycode'] = country_code asn = asn_dat.org_by_addr(ipaddr) if asn is not None: location['asn'] = asn.split(' ')[0] return location def database_version(): from ooni.settings import config version = { 'GeoIP': { 'sha256': None, 'timestamp': None, }, 'GeoIPASNum': { 'sha256': None, 'timestamp': None } } for key in version.keys(): geoip_file = config.get_data_file_path( "resources/maxmind-geoip/" + key + ".dat" ) if not geoip_file or not os.path.isfile(geoip_file): continue timestamp = os.stat(geoip_file).st_mtime sha256hash = sha256() with open(geoip_file) as f: while True: chunk = f.read(8192) if not chunk: break sha256hash.update(chunk) version[key]['timestamp'] = timestamp version[key]['sha256'] = sha256hash.hexdigest() return version class HTTPGeoIPLookupper(object): url = None _agent = client.Agent def __init__(self): self.agent = self._agent(reactor) def _response(self, response): from ooni.utils.net import BodyReceiver content_length = response.headers.getRawHeaders('content-length') finished = defer.Deferred() response.deliverBody(BodyReceiver(finished, content_length)) finished.addCallback(self.parseResponse) return finished def parseResponse(self, response_body): """ Override this with the logic for parsing the response. Should return the IP address of the probe. """ pass def failed(self, failure): log.err("Failed to lookup via %s" % self.url) log.exception(failure) return failure def lookup(self): from ooni.utils.net import userAgents headers = {} headers['User-Agent'] = [random.choice(userAgents)] d = self.agent.request("GET", self.url, http_headers.Headers(headers)) d.addCallback(self._response) d.addErrback(self.failed) return d class UbuntuGeoIP(HTTPGeoIPLookupper): url = "http://geoip.ubuntu.com/lookup" def parseResponse(self, response_body): m = re.match(".*(.*).*", response_body) probe_ip = m.group(1) return probe_ip INITIAL = 0 IN_PROGRESS = 1 class ProbeIP(object): strategy = None address = None # How long should we consider geoip results valid? _expire_in = 10*60 def __init__(self): self.geoIPServices = { 'ubuntu': UbuntuGeoIP } self.geodata = { 'asn': 'AS0', 'city': None, 'countrycode': 'ZZ', 'ip': '127.0.0.1' } self._last_lookup = 0 self._reset_state() def _reset_state(self): self._state = INITIAL self._looking_up = defer.Deferred() self._looking_up.addCallback(self._looked_up) self._looking_up.addErrback(self._lookup_failed) def _looked_up(self, result): self._last_lookup = time.time() self._reset_state() return result def _lookup_failed(self, failure): self._reset_state() return failure def resolveGeodata(self, include_ip=None, include_asn=None, include_country=None): from ooni.settings import config self.geodata = ip_to_location(self.address) self.geodata['ip'] = self.address if not config.privacy.includeasn and include_asn is not True: self.geodata['asn'] = 'AS0' if not config.privacy.includecountry and include_country is not True: self.geodata['countrycode'] = 'ZZ' if not config.privacy.includeip and include_ip is not True: self.geodata['ip'] = '127.0.0.1' @defer.inlineCallbacks def lookup(self, include_ip=None, include_asn=None, include_country=None): if self._state == IN_PROGRESS: yield self._looking_up elif self._last_lookup < time.time() - self._expire_in: self.address = None if self.address: self.resolveGeodata(include_ip, include_asn, include_country) defer.returnValue(self.address) else: self._state = IN_PROGRESS try: yield self.askTor() log.msg("Found your IP via Tor") self.resolveGeodata(include_ip, include_asn, include_country) self._looking_up.callback(self.address) defer.returnValue(self.address) except errors.TorStateNotFound: log.debug("Tor is not running. Skipping IP lookup via Tor.") except Exception: log.msg("Unable to lookup the probe IP via Tor.") try: yield self.askGeoIPService() log.msg("Found your IP via a GeoIP service") self.resolveGeodata(include_ip, include_asn, include_country) self._looking_up.callback(self.address) defer.returnValue(self.address) except Exception as exc: log.msg("Unable to lookup the probe IP via GeoIPService") self._looking_up.errback(defer.failure.Failure(exc)) raise @defer.inlineCallbacks def askGeoIPService(self): # Shuffle the order in which we test the geoip services. services = self.geoIPServices.items() random.shuffle(services) for service_name, service in services: s = service() log.msg("Looking up your IP address via %s" % service_name) try: self.address = yield s.lookup() self.strategy = 'geo_ip_service-' + service_name break except Exception: log.msg("Failed to lookup your IP via %s" % service_name) if not self.address: raise errors.ProbeIPUnknown def askTor(self): """ Obtain the probes IP address by asking the Tor Control port via GET INFO address. XXX this lookup method is currently broken when there are cached descriptors or consensus documents see: https://trac.torproject.org/projects/tor/ticket/8214 """ from ooni.settings import config if config.tor_state: d = config.tor_state.protocol.get_info("address") @d.addCallback def cb(result): self.strategy = 'tor_get_info_address' self.address = result.values()[0] return d else: raise errors.TorStateNotFound probe_ip = ProbeIP() ooniprobe-2.2.0/ooni/constants.py0000644000175000017500000000675713015035407015214 0ustar irlirlCANONICAL_BOUNCER_ONION = 'httpo://nkvphnp3p6agi5qq.onion' CANONICAL_BOUNCER_HTTPS = 'https://bouncer.ooni.io' CANONICAL_BOUNCER_CLOUDFRONT = ( 'https://d3kr4emv7f56qa.cloudfront.net/', 'a0.awsstatic.com' ) MEEK_BRIDGES = [ ("meek 0.0.2.0:2 B9E7141C594AF25699E0079C1F0146F409495296 " "url=https://d2zfqthxsdq309.cloudfront.net/ front=a0.awsstatic.com"), ("meek 0.0.2.0:3 A2C13B7DFCAB1CBF3A884B6EB99A98067AB6EF44 " "url=https://az786092.vo.msecnd.net/ front=ajax.aspnetcdn.com") ] # These are bridges taken from TBB OBFS4_BRIDGES = [ ("obfs4 154.35.22.10:41835 8FB9F4319E89E5C6223052AA525A192AFBC85D55 " "cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0"), ("obfs4 198.245.60.50:443 752CF7825B3B9EA6A98C83AC41F7099D67007EA5 " "cert=xpmQtKUqQ/6v5X7ijgYE/f03+l2/EuQ1dexjyUhh16wQlu" "/cpXUGalmhDIlhuiQPNEKmKw iat-mode=0"), ("obfs4 192.99.11.54:443 7B126FAB960E5AC6A629C729434FF84FB5074EC2 " "cert=VW5f8+IBUWpPFxF+rsiVy2wXkyTQG7vEd" "+rHeN2jV5LIDNu8wMNEOqZXPwHdwMVEBdqXEw iat-mode=0"), ("obfs4 109.105.109.165:10527 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E " "cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM" "+/TfB7mqTFEfXILCjEwzVA iat-mode=0"), ("obfs4 83.212.101.3:41213 A09D536DD1752D542E1FBB3C9CE4449D51298239 " "cert=lPRQ/MXdD1t5SRZ9MquYQNT9m5DV757jtdXdlePmRCudUU9CFUOX1Tm7" "/meFSyPOsud7Cw iat-mode=0"), ("obfs4 104.131.108.182:56880 EF577C30B9F788B0E1801CF7E433B3B77792B77A " "cert=0SFhfDQrKjUJP8Qq6wrwSICEPf3Vl" "/nJRsYxWbg3QRoSqhl2EB78MPS2lQxbXY4EW1wwXA iat-mode=0"), ("obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D " "cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw" "+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=0"), ("obfs4 154.35.22.11:49868 A832D176ECD5C7C6B58825AE22FC4C90FA249637 " "cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr" "/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0"), ("obfs4 154.35.22.12:80 00DC6C4FA49A65BD1472993CF6730D54F11E0DBB " "cert=N86E9hKXXXVz6G7w2z8wFfhIDztDAzZ" "/3poxVePHEYjbKDWzjkRDccFMAnhK75fc65pYSg iat-mode=0"), ("obfs4 154.35.22.13:443 FE7840FE1E21FE0A0639ED176EDA00A3ECA1E34D " "cert=fKnzxr+m+jWXXQGCaXe4f2gGoPXMzbL+bTBbXMYXuK0tMotd" "+nXyS33y2mONZWU29l81CA iat-mode=0"), ("obfs4 154.35.22.10:80 8FB9F4319E89E5C6223052AA525A192AFBC85D55 " "cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0"), ("obfs4 154.35.22.10:443 8FB9F4319E89E5C6223052AA525A192AFBC85D55 " "cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0"), ("obfs4 154.35.22.11:443 A832D176ECD5C7C6B58825AE22FC4C90FA249637 " "cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr" "/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0"), ("obfs4 154.35.22.11:80 A832D176ECD5C7C6B58825AE22FC4C90FA249637 " "cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr" "/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0"), ("obfs4 154.35.22.9:60873 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 " "cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK" "+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0"), ("obfs4 154.35.22.9:80 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 " "cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK" "+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0"), ("obfs4 154.35.22.9:443 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 " "cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK" "+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0") ] ooniprobe-2.2.0/ooni/ui/0000755000175000017500000000000013071152230013220 5ustar irlirlooniprobe-2.2.0/ooni/ui/cli.py0000644000175000017500000005165213046133036014357 0ustar irlirlimport sys import os import json import random import textwrap import urlparse from twisted.python import usage from twisted.internet import defer from ooni import errors, __version__ from ooni.settings import config, OONIPROBE_ROOT from ooni.utils import log class LifetimeExceeded(Exception): pass class Options(usage.Options): synopsis = """%s [options] [path to test].py """ % (os.path.basename(sys.argv[0]),) longdesc = ("ooniprobe loads and executes a suite or a set of suites of" " network tests. These are loaded from modules, packages and" " files listed on the command line.") optFlags = [["help", "h"], ["no-collector", "n", "Disable writing to collector"], ["no-njson", "N", "Disable writing to disk"], ["no-geoip", "g", "Disable geoip lookup on start. " "With this option your IP address can be disclosed in the report."], ["list", "s", "List the currently installed ooniprobe " "nettests"], ["verbose", "v", "Show more verbose information"], ["web-ui", "w", "Start the web UI"], ["initialize", "z", "Initialize ooniprobe to begin running " "it"], ["info", None, "Print system wide info and exit"] ] optParameters = [ ["reportfile", "o", None, "Specify the report file name to write " "to."], ["testdeck", "i", None, "Specify as input a test deck: a yaml file " "containing the tests to run and their " "arguments."], ["collector", "c", None, "Specify the address of the collector for " "test results. In most cases a user will " "prefer to specify a bouncer over this."], ["bouncer", "b", None, "Specify the bouncer used to " "obtain the address of the " "collector and test helpers."], ["logfile", "l", None, "Write to this logs to this filename."], ["pcapfile", "O", None, "Write a PCAP of the ooniprobe session to " "this filename."], ["configfile", "f", None, "Specify a path to the ooniprobe " "configuration file."], ["datadir", "d", None, "Specify a path to the ooniprobe data " "directory."], ["annotations", "a", None, "Annotate the report with a key:value[, " "key:value] format."], ["preferred-backend", "P", None, "Set the preferred backend to use " "when submitting results and/or " "communicating with test helpers. " "Can be either onion, " "https or cloudfront"], ["queue", "Q", None, "AMQP Queue URL " "amqp://user:pass@host:port/vhost/queue"] ] compData = usage.Completions( extraActions=[usage.CompleteFiles( "*.py", descr="file | module | package | TestCase | testMethod", repeat=True)],) tracer = None def __init__(self): usage.Options.__init__(self) def opt_spew(self): """ Print an insanely verbose log of everything that happens. Useful when debugging freezes or locks in complex code. """ from twisted.python.util import spewer sys.settrace(spewer) def opt_version(self): """ Display the ooniprobe version and exit. """ print "ooniprobe version:", __version__ sys.exit(0) def parseArgs(self, *args): flag_opts = ['testdeck', 'list', 'web-ui', 'info'] if any([self[opt] for opt in flag_opts]): return try: self['test_file'] = args[0] self['subargs'] = args[1:] except: raise usage.UsageError("No test filename specified!") def parseOptions(): cmd_line_options = Options() if len(sys.argv) == 1: cmd_line_options.getUsage() try: cmd_line_options.parseOptions() except usage.UsageError as ue: print cmd_line_options.getUsage() raise SystemExit("%s: %s" % (sys.argv[0], ue)) return dict(cmd_line_options) def director_startup_handled_failures(failure): log.err("Could not start the director") failure.trap(errors.TorNotRunning, errors.InvalidOONIBCollectorAddress, errors.UnableToLoadDeckInput, errors.CouldNotFindTestHelper, errors.CouldNotFindTestCollector, errors.ProbeIPUnknown, errors.InvalidInputFile, errors.ConfigFileIncoherent, SystemExit) if isinstance(failure.value, errors.TorNotRunning): log.err("Tor does not appear to be running") log.err("Reporting with a collector is not possible") log.msg( "Try with a different collector or disable collector reporting with -n") elif isinstance(failure.value, errors.InvalidOONIBCollectorAddress): log.err("Invalid format for oonib collector address.") log.msg( "Should be in the format http://:") log.msg("for example: ooniprobe -c httpo://nkvphnp3p6agi5qq.onion") elif isinstance(failure.value, errors.UnableToLoadDeckInput): log.err("Unable to fetch the required inputs for the test deck.") log.msg( "Please file a ticket on our issue tracker: https://github.com/thetorproject/ooni-probe/issues") elif isinstance(failure.value, errors.CouldNotFindTestHelper): log.err("Unable to obtain the required test helpers.") log.msg( "Try with a different bouncer or check that Tor is running properly.") elif isinstance(failure.value, errors.CouldNotFindTestCollector): log.err("Could not find a valid collector.") log.msg( "Try with a different bouncer, specify a collector with -c or disable reporting to a collector with -n.") elif isinstance(failure.value, errors.ProbeIPUnknown): log.err("Failed to lookup probe IP address.") log.msg("Check your internet connection.") elif isinstance(failure.value, errors.InvalidInputFile): log.err("Invalid input file \"%s\"" % failure.value) elif isinstance(failure.value, errors.ConfigFileIncoherent): log.err("Incoherent config file") if config.advanced.debug: log.exception(failure) def director_startup_other_failures(failure): log.err("An unhandled exception occurred while starting the director!") log.exception(failure) def initializeOoniprobe(global_options): print("It looks like this is the first time you are running ooniprobe") if not sys.stdin.isatty(): print("ERROR: STDIN is not attached to a tty. Quiting.") sys.exit(8) print("Please take a minute to read through the informed consent documentation and " "understand what are the risks associated with running ooniprobe.") print("Press enter to continue...") raw_input() with open(os.path.join(OONIPROBE_ROOT, 'ui', 'consent-form.md')) as f: consent_form_text = ''.join(f.readlines()) from pydoc import pager pager(consent_form_text) answer = "" while answer.lower() != "yes": print('Type "yes" if you are fully aware of the risks associated with using ooniprobe and you wish to proceed') answer = raw_input("> ") print("") print("Now help us configure some things!") answer = raw_input('Should we upload measurements to a collector? (Y/n) ') should_upload = True if answer.lower().startswith("n"): should_upload = False answer = raw_input('Should we include your IP in measurements? (y/N) ') include_ip = False if answer.lower().startswith("y"): include_ip = True answer = raw_input('Should we include your ASN (your network) in ' 'measurements? (Y/n) ') include_asn = True if answer.lower().startswith("n"): include_asn = False answer = raw_input('Should we include your Country in ' 'measurements? (Y/n) ') include_country = True if answer.lower().startswith("n"): include_country = False answer = raw_input('How would you like reports to be uploaded? (onion, ' 'https, cloudfront) ') preferred_backend = 'onion' if answer.lower().startswith("https"): preferred_backend = 'https' elif answer.lower().startswith("cloudfront"): preferred_backend = 'cloudfront' config.create_config_file(include_ip=include_ip, include_asn=include_asn, include_country=include_country, should_upload=should_upload, preferred_backend=preferred_backend) config.set_initialized() print("ooniprobe is now initialized. You can begin using it!") def setupGlobalOptions(logging, start_tor, check_incoherences): global_options = parseOptions() config.global_options = global_options config.set_paths() config.initialize_ooni_home() try: config.read_config_file(check_incoherences=check_incoherences) except errors.ConfigFileIncoherent: sys.exit(6) if not config.is_initialized(): initializeOoniprobe(global_options) if global_options['verbose']: config.advanced.debug = True if not start_tor: config.advanced.start_tor = False if logging: log.start(global_options['logfile']) if config.privacy.includepcap or global_options['pcapfile']: from ooni.utils.net import hasRawSocketPermission if hasRawSocketPermission(): from ooni.utils.txscapy import ScapyFactory config.scapyFactory = ScapyFactory(config.advanced.interface) else: log.err("Insufficient Privileges to capture packets." " See ooniprobe.conf privacy.includepcap") sys.exit(2) global_options['check_incoherences'] = check_incoherences return global_options def setupAnnotations(global_options): annotations={} for annotation in global_options["annotations"].split(","): pair = annotation.split(":") if len(pair) == 2: key = pair[0].strip() value = pair[1].strip() annotations[key] = value else: log.err("Invalid annotation: %s" % annotation) sys.exit(1) global_options["annotations"] = annotations return annotations def setupCollector(global_options, collector_client): from ooni.backend_client import CollectorClient if global_options['collector']: collector_client = CollectorClient(global_options['collector']) elif config.reports.get('collector', None) is not None: collector_client = CollectorClient(config.reports['collector']) if not collector_client.isSupported(): raise errors.CollectorUnsupported return collector_client def createDeck(global_options, url=None): from ooni.deck import NGDeck from ooni.deck.legacy import subargs_to_options if url: log.msg("Creating deck for: %s" % (url)) test_deck_path = global_options.pop('testdeck', None) test_name = global_options.pop('test_file', None) no_collector = global_options.pop('no-collector', False) try: if test_deck_path is not None: deck = NGDeck( global_options=global_options, no_collector=no_collector ) deck.open(test_deck_path) else: deck = NGDeck( global_options=global_options, no_collector=no_collector, arbitrary_paths=True ) log.debug("No test deck detected") if url is not None: args = ('-u', url) else: args = tuple() if any(global_options['subargs']): args = global_options['subargs'] + args test_options = subargs_to_options(args) test_options['test_name'] = test_name deck.load({ "tasks": [ {"ooni": test_options} ] }) except errors.MissingRequiredOption as option_name: log.err('Missing required option: "%s"' % option_name) incomplete_net_test_loader = option_name.net_test_loader map(log.msg, incomplete_net_test_loader.usageOptions().getUsage().split("\n")) raise SystemExit(2) except errors.NetTestNotFound as path: log.err('Requested NetTest file not found (%s)' % path) raise SystemExit(3) except errors.OONIUsageError as e: log.exception(e) map(log.msg, e.net_test_loader.usageOptions().getUsage().split("\n")) raise SystemExit(4) except errors.HTTPSCollectorUnsupported: log.err("HTTPS collectors require a twisted version of at least 14.0.2.") raise SystemExit(6) except errors.InsecureBackend: log.err("Attempting to report to an insecure collector.") log.err("To enable reporting to insecure collector set the " "advanced->insecure_backend option to true in " "your ooniprobe.conf file.") raise SystemExit(7) except Exception as e: if config.advanced.debug: log.exception(e) log.err(e) raise SystemExit(5) return deck def runTestWithDirector(director, global_options, url=None, start_tor=True, create_input_store=True): deck = createDeck(global_options, url=url) d = director.start(create_input_store=create_input_store, start_tor=start_tor) @defer.inlineCallbacks def post_director_start(_): try: yield deck.setup() yield deck.run(director, from_schedule=False) except errors.UnableToLoadDeckInput as error: raise defer.failure.Failure(error) except errors.NoReachableTestHelpers as error: raise defer.failure.Failure(error) except errors.NoReachableCollectors as error: raise defer.failure.Failure(error) except SystemExit as error: raise error d.addCallback(post_director_start) d.addErrback(director_startup_handled_failures) d.addErrback(director_startup_other_failures) return d def runWithDirector(global_options, create_input_store=True): """ Instance the director, parse command line options and start an ooniprobe test! """ from ooni.director import Director start_tor = False director = Director() if global_options['list']: net_tests = [net_test for net_test in director.getNetTests().items()] log.msg("") log.msg("Installed nettests") log.msg("==================") for net_test_id, net_test in net_tests: optList = [] for name, details in net_test['arguments'].items(): optList.append({'long': name, 'doc': details['description']}) desc = ('\n' + net_test['name'] + '\n' + '-'*len(net_test['name']) + '\n' + '\n'.join(textwrap.wrap(net_test['description'], 80)) + '\n\n' + '$ ooniprobe {}/{}'.format(net_test['category'], net_test['id']) + '\n\n' + ''.join(usage.docMakeChunks(optList)) ) map(log.msg, desc.split("\n")) log.msg("Note: Third party tests require an external " "application to run properly.") raise SystemExit(0) if global_options.get('annotations') is not None: global_options['annotations'] = setupAnnotations(global_options) if global_options.get('preferred-backend') is not None: config.advanced.preferred_backend = global_options['preferred-backend'] if global_options['no-collector']: log.msg("Not reporting using a collector") global_options['collector'] = None start_tor = False elif config.advanced.get("preferred_backend", "onion") == "onion": start_tor = True if (global_options['collector'] and config.advanced.get("preferred_backend", "onion") == "onion"): start_tor |= True return runTestWithDirector( director=director, start_tor=start_tor, global_options=global_options, create_input_store=create_input_store ) # this variant version of runWithDirector splits the process in two, # allowing a single director instance to be reused with multiple decks. def runWithDaemonDirector(global_options): """ Instance the director, parse command line options and start an ooniprobe test! """ from twisted.internet import reactor, protocol from ooni.director import Director try: import pika from pika import exceptions from pika.adapters import twisted_connection except ImportError: print "Pika is required for queue connection." print "Install with \"pip install pika\"." raise SystemExit(7) director = Director() if global_options.get('annotations') is not None: global_options['annotations'] = setupAnnotations(global_options) if global_options['no-collector']: log.msg("Not reporting using a collector") global_options['collector'] = None start_tor = False else: start_tor = True finished = defer.Deferred() @defer.inlineCallbacks def readmsg(_, channel, queue_object, consumer_tag, counter): # Wait for a message and decode it. if counter >= lifetime: log.msg("Counter") queue_object.close(LifetimeExceeded()) yield channel.basic_cancel(consumer_tag=consumer_tag) finished.callback(None) else: log.msg("Waiting for message") try: ch, method, properties, body = yield queue_object.get() log.msg("Got message") data = json.loads(body) counter += 1 log.msg("Received %d/%d: %s" % (counter, lifetime, data['url'],)) # acknowledge the message ch.basic_ack(delivery_tag=method.delivery_tag) d = runTestWithDirector(director=director, start_tor=start_tor, global_options=global_options, url=data['url'].encode('utf8')) # When the test has been completed, go back to waiting for a message. d.addCallback(readmsg, channel, queue_object, consumer_tag, counter+1) except exceptions.AMQPError, v: log.msg("Error") log.exception(v) finished.errback(v) @defer.inlineCallbacks def runQueue(connection, name, qos): # Set up the queue consumer. When a message is received, run readmsg channel = yield connection.channel() yield channel.basic_qos(prefetch_count=qos) queue_object, consumer_tag = yield channel.basic_consume( queue=name, no_ack=False) readmsg(None, channel, queue_object, consumer_tag, 0) # Create the AMQP connection. This could be refactored to allow test URLs # to be submitted through an HTTP server interface or something. urlp = urlparse.urlparse(config.global_options['queue']) urlargs = dict(urlparse.parse_qsl(urlp.query)) # random lifetime requests counter lifetime = random.randint(820, 1032) # AMQP connection details are sent through the cmdline parameter '-Q' creds = pika.PlainCredentials(urlp.username or 'guest', urlp.password or 'guest') parameters = pika.ConnectionParameters(urlp.hostname, urlp.port or 5672, urlp.path.rsplit('/',1)[0] or '/', creds, heartbeat_interval=120, ) cc = protocol.ClientCreator(reactor, twisted_connection.TwistedProtocolConnection, parameters) d = cc.connectTCP(urlp.hostname, urlp.port or 5672) d.addCallback(lambda protocol: protocol.ready) # start the wait/process sequence. d.addCallback(runQueue, urlp.path.rsplit('/',1)[-1], int(urlargs.get('qos',1))) return finished ooniprobe-2.2.0/ooni/ui/consent-form.md0000644000175000017500000003003012767752460016176 0ustar irlirlThe [Open Observatory of Network Interference (OONI)](https://ooni.torproject.org/) is a free software project, under the [Tor Project](https://www.torproject.org/), which collects and processes network measurements with the aim of detecting network anomalies, such as censorship and traffic manipulation. Running OONI may be against the terms of service of your ISP or legally questionable in your country. By running OONI you will connect to web services which may be banned, and use web censorship circumvention methods such as Tor. The OONI project will publish data submitted by probes, possibly including your IP address or other identifying information. In addition, your use of OONI will be clear to anybody who has access to your computer, and to anybody who can monitor your internet connection (such as your employer, ISP or government). By running ooniprobe, you are participating as a volunteer in this project. This form includes information that you should be aware of and consent to *prior* to running ooniprobe. ## OONI software tests The OONI project has developed multiple free software tests which are designed to: * Detect the blocking of websites * Detect systems responsible for censorship and traffic manipulation * Evaluate the reachability of [Tor bridges](https://bridges.torproject.org/), proxies, VPNs, and sensitive domains Below we provide brief descriptions of how these tests work. ## Test descriptions The recommended set of tests that users run through the `oonideckgen` command include the following: **Web connectivity:** This test examines whether websites are reachable and if they are not, it attempts to determine whether access to them is blocked through DNS tampering, TCP connection RST/IP blocking or by having a transparent HTTP proxy. It does so by identifying the resolver of the user, performing a DNS lookup, attempting to establish a TCP session and by sending HTTP GET requests to the servers that are hosting tested websites. **HTTP invalid request line:** This test tries to detect the presence of network components (“middle box”) which could be responsible for censorship and/or traffic manipulation. Instead of sending a normal HTTP request, this test sends an invalid HTTP request line - containing an invalid HTTP version number, an invalid field count and a huge request method – to an echo service listening on the standard HTTP port. If a middle box is present in the tested network, the invalid HTTP request line will be intercepted by the middle box and this may trigger error messages which can help identify the proxy technologies. **HTTP header field manipulation:** This test tries to detect the presence of network components (“middle box”) which could be responsible for censorship and/or traffic manipulation. It does so by sending HTTP requests which include valid, but non-canonical HTTP headers to a backend control server which sends back any data it receives. If we receive the HTTP headers exactly as we sent them, then we assume that there is no “middle box” in the network. If, however, such software is present in the network that we are testing, it will likely normalize the invalid headers that we are sending or add extra headers. Another test which attempts to detect traffic manipulation includes **Multi- protocol traceroute**, which constructs packets in such a way that they perform a traceroute from multiple protocols and ports simultaneously. Other tests include **Tor bridge reachability**, **Psiphon**, **Lantern**, **OpenVPN** and **Meek fronted requests**, which examine whether these services work within a tested network by attempting to connect to them in an automated way. Further test descriptions can be found here. ## Risks Many countries have a lengthy history of subjecting digital rights activists to various forms of abuse that could make it dangerous for individuals in these countries to run OONI. The use of OONI might therefore subject users to severe civil, criminal, or extra-judicial penalties, and such sanctions can potentially include: * Imprisonment * Physical assaults * Large fines * Receiving threats * Being placed on government watch lists * Targeted for surveillance While most countries don't have laws which specifically prohibit the use of network measurement software, it's important to note that the use of OONI can *still* potentially be criminalized in certain countries under other, broader laws if, for example, its use is viewed as an illegal or anti-government activity. OONI users might also face the risk of being criminalized on the grounds of *national security* if the data obtained and published by running OONI is viewed as "jeopardizing" the country's external or internal security. In extreme cases, any form of active network measurement could be illegal, or even considered a form of espionage. We therefore strongly urge you to consult with lawyers *prior* to running ooniprobe. You can also reach out to us with specific inquiries at **legal@ooni.nu**. Please note though that we are *not* lawyers, but we might be able to seek legal advice for you or to put you in touch with lawyers who could address your questions and/or concerns. Some relevant resources include: * [Tor Legal FAQ](https://www.eff.org/torchallenge/faq.html) * [EFF Know Your Rights](https://www.eff.org/issues/know-your-rights) **Note:** The use of OONI is at your *own risk* in accordance to OONI's software [license](https://github.com/TheTorProject/ooni- probe/blob/master/LICENSE) and neither the OONI project nor its parent organization, the Tor Project, can be held liable. **Installing ooniprobe** As with any other software, the usage of ooniprobe can leave traces. As such, anybody with physical or remote access to your computer might be able to see that you have downloaded, installed or run OONI. The installation of [Tor](https://www.torproject.org/) software, which is designed for online anonymity, is a *prerequisite* for using OONI as all measurements are by default sent to OONI over Tor. Furthermore, one of the recommended tests that users run through the `oonideckgen` command line (web connectivity test) is designed to compare HTTP requests over the network of the user and over the Tor network. Similarly, OONI's Psiphon, Lantern and OpenVPN tests require the installation of circumvention software. We therefore encourage you to consult with a lawyer on the legality of anonymity software (such as Tor, a VPN or a proxy) *prior* to installing ooniprobe. To remove traces of software usage, you can re-install your operating system or wipe your computer and remove everything (operating system, programs and files) from your hard drive. **Running ooniprobe** Third parties (such as your government, ISP and/or employer) monitoring your internet activity will be able to see all web traffic generated by OONI, including your IP address, and might be able to link it to you personally. Many countries employ sophisticated surveillance measures that allow governments to track individuals' online activities – even if they are using a VPN or a proxy server to protect their privacy. In such countries, governments might be able to identify you as a OONI user regardless of what measures you take to protect your online privacy. OONI's **[HTTP-invalid-request-line](https://github.com/TheTorProject/ooni- spec/blob/master/test-specs/ts-007-http-invalid-request-line.md)** test (which is included in oonideckgen) probably presents the *highest risk* as its use *might* trigger the suspicion of your ISP (and possibly, of your government), the operators of network components affected by out-of-spec messages might view them as attacks and this could potentially lead to prosecution under **computer misuse laws** (or other laws). **Testing URLs for censorship** When running either oonideckgen (OONI's software package) or OONI's **web connectivity** test, you will connect to and download data from various websites which are included in the following two lists: * **Country-specific test list:** https://github.com/citizenlab/test-lists/tree/master/lists (search for your country's test list based on its country code) * **Global test list:** https://github.com/citizenlab/test-lists/blob/master/lists/global.csv (including a list of globally accessed websites) Many websites included in the above lists will likely be controversial and can include pornography or hate speech, which might be illegal to access in your country. We therefore recommend that you examine carefully whether you are willing to take the risk of accessing and downloading data from such websites through OONI tests, especially if this could potentially lead to various forms of retribution. If you are uncertain of the potential implications of connecting to and downloading data from the websites listed in the above lists, you can pass your *own* test list with the ooniprobe `-f` command line option. **Publication of measurements** The public (including third parties who view the usage of OONI as illegal or "suspicious") will be able to see the information collected by OONI once it's published through: * [OONI Explorer](https://explorer.ooni.torproject.org/world/) * [OONI's list of measurements](https://measurements.ooni.torproject.org/) Unless users **[opt-out](https://github.com/TheTorProject/ooni-spec/blob/master /informed-consent/data-policy.md#opt-out)**, all measurements that are generated through OONI tests are by default sent to OONI's measurement collector and automatically published through the above resources. Published data will include your approximate location, the network (ASN) you are connecting from, and when you ran ooniprobe. Other identifying information, such as your IP address, is *not* deliberately collected, but might be included in HTTP headers or other metadata. The full page content downloaded by OONI could potentially include further information if, for example, a website includes tracking codes or custom content based on your network location. Such information could potentially aid third parties in detecting you as an ooniprobe user. ## Choices We provide you with choices in regards to which tests to run, which data you would like to be collected and whether you would like to send your measurements to our collector for publication or not, as outlined below. **Tests** You can *opt-out* from running all of the tests included in `oonideckgen` by specifying the test(s) that you want to run and by running it/them manually. You can view how to run each OONI test through the ooniprobe `-s` command line option. You can run each test included in `oonideckgen` separately through the following: * **Web connectivity test:** `ooniprobe blocking/web_connectivity` * **HTTP header field manipulation test:** `ooniprobe manipulation/http_header_field_manipulation` * **HTTP invalid request line test:** `ooniprobe manipulation/http_invalid_request_line` **Data collection and publication** OONI software users can *opt-out* from sending OONI's measurement collector specific types of data by [editing the ooniprobe configuration](https://github.com/TheTorProject/ooni-probe#configuring- ooniprobe) file inside of `~/.ooni/ooniprobe.conf`. Through this file, users can opt-out from sending OONI the following types of information: * Country code * Autonomous System Number (ASN) By default, OONI does *not* collect users' IP addresses, but users can choose to *opt-in* (to provide more accurate information) through the above configuration file. Users can also choose to *opt-out* from sending OONI's measurement collector any data at all, by running ooniprobe with the `-n` command line option. This option is quite often chosen by users who prefer to *not* have their measurements published, due to potential risks that could emerge as a result of such publication. Learn more about how we handle data through our Data Policy. ## Consent My consent means the following: I understand the requirements and the risks of running ooniprobe. I understand that, unless I opt-out (as explained in the previous section), the results of the tests that I run will by default be sent to the OONI project and published by it. PRESS q to leave this page ooniprobe-2.2.0/ooni/ui/__init__.py0000644000175000017500000000000012767752460015345 0ustar irlirlooniprobe-2.2.0/ooni/ui/web/0000755000175000017500000000000013071152230013775 5ustar irlirlooniprobe-2.2.0/ooni/ui/web/web.py0000644000175000017500000000173013024243330015125 0ustar irlirlfrom twisted.web import server from twisted.internet import reactor from twisted.application import service from ooni.ui.web.server import WebUIAPI from ooni.settings import config class WebUIService(service.MultiService): """This multiservice contains the ooniprobe web user interface.""" def __init__(self, director, scheduler, port_number=8842): service.MultiService.__init__(self) self.director = director self.scheduler = scheduler self.port_number = port_number def startService(self): service.MultiService.startService(self) web_ui_api = WebUIAPI(config, self.director, self.scheduler) self._port = reactor.listenTCP( self.port_number, server.Site(web_ui_api.app.resource()), interface=config.advanced.webui_address ) def stopService(self): service.MultiService.stopService(self) if self._port: self._port.stopListening() ooniprobe-2.2.0/ooni/ui/web/__init__.py0000644000175000017500000000000012767752460016122 0ustar irlirlooniprobe-2.2.0/ooni/ui/web/server.py0000644000175000017500000005513313070703575015701 0ustar irlirlfrom __future__ import print_function import os import json import errno import string import random from functools import wraps from random import SystemRandom from glob import glob from twisted.internet import defer, task, reactor from twisted.python import usage from twisted.python.filepath import FilePath, InsecurePath from twisted.web import static from klein import Klein from werkzeug.exceptions import NotFound from ooni import __version__ as ooniprobe_version from ooni import errors from ooni.deck import NGDeck from ooni.deck.store import DeckNotFound, InputNotFound from ooni.settings import config from ooni.utils import log from ooni.director import DirectorEvent from ooni.measurements import get_summary, get_measurement, list_measurements from ooni.measurements import MeasurementNotFound, MeasurementInProgress from ooni.geoip import probe_ip class WebUIError(Exception): def __init__(self, code, message): self.code = code self.message = message def xsrf_protect(check=True): """ This is a decorator that implements double submit token CSRF protection. Basically we set a cookie and ensure that every request contains the same value inside of the cookie and the request header. It's based on the assumption that an attacker cannot read the cookie that is set by the server (since it would be violating the SOP) and hence is not possible to make a browser trigger requests that contain the cookie value inside of the requests it sends. If you wish to disable checking of the token set the value check to False. This will still lead to the cookie being set. This decorator needs to be applied after the decorator that registers the routes. """ def deco(f): @wraps(f) def wrapper(instance, request, *a, **kw): should_check = check and instance._enable_xsrf_protection token_cookie = request.getCookie(b'XSRF-TOKEN') token_header = request.getHeader(b"X-XSRF-TOKEN") if (token_cookie != instance._xsrf_token and instance._enable_xsrf_protection): request.addCookie(b'XSRF-TOKEN', instance._xsrf_token, path=b'/') if should_check and token_cookie != token_header: raise WebUIError(404, "Invalid XSRF token") return f(instance, request, *a, **kw) return wrapper return deco def _requires_value(value, attrs=[]): def deco(f): @wraps(f) def wrapper(instance, request, *a, **kw): for attr in attrs: attr_value = getattr(instance, attr) if attr_value is not value: raise WebUIError(400, "{0} must be {1}".format(attr, value)) return f(instance, request, *a, **kw) return wrapper return deco def requires_true(attrs=[]): """ This decorator is used to require that a certain set of class attributes are set to True. Otherwise it will trigger a WebUIError. """ return _requires_value(True, attrs) def requires_false(attrs=[]): """ This decorator is used to require that a certain set of class attributes are set to False. Otherwise it will trigger a WebUIError. """ return _requires_value(False, attrs) class LongPoller(object): def __init__(self, timeout, _reactor=reactor): self.lock = defer.DeferredLock() self.deferred_subscribers = [] self._reactor = _reactor self._timeout = timeout self.timer = task.LoopingCall( self.notify, DirectorEvent("null", "No updates"), ) self.timer.clock = self._reactor def start(self): self.timer.start(self._timeout) def stop(self): self.timer.stop() def _notify(self, lock, event): for d in self.deferred_subscribers[:]: assert not d.called, "Deferred is already called" d.callback(event) self.deferred_subscribers.remove(d) self.timer.reset() lock.release() def notify(self, event=None): self.lock.acquire().addCallback(self._notify, event) def get(self): d = defer.Deferred() self.deferred_subscribers.append(d) return d class WebUIAPI(object): app = Klein() # Maximum number in seconds after which to return a result even if no # change happened. _long_polling_timeout = 30 _reactor = reactor _enable_xsrf_protection = True def __init__(self, config, director, scheduler, _reactor=reactor): self._reactor = reactor self.director = director self.scheduler = scheduler self.config = config self.measurement_path = FilePath(config.measurements_directory) # We use a double submit token to protect against XSRF rng = SystemRandom() token_space = string.letters+string.digits self._xsrf_token = b''.join([rng.choice(token_space) for _ in range(30)]) self._director_started = False self._is_initialized = config.is_initialized() # We use exponential backoff to trigger retries of the startup of # the director. self._director_startup_retries = 0 # Maximum delay should be 30 minutes self._director_max_retry_delay = 30*60 self.status_poller = LongPoller( self._long_polling_timeout, _reactor) self.director_event_poller = LongPoller( self._long_polling_timeout, _reactor) # XXX move this elsewhere self.director_event_poller.start() self.status_poller.start() self.director.subscribe(self.handle_director_event) if self._is_initialized: self.start_director() def start_director(self): log.debug("Starting director") d = self.director.start() d.addCallback(self.director_started) d.addErrback(self.director_startup_failed) d.addBoth(lambda _: self.status_poller.notify()) @property def status(self): quota_warning = None try: with open(os.path.join(config.running_path, "quota_warning")) as in_file: quota_warning = in_file.read() except IOError as ioe: if ioe.errno != errno.ENOENT: raise return { "software_version": ooniprobe_version, "software_name": "ooniprobe", "asn": probe_ip.geodata['asn'], "country_code": probe_ip.geodata['countrycode'], "director_started": self._director_started, "initialized": self._is_initialized, "quota_warning": quota_warning } def handle_director_event(self, event): log.debug("Handling event {0}".format(event.type)) self.director_event_poller.notify(event) def director_startup_failed(self, failure): self._director_startup_retries += 1 # We delay the startup using binary exponential backoff with an # upper bound. startup_delay = random.uniform( 0, min(2**self._director_startup_retries, self._director_max_retry_delay) ) log.err("Failed to start the director, " "retrying in {0}s".format(startup_delay)) self._reactor.callLater( startup_delay, self.start_director ) def director_started(self, _): log.debug("Started director") self._director_started = True @app.handle_errors(NotFound) @xsrf_protect(check=False) def not_found(self, request, _): request.redirect('/client/') @app.handle_errors(WebUIError) @xsrf_protect(check=False) def web_ui_error(self, request, failure): error = failure.value request.setResponseCode(error.code) return self.render_json({ "error_code": error.code, "error_message": error.message }, request) def render_json(self, obj, request): json_string = json.dumps(obj) + "\n" request.setHeader('Content-Type', 'application/json') request.setHeader('Content-Length', len(json_string)) return json_string @app.route('/api/notify', methods=["GET"]) @xsrf_protect(check=False) def api_notify(self, request): def got_director_event(event): return self.render_json({ "type": event.type, "message": event.message }, request) d = self.director_event_poller.get() d.addCallback(got_director_event) return d @app.route('/api/status', methods=["GET"]) @xsrf_protect(check=False) def api_status(self, request): return self.render_json(self.status, request) @app.route('/api/status/update', methods=["GET"]) @xsrf_protect(check=False) def api_status_update(self, request): def got_status_update(event): return self.api_status(request) d = self.status_poller.get() d.addCallback(got_status_update) return d @app.route('/api/initialize', methods=["GET"]) @xsrf_protect(check=False) @requires_false(attrs=['_is_initialized']) def api_initialize_get(self, request): available_decks = [] for deck_id, deck in self.director.deck_store.list(): available_decks.append({ 'name': deck.name, 'description': deck.description, 'schedule': deck.schedule, 'enabled': self.director.deck_store.is_enabled(deck_id), 'id': deck_id, 'icon': deck.icon }) return self.render_json({"available_decks": available_decks}, request) @app.route('/api/initialize', methods=["POST"]) @xsrf_protect(check=True) @requires_false(attrs=['_is_initialized']) def api_initialize(self, request): try: initial_configuration = json.load(request.content) except ValueError: raise WebUIError(400, 'Invalid JSON message recevied') required_keys = ['include_ip', 'include_asn', 'include_country', 'should_upload', 'preferred_backend'] options = {} for required_key in required_keys: try: options[required_key] = initial_configuration[required_key] except KeyError: raise WebUIError(400, 'Missing required key {0}'.format( required_key)) config.create_config_file(**options) try: deck_config = initial_configuration['deck_config'] except KeyError: raise WebUIError(400, 'Missing enabled decks') for deck_id, enabled in deck_config.items(): try: if enabled is True: self.director.deck_store.enable(deck_id) elif enabled is False: try: self.director.deck_store.disable(deck_id) except DeckNotFound: # We ignore these errors, because it could be that a deck # that is marked as disabled is already disabled pass except DeckNotFound: raise WebUIError(404, 'Deck not found') config.set_initialized() self.scheduler.refresh_deck_list() self._is_initialized = True self.status_poller.notify() self.start_director() return self.render_json({"result": "ok"}, request) @app.route('/api/deck//start', methods=["POST"]) @xsrf_protect(check=True) @requires_true(attrs=['_director_started', '_is_initialized']) def api_deck_start(self, request, deck_id): try: deck = self.director.deck_store.get(deck_id) except DeckNotFound: raise WebUIError(404, "Deck not found") try: self.run_deck(deck) except: raise WebUIError(500, "Failed to start deck") return self.render_json({"status": "started " + deck.name}, request) @app.route('/api/deck', methods=["GET"]) @xsrf_protect(check=False) @requires_true(attrs=['_is_initialized']) def api_deck_list(self, request): deck_list = {'decks': []} for deck_id, deck in self.director.deck_store.list(): nettests = [] for task in deck.tasks: if task.type == 'ooni': assert task.ooni['test_name'] is not None nettests.append(task.ooni['test_name']) deck_list['decks'].append({ 'id': deck_id, 'name': deck.name, 'icon': deck.icon, 'running': self.director.isDeckRunning( deck_id, from_schedule=False), 'running_scheduled': self.director.isDeckRunning( deck_id, from_schedule=True), 'nettests': nettests, 'description': deck.description, 'schedule': deck.schedule, 'enabled': self.director.deck_store.is_enabled(deck_id) }) return self.render_json(deck_list, request) @app.route('/api/deck//run', methods=["POST"]) @xsrf_protect(check=True) @requires_true(attrs=['_director_started', '_is_initialized']) def api_deck_run(self, request, deck_id): try: deck = self.director.deck_store.get(deck_id) except DeckNotFound: raise WebUIError(404, "Deck not found") self.run_deck(deck) return self.render_json({"status": "starting"}, request) @app.route('/api/deck//enable', methods=["POST"]) @xsrf_protect(check=True) @requires_true(attrs=['_director_started', '_is_initialized']) def api_deck_enable(self, request, deck_id): try: self.director.deck_store.enable(deck_id) except DeckNotFound: raise WebUIError(404, "Deck not found") self.scheduler.refresh_deck_list() return self.render_json({"status": "enabled"}, request) @app.route('/api/deck//disable', methods=["POST"]) @xsrf_protect(check=True) @requires_true(attrs=['_director_started', '_is_initialized']) def api_deck_disable(self, request, deck_id): try: self.director.deck_store.disable(deck_id) except DeckNotFound: raise WebUIError(404, "Deck not found") self.scheduler.refresh_deck_list() return self.render_json({"status": "disabled"}, request) @defer.inlineCallbacks def run_deck(self, deck): # These are dangling deferreds try: yield deck.setup() yield deck.run(self.director, from_schedule=False) self.director_event_poller.notify(DirectorEvent("success", "Started Deck " + deck.id)) except: self.director_event_poller.notify(DirectorEvent("error", "Failed to start deck")) @app.route('/api/nettest//start', methods=["POST"]) @xsrf_protect(check=True) @requires_true(attrs=['_director_started', '_is_initialized']) def api_nettest_start(self, request, test_name): try: _ = self.director.netTests[test_name] except KeyError: raise WebUIError(500, 'Could not find the specified test') try: test_options = json.load(request.content) except ValueError: raise WebUIError(500, 'Invalid JSON message recevied') test_options["test_name"] = test_name deck_data = { "tasks": [ {"ooni": test_options} ] } try: deck = NGDeck() deck.load(deck_data) self.run_deck(deck) except errors.MissingRequiredOption as option_name: raise WebUIError( 400, 'Missing required option: "{}"'.format(option_name) ) except usage.UsageError as ue: raise WebUIError( 400, 'Error in parsing options' ) except errors.InsufficientPrivileges: raise WebUIError( 400, 'Insufficient privileges' ) except Exception as exc: log.exception(exc) raise WebUIError( 500, 'Failed to start nettest' ) return self.render_json({"status": "started"}, request) @app.route('/api/nettest', methods=["GET"]) @xsrf_protect(check=False) @requires_true(attrs=['_is_initialized']) def api_nettest_list(self, request): return self.render_json(self.director.netTests, request) @app.route('/api/input', methods=["GET"]) @xsrf_protect(check=False) @requires_true(attrs=['_is_initialized']) def api_input_list(self, request): input_store_list = self.director.input_store.list() for key, value in input_store_list.items(): value.pop('filepath') return self.render_json(input_store_list, request) @app.route('/api/input//content', methods=["GET"]) @xsrf_protect(check=False) @requires_true(attrs=['_is_initialized']) def api_input_content(self, request, input_id): content = self.director.input_store.getContent(input_id) request.setHeader('Content-Type', 'text/plain') request.setHeader('Content-Length', len(content)) return content @app.route('/api/input/', methods=["GET"]) @xsrf_protect(check=False) @requires_true(attrs=['_is_initialized']) def api_input_details(self, request, input_id): input_desc = self.director.input_store.get(input_id) input_desc.pop('filepath') return self.render_json( input_desc, request ) @app.route('/api/measurement', methods=["GET"]) @xsrf_protect(check=False) @requires_true(attrs=['_is_initialized']) def api_measurement_list(self, request): measurements = list_measurements(order='desc') for measurement in measurements: if measurement['running'] == False: continue try: net_test = self.director.activeMeasurements[measurement['id']] measurement['progress'] = net_test.completionPercentage * 100 except KeyError: log.err("Did not find measurement with ID %s" % measurement['id']) return self.render_json({"measurements": measurements}, request) @app.route('/api/measurement/', methods=["GET"]) @xsrf_protect(check=False) @requires_true(attrs=['_is_initialized']) @defer.inlineCallbacks def api_measurement_summary(self, request, measurement_id): try: measurement = get_measurement(measurement_id) except InsecurePath: raise WebUIError(500, "invalid measurement id") except MeasurementNotFound: raise WebUIError(404, "measurement not found") except MeasurementInProgress: raise WebUIError(400, "measurement in progress") if measurement['completed'] is False: raise WebUIError(400, "measurement in progress") summary = yield get_summary(measurement_id) defer.returnValue(self.render_json(summary, request)) @app.route('/api/measurement/', methods=["DELETE"]) @xsrf_protect(check=True) @requires_true(attrs=['_is_initialized']) def api_measurement_delete(self, request, measurement_id): try: measurement = get_measurement(measurement_id) except InsecurePath: raise WebUIError(500, "invalid measurement id") except MeasurementNotFound: raise WebUIError(404, "measurement not found") if measurement['running'] is True: raise WebUIError(400, "Measurement running") try: measurement_dir = self.measurement_path.child(measurement_id) measurement_dir.remove() except: raise WebUIError(400, "Failed to delete report") return self.render_json({"result": "ok"}, request) @app.route('/api/measurement//keep', methods=["POST"]) @xsrf_protect(check=True) @requires_true(attrs=['_is_initialized']) def api_measurement_keep(self, request, measurement_id): try: measurement_dir = self.measurement_path.child(measurement_id) except InsecurePath: raise WebUIError(500, "invalid measurement id") summary = measurement_dir.child("keep") with summary.open("w+") as f: pass return self.render_json({"status": "ok"}, request) @app.route('/api/measurement//', methods=["GET"]) @xsrf_protect(check=False) @requires_true(attrs=['_is_initialized']) def api_measurement_view(self, request, measurement_id, idx): try: measurement_dir = self.measurement_path.child(measurement_id) except InsecurePath: raise WebUIError(500, "Invalid measurement id") measurements = measurement_dir.child("measurements.njson") # This gets the line idx of the measurement file. # XXX maybe implement some caching here with measurements.open("r") as f: r = None for f_idx, line in enumerate(f): if f_idx == idx: r = json.loads(line) break if r is None: raise WebUIError(404, "Could not find measurement with this idx") return self.render_json(r, request) @app.route('/api/logs', methods=["GET"]) @xsrf_protect(check=True) @requires_true(attrs=['_is_initialized']) def api_get_logs(self, request): with open(log.oonilogger.log_filepath) as input_file: log_data = input_file.read() logs = { 'latest': log_data, 'older': [] } if request.args.get('all', False) is not False: for log_filepath in glob(log.oonilogger.log_filepath + ".*"): with open(log_filepath) as input_file: log_data = input_file.read() logs['older'].append(log_data) logs['older'].reverse() return self.render_json(logs, request) @app.route('/client/', branch=True) @xsrf_protect(check=False) def static(self, request): return static.File(config.web_ui_directory) ooniprobe-2.2.0/ooni/ui/web/client/0000755000175000017500000000000013071152230015253 5ustar irlirlooniprobe-2.2.0/ooni/ui/web/client/favicons/0000755000175000017500000000000013071152230017063 5ustar irlirlooniprobe-2.2.0/ooni/ui/web/client/favicons/favicon-96x96.png0000644000175000017500000001130613071151301022020 0ustar irlirlPNG  IHDR``w8sRGBIDATx]gp>+;B]BM5 IpkfJfdH̘$3d'w 1`c0$@$:OVݷ3o{iJ!pSʲ^vIyNr zvB5aSq]YuD[\Q_q:#k SӇ~mĀ9F|PQQא憪a@L% kfe?q]Wx+^:8vdza̎0 wGg0H;iaVO )w`^|ÂQ|T A?jQ?lhuбV:FM}A|T8%DPizH꧐U^9~Y3+:w]hw-;AsGЬT (ol Gi2&XtC:M.$i3z;abv?9"CR{@^zko-e^o7osm|Jz ~no_bl7}EM o#gYi;B Akg ] #$pL+mw T7uLJΪA :07<2vW^%,;(tlr)VfFycQZ<=%9JvqJA0'|UY,J鮒dN`*/9fF:cN]h4*5?MPV{vU]dc1"S9fQ *0vD, X 0/Ƞg&_oL~ ^{8xEHWGW7=ErwkY@/"_[0&"V-ʣ?ޚM6|= b*ΗnʠGǥqc"Ǽ,sm3~w\HO3뉋ybN9ٲU+hf@]UM:7'9G,}mT[sohW$x 󩅑qtLWe[yP7<05V䣝|(IiK+ߢ!@#K;"D QO҂FaR(.vzkw=].hﰰ0ՈKXfRn0j=;H7~lΒI/又ÿ[H|芨Qb©SQP+k[V@o2|c;{` TN*o~ A-$ DGmT̷/f5e 1#HƶҘO̕yQy#dd$F+VP.NҌ4M`!X.N4OJI̿ v˻~|u軛Dv[~sZne7 JQEl>A'Ϸ ߱mf$~>DMYE (/%fP~ˎv\jhg%4^#sxsȧlkY>+RFbe$E~r_mMH HWJn&>CL*O5C[J]s'Tw#_;d@YCC GsϤ,7_m#=5tC? "#psQ*=AHL~\:۟[H0GMȇS̛L%@mL]9^|<$MZz[#*,KA vSy ೪ }u5~\KW9x!mM,Ű6)Wj8,rtXm,Wxh\F?".t}xW!+i@l*~Iٔl"*~^M2˖BYK#d;Xژ?ۨ<zCcxփ<9sQ"! F;^3ň$‚bCd `LLj5ZLhZ \{F/8e"'JlE2h3zoV mFPnGZ#ۄv9䧊TY~mes4NUW`lAt":u &{!8}{ vᠵ۫H?-yłmWϖ 4;6ptEG?^XkKZ@Et#R#>{%V4%w8@θ|j?f-|mnP`}﨤hirq80&#yy#uBTw*wh;WbCnkQcc!X'|+tS>wd{-hˈ}߾ᦒxeT Yqk .jWVJ\$}̺߰ NԳ-+e Ucx;5( G06׶n ϝ]S@]H  v&'6_UIQ7`OQx*/ww5MpL mr9Sw9WRt6G=?hǾ}ظ3B;}Կ#r_NQ'/vG][4h\$`tz6%+گ=?1w p,^hueK;`Ζ&fY@ۦ>+|Ig1YPH;&7z|EXzW`[p#zyx7s3 &W`W9s@ [?؄ GOM!XCzH ։I?g"I[V1  Gd>{נ&z R:ݽ>\UF _|FmZ=d"U3Q fPO]3aX:%Rr!%=^#Tz _fj3j`6k ?g=@Xk|_,[:gO[N ReȐ>6[ )3;[weMO)(Q{4H :+1#E_twOcf4a{ۇ`"$i#@6{d3F2"Y?iR÷g*V#uzzБG`ק @xfAӄRmDٽxC|0Vo=R"81βL`s|SH}=\˃@CSYm@s{8g>;sK`&FI7umx Vzm|yS<x} TWSg4y1(nzkekQ8 tZ45$',\U K8K+"?=A~뉨L0Bnv}ZdqZoA W"b6E>"<A'"8j29-b7u\ʪ㎶P°L\ nbQ!=ܩP Gƚ)<!5#̺{^m>̩8]?d,ks>leIPxW.E,4j%{96ڎuNiKEzَ 5pP2 8ũ,u:oW "^g/5]o},`.QcIENDB`ooniprobe-2.2.0/ooni/ui/web/client/favicons/apple-icon-57x57.png0000644000175000017500000000545413071151301022423 0ustar irlirlPNG  IHDR99sRGB IDATh[il>g}x_͒55MH -PIEmҪIJ٪Uß(4Z&iJUA%(aM`›o;of<tBYMX ?)eǰWBpUN&$tPѵZ&]pddwtO5R]cS4:yc(9.2$=Z=c$;wEC2@nаwʴ{Y`'=^6S}VoMx"m&F'-;hbٍ n[$FC>lJ@̶kKܡ [ETqDrGCk&gW["*jDf806I"^ˠTn͝\nb4}oBZMѕ1:TK#`!.4і JaT>D̋ҚT<85bBLx ("n/d)Lzx6Wz}4Cy>Ȼ{6 VZ"v\o(OsQuNb*Mq9~Ct~lڶtќ>V^KʥX5Qm]=tݭITxfuX"@'Gi]]4mtf|Gdi=\s1!b 3zBu TL6&eC_ bdd>bB'=ڞ1u$űȺnm= ci:fbCA! 72Icg{pK%}Fz=KTU֡2ֽkmC{H6mP?w*=b|BKY_v6QH]7tDҬDehP o*=)΍nzMzrw{^9A 6_|m ,^Bk}+ҫg ~"XxdZ>˲hD :GO/EvN}UA hn7:LXX7W@oT"Pe.{?vf-!ҭnEmBڵ"cҖŔm:a/6sqX?MJryn&C`\9[ \`)"B [`F H#~QCOr85l!QfF|4=|EySZf尅,!"!PØtQA1|[T@W[ݔʶV!BXBEs;{OpǚWI:x}s6!V۫ CN7X9cXimB QlDL-qB6EQDagD%_wrZEҒY>8 M܉Xsgk\ME[kB1'%S挃Līq*BV&U$ aIxлvR~S跧uԆ6E=ܹI" q s ^gȄ#BgHF+ Snb8Yc'dJy=J[Q|7:Ix SGk[``N|0nCo!brr qDz#5*[$rg͈ZYfNH'#exls{_]|s |2 ╲ ]`HN2ѐSmUWey)dfhGF*b`y~kCtMY,gB#;yt&a]bJX.s>N_IENDB`ooniprobe-2.2.0/ooni/ui/web/client/favicons/favicon-16x16.png0000644000175000017500000000134413071151301022001 0ustar irlirlPNG  IHDRasRGBIDAT8SKOSQm/-x(JIQ 01F?JLpF WƅK]AF"#@*oʫn8sj]83gf<IHqْ򜐨cׄB6CDAҞ6$Dv3Xچ$*qǓ%4,WDp.PB|2F+t e:O$¨xIENDB`ooniprobe-2.2.0/ooni/ui/web/client/favicons/android-icon-192x192.png0000644000175000017500000002306613071151301023101 0ustar irlirlPNG  IHDRRlsRGB%IDATx]ytřF$ے,ْ|HiI79!Bƒ<䏰쾷$d p0 GLl01lN˲%7vqg{F3]]]U}]U_8 . tEWŁ@T, >^5˫`Z_`0E]}*i~?ST@ &î MgUG"p үx[gqsnWinUqC8|O i{|C)Łg)Ur)A f{[18R,R%_ջPA겿9zJb0H]7{|Ubp@ @ ] q]]ci;1GJh@j H4l~N%z="*O[O3'wv8e /͠ɣibA6lWUJOüdo;+RVq#ӥyT4dP(0åe:҇h]A:7(ZE~tu֨ehG~ E}9@_X]C=5SۚicC}~A nܼ#-H-씧E #ڡŬ§3Ppv&`ߩ z-~)8*hJrJ2*\mXEDJxu/j&|`||zI7yزyp(.(3- 2Sidf`kSW/59AOV.&/Zv,>x@(mfPOE%|^Q_]M7VB:И{Nzsw'}XJ\A㴭0!'|FY _#VqPvϤN<> o1?m8 mWg7QyW0iU9w<}R֏~pEeb>I}P)5z?9v>4~tIG]3R% tUX&w1͢ΖҼ, a@I.4?zfa)J=kd/zҰtzpN9e1)i8<[#["ف!c,ĤRӫcM,Z#Gxء4em=lBd^}$MBqx GX3}t1-ԝ2veT99%]HJ8.R<8&s-mPZiÉ.*JgwkǹCkI)طMOծ[Q `%rx6nI)IvYbgQ{O}1lk:G6nOJJCX,A*df0Yu(wgp΂Uy#) qE*jZ_{F ;W$ < /_}XMkÜ]R &#&0ϪMtOWҁ0ūGW<֨zS .҃?~L~[`: f~2cPA{?&~nZ+,h3·-pW!(NHyQm'jcl /*#)vVge LI)S48,g},!)5૪e  ()4K68!ݎ~Ց+.ZE;oѨ NB>UuѦC{aߔ#ν4FL)ʡ b:YMˋbK'?jJFpba 78,pVI8Մ1f^`;K8*}.~`u,j]+2fM/-|si칩QUZY+v}%ro &8#V!bj^~}jtP'sMc7=nA8G8ZyxO5_m{D)Xfqhj3[do]RMi)C_ pNy}P*ؗG޾8\ßd~_՞ V8=g_#T4tP۩aAe]!({~Uy1.SQh]B[C؍:]MpH pf elpjg}>ܟ[UBe߄Ύ4ttgW[i!Oǜh±#”[3K`V2bgk¬m# {P D&H=^_E-*Ma=qB؜[hfV QB yWY)YbV!&4 k<TZXXS36>iSƟx]nz,c,_ۭSF(=DX2ihPKlc+C KV׏g،Fr4E.;zhI;}V0@RIAw{='E=ɨVtgpw 3RZ}EߜQ* ZSWV@iM]\'?=Ε,F>8aT &v Y#O e Cܹ~^Lo,wNV60B<ɲEr4"vyrzyY:T`@4*&hϲ!ٌKyw¡^SuFQ]/M=,B0BNgzdǺD$E56\k0o(d~FX^8%2ƞ:x xa 莩E jĻ9l3>=ƠE!nk Wf½?acf0h@zy.\sz3*nMp>|{Ky-u,|;x/V o,w`?(t53%l&_6>֑\Z_8-ݟ-W8L2A`AM@Dx![!cڌri'1ȄZVd>/fjn>.,ʺ"yfjLΡ G. מ}7C _F[Ūsk/X!^$u<+Dp* [=3J"""D'ZGq0&A9p`$Z\q8,١%b& 2$MNy@ Lps*Цʹ8AIndCzdʸd Id7ZS<&?԰fz_w+NG4s:}'"R! ձD83-vsPm1*90]Q hϳ@ rREz˷wVװ%LP-ʦ:_lH]G"uȔS$j=a2 {M{BqLܺ{nnk0jq0^Y_97߀y@Ujݠv Mh]rMAğa^4Z~.V,h9A `c#%kB17 v;ĨsW3 >Xg<ʫAhCA)?A q27^N}rlȄȻ?|V˶ywv+/`$ֆd5 c cRq7p׳J:}QZ=_E]%;%4@xΨ!㹞@~KH@t@,g>ǫ@pw{ 蜑9F'zs D<V,%Tد 2'=Xz{nvX%o'úW H= K5[ rb0S6AHքar1}qiG>z/S٪M+3$KSKZg,7$}!1NxkBHSd1x8}* 40]2|>@uh:kƏ-d2_f\ݑ-F쬘a m*\wwY;"wV7}m}=qvq¹o1 јDw/ɓ+=8`q˻Qk { 1uq9{zZzV¤C̼tK3}Rٮg\|=Jye] b2p¢~k&+lN~z&A|*)CG1V xcP'=OeEAϧ#p~'|"='@: އv@3 萖1װ}6u@GK}W+O'[_U{*M8)r|豷4GBn0E"$F hkN$x{=ʸul J- >{|'ጆK籓D˓EK|YÄ mIRN-#G.-'@6ʸ@`dlSD8[(qUBWGu2?t{F#Qqh+zn./)*;9u+ z E<bK~33.%a;9 좩袢syY2JXpOƪHY?;0p%)8;b$Ap^=m趗6w(mb݀~*#[2NZRE)ǻB"N;!ṣC(FXgـ}Ǝy!>Y-ldP;/QX8 4f~^cS?8Mآ|*4"|R{k - [ݤD1!/V\}I)PvXJ?#nOd?^]W/uo-0K7D@~>GYa_77:2֜hx =#h!xބ`g{ g3"[ooo!0xT̯[`SXɫA{"T>pkooSF. `f1.̳}D x,-nr}][lba)EfY_ \ >8YY_ t/ []auC2Na?d:#IsXgKxp;Ɂ<atޘ '|t^%nk.J*YDoM96o< j$Ek뭬v ioV#T*& d3[|)2N/Jd q`ɭF:͋:a'F@2/i+eLx"H y,-Ǝd>7& ZN$lw_ ^ۛ!L94s WDzrȴ *?rHP~ %xx*Sh[O~Qr ܡZ,a |)p[ &ϝ&h bE0-HLR,gONK(,Dw#hUDU,P:`?,Y*I?/[t%1;IсCK,@`S)2r !6[V%ehゾT,u͞3+-9|9D#=[E6x/ՠgsrnEڽ¸]!dzLI9~ wMP7aVOgC 6 o5|"}` ng YQ-v mK5Q JB0l5k`UX|F LBf>όdSClS7[xX}VXߙ򼲺-j59狿sT+#/;&SWRGU$N!kBZ$b%g4mavP-Z(X6i̇Z.v ]  ¾ZEV k,V#Q'U*bV =@¥Z7>JƠ'8,&멌K>FMB)Ar3%`@iy>6Jg@Vw}J* ?%yq"jP&{}qZM)|jy-B7g%<Au'qN@wjf b̍ʫk$ >7TMp$Jx.h rir܉.=P1a<Ƕgfa!pIRCeI<*`(tu휸4GL#8 I\`<e<P0J<(H1S-Jld*8 LF(3b9w&d])lѩ[TLq>-* ))@Y>(Dy+ӷ^Z]U`@EUsr~01q-$QUj;d2/8>quyW/v@/8:7( Pq0BE1iMIENDB`ooniprobe-2.2.0/ooni/ui/web/client/favicons/apple-icon-180x180.png0000644000175000017500000002172413071151301022553 0ustar irlirlPNG  IHDR=2sRGB#IDATx]itוڅ$"]b5f l&68Nlgdr<9 _?O[G8BQOM;fd4.WF:xܞStl=T}NyY@Y;5zMJ]{/=#Yj7qͩKrh~;C=:#L4+NgQ}b<.@y!u m`(Fm]fִv68j'32n(sIضxn8Ox$] ["wםlth' D@k`SW8I0-}8WQq_rV>ETt˵Ld +,z=6zdmw˛zE517 5V?~rVye%ҭ {'1c4fҭ`_'՜БfYngfmkZyUe7X#t %ɲRK /jvyҫ.j̲ !+*H6\F:Bxf[ jUO\J֋Ѽ1wvT$&u _J2/8 `GQz';E=fo&8d^:݌3(eyT7@X&T@@E⍢/B:b U9>lY}ӥ9@jquV"tli۲w^V <1|c&NLPa{9'IN/(r%`"UOq!,rwHC4vqx3y!y W󃆋wC&X8AM3 unW3wll'.^/Ck[ 'ǻ-ZDrwP47޵U|d)}UfLqѶN2ɒe(p1^x3pИ$7jЁHypapTބ9>|wD3sq&[:A`DH1i`՝v1=S5]Id8k' c@MNߌ6bfƝf_]j} }w!_eaQD'Q^1ek $2n{Z4De$s8[+p&JQF-z]3#E,x9D׮*Тr!8hF<Vz|@-z}#62vl\A|.axz U%$M@l Uj[bjo@˦7Ę hxӲ+vM8+@3V߾iKLu_c tnZ(#h޷U m5P"->dP[GTXvC.(Z#2T&Ά0&[A^\(60$WyY=) %f6ý{ ,&C(5gY(<p%2p*4=_?3|/|YAkwql4m& 'k=XMy%Ɍ N2SLkf9qJ?Зj/W?azPiqcpmL9c}: 4wځꠝ ;HWl%eJs-Y2F?{r.-C}*DµvG WC=sN~NuGPl w,V2FZѻ?C*۹oVLO0z/ 4q0L\֍  ' X]\'N\k0[IPfʞ*f}@1˟yiv]|@A5R#Tæ4d,z/t[$ 4 3N;Cs)e,T~¿(f /ycɛ;kXAXL-^ks3(vh_xˬ〙]7aFXE\KB U,Ok$jיac6lH#< Z}}RB ߿WgQM~`IIg}PXYwq%Jy7N*o޸n~εZ9^UVw1&Nǰɛ'huyW^{uXxԾD |i'|/nrm̨iIw0A6Ž$/z?3+Τ.ohh<V)T= <#,ApBr錨Z+,ln@v'eә*xl.$:aPg.قu6~)/34K#K7=^QFjh*wxc,t+ &\V#Qr\+2x%j&0֢Zr=e/kX ;zP{x7R%<kɷrpB@S?:5OȀ.͙t i639"Zyz̠Z8 X\S)Ԫ"~t؏i"C HFL0"U~~|`jRbVw1h9e -6xbJcS(+%ރ2D 4Vw8S-PʂΞlϹA!xR`~WiPV+*T8Ҕ_ks걈hx`~ tzţ ;+u2Jgv5&=ùmD4{7EiYVt݂ }ɹFWnj^t>F`zBo=8'wNɌ-Tۆ@c̮zj0M |[^x"!ԁ #wo"J؝xMX 4'k"qN/lԁƯĺ㩈uHhD=h@+@`CvqI"oQvz[:R)D& i|kXXR>VuqE.Sv`-KĞoJ"l>;M.R -]Vewe,7@k[QQC&(l[&AfZQJbZN.\A[8ϟϗF3HȌ諏P<6:4l/tϹT[[8e Jc[^6ۏa s*/N +).w*/ cT=sP/oGyg7Axm0K/WfՄx[a , 1"^Lپ>,ths8p.ap1 ';z qz[ٵ J9@ ` O{iݜ(@7p,&" Dm |8Փ;|r]}# G|/KJq״V9ULʲT8NhD/Y%-.LZh%k,DNʁ$XB,d/oZBhƵShE~64ʂzjg\/Fa!Yj`U,PZ.os"ćh*lN3Wp"fF.OY\%V4gD熉yE¶fdlc}:(,,&ɵMбpu?G q `8BqW:BN"cmtd(7vlq=xIyn&zߢZz։k)Z"UgDa#`u!ld0qfe+{3#M2dCsP sQPg&],:\\cë\kş8 $cm2CjVQ F.z;ۅ@ ':*cbQУ}( Y깢p"r<5eʭ]7-X{&}·uJ wa'#QAVVx3wAm5,`ueJw\FFۆ@ #lW-,5b{S"[T]srÞSr%X@a+`8V?By6:FHG;|ވ͐:W0N pex+Af29Lq gEAF_nY,|P;ѓqd52\ncg8RD :i C o-JVG$$~޵guc~y~1#5rIgZߏ~uQX9ADus } aACsOz0١ICCXM9K̖\ G)lkZzo>*2C$V#G4m#;W̐L^IV@~aw4#ff$)Pٌ33һ+:gn1w2 ̊>7>SwqLBlbJ[XuuXS@L *DSͶb ?l#p0񃺳:g=X W52%r$4n@` \9CpL't'hpuh/ௌ* 7 3zv#nåsh~l:G: A8,1{D@#![ȥ,NrlmfG3őu~+;-C=E}ZA=0rv)Le o5_;kfqm9u Q,2_=ԪYD.r=s/[\=B,"ZUf!H @Iф`!\ -DkzNRs tП2 8 ws!WCnqh=B@ܔ+zqυ\)sW 9@G@ Gt9ꈦhI<́G Gf~w8?la΁}*{\w*aG(J,]#y>^(qՌ0c_x6jIENDB`ooniprobe-2.2.0/ooni/ui/web/client/favicons/apple-icon-60x60.png0000644000175000017500000000573713071151301022413 0ustar irlirlPNG  IHDR<<:rsRGB IDATh[ip~+vWc]\Tl'q*?RJU~$$UJ 8MbH#67 -tJݞٙլ4Ja^{}u4Ik>kR1*uFA6D{bMaȼ:j~%^z6e#Ko~f,cGD0B.snLN),&2"mÞLGfC*=mv((˞1..p*zI=fоs<-l63q7褹g?NVJ7YGK3c{` nyUQEy }VG+¢FѕӦ̍V xɊpmQ-1),T`w׈ߒ'%'3Qt|q?1iO2my { («+R)r KV=Bc_a|v<˛MX*֘Q>>OUwQ#!SpfUfdM<'M*?Ǻ:ewg}y|%i "=**I+2U ?G3T4STU淣ũє̎xUd+źhbR ]Ь6@gvLQsﴲZ6 uqۭ]T|z^398#:ϔg%>z|=F J;tJuRVBo -CB/^~opSېsb~9 ~] :kX|ߐn1t._m_gTct3qIo;\C*U S{SI -LS 6_nk]5ݨ.as4rȦF^dF]좂x'UvRu\.eTƎLL[ǫ v ^#2=i]j Qsaz3m)IdE Z}P; ص*',d8Y F=ÁfNUI1-0,(aź}ۻ`֠{̥f8sٗQҖ3h͛YNF8 fRY!W#\ax7P )JX[@\>ØX6 XnO% <3؆v@C̓b^X2lm5^ڔ]7xƭ+T+Xc@ Tk}|ؖ*r”pR`_V1@x*̈LC LB16fH͝A8,Uq:B`I]AUr|+BA+'kmBrM \_>ƵGdG^Œ ͮ(y^m 8+&QU7Bb-$dhlmK2(epN ,oҵb2gL#-)zwEpK46ǡ }%-J /!c,}[LN4  paľdYͤ*_BHJbsa8t=SCD=,,#6QfK< ͌XaHXtw}.phlS*c<05탊rҒK<+^*ە=/mat\a\[U!/mm>%m<-}#ʁ14ܸ1>pF@\]wG=4^TD rpkxX 4Gbׯ@x*9 ^7F?PDU"&kDQjg,?:"FreBg8 y08= kX{x&;F}}n [z8ۗeZjb sql΅z]-]O8!^.|pYʴoEYIV{ jM@ ĆǧxIOΧ\kq>Il^[Vќx7ѐB%`d;8|٭Ѵwc!G4"%.9,ը)==92 _4)im}sKbebxj G8b඀<&mFzp?9σeJ2#?hd F7~C=ǫ:G- ;UҙyyB a .muE)b9Z22?\BY7 K3}X,,UKǙmr#IW+T)kn`Pٟ6{C'X_,,a^\ )5 (?4L/(NN-p#3ޥdQߪ_<}$ >紙}˥AVTGVw]3_(߀: |a|2a @ \CdOﳃ _|b%SlaY8YzR臩/"0w=l&?L >b7KhO@o)EIENDB`ooniprobe-2.2.0/ooni/ui/web/client/favicons/apple-icon-152x152.png0000644000175000017500000001670513071151301022554 0ustar irlirlPNG  IHDR !sRGBIDATx] te/@6 ! I $";" (:vۭݣ93=˙3gtO;=NmO6˾HȾ 7{PxyխzU^Uޫnw >~ >?ɟT@ woɲ]7OߟXiQ߽7-,Ozn 0n'~?-Wf h%3`Jcp{t݅ݐW0\uO@җ@ {i{fxVN*f@c[eTQλ̀o%xz.Cs=$LW x f|'31`"gc0s=)1>?':5ȉnj?uN=G=NPf IO$=, RB{G<8[ZOЖcN8Μ#k?u-ȌWFGf q~4(%a[jiŞ:b&%@sKilW nӖit4hw7PuۥRXDi ӎ⦍~%?Non3=xi3A^:ܖM\o>L+V}[s5vtѽ3(-z+s)Vu$=;֥ګUޖv7u rJE*j sO-'{n:fԫUǪ^<$j%,kQ+_S%P~V M)̢l\`YOF)=n*ɠʇtK ]NA1Z^uYs>{­xRx(jDϫQ-1uG[5U[i{GCMΡX:?WvY*h :Al /R*r *HT37 ~}h}+5f֎.^_}Tse LgZXh08 ~{ 8 E(?2&^Pz-ˑvrg0Lb5T^_p WBw g8x "aVlZ~2]XCx+&HhkGkhJdƿJkuI| iLrZokYyA^{vwв'f+\t%H9fW=~crKߖk$3%QtRj2s^Rz|g i+r-H\$~9p 85P 7Fvpu+rL GJ 90#]xľJX=0CZ_+Pߥ&V.jGW0XIeUpRg޷Lo: 77G .5 enzsN=G鎱C–~4] 2(QmAIuU:{k1蟴[pZ:a\92-ؾҜCiJQnZ]I+ح R`Vmхa=YIq f#V0 AA|m)ø Gu|U"R!ɮ.P>ժ:xIQS>L c)`` hab)ը@5j4x jRVǘ^m``_ tTIN[Xa~Q޴~YOSݛxF0Ѹ9jN?u rI&:{GiC%|QOW]*6ٺȫV}^l7{UʇnvŜ XUt?~~b?_M6,[tV䝃?jgVzIJ׏N} 2/߈fL 2W yę[[A0Ok衏H Cy 5`X3h8c5`""x1XVV"3r[7+lqc1m0}mUTϼŧR3 حᔤB`h$Kk\^CW2>}WTꜘB8{$>6*Yy>¾r^+%ΆێV}?U7/}H--c;A iԛMyc-u`nAz`ޓּ@GXۮC=.Vd޶K v; O}`Uw=R-5ADJT@X QZW-( hҡ4c˙lΒ_ULH;&@Bc{su.c&V)8!G2*:#@&zagHShɴBVV% ~{gEOY&q|d5j5 ̇\ɶ ksº0)@*r{N$Ѓ)/C~ķ%|)0r0̲=MxJ} - l* #B7Y=ԇH=LT@/4AebX ;[l- Ӹhrx$T9'p>p4dp¦UR;Gt(ξӋ~S`D=p}7{f'ta:2ءᷔE"B0ʖ˃a!X+i6oRuL41X`ZSW׷uk awMI?TcAHg%ᰴdLaD R RLjx54̀wOS m`!8Q65m_+XEtu2bo6y"^&>lv,LP( +Z`Y)^ij.=ixRȩF]y,e mluQ2ׅkas]Na=*t;ꯖ2V SGS )1!"Usb)#<B txuC>FvX=[ 6Sh)u#V=nmX{I%B}?ϕ͗ 3XK ه8ЛkMg2D`V qB" Bୖ.$c^#4&Y}P;U0|?Ǭ8k4a~ W2:M\Ɓg\ARTF]67ZO_ #V~ [=r?# 4 Bj>4@Zt]>i}xW#Cf30z.k%55J^BBc@\D>lru>Es:ĉ[4=qhG/N͵˲R"2j8H UΖ Ü|/D&!y<,&>U0uspqp{@q*+ m`h !d^6;N3l0k,#ib<_5@c=rGpYM2dbU&L=ӋE/j $z{k=\`6pTLayV@&' ˙3R>J`\]zۥtPr-L%~y#̆f~B-׃p&BUc7?:wL/s{9E`?_PSHcsJ*R={`NgPVOu&Q>C 9!=$W,Н= 78e$mYmk3aFh%SC4*VkL) '?B1g#]8/d 16&C?`~I1g0 kLvy]SNWp1y)+8Icf1.vӁ9V"'jU SND*hP0P)Ї/~pl b=ZP V['$?3q`NC>C!>7Jp% XLch<z8 J7 d@]DȘ''qœm 4^s22`l ;hp;8y~Lov]BdhL`bi3},u[cqJWՑ @Pώp]p|ڲ^8TJ(uNP*{8& x/:ю&,8 9!IL4H{Dm5V`,-\ʩ aR*by+fl+ >`x"$yOYLm'9JZDتUuQ=9x5Z9n{W7˞cWJ51/x  @fCc o;/+&ÝU^6wO-y*8xñuvVWDl5/G؊"r[ncJ=Yq˔=]`+G;-bI~P/fN/Sq;YawEП]?~8E b:;lj`U Fr ڦZ.`F$Ukl@u)]`x5`qvh ku{МQҢU;_*ŪP6 `Zʲ:j1U@Y <)JǦ AFj\^W3Xwn G wYVcM/MDR*;⟗ՕJsVGτ{8eOv_c<\y<~3s:eȤ#Cvd׬/N g@z "ثGl8]N'Ǭ`P-SK 7Me6:b[}3iQ }߆;\||#~GP.eLx:f!V0?zWHm̅ pVW]&ahD_^_cmns uuЙSYBvAگٸݤ+>&D?!s.LaN%0oK[Y/+ɋk4R1Cq:Jd>2ʣE%FcLEDp/m]Q\U>hA軐R40qEK J|?޾;fT&:g˔3%@p$Ɩ E%!&GZ y&e&( E#V2Z 0\M!^@SƲd iIM 'p:"חCDc0eE1vF?awm)؉3ޘ[dIkpwQb#Je`Nj`hQ'2ZS^,Z7ru ThJ\gvv* ]3F)*EF l0ƺæ1}7 $$d 9࿅m*#N'G"͘l^YӖz\#CKP.(ϥh%Se`2XFiW0lYmu4iIXD:Vi?Jc ]>/a᪣EQՀ|Rc*uqVslaXx?`Ep/-iP"K# zЏi,Xw -ɺxVa4hSe+Ӣ oњ#~``%^(KnȍTĻc\/fn͑cw+C.ޅpZհ+L5D+}iݿ4bi}8ҍ^s>]^r]/alFV+G*36c0e; ?*1(3y 'JRiTɣ<~\E NFTɟ/}o}/]dO3Qz} >I^; ~c2-^ϳvzL5`o%ff_zۥfx NGaR8~N&][0ّBHϷ;O_?''K􇣵TN߸:/gU*0hg/etݜ#܏#XyzW9}V?f'w!8}稦ˎ  *bg@M@6<:bumNv:{YL7D iK/8 T|wAD0sͻ3|$PD0F۬vdئ \@+v`efv,/QiC;շ8j0E]oyĶ@)'%6QaZe%s؆;vTN^G%석/yBWۺ׸hR膹uzDOhoJ5p'ѭEiYtu#˩C^s k_Yxɰl+QhEòV\tv0f(g̥o/0PVN?(O2ӔTCrrDG`KWmǮfϙs>ehk[BRZB|FNֺ0POh ,e #=hFj!yd2DoV|[#sY< ~n贽?O:W e%5]/~J79~y"ZP^niCO\7 /TQ)!PTQz͔39XW"B25_MOW*.*a˰@ЄQMbz扙xkhTa"5u~:Y|dc 7k GdbPǎ bC"P2DT1F4;WW%#zK`qTYHTgmvMO%=@f萇yt h2z% ƅǫsډ 6`Jy^йVjIo,8ɥ㑬`SL$bȀHRl<+BX29f.D4'3Eh%ǟmDM^GY=JᓈF59Yzv9u1V8P09KmޞtA ri̅NVscؔq_j_WG/:T8LYkc? >d~V AV*b J zx}rsLmN~i_=rz#MJGU*7Yy9ȃǶsQW 9ASb(ͼ͝GI.^' .N2Q-/ Z7_yW˪o"8PO/faF2J/65^W3 iU@D!bG9X<=uK:i`lU/{/?~h/zvz"l³~Y:NC !3B+BMgMu6,]A+;A\Dvo~R= %,!'!hguB@y`%2ܣ lS'a)(: jh_:E89_Nr.?쮡}TE\ F45LCEc$b#xoA)^ސj EPa:'pb!ۀXXŠ6g5}5LQ!@~aU-j g9cuG* @YFp9p }Mr\ 4Q,h8!Dw%/[jOBg/HϜ j`iO(Sd^g8d>l+}Zbr^UgG9ǗtܽxXyv!ݽ,CMįc Ec%juqoSJOWd WF_yzV]Y|;xYjEŜu5"ȍ[A@H-Ԉnb"`| u s39:ϳck@`[) |ﱍ6M0fIo9Xc\-PN^hlѻB1,4aFe]me\Y97Y:REqF*p-NI_̲bJg6!͉X WS!!ک ԓ)om aF4я6etO#q{M U7 7j~ <2r9Sx.B[Mdž1LB_='J^:i2f[~8&ۈVl9[l?@0}0S^d3S^DRhOkH 9(E^vpq"`; {ًNF Tأm/,!@ؽk8  f߇} $ntfP9$P7a;;nd藳9,FL8hT&kHVE: -1fyA aWj1(;I_c4.A7mmʆ0{1ľ$Qa&rAu;&0ҩ aB0]*R2Ӽ!XB˷ o_\ {5]~GT]u.N3eved%(2MW^?\CFLik0 _>PN  W𬈴Pұ9Ӥ,9^ ym]YȭxvGtUWND[8 z%V!}t!'e?hWK5PBV D;V-̷3Ѳr2]KFVrͬzAC!dnr04E1N4H-}Eg,T`| "Q_~#`79>f!;1I 3h#IH~f!K7R -fV6b11Pӑ  V̚df{Qz{dI;.*gV,=3V(iD9E» 9pU+U ۂD39SRFM5n!E]9s ?0 8-%HA:+>QNUlCқL\K!ƀ:kGR,,e 0 H"]G۷] f)lH;vPL/ջGNm=f1>@a?0 "AKG:վqRsGWԧ+Hv0ZxzME>rF>WJm[8t"b^b=CfQ7kgNqDC)3+aD0lU1A^vyIP >> ª}bxE)ѿÕʋ]{}mLϲ514Y=ʦ,0_; oȨ'l#Cj^n<*]Zk2;XnZf_*YmX0ʘ̆f'T]@0v[0RKi6pL PG/~c EF'Uɚmb*Bh)RTzjq!LW0/Wvv|¶(2$fʀ#2a@.eAD1-ppNQqZz.\;`7x[ ;؁O$z,DmEnzF{Dmz3YH@v Vd,7 78H}^e>vox9yr2[ ĵ]/&`W,0 ߽s\Ke'0C@M/Dfo/1kjDDo!^ټn"c "dzJ``] W+]K8V{xJ:g fɔ;PlYPZD6ٶDO&Oǩ۽Xd:ߑkoOWyV1Iq>N6ExG/N"X-kU8KJEQƇ3V7.l~SQ2 f | D{ ZE|yJ_g;uQͪ&N>Þe mn^}1z7 ì* EOԠ~/=a&h_WC;BP [R3W̶ U-q|X li|04צ*t!u?c?y(g" PP?$\FW+!sFז~ՏZ)ʵ2-#g&c{7~ S6i2%|^1>n83Рb&! Ka 5cB.=` / f;Blo}'$ N k+@Z h0?Z[qQl;5*)2! afH$u[%Y+p*FH2 Jz,)g eb/hM߻z}~a02`0;uB*ϴ B  -@C c+yZfp7 8O /儉ԟ̌mk#E3/a1ڙ @nVԕKh`) $//j>${u NQ䰙aԵ01 !kf҃43x9Rv|I$!nc u")zv\ M q+D4#l\=Dz2KfޘV+/RKߺdӞ$5EKp* P`{¬K`*,*D@ִaA3OT] %eM2)9Ӛ-৚ȁnMkvk[Y4+,&m<&{E4WE(=:0Ala`$*Hci")j1 :'5a<@^6F#2^*Ed~|=*I-!l9]qݥf ^MU(0'ACBVCIE! D޿tm/z'4 cS>(Db1D{tm1b!G 嶧`>ha1yiok#oOw-,gvcQ=dJQ@[<^foTt9c#N:# (, )r@kx-L3ŗum\IA@1yWܳWz.wRGo?\Ξ~$+ɉiʤ 4wz2e$~Z]Ӡ^:^Bg۩;tzZBNvr>li2؅IqAORXh{g@-N.NS''%F=^?PIxN7S.zhU 4\zaOUm%}tz(PkWRO@.>Z:eU(^eۈ;+Hu Mc|u`neNU0SN0C%iܺz^1cnguzVezUX >bP"{%^a"\Dz.^FWT}ߚ5=]v4'PDNOwӱk+y{\ܰs>0H+RW+Q&4Z]0E߾xGӋWlwt8z,zdT\׹;?76iǿa,^:#Uxtr[;B@;@Դts9k/rʻgҋ_)-7 p_;F>D*ܰpk%ʹS̜s7LUb[ J9jB KvQ 5^HIt*M8A:XERKOdw v6g˛VQޔy1xedDZomZʣD[6$vټ:hs\\˨|dLJoD8FF6t[)Tg9QvEf9" ~5{EWX=z(7}"aCa{Bȩ,Hih7ww5mOky0$>Dn8P\C𨈔.@H-dQ IXGpֶR؆g{㿾3^K,W&j+3}z_q_H-8!/ K+ze0cf1ar%,j>n%;w^!}v&Mg ׿We&ۃa5..ee%-]},[p^Gm~;פq4!K %<ȷ 'ٻ#긝sTj<~"Okj8a ŞFiWyеbӁ< vQ;nE~'ϬIN;#]pPiy!~c'y"%,waD(|8U&E +}0@(nEoeFqRw +DNh, m3;d_KA)"-¤h7q\1BS:ؒȊ f*&jl9|U0uvD/zK gIOa0S@̙)S'0#L&oOl6(㭺h;B.)ɲgME0QcbVFV^+E!|Ut`TqA3:0IpsF40#wyώD9cԶHbFgp02{/f .]uąCT6~BTá6]K<[Y#`EϽm06! |د0.zrqs,kzbR*? ''ld : /XSdޅph`8!yuM I \,6? s~.QIENDB`ooniprobe-2.2.0/ooni/ui/web/client/favicons/apple-icon-76x76.png0000644000175000017500000000737113071151301022425 0ustar irlirlPNG  IHDRLLǗQ+sRGBIDATx\wpNԬb~l6` c l4'Ø`(IHe2IdB !6dpA ɪ.]J+ݽ=oF۷}{HϹWŖoh!($K`⅁4;xAg U]x4=ChuȜEP*dGKsst5k|Ǧ[DqaAITG QYѷ "CљNjsu;m-K5 ~ldb]GɱT_TV,;aD>;dUŗ Pu"iz&ZZЖ I<`#6XJIX4J gG{jvwJx͊%{M_6DC>ӎ;CmįZ [iƀC3iDʉ]]nzx&fɧtunlU*zhzzFE_ɢrrMy_', @M8zve-SӃx;(Ohӷbㅤ-g:K>C(%@JblUDѿ.Ҁ5Tg)ҤHil-25W6k * 9V.jjk9`]CZzma!BT^WQS Pnk(#ο }|r&̊pޱ倥-,ruqEI;bXGuq e3Zp92L;uN}0l{=I%jH(c ]WdQRIQ3NCQF&_ixќ 7{R;-py^e3,5`[ $q{K5/.޸pnv]ӓ48rip߀y}N uE)"BKі7jyۯ^f{s,2rPHRӟr^lsC;L(H0} ,Sab$qSSQC?{uAoV&sU~*//b h 1)|h,r Q廅^&֝c~+;A[-+iL :|hL1]Z%t!"F[9&tt燧;h",ܚHsm2mJQ sIʂ;ʜD _4n q9۩[ISjW;/I5xlx% SK}b=ooX*q4e A͊)zF&hF5s MQ5x5=`tɇ~oM6^LQ2 XI}rYh}^;FH6V l5h!2B[Y= D_PDWd-1e־Q6/@Y۾W]3V.ZҬ,#kK(G)GR*ԋ|ҼQ deo' c6@p,W{GrMQo;00̈  [N5¬zH& 0_!l%B3j0ʢFuRõ>Y8 _od_tV0w@TM**|*u_ll$(WR0r3@*3ѧ5VєCڂ$)ȑ0a#V6Ft9> "K11:\z NidaT?DCh}=i&7}bs(L?MnBy?VQ.l:wM0gwSiiP/ʲ`;z8d[7Hs4 Jok/ o`U[v1JPoͺӉ͎Bٿ F_4']qI*D3luv<; sGˇf6-F$3Te e>zG60Uvjx]֡Z٬}veIVtp0Ӻ}ӴL㲝C[سzRjx"쯔#c-H&O G=B1id#j8x*bV`# 8R{q8"gCGGls}@nL!gdv:'ޫGCXg˫l xzv~-QGt{ו٦3Hq]pJ Ǜ䇭kXXlEA呟lVXB^ӎ}l{hN6略͕ d?`urN K0.^uP ]4+@ndrTm.RCBY2RbqWg'6jQ&8W l՜b`[2B`GM%oosj'%#Qwi*[қb >g0k0mɋh/ _~ a/:ns@|fh*Hw@Nft|eꀨڙ [^ Y!0t<ˢV>ȗw߯j'#0B h'F8 0tne2)zy\YZQ׃uАU`5>odJ*5Y͟ݧ;U++`̡\H{j_ #(94— *t);{fM'3 H y_FHXVHK ϯ/0ZxE{y\ů-|o%6UD!˧^_^&+F 9̌?˃|Ћ)4֣2z^ :-zpPSOpI P OetvU ·J&n{p{kK̫dޅA4gs:+Xmk"i "|)2yDfe-G>Җ !gɔf7)j'2`]>Jee6b$=KCgQ@,*?9kXw`BfyXILS,?c#a7wJY={iz.,\ie??tGy&IENDB`ooniprobe-2.2.0/ooni/ui/web/client/favicons/apple-icon-114x114.png0000644000175000017500000001311313071151301022536 0ustar irlirlPNG  IHDRrr݅}sRGBIDATx]yyޫKke]v0T0T%S*SCqrba;caB :ABj%=f5y缯J}3==MwCznzjRɆ"!y:zvFx_|2o7<׼޸cBz GD}*{=qPc$|zlK]H$#Юª;Lma&F(-ϦWQ'hd9u1T]e6&VDA0Q5R. x]td(&"]>aTDOt9,t<*ĄC'%/Q N)18H[?ͻ#&/ѩAiZ>NL)<6:f%ӒTZBp'OjGONuҡTAK-ͥx-JXq餏v dUtlJ@v3u`k}P;>jq1QtϪBZxl0cqoyzD[.ya~txU$_Kw(}s] E33q.'G[>}ϚC6Y"`vr5#B T2 ;x<Ռt[g&\1~ooa +"kq.aCqspD`3Vjy&O,o(JI˾rq:6B{MvЪtJV+,N#8/Oᆞa{"@Gf+җ7 x{?oS~19.>_Mďsq~z=خ ^8cbX^_!B!tϚO޼Pچ \Zk;a|5yItjzfS^^_@G]F+xˀ} )۰sѕi7}[JSi(?ź]$-v?6\:{Dۖ](ع:FboeE\E长(shz/+( {KUflǾ.#X[SLeˊtv敡n@Tѳ[K.e͋\hVLzspl5X:}}e!( !uħɴ<{qҨ1Q֖;_X_s#o,IW]=Kҧ~}iu^A债lr#LfeF}Plwno1DQxbucb60FtҢdZSjR ;BlRsv#S%J=.P&u?Fg[NOZjRJOP4cK;ӣ`xqtFQ\&LYpqԉu۰ͺqĄ?sv#.qcuR 3[^Cl5BTFt.28+:Z5{QvϹ̗tNlٶVL2`i5UL[ h.AsGջ F75rẾJF(Mq*="kٌ}Nz}+,z9's6#z?c = 8R|-_ݲTHo #U5ϔX7i]/h_CvTwOmwUڜ@g@31sEv*7-wLazjl^?Fn֛|E) j]V<fpiNf$:e1{o[++JCto $j!f$:^0кT$Ŭsg;f֏3rO]cF?~GKXqoORMzI:i^ t|`mix'>?m J|Vb@8AOHu_u<=J@^rU%É*2i!&Q\o,%H2 sxOձs>h"oʢ9B def&Ъ$f+2N3TV-HLZM2C}\"(2tDz9'vV>0Ӿj/:t6_0p&]UZeqzA?+G§ <&6`,˥Ijr=saհE$oi@a?u.H'xK'"r7Q kcdx!1Xك5u.e񤃿cI6+B/+EsXV%vUE16Sx]/["µ N,6PvP>8Hy2TIq1K)t%':/ဨ نF?6s|VN9EX]҅+ۉ 0rb/8"ˊ5^3m6c~sДtN;S:H!h^{QoxkzQgU=:oߎ0Hu_3 6{Ҡ]Qec 8@o6osv޻ NlNcCM/K ؿDQ.l~hMvbɛK4ػm 왽  rojU/]裍lI~ϳh^o!2;16 _SWTFv&Ӿ9dp8 !,)>O\BY]3em[jճzí޸0l6#Q!}@TGoR|QFrjg BBbbxaB$O#lt'uop\#~ rli;WԷk#v2e=b^[9X4-hwf28%!NK?:ɑFH&#lN)rnW8:9ȃaۂ -TZKwSZ|m1xcxX(\eX噜9Rc"%jRMX&7-M1Mƺߎ0 v>e-pU9T`d# )e zRֆOMڲr W ԝF}g}֖%.*/Ӝl6-KoB?0 S2kޛx%nSF>0S$\_8,`dT-oiĬ!HU;Kuޚ_w% ׵z #@.a} H?մ!?c(OR,,>pJA/+b8CKB,R@ ZBА~ Ravd{޵ NJow6l(]@w^?3.?]aefN~,UQj!4%j'\HBݜۡݽપ oLۅdje'\>)#YSjyXoݠ"Ru6f#0"G(λXB_AK@68C(sf&|`[b߼geQPs olFe:žs}39P8=+9B dVu3|FBهu `BGLZNoXk>B "^7_!jALŲ4ZNiFUHt+Cط֗j7hF-Wh?+}pLgO?ejC00X;5WPA1X}T c:>ldMQ0=Ė6*C EdCYf Ap߰7E/a02לjp-3:(#w>~hW7+?RPmӨcs:*o[+4M(!MX LŏLDֱ=V'Xgs]\ [(Kc\l!"u uLuRFe&Gx|?{㹈)WY2Ee}.4\|zT BG%QH^h/UA6G)ç"uPSHVH$|L4sCR3,~c޲Xn _5\ rr%3?-c?1Q^”^>Xǐ2u=1"@F9 %$J 2l"#wsY#L2)x-ؽ#S,-rB4Rbg ` B>#1KVּ)l>׬x@'t*`q#1`U3>Πf=e>Va( euvcVc=4*eI2(c{F9nZ1L!K4|M{*~?YGGUֶIEP.nn3XE hHJ|d9TIl *DZש\BCM!ZyxXf,*o;H 8NghaP"x}ooW-!A*j+(<9<gQs 0q:'P+gp=#; ^O4>`⶛*f>`VuT%xZ'†l_2VqtԕBBq#: ,ˏzO+<.)ܪ?_3 qU\~:>Kܠ7ҏrY/#4*ȭ5 Rc<* $WTX%! P ~QY_<TJTc"|Uf';mzAeLPvDrwY|$rք)v6K+Y{<I`^Gig¥k  ]CeIXpFLe$6Ƽd#1Vs8z[+2%#$0d1RqJŬ!M Pgd('[ 27zQ^9#,GC>'4]q$)(w=óK s<~rU1a:_L$s9AnS%:g|\*e#M;v_c7a߱ɚ{u:ੁqQwQIɳ(-q B;,sʔk/}gG]SktY) t]n*K٩.>voztFgdl>NwĤ٪Ѝnv]'ͬT9|[4P7K¶jdikn*]g!l?þ zz5S4# F򍳣%An(G2w y|Vd$.9VnA_vhs@fe'?2uە 0~,d&3A=^WM{/1 ]ia&MNP<`sU5򖞠-}MKGYlePc08zas>Kqiyv2\䦇y >:L soh|AV& qQnj#VN7z_Eɡ #Pu~~T޷ TBu640(m(Hս&pj '˳L*meQfD@.O=H8YI|yV@R7dҠo: c~m}8Ylt3@؂|7mJDCP)̃GNyzC2G/[5 xu>/AOqfW*ỖхjU{ߐ?J"D!-o6~~ iwY3L'[,7Sl-NnN`H2>Ӭ<<֗2l^3uoךBs[]<58ؾ{i&5eHiM{B-1|}P`<<쮵Ze3+L9>s!(S5lR'6Pي~k:X'*%Uw+Y[C3dM/N![c HJWc9%6a+ᄍyЁz,1#@ >u6 $EB).91(D4mT+dA>Utlt;8oQn`q*kHڱ]BqS5b[:`9p2DÒe( 9&b.)f҇ _!!l`{LRͪF:͞u(qm'x p x9kt#|׬U{1(.vI1qfy#&Y%+\c@,whieRPY%xw" !Xf},*I轒/d8keX20 aU6(G3{t}Ia\h(Ed@b13rJ_Po, VÞaV%)i #Voظѽ+\A3 7pE`/ujvy/ .uw-55!RQ qEv*Yl %9KCw(3==o)f=/B(g(oD >t'o-8|YY9õc*AAkY6Z*.KMgtd`+}r,%4T%0o1qvrp$+V?ꢹ4#znzq nƻF}fcm_}H۶I ~znL1p[􇕒%Io(/w)g=d&7J2=}s‰8 O.2^8W|`lYHCTrw-T,'qa9S$1 1\0Ԍ3H//7|R5)$?rVrH |wċ׿6עslFR A=M3h~?MA ,6yxsz$<sT'\/7tb6A>PT5:6.."m qޔy\Y*~Wy|LbfKG^f(OpVbՅovG v{ex#OvTҵs\z˘IENDB`ooniprobe-2.2.0/ooni/ui/web/client/favicons/favicon-32x32.png0000644000175000017500000000307313071151301021776 0ustar irlirlPNG  IHDR szzsRGBIDATX WOemiK P m Ʈ̙ c4HDwx0e4K8[&fn tmkV`\--ھ󔷥-d}s^ @]8$-KvIF 9k5 ye ,hu wv>!Y(ÇHRe @ 4>T)sg<}Wi M-+JOShi>(<F{:n8xm \\1Cu=aCE.|}(r^w}8Dqƺu쓥{Cnj ػG;8;c# qY.=A\,^^_"!;[Z¼=pU0b q}"wsx 98:Y4Tpr̺5|'P]kBAhAt<ˠÎ5Q%`ƻ-K/(˳_\9.QL^+|34H,qܡӔQ3pQ8fh {FL&8B`|X3qEq>~9vkIU0fhp{ !ۨJs6_Iee=c^! ?]w"NbkrTGpBm56!<Ǡ8LjjK%9BF"8Qu4tǨ2Ъl3sS`?@(E`ݛ'A}Uq?CW٨j@݌39)3fh&8HN3g!8]7,:T1M:+ Pa3aę;QW̔թtS;>N (r GZ+kOle&nBBJiq wj;}{L@,WONʬN`lG&ZWl;lćHeeR$~Vzb$|sםIeCvRTXᶻA ?Qe:Lukl=R kfE .Yb4,)z !|1OV֓_(6mUAcp&*IYs9&"<1l[%ْzcn)oٮ o43@oZQ͞E yJ2 RȮ3)>W–e@s=QnI߃؍aV5e\RDRĺ$Z2Y u~nLc/3Zc8Q=:Z+&U:[ǿK/8CK?6Uc]d1)*˵Z>Olw|5O'UF(۹fxEӜG=€tzMgw?JEJ '4k& `t?.oV=IENDB`ooniprobe-2.2.0/ooni/ui/web/client/favicons/ms-icon-144x144.png0000644000175000017500000001617313071151301022073 0ustar irlirlPNG  IHDRFsRGB5IDATx] tyW聄$@ol6$6$s;qmOsڞ=iڸMN+~۩Olcl0 $@o $FomoG;3;ϑvvνw{|e= =zox)Kd"ѯchNGaR8~N&][0ّBHϷ;O_?''K􇣵TN߸:/gU*0hg/etݜ#܏#XyzW9}V?f'w!8}稦ˎ  *bg@M@6<:bumNv:{YL7D iK/8 T|wAD0sͻ3|$PD0F۬vdئ \@+v`efv,/QiC;շ8j0E]oyĶ@)'%6QaZe%s؆;vTN^G%석/yBWۺ׸hR膹uzDOhoJ5p'ѭEiYtu#˩C^s k_Yxɰl+QhEòV\tv0f(g̥o/0PVN?(O2ӔTCrrDG`KWmǮfϙs>ehk[BRZB|FNֺ0POh ,e #=hFj!yd2DoV|[#sY< ~n贽?O:W e%5]/~J79~y"ZP^niCO\7 /TQ)!PTQz͔39XW"B25_MOW*.*a˰@ЄQMbz扙xkhTa"5u~:Y|dc 7k GdbPǎ bC"P2DT1F4;WW%#zK`qTYHTgmvMO%=@f萇yt h2z% ƅǫsډ 6`Jy^йVjIo,8ɥ㑬`SL$bȀHRl<+BX29f.D4'3Eh%ǟmDM^GY=JᓈF59Yzv9u1V8P09KmޞtA ri̅NVscؔq_j_WG/:T8LYkc? >d~V AV*b J zx}rsLmN~i_=rz#MJGU*7Yy9ȃǶsQW 9ASb(ͼ͝GI.^' .N2Q-/ Z7_yW˪o"8PO/faF2J/65^W3 iU@D!bG9X<=uK:i`lU/{/?~h/zvz"l³~Y:NC !3B+BMgMu6,]A+;A\Dvo~R= %,!'!hguB@y`%2ܣ lS'a)(: jh_:E89_Nr.?쮡}TE\ F45LCEc$b#xoA)^ސj EPa:'pb!ۀXXŠ6g5}5LQ!@~aU-j g9cuG* @YFp9p }Mr\ 4Q,h8!Dw%/[jOBg/HϜ j`iO(Sd^g8d>l+}Zbr^UgG9ǗtܽxXyv!ݽ,CMįc Ec%juqoSJOWd WF_yzV]Y|;xYjEŜu5"ȍ[A@H-Ԉnb"`| u s39:ϳck@`[) |ﱍ6M0fIo9Xc\-PN^hlѻB1,4aFe]me\Y97Y:REqF*p-NI_̲bJg6!͉X WS!!ک ԓ)om aF4я6etO#q{M U7 7j~ <2r9Sx.B[Mdž1LB_='J^:i2f[~8&ۈVl9[l?@0}0S^d3S^DRhOkH 9(E^vpq"`; {ًNF Tأm/,!@ؽk8  f߇} $ntfP9$P7a;;nd藳9,FL8hT&kHVE: -1fyA aWj1(;I_c4.A7mmʆ0{1ľ$Qa&rAu;&0ҩ aB0]*R2Ӽ!XB˷ o_\ {5]~GT]u.N3eved%(2MW^?\CFLik0 _>PN  W𬈴Pұ9Ӥ,9^ ym]YȭxvGtUWND[8 z%V!}t!'e?hWK5PBV D;V-̷3Ѳr2]KFVrͬzAC!dnr04E1N4H-}Eg,T`| "Q_~#`79>f!;1I 3h#IH~f!K7R -fV6b11Pӑ  V̚df{Qz{dI;.*gV,=3V(iD9E» 9pU+U ۂD39SRFM5n!E]9s ?0 8-%HA:+>QNUlCқL\K!ƀ:kGR,,e 0 H"]G۷] f)lH;vPL/ջGNm=f1>@a?0 "AKG:վqRsGWԧ+Hv0ZxzME>rF>WJm[8t"b^b=CfQ7kgNqDC)3+aD0lU1A^vyIP >> ª}bxE)ѿÕʋ]{}mLϲ514Y=ʦ,0_; oȨ'l#Cj^n<*]Zk2;XnZf_*YmX0ʘ̆f'T]@0v[0RKi6pL PG/~c EF'Uɚmb*Bh)RTzjq!LW0/Wvv|¶(2$fʀ#2a@.eAD1-ppNQqZz.\;`7x[ ;؁O$z,DmEnzF{Dmz3YH@v Vd,7 78H}^e>vox9yr2[ ĵ]/&`W,0 ߽s\Ke'0C@M/Dfo/1kjDDo!^ټn"c "dzJ``] W+]K8V{xJ:g fɔ;PlYPZD6ٶDO&Oǩ۽Xd:ߑkoOWyV1Iq>N6ExG/N"X-kU8KJEQƇ3V7.l~SQ2 f | D{ ZE|yJ_g;uQͪ&N>Þe mn^}1z7 ì* EOԠ~/=a&h_WC;BP [R3W̶ U-q|X li|04צ*t!u?c?y(g" PP?$\FW+!sFז~ՏZ)ʵ2-#g&c{7~ S6i2%|^1>n83Рb&! Ka 5cB.=` / f;Blo}'$ N k+@Z h0?Z[qQl;5*)2! afH$u[%Y+p*FH2 Jz,)g eb/hM߻z}~a02`0;uB*ϴ B  -@C c+yZfp7 8O /儉ԟ̌mk#E3/a1ڙ @nVԕKh`) $//j>${u NQ䰙aԵ01 !kf҃43x9Rv|I$!nc u")zv\ M q+D4#l\=Dz2KfޘV+/RKߺdӞ$5EKp* P`{¬K`*,*D@ִaA3OT] %eM2)9Ӛ-৚ȁnMkvk[Y4+,&m<&{E4WE(=:0Ala`$*Hci")j1 :'5a<@^6F#2^*Ed~|=*I-!l9]qݥf ^MU(0'ACBVCIE! D޿tm/z'4 cS>(Db1D{tm1b!G 嶧`>ha1yiok#oOw-,gvcQ=dJQ@[<^foTt9c#N:# (,=0||Object.prototype.hasOwnProperty.call(e,a)&&(n[a]=e[a]);return n}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var i=Object.assign||function(e){for(var t=1;tthis.startX&&(this.setState({checked:!0}),this.startX=t,this.activated=tn?this.previouslyChecked!==this.state.checked&&(this.setState({checked:!1}),this.previouslyChecked=this.state.checked,t.click()):this.startX-40){var n=t[0];return{x:n.clientX,y:n.clientY}}var a=e.pageX;if(void 0!==a)return{x:a,y:e.pageY}}return{x:0,y:0}}Object.defineProperty(t,"__esModule",{value:!0}),t.pointerCoord=n},339:function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(2),r=a(o);t["default"]=function(){return r["default"].createElement("svg",{width:"10",height:"10",viewBox:"0 0 10 10"},r["default"].createElement("title",null,"switch-x"),r["default"].createElement("path",{d:"M9.9 2.12L7.78 0 4.95 2.828 2.12 0 0 2.12l2.83 2.83L0 7.776 2.123 9.9 4.95 7.07 7.78 9.9 9.9 7.776 7.072 4.95 9.9 2.12",fill:"#fff",fillRule:"evenodd"}))}},555:function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Deck=void 0;var o=n(2),r=a(o),u=n(11),l=n(151),i=a(l),s=n(146),c=a(s),d=n(53);n(583);var f=function(e){var t=e.deckId,n=e.enabled,a=e.running,o=e.runningScheduled,u=e.directorStarted,l=e.openDeckInfo,i=e.onDeckToggled,s=e.onDeckRun,c=void 0,d=void 0;return o?c="fa fa-circle-o-notch fa-spin":n?c="icon-btn icon-btn-on fa fa-clock-o":n||(c="icon-btn icon-btn-off fa fa-clock-o"),d=a?"fa fa-spinner fa-pulse":"icon-btn fa fa-play",u||(c+=" icon-btn-disabled",d+=" icon-btn-disabled"),r["default"].createElement("div",{className:"row"},r["default"].createElement("div",{className:"col-xs-2 offset-xs-3",onClick:l},r["default"].createElement("i",{className:"icon-btn fa fa-info-circle"})),r["default"].createElement("div",{className:"col-xs-2"},o&&u&&r["default"].createElement("i",{className:c}),!o&&u&&r["default"].createElement("i",{className:c,onClick:function(){return i(t)}}),!u&&r["default"].createElement("i",{className:c})),r["default"].createElement("div",{className:"col-xs-2"},!u&&r["default"].createElement("i",{className:d}),a&&u&&r["default"].createElement("i",{className:d}),!a&&u&&r["default"].createElement("i",{className:d,onClick:function(){return s(t)}})))};f.propTypes={deckId:r["default"].PropTypes.string,enabled:r["default"].PropTypes.bool,running:r["default"].PropTypes.bool,runningScheduled:r["default"].PropTypes.bool,openDeckInfo:r["default"].PropTypes.func,directorStarted:r["default"].PropTypes.bool,onDeckToggled:r["default"].PropTypes.func,onDeckRun:r["default"].PropTypes.func};var p=function(e){var t=e.deckId,n=e.enabled,a=e.openDeckInfo,o=e.onDeckToggled;return r["default"].createElement("div",{className:"row"},r["default"].createElement("div",{className:"col-xs-3 offset-xs-3",onClick:a},r["default"].createElement("i",{className:"icon-btn fa fa-info-circle"})),r["default"].createElement("div",{className:"col-xs-3"},r["default"].createElement(i["default"],{icons:{checked:r["default"].createElement("i",{style:{color:"rgb(255, 255, 255)",fontSize:"1.2em",position:"absolute",top:"-4px",left:"0"},className:"fa fa-clock-o"}),unchecked:null},defaultChecked:n,onChange:function(){return o(t)}})))};p.propTypes={deckId:r["default"].PropTypes.string,enabled:r["default"].PropTypes.bool,openDeckInfo:r["default"].PropTypes.func,onDeckToggled:r["default"].PropTypes.func};var M=t.Deck=function(e){var t=e.deck,n=e.fullControls,a=e.directorStarted,o=e.openDeckInfo,l=e.closeDeckInfo,i=e.infoBoxOpen,s=e.onDeckToggled,M=e.onDeckRun;return r["default"].createElement("div",{key:t.id,className:"col-md-3 col-xs-6 text-xs-center"},r["default"].createElement("h6",null,t.name),(0,d.getDeckIcon)(t.icon),n?r["default"].createElement(f,{directorStarted:a,deckId:t.id,enabled:t.enabled,running:t.running,runningScheduled:t.running_scheduled,openDeckInfo:o,onDeckRun:M,onDeckToggled:s}):r["default"].createElement(p,{deckId:t.id,enabled:t.enabled,openDeckInfo:o,onDeckToggled:s}),r["default"].createElement(c["default"],{className:"Modal__Bootstrap modal-dialog",onRequestClose:l,contentLabel:t.name+" description",isOpen:i},r["default"].createElement("div",{className:"modal-content"},r["default"].createElement("div",{className:"modal-header text-xs-center"},r["default"].createElement("button",{type:"button",className:"close",onClick:l},r["default"].createElement("span",{"aria-hidden":"true"},"×"),r["default"].createElement("span",{className:"sr-only"},"Close")),r["default"].createElement("h1",{className:"modal-title"},t.name),(0,d.getDeckIcon)(t.icon)),r["default"].createElement("div",{className:"modal-body"},r["default"].createElement("p",null,t.description)),r["default"].createElement("div",{className:"modal-footer text-xs-center"},r["default"].createElement("button",{className:"btn btn-primary",onClick:l},r["default"].createElement(u.FormattedMessage,{id:"deck.gotIt",defaultMessage:"Got it!"}))))))};M.propTypes={deck:r["default"].PropTypes.shape({description:r["default"].PropTypes.string,id:r["default"].PropTypes.string,icon:r["default"].PropTypes.string,name:r["default"].PropTypes.string,enabled:r["default"].PropTypes.bool,running:r["default"].PropTypes.bool}).isRequired,directorStarted:r["default"].PropTypes.bool,fullControls:r["default"].PropTypes.bool,openDeckInfo:r["default"].PropTypes.func,closeDeckInfo:r["default"].PropTypes.func,infoBoxOpen:r["default"].PropTypes.bool,onDeckToggled:r["default"].PropTypes.func,onDeckRun:r["default"].PropTypes.func},t["default"]=M},556:function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(12),r=a(o),u=n(54),l=a(u),i=n(32),s=a(i),c=n(48),d=a(c),f=n(39),p=a(f),M=n(38),m=a(M),g=n(2),y=a(g),N=n(555),T=a(N),h=function(e){function t(e){(0,s["default"])(this,t);var n=(0,p["default"])(this,(t.__proto__||(0,l["default"])(t)).call(this,e));return n.state={infoBoxOpen:!1},n}return(0,m["default"])(t,e),(0,d["default"])(t,[{key:"openDeckInfo",value:function(){this.setState((0,r["default"])({},this.state,{infoBoxOpen:!0}))}},{key:"closeDeckInfo",value:function(){this.setState((0,r["default"])({},this.state,{infoBoxOpen:!1}))}},{key:"render",value:function(){return y["default"].createElement(T["default"],{deck:this.props.deck,directorStarted:this.props.directorStarted,infoBoxOpen:this.state.infoBoxOpen,openDeckInfo:this.openDeckInfo.bind(this),closeDeckInfo:this.closeDeckInfo.bind(this),onDeckRun:this.props.onDeckRun,onDeckToggled:this.props.onDeckToggled,fullControls:this.props.fullControls})}}]),t}(y["default"].Component);h.propTypes={deck:y["default"].PropTypes.shape({description:y["default"].PropTypes.string,id:y["default"].PropTypes.string,icon:y["default"].PropTypes.string,name:y["default"].PropTypes.string,enabled:y["default"].PropTypes.bool,running:y["default"].PropTypes.bool}).isRequired,fullControls:y["default"].PropTypes.bool,directorStarted:y["default"].PropTypes.bool,onDeckToggled:y["default"].PropTypes.func,onDeckRun:y["default"].PropTypes.func},t["default"]=h},557:function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(556),r=a(o);t["default"]=r["default"]},558:function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(2),r=a(o),u=n(11),l=n(151),i=a(l),s=function(e){var t=e.onSettingsChange,n=e.settings;return r["default"].createElement("div",{className:"row text-xs-center"},r["default"].createElement("div",{className:"five-cols-md col-xs-6"},r["default"].createElement("h6",null,r["default"].createElement(u.FormattedMessage,{id:"settings.sharingOptions.uploadMethod",defaultMessage:"How should we upload your results?"})),r["default"].createElement("i",{className:"medium-icon fa fa-upload"}),r["default"].createElement("div",{className:"row"},r["default"].createElement("select",{onChange:t("uploadMethod")},r["default"].createElement("option",{value:"onion"},r["default"].createElement(u.FormattedMessage,{id:"settings.sharingOptions.uploadMethod.torHiddenService",defaultMessage:"Tor Hidden Service"})),r["default"].createElement("option",{value:"https"},"HTTPS"),r["default"].createElement("option",{value:"cloudfront"},"Cloudfront")))),r["default"].createElement("div",{className:"five-cols-md col-xs-6"},r["default"].createElement("h6",null,r["default"].createElement(u.FormattedMessage,{id:"settings.sharingOptions.includeNetwork",defaultMessage:"Include your network information?"})),r["default"].createElement("i",{className:"medium-icon fa fa-server"}),r["default"].createElement("div",{className:"row"},r["default"].createElement(i["default"],{defaultChecked:n.includeNetwork,onChange:t("includeNetwork")}))),r["default"].createElement("div",{className:"five-cols-md col-xs-6"},r["default"].createElement("h6",null,r["default"].createElement(u.FormattedMessage,{id:"settings.sharingOptions.includeCountry",defaultMessage:"Include your country name?"})),r["default"].createElement("i",{className:"medium-icon fa fa-globe"}),r["default"].createElement("div",{className:"row"},r["default"].createElement(i["default"],{defaultChecked:n.includeCountry,onChange:t("includeCountry")}))),r["default"].createElement("div",{className:"five-cols-md col-xs-6"},r["default"].createElement("h6",null,r["default"].createElement(u.FormattedMessage,{id:"settings.sharingOptions.sharePublicly",defaultMessage:"Share results publicly?"})),r["default"].createElement("i",{className:"medium-icon fa fa-share-square-o"}),r["default"].createElement("div",{className:"row"},r["default"].createElement(i["default"],{defaultChecked:n.shareResults,onChange:t("shareResults")}))),r["default"].createElement("div",{className:"five-cols-md col-xs-6"},r["default"].createElement("h6",null,r["default"].createElement(u.FormattedMessage,{id:"settings.sharingOptions.includeIP",defaultMessage:"Include your IP?"})),r["default"].createElement("i",{className:"medium-icon fa fa-cube"}),r["default"].createElement("div",{className:"row"},r["default"].createElement(i["default"],{defaultChecked:n.includeIP,onChange:t("includeIP")}))))};s.propTypes={onSettingsChange:r["default"].PropTypes.func,settings:r["default"].PropTypes.object},t["default"]=s},583:973,776:function(e,t,n){"use strict";var a=n(715),o=n(144);t.getReactDOM=function(){return a},t.getReactInstanceMap=function(){return o}},830:function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function o(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f,t=arguments[1],n=d[t.type];return n?n(e,t):e}Object.defineProperty(t,"__esModule",{value:!0});var r,u=n(49),l=a(u),i=n(12),s=a(i);t.onboardReducer=o;var c=n(553),d=(r={},(0,l["default"])(r,c.GOTO_STEP,function(e,t){return e.currentStep0&&r["default"].createElement(T["default"],{gotoStep:a,currentStep:t,lastStep:n})),r["default"].createElement(y["default"],{quizAnswers:I,quizOpen:E,quizCorrect:L,onAnswerQuiz:g,onCloseQuiz:N,onAnswerChange:h,onNextClick:o})))};h.propTypes={currentStep:r["default"].PropTypes.number,lastStep:r["default"].PropTypes.number,onNextClick:r["default"].PropTypes.func.isRequired,onSkipClick:r["default"].PropTypes.func.isRequired,onSettingsChange:r["default"].PropTypes.func.isRequired,onFinalize:r["default"].PropTypes.func.isRequired,settings:r["default"].PropTypes.object.isRequired,gotoStep:r["default"].PropTypes.func.isRequired,onDeckToggled:r["default"].PropTypes.func.isRequired,decks:r["default"].PropTypes.array.isRequired,quizAnswers:r["default"].PropTypes.object.isRequired,onAnswerQuiz:r["default"].PropTypes.func.isRequired,onCloseQuiz:r["default"].PropTypes.func.isRequired,onAnswerChange:r["default"].PropTypes.func.isRequired,quizOpen:r["default"].PropTypes.bool.isRequired,quizCorrect:r["default"].PropTypes.bool,onLocaleChange:r["default"].PropTypes.func.isRequired,selectedLocale:r["default"].PropTypes.string.isRequired},t["default"]=h},857:function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(2),r=a(o),u=n(11),l=n(146),i=a(l);n(982);var s=function(e){var t=e.quizAnswers,n=e.onAnswerQuiz,a=e.quizOpen,o=e.onAnswerChange,l=e.quizCorrect,s=e.onCloseQuiz,c=e.onNextClick;return r["default"].createElement("div",null,r["default"].createElement(i["default"],{className:"Modal__Bootstrap modal-dialog",onRequestClose:n,contentLabel:"Pop Quiz",isOpen:a},r["default"].createElement("div",{className:"modal-content"},r["default"].createElement("div",{className:"modal-header text-xs-center"},r["default"].createElement("button",{type:"button",className:"close",onClick:s},r["default"].createElement("span",{"aria-hidden":"true"},"×"),r["default"].createElement("span",{className:"sr-only"},"Close")),r["default"].createElement("h1",{className:"modal-title"},r["default"].createElement(u.FormattedMessage,{id:"onboard.quiz.title",defaultMessage:"Pop quiz"}))),r["default"].createElement("div",{className:"modal-body"},null==l&&r["default"].createElement("div",{className:"questions"},r["default"].createElement("p",null,r["default"].createElement(u.FormattedMessage,{id:"onboard.quiz.question1",defaultMessage:"Question 1: Might anyone monitoring my internet activity (e.g. ISP, government or employer) be able to see that I am running ooniprobe, even though OONI takes precautions to make this hard?"})),r["default"].createElement("div",{className:"radio"},r["default"].createElement("label",null,r["default"].createElement("input",{type:"radio",value:!0,onChange:o("question1"),checked:t.question1===!0}),r["default"].createElement(u.FormattedMessage,{id:"onboard.quiz.true",defaultMessage:"True"}))),r["default"].createElement("div",{className:"radio"},r["default"].createElement("label",null,r["default"].createElement("input",{type:"radio",onChange:o("question1"),value:!1,checked:t.question1===!1}),r["default"].createElement(u.FormattedMessage,{id:"onboard.quiz.false",defaultMessage:"False"}))),r["default"].createElement("p",null,r["default"].createElement(u.FormattedMessage,{id:"onboard.quiz.question2",defaultMessage:"Question 2: Will my measurements by default get published by OONI and might they include personally-identifiable information?"})),r["default"].createElement("div",{className:"radio"},r["default"].createElement("label",null,r["default"].createElement("input",{type:"radio",onChange:o("question2"),value:!0,checked:t.question2===!0}),r["default"].createElement(u.FormattedMessage,{id:"onboard.quiz.true",defaultMessage:"True"}))),r["default"].createElement("div",{className:"radio"},r["default"].createElement("label",null,r["default"].createElement("input",{type:"radio",onChange:o("question2"),value:!1,checked:t.question2===!1}),r["default"].createElement(u.FormattedMessage,{id:"onboard.quiz.false",defaultMessage:"False"})))),l===!0&&r["default"].createElement("div",{className:"success text-xs-center"},r["default"].createElement("i",{className:"medium-icon fa fa-thumbs-o-up"}),r["default"].createElement("h2",null,r["default"].createElement(u.FormattedMessage,{id:"onboard.quiz.goodJob",defaultMessage:"Good job!"}))),l===!1&&r["default"].createElement("div",{className:"failure text-xs-center"},r["default"].createElement("i",{className:"medium-icon fa fa-book"}),r["default"].createElement("h2",null,r["default"].createElement(u.FormattedMessage,{id:"onboard.quiz.wrongAnswer",defaultMessage:"Wrong answer."})))),r["default"].createElement("div",{className:"modal-footer text-xs-center"},null==l&&r["default"].createElement("button",{className:"btn btn-primary",onClick:n},r["default"].createElement(u.FormattedMessage,{id:"onboard.quiz.howDidIDoButton",defaultMessage:"How did I do?"})),l===!0&&r["default"].createElement("button",{className:"btn btn-primary",onClick:c},r["default"].createElement(u.FormattedMessage,{id:"onboard.quiz.setupSharingButton",defaultMessage:"Let's setup sharing"})),l===!1&&r["default"].createElement("button",{className:"btn btn-primary",onClick:s},r["default"].createElement(u.FormattedMessage,{id:"onboard.quiz.readRisksButton",defaultMessage:"Read the risks again"}))))))};s.propTypes={quizOpen:r["default"].PropTypes.bool.isRequired,quizCorrect:r["default"].PropTypes.bool,quizAnswers:r["default"].PropTypes.object.isRequired,onAnswerQuiz:r["default"].PropTypes.func.isRequired,onAnswerChange:r["default"].PropTypes.func.isRequired,onCloseQuiz:r["default"].PropTypes.func.isRequired,onNextClick:r["default"].PropTypes.func.isRequired},t["default"]=s},858:function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(2),r=a(o),u=n(11),l=n(558),i=a(l),s=function(e){var t=e.onNextClick,n=e.onSettingsChange,a=e.settings;return r["default"].createElement("div",{className:"container"},r["default"].createElement("div",{className:"row text-xs-center",style:{marginBottom:"2rem"}},r["default"].createElement("div",{className:"col-xs-12"},r["default"].createElement("h1",null,r["default"].createElement(u.FormattedMessage,{id:"onboard.setupSharing.title",defaultMessage:"Setup sharing"})),r["default"].createElement("p",null,r["default"].createElement(u.FormattedMessage,{id:"onboard.setupSharing.text1",defaultMessage:"All measurements are by default sent to OONI's measurement collector and are automatically published on OONI Explorer and OONI's measurement API."})))),r["default"].createElement(i["default"],{onSettingsChange:n,settings:a}),r["default"].createElement("div",{className:"row text-xs-center",style:{marginTop:"3rem"}},r["default"].createElement("div",{className:"col-xs-12"},r["default"].createElement("p",null,r["default"].createElement(u.FormattedMessage,{id:"onboard.setupSharing.text2",defaultMessage:"Published data will include your approximate location, the time of the test, and the network (ASN) you are connecting from. Other identifying information, such as your IP address, is not deliberately collected, but might be included in HTTP headers or other metadata."})))),r["default"].createElement("div",{className:"row next-step"},r["default"].createElement("button",{onClick:t,className:"btn btn-primary mx-auto",style:{display:"block"}},r["default"].createElement(u.FormattedMessage,{id:"onboard.setupSharing.allSet",defaultMessage:"I'm all set!"}))))};s.propTypes={onNextClick:r["default"].PropTypes.func.isRequired,onSettingsChange:r["default"].PropTypes.func,settings:r["default"].PropTypes.object},t["default"]=s},859:function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(2),r=a(o),u=n(11),l=n(557),i=a(l),s=function(e){var t=e.onNextClick,n=e.onDeckToggled,a=e.decks;return r["default"].createElement("div",{className:"container"},r["default"].createElement("div",{className:"row text-xs-center"},r["default"].createElement("div",{className:"col-xs-12"},r["default"].createElement("h1",null,r["default"].createElement(u.FormattedMessage,{id:"onboard.setupYourTests.title",defaultMessage:"Setup your tests!"})),r["default"].createElement("p",null,r["default"].createElement(u.FormattedMessage,{id:"onboard.setupYourTests.text1",defaultMessage:"Your tests are setup to run daily by default.\nIf you’d like to turn this off, click the {iconClock} button!",values:{iconClock:r["default"].createElement("strong",null,r["default"].createElement("i",{className:"fa fa-clock-o"}))}})),r["default"].createElement("p",null,r["default"].createElement(u.FormattedMessage,{id:"onboard.setupYourTests.text2",defaultMessage:"To learn more about each test, click the {iconInfo} button.",values:{iconInfo:r["default"].createElement("strong",null,r["default"].createElement("i",{className:"fa fa-info-circle"}))}})))),r["default"].createElement("div",{className:"row text-xs-center",style:{marginBottom:"2rem",marginTop:"2rem"}},a.map(function(e){return r["default"].createElement(i["default"],{key:e.id,deck:e,onDeckToggled:n,fullControls:!1})})),r["default"].createElement("div",{className:"row text-xs-center"},r["default"].createElement("div",{className:"col-xs-12"},r["default"].createElement("p",null,r["default"].createElement(u.FormattedMessage,{id:"onboard.setupYourTests.text3",defaultMessage:"To see the results of your first batch of tests, click {goToMyDashboard}",values:{goToMyDashboard:r["default"].createElement("strong",null,r["default"].createElement(u.FormattedMessage,{id:"onboard.setupYourTests.text3.goToMyDashboard",defaultMessage:"Go to my dashboard!"}))}})))),r["default"].createElement("div",{className:"row next-step"},r["default"].createElement("button",{onClick:t,className:"btn btn-primary mx-auto",style:{display:"block"}},r["default"].createElement(u.FormattedMessage,{id:"onboard.setupYourTests.goToDashboard",defaultMessage:"Go to my dashboard!"}))))};s.propTypes={onNextClick:r["default"].PropTypes.func.isRequired,onDeckToggled:r["default"].PropTypes.func,decks:r["default"].PropTypes.array},t["default"]=s},860:function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(2),r=a(o);n(983);var u=function(e){var t=e.currentStep,n=e.lastStep,a=e.gotoStep;return r["default"].createElement("div",{className:"row"},r["default"].createElement("div",{className:"steps-container col-md-4 offset-md-4 col-xs-8 offset-xs-2"},Array.apply(null,Array(n)).map(function(e,n){var o="rounded-circle status-circle";return n+1===t&&(o+=" status-circle-active"),n>=t&&(o+=" status-circle-disabled"),r["default"].createElement("div",{key:n,onClick:a(n+1),className:o})})))};u.propTypes={currentStep:r["default"].PropTypes.number.isRequired,lastStep:r["default"].PropTypes.number.isRequired,gotoStep:r["default"].PropTypes.func.isRequired},t["default"]=u},861:function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(2),r=a(o),u=n(11),l=function(e){var t=(e.currentStep,e.onNextClick);return r["default"].createElement("div",{className:"container"},r["default"].createElement("div",{className:"row text-xs-center"},r["default"].createElement("div",{className:"col-xs-12"},r["default"].createElement("h1",null,r["default"].createElement(u.FormattedMessage,{id:"onboard.understandTheLaws.title",defaultMessage:"Potential risks"})),r["default"].createElement("p",null,r["default"].createElement(u.FormattedMessage,{id:"onboard.understandTheLaws.text1",defaultMessage:"Anyone monitoring your internet activity (e.g. ISP, government, employer) can know that you are running ooniprobe (even though OONI tries to make this hard).\n\nWhen testing websites for censorship, you will connect to and download data from provocative or objectionable sites (e.g. pornography) that might be illegal in your country.\n\nOONI’s HTTP invalid request line test might trigger the suspicion of your ISP and could be viewed as a form of “hacking”." })),r["default"].createElement("i",{className:"large-icon fa fa-bomb",style:{marginTop:"1rem",marginBottom:"2rem"}}),r["default"].createElement("p",null,r["default"].createElement(u.FormattedMessage,{id:"onboard.understandTheLaws.text2",defaultMessage:"Unless you configure your settings otherwise, all data collected from your tests will by default be published by OONI and might include some personally- identifiable information (though OONI tries to prevent this from happening). The use of ooniprobe could be viewed as a form of espionage, regardless of the laws in your country. To our knowledge, no ooniprobe user has ever faced consequences from the use of our platform. However, many countries have a lengthy history of targeting and abusing digital rights activists, which could leave ooniprobe users subject to severe civil, criminal, or extra-judicial penalties. {learnMoreHere}. We encourage you to consult with a lawyer prior to installing and running ooniprobe.",values:{learnMoreHere:r["default"].createElement("a",{href:"https://ooni.torproject.org/about/risks",target:"_blank"},r["default"].createElement(u.FormattedMessage,{id:"onboard.understandTheLaws.text2.learnMoreHere",defaultMessage:"Learn more here"}))}})))),r["default"].createElement("div",{className:"row next-step"},r["default"].createElement("button",{onClick:t,className:"btn btn-primary mx-auto",style:{display:"block"}},r["default"].createElement(u.FormattedMessage,{id:"onboard.understandTheLaws.iUnderstand",defaultMessage:"I understand the risk."}))))};l.propTypes={currentStep:r["default"].PropTypes.number,onNextClick:r["default"].PropTypes.func.isRequired},t["default"]=l},862:function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(2),r=a(o),u=n(11),l=n(675),i=a(l);n(984);var s=n(1446),c=a(s),d=n(344),f=function(e){var t=e.onNextClick,n=e.onSkipClick,a=e.onLocaleChange,o=e.selectedLocale;return r["default"].createElement("div",{className:"container"},r["default"].createElement("div",{className:"row text-xs-center welcome"},r["default"].createElement("div",{className:"col-xs-12"},r["default"].createElement("h1",null,r["default"].createElement(u.FormattedMessage,{id:"onboard.welcome.title",defaultMessage:"Welcome to ooniprobe!"})),r["default"].createElement("img",{src:c["default"],className:"welcome-logo"}),r["default"].createElement("p",null,r["default"].createElement(u.FormattedMessage,{id:"onboard.welcome.text1",defaultMessage:"Ooniprobe is a free and open source platform that enables you to examine internet censorship in your network!\nYou can examine how websites are blocked, and whether censorship and/or surveillance systems are present in your network. You can also measure the speed and performance of your network.\nData collected by ooniprobe can serve as evidence of censorship events.\nSince ooniprobe is an investigatory tool, using it may pose some risks."}))),r["default"].createElement(i["default"],{selectedLocale:o,options:d.supportedLanguages,inline:!0,onClickOption:function(e){return a(e.code)}})),r["default"].createElement("div",{className:"row next-step"},r["default"].createElement("button",{onClick:t,className:"btn btn-primary mx-auto",style:{display:"block"}},r["default"].createElement(u.FormattedMessage,{id:"onboard.welcome.learnMore",defaultMessage:"Learn more"}))),r["default"].createElement("div",{className:"row low-viz"},r["default"].createElement("a",{onClick:n,className:"mx-auto text-xs-center skip-to-end"},r["default"].createElement(u.FormattedMessage,{id:"onboard.welcome.alreadyUnderstand",defaultMessage:"I already understand the risks, take me to my dashboard."}))))};f.propTypes={onNextClick:r["default"].PropTypes.func.isRequired,onSkipClick:r["default"].PropTypes.func.isRequired,onLocaleChange:r["default"].PropTypes.func.isRequired,selectedLocale:r["default"].PropTypes.string.isRequired},t["default"]=f},863:function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(30),r=n(361),u=n(856),l=a(u),i=n(553),s=n(554),c=n(207),d=n(344),f=function(e){return{currentStep:e.onboard.currentStep,lastStep:i.lastStep,settings:e.onboard.settings,decks:e.onboard.decks,quizAnswers:e.onboard.quizAnswers,quizOpen:e.onboard.quizOpen,quizCorrect:e.onboard.quizCorrect,selectedLocale:e.intl.locale}},p=function(e,t){return{onLocaleChange:function(t){e((0,r.updateIntl)({locale:t,messages:d.messages[t]}))},onNextClick:function(){e((0,i.nextStep)())},onSkipClick:function(){e((0,i.skipToEnd)())},gotoStep:function(t){return function(){e((0,i.gotoStep)(t))}},onSettingsChange:function(t){return function(n){var a=void 0;"uploadMethod"===t?a=n.target.value:(a=!1,n.target.checked&&(a=!0)),e((0,i.settingsChanged)(t,a))}},onDeckToggled:function(t){e((0,i.deckToggled)(t))},onCloseQuiz:function(){e((0,i.quizClosed)())},onAnswerQuiz:function(){e((0,i.quizAnswered)())},onAnswerChange:function(t){return function(n){var a="true"===n.target.value;e((0,i.quizChanged)(t,a))}},onFinalize:function(){e((0,i.finalize)()).then(function(){e((0,s.fetchStatus)()).then(function(){c.history.push("/")})})}}};t["default"]=(0,o.connect)(f,p)(l["default"])},981:973,982:973,983:973,984:973,986:function(e,t,n){"use strict";function a(e,t){for(var n=e;n.parentNode;)n=n.parentNode;var a=n.querySelectorAll(t);return Array.prototype.indexOf.call(a,e)!==-1}var o=n(3),r={addClass:function(e,t){return/\s/.test(t)?o(!1):void 0,t&&(e.classList?e.classList.add(t):r.hasClass(e,t)||(e.className=e.className+" "+t)),e},removeClass:function(e,t){return/\s/.test(t)?o(!1):void 0,t&&(e.classList?e.classList.remove(t):r.hasClass(e,t)&&(e.className=e.className.replace(new RegExp("(^|\\s)"+t+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,""))),e},conditionClass:function(e,t,n){return(n?r.addClass:r.removeClass)(e,t)},hasClass:function(e,t){return/\s/.test(t)?o(!1):void 0,e.classList?!!t&&e.classList.contains(t):(" "+e.className+" ").indexOf(" "+t+" ")>-1},matchesSelector:function(e,t){var n=e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.msMatchesSelector||function(t){return a(e,t)};return n.call(e,t)}};e.exports=r},1030:function(e,t,n){e.exports=n(1272)},1272:function(e,t,n){"use strict";function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function u(e){var t="transition"+e+"Timeout",n="transition"+e;return function(e){if(e[n]){if(null==e[t])return new Error(t+" wasn't supplied to ReactCSSTransitionGroup: this can cause unreliable animations and won't be supported in a future version of React. See https://fb.me/react-animation-transition-group-timeout for more information.");if("number"!=typeof e[t])return new Error(t+" must be a number (in milliseconds)")}}}var l=n(5),i=n(77),s=n(1281),c=n(1273),d=function(e){function t(){var n,r,u;a(this,t);for(var l=arguments.length,s=Array(l),d=0;d0)for(n=0;n0?"future":"past"];return w(n)?n(t):n.replace(/%s/i,t)}function H(e,t){var n=e.toLowerCase();Na[n]=Na[n+"s"]=Na[t]=e}function j(e){return"string"==typeof e?Na[e]||Na[e.toLowerCase()]:void 0}function F(e){var t,n,a={};for(n in e)c(e,n)&&(t=j(n),t&&(a[t]=e[n]));return a}function I(e,t){Ha[e]=t}function U(e){var t=[];for(var n in e)t.push({unit:n,priority:Ha[n]});return t.sort(function(e,t){return e.priority-t.priority}),t}function W(e,n){return function(a){return null!=a?(z(this,e,a),t.updateOffset(this,n),this):B(this,e)}}function B(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function z(e,t,n){e.isValid()&&e._d["set"+(e._isUTC?"UTC":"")+t](n)}function V(e){return e=j(e),w(this[e])?this[e]():this}function G(e,t){if("object"==typeof e){e=F(e);for(var n=U(e),a=0;a=0;return(s?n?"+":"":"-")+Math.pow(10,Math.max(0,r)).toString().substr(1)+a}function q(e,t,n,a){var r=a;"string"==typeof a&&(r=function(){return this[a]()}),e&&(Ua[e]=r),t&&(Ua[t[0]]=function(){return K(r.apply(this,arguments),t[1],t[2])}),n&&(Ua[n]=function(){return this.localeData().ordinal(r.apply(this,arguments),e)})}function J(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function X(e){var t,n,a=e.match(ja);for(t=0,n=a.length;t=0&&Fa.test(e);)e=e.replace(Fa,n),Fa.lastIndex=0,a-=1;return e}function Q(e,t,n){sr[e]=w(t)?t:function(e,a){return e&&n?n:t}}function ee(e,t){return c(sr,e)?sr[e](t._strict,t._locale):new RegExp(te(e))}function te(e){return ne(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,a,r){return t||n||a||r}))}function ne(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function ae(e,t){var n,a=t;for("string"==typeof e&&(e=[e]),l(t)&&(a=function(e,n){n[t]=T(e)}),n=0;n=0&&isFinite(i.getFullYear())&&i.setFullYear(e),i}function Me(e){var t=new Date(Date.UTC.apply(null,arguments));return e<100&&e>=0&&isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e),t}function Te(e,t,n){var a=7+t-n,r=(7+Me(e,0,a).getUTCDay()-t)%7;return-r+a-1}function Le(e,t,n,a,r){var s,o,i=(7+n-a)%7,l=Te(e,a,r),u=1+7*(t-1)+i+l;return u<=0?(s=e-1,o=ye(s)+u):u>ye(e)?(s=e+1,o=u-ye(e)):(s=e,o=u),{year:s,dayOfYear:o}}function Ee(e,t,n){var a,r,s=Te(e.year(),t,n),o=Math.floor((e.dayOfYear()-s-1)/7)+1;return o<1?(r=e.year()-1,a=o+ke(r,t,n)):o>ke(e.year(),t,n)?(a=o-ke(e.year(),t,n),r=e.year()+1):(r=e.year(),a=o),{week:a,year:r}}function ke(e,t,n){var a=Te(e,t,n),r=Te(e+1,t,n);return(ye(e)-a+r)/7}function De(e){return Ee(e,this._week.dow,this._week.doy).week}function we(){return this._week.dow}function Ye(){return this._week.doy}function Se(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")}function Ce(e){var t=Ee(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")}function Oe(e,t){return"string"!=typeof e?e:isNaN(e)?(e=t.weekdaysParse(e),"number"==typeof e?e:null):parseInt(e,10)}function Pe(e,t){return"string"==typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}function Re(e,t){return e?r(this._weekdays)?this._weekdays[e.day()]:this._weekdays[this._weekdays.isFormat.test(t)?"format":"standalone"][e.day()]:r(this._weekdays)?this._weekdays:this._weekdays.standalone}function xe(e){return e?this._weekdaysShort[e.day()]:this._weekdaysShort}function Ae(e){return e?this._weekdaysMin[e.day()]:this._weekdaysMin}function Ne(e,t,n){var a,r,s,o=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],a=0;a<7;++a)s=_([2e3,1]).day(a),this._minWeekdaysParse[a]=this.weekdaysMin(s,"").toLocaleLowerCase(),this._shortWeekdaysParse[a]=this.weekdaysShort(s,"").toLocaleLowerCase(),this._weekdaysParse[a]=this.weekdays(s,"").toLocaleLowerCase();return n?"dddd"===t?(r=hr.call(this._weekdaysParse,o),r!==-1?r:null):"ddd"===t?(r=hr.call(this._shortWeekdaysParse,o),r!==-1?r:null):(r=hr.call(this._minWeekdaysParse,o),r!==-1?r:null):"dddd"===t?(r=hr.call(this._weekdaysParse,o),r!==-1?r:(r=hr.call(this._shortWeekdaysParse,o),r!==-1?r:(r=hr.call(this._minWeekdaysParse,o),r!==-1?r:null))):"ddd"===t?(r=hr.call(this._shortWeekdaysParse,o),r!==-1?r:(r=hr.call(this._weekdaysParse,o),r!==-1?r:(r=hr.call(this._minWeekdaysParse,o),r!==-1?r:null))):(r=hr.call(this._minWeekdaysParse,o),r!==-1?r:(r=hr.call(this._weekdaysParse,o),r!==-1?r:(r=hr.call(this._shortWeekdaysParse,o),r!==-1?r:null)))}function He(e,t,n){var a,r,s;if(this._weekdaysParseExact)return Ne.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),a=0;a<7;a++){if(r=_([2e3,1]).day(a),n&&!this._fullWeekdaysParse[a]&&(this._fullWeekdaysParse[a]=new RegExp("^"+this.weekdays(r,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[a]=new RegExp("^"+this.weekdaysShort(r,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[a]=new RegExp("^"+this.weekdaysMin(r,"").replace(".",".?")+"$","i")),this._weekdaysParse[a]||(s="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,""),this._weekdaysParse[a]=new RegExp(s.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[a].test(e))return a;if(n&&"ddd"===t&&this._shortWeekdaysParse[a].test(e))return a;if(n&&"dd"===t&&this._minWeekdaysParse[a].test(e))return a;if(!n&&this._weekdaysParse[a].test(e))return a}}function je(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=Oe(e,this.localeData()),this.add(e-t,"d")):t}function Fe(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")}function Ie(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=Pe(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7}function Ue(e){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||ze.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(c(this,"_weekdaysRegex")||(this._weekdaysRegex=wr),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)}function We(e){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||ze.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(c(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Yr),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Be(e){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||ze.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(c(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Sr),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function ze(){function e(e,t){return t.length-e.length}var t,n,a,r,s,o=[],i=[],l=[],u=[];for(t=0;t<7;t++)n=_([2e3,1]).day(t),a=this.weekdaysMin(n,""),r=this.weekdaysShort(n,""),s=this.weekdays(n,""),o.push(a),i.push(r),l.push(s),u.push(a),u.push(r),u.push(s);for(o.sort(e),i.sort(e),l.sort(e),u.sort(e),t=0;t<7;t++)i[t]=ne(i[t]),l[t]=ne(l[t]),u[t]=ne(u[t]);this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+o.join("|")+")","i")}function Ve(){return this.hours()%12||12}function Ge(){return this.hours()||24}function Ke(e,t){q(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function qe(e,t){return t._meridiemParse}function Je(e){return"p"===(e+"").toLowerCase().charAt(0)}function Xe(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"}function $e(e){return e?e.toLowerCase().replace("_","-"):e}function Ze(e){for(var t,n,a,r,s=0;s0;){if(a=Qe(r.slice(0,t).join("-")))return a;if(n&&n.length>=t&&L(r,n,!0)>=t-1)break;t--}s++}return null}function Qe(t){var a=null;if(!xr[t]&&"undefined"!=typeof e&&e&&e.exports)try{a=Cr._abbr,n(596)("./"+t),et(a)}catch(r){}return xr[t]}function et(e,t){var n;return e&&(n=i(t)?at(e):tt(e,t),n&&(Cr=n)),Cr._abbr}function tt(e,t){if(null!==t){var n=Rr;if(t.abbr=e,null!=xr[e])D("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),n=xr[e]._config;else if(null!=t.parentLocale){if(null==xr[t.parentLocale])return Ar[t.parentLocale]||(Ar[t.parentLocale]=[]),Ar[t.parentLocale].push({name:e,config:t}),null;n=xr[t.parentLocale]._config}return xr[e]=new C(S(n,t)),Ar[e]&&Ar[e].forEach(function(e){tt(e.name,e.config)}),et(e),xr[e]}return delete xr[e],null}function nt(e,t){if(null!=t){var n,a=Rr;null!=xr[e]&&(a=xr[e]._config),t=S(a,t),n=new C(t),n.parentLocale=xr[e],xr[e]=n,et(e)}else null!=xr[e]&&(null!=xr[e].parentLocale?xr[e]=xr[e].parentLocale:null!=xr[e]&&delete xr[e]);return xr[e]}function at(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return Cr;if(!r(e)){if(t=Qe(e))return t;e=[e]}return Ze(e)}function rt(){return Sa(xr)}function st(e){var t,n=e._a;return n&&m(e).overflow===-2&&(t=n[lr]<0||n[lr]>11?lr:n[ur]<1||n[ur]>oe(n[ir],n[lr])?ur:n[dr]<0||n[dr]>24||24===n[dr]&&(0!==n[cr]||0!==n[pr]||0!==n[_r])?dr:n[cr]<0||n[cr]>59?cr:n[pr]<0||n[pr]>59?pr:n[_r]<0||n[_r]>999?_r:-1,m(e)._overflowDayOfYear&&(tur)&&(t=ur),m(e)._overflowWeeks&&t===-1&&(t=fr),m(e)._overflowWeekday&&t===-1&&(t=mr),m(e).overflow=t),e}function ot(e){var t,n,a,r,s,o,i=e._i,l=Nr.exec(i)||Hr.exec(i);if(l){for(m(e).iso=!0,t=0,n=Fr.length;t10?"YYYY ":"YY "),s="HH:mm"+(n[4]?":ss":""),n[1]){var c=new Date(n[2]),p=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][c.getDay()];if(n[1].substr(0,3)!==p)return m(e).weekdayMismatch=!0,void(e._isValid=!1)}switch(n[5].length){case 2:0===l?i=" +0000":(l=d.indexOf(n[5][1].toUpperCase())-12,i=(l<0?" -":" +")+(""+l).replace(/^-?/,"0").match(/..$/)[0]+"00");break;case 4:i=u[n[5]];break;default:i=u[" GMT"]}n[5]=i,e._i=n.splice(1).join(""),o=" ZZ",e._f=a+r+s+o,_t(e),m(e).rfc2822=!0}else e._isValid=!1}function lt(e){var n=Ur.exec(e._i);return null!==n?void(e._d=new Date((+n[1]))):(ot(e),void(e._isValid===!1&&(delete e._isValid,it(e),e._isValid===!1&&(delete e._isValid,t.createFromInputFallback(e)))))}function ut(e,t,n){return null!=e?e:null!=t?t:n}function dt(e){var n=new Date(t.now());return e._useUTC?[n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()]:[n.getFullYear(),n.getMonth(),n.getDate()]}function ct(e){var t,n,a,r,s=[];if(!e._d){for(a=dt(e),e._w&&null==e._a[ur]&&null==e._a[lr]&&pt(e),null!=e._dayOfYear&&(r=ut(e._a[ir],a[ir]),(e._dayOfYear>ye(r)||0===e._dayOfYear)&&(m(e)._overflowDayOfYear=!0),n=Me(r,0,e._dayOfYear),e._a[lr]=n.getUTCMonth(),e._a[ur]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=s[t]=a[t];for(;t<7;t++)e._a[t]=s[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[dr]&&0===e._a[cr]&&0===e._a[pr]&&0===e._a[_r]&&(e._nextDay=!0,e._a[dr]=0),e._d=(e._useUTC?Me:ve).apply(null,s),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[dr]=24)}}function pt(e){var t,n,a,r,s,o,i,l;if(t=e._w,null!=t.GG||null!=t.W||null!=t.E)s=1,o=4,n=ut(t.GG,e._a[ir],Ee(Mt(),1,4).year),a=ut(t.W,1),r=ut(t.E,1),(r<1||r>7)&&(l=!0);else{s=e._locale._week.dow,o=e._locale._week.doy;var u=Ee(Mt(),s,o);n=ut(t.gg,e._a[ir],u.year),a=ut(t.w,u.week),null!=t.d?(r=t.d,(r<0||r>6)&&(l=!0)):null!=t.e?(r=t.e+s,(t.e<0||t.e>6)&&(l=!0)):r=s}a<1||a>ke(n,s,o)?m(e)._overflowWeeks=!0:null!=l?m(e)._overflowWeekday=!0:(i=Le(n,a,r,s,o),e._a[ir]=i.year,e._dayOfYear=i.dayOfYear)}function _t(e){if(e._f===t.ISO_8601)return void ot(e);if(e._f===t.RFC_2822)return void it(e);e._a=[],m(e).empty=!0;var n,a,r,s,o,i=""+e._i,l=i.length,u=0;for(r=Z(e._f,e._locale).match(ja)||[],n=0;n0&&m(e).unusedInput.push(o),i=i.slice(i.indexOf(a)+a.length),u+=a.length),Ua[s]?(a?m(e).empty=!1:m(e).unusedTokens.push(s),se(s,a,e)):e._strict&&!a&&m(e).unusedTokens.push(s);m(e).charsLeftOver=l-u,i.length>0&&m(e).unusedInput.push(i),e._a[dr]<=12&&m(e).bigHour===!0&&e._a[dr]>0&&(m(e).bigHour=void 0),m(e).parsedDateParts=e._a.slice(0),m(e).meridiem=e._meridiem,e._a[dr]=ft(e._locale,e._a[dr],e._meridiem),ct(e),st(e)}function ft(e,t,n){var a;return null==n?t:null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?(a=e.isPM(n),a&&t<12&&(t+=12),a||12!==t||(t=0),t):t}function mt(e){var t,n,a,r,s;if(0===e._f.length)return m(e).invalidFormat=!0,void(e._d=new Date(NaN));for(r=0;rthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Wt(){if(!i(this._isDSTShifted))return this._isDSTShifted;var e={};if(g(e,this),e=gt(e),e._a){var t=e._isUTC?_(e._a):Mt(e._a);this._isDSTShifted=this.isValid()&&L(e._a,t.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Bt(){return!!this.isValid()&&!this._isUTC}function zt(){return!!this.isValid()&&this._isUTC}function Vt(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Gt(e,t){var n,a,r,s=e,o=null;return St(e)?s={ms:e._milliseconds,d:e._days,M:e._months}:l(e)?(s={},t?s[t]=e:s.milliseconds=e):(o=qr.exec(e))?(n="-"===o[1]?-1:1,s={y:0,d:T(o[ur])*n,h:T(o[dr])*n,m:T(o[cr])*n,s:T(o[pr])*n,ms:T(Ct(1e3*o[_r]))*n}):(o=Jr.exec(e))?(n="-"===o[1]?-1:1,s={y:Kt(o[2],n),M:Kt(o[3],n),w:Kt(o[4],n),d:Kt(o[5],n),h:Kt(o[6],n),m:Kt(o[7],n),s:Kt(o[8],n)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(r=Jt(Mt(s.from),Mt(s.to)),s={},s.ms=r.milliseconds,s.M=r.months),a=new Yt(s),St(e)&&c(e,"_locale")&&(a._locale=e._locale),a}function Kt(e,t){var n=e&&parseFloat(e.replace(",","."));return(isNaN(n)?0:n)*t}function qt(e,t){var n={milliseconds:0,months:0};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,"M").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,"M"),n}function Jt(e,t){var n;return e.isValid()&&t.isValid()?(t=Rt(t,e),e.isBefore(t)?n=qt(e,t):(n=qt(t,e),n.milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function Xt(e,t){return function(n,a){var r,s;return null===a||isNaN(+a)||(D(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),s=n,n=a,a=s),n="string"==typeof n?+n:n,r=Gt(n,a),$t(this,r,e),this}}function $t(e,n,a,r){var s=n._milliseconds,o=Ct(n._days),i=Ct(n._months);e.isValid()&&(r=null==r||r,s&&e._d.setTime(e._d.valueOf()+s*a),o&&z(e,"Date",B(e,"Date")+o*a),i&&ce(e,B(e,"Month")+i*a),r&&t.updateOffset(e,o||i))}function Zt(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"}function Qt(e,n){var a=e||Mt(),r=Rt(a,this).startOf("day"),s=t.calendarFormat(this,r)||"sameElse",o=n&&(w(n[s])?n[s].call(this,a):n[s]);return this.format(o||this.localeData().calendar(s,this,Mt(a)))}function en(){return new b(this)}function tn(e,t){var n=v(e)?e:Mt(e);return!(!this.isValid()||!n.isValid())&&(t=j(i(t)?"millisecond":t),"millisecond"===t?this.valueOf()>n.valueOf():n.valueOf()9999?$(e,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):w(Date.prototype.toISOString)?this.toDate().toISOString():$(e,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}function pn(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="";this.isLocal()||(e=0===this.utcOffset()?"moment.utc":"moment.parseZone",t="Z");var n="["+e+'("]',a=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",r="-MM-DD[T]HH:mm:ss.SSS",s=t+'[")]';return this.format(n+a+r+s)}function _n(e){e||(e=this.isUtc()?t.defaultFormatUtc:t.defaultFormat);var n=$(this,e);return this.localeData().postformat(n)}function fn(e,t){return this.isValid()&&(v(e)&&e.isValid()||Mt(e).isValid())?Gt({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function mn(e){return this.from(Mt(),e)}function hn(e,t){return this.isValid()&&(v(e)&&e.isValid()||Mt(e).isValid())?Gt({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function yn(e){return this.to(Mt(),e)}function gn(e){var t;return void 0===e?this._locale._abbr:(t=at(e),null!=t&&(this._locale=t),this)}function bn(){return this._locale}function vn(e){switch(e=j(e)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===e&&this.weekday(0),"isoWeek"===e&&this.isoWeekday(1),"quarter"===e&&this.month(3*Math.floor(this.month()/3)),this}function Mn(e){return e=j(e),void 0===e||"millisecond"===e?this:("date"===e&&(e="day"),this.startOf(e).add(1,"isoWeek"===e?"week":e).subtract(1,"ms"))}function Tn(){return this._d.valueOf()-6e4*(this._offset||0)}function Ln(){return Math.floor(this.valueOf()/1e3)}function En(){return new Date(this.valueOf())}function kn(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]}function Dn(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}}function wn(){return this.isValid()?this.toISOString():null}function Yn(){return h(this)}function Sn(){return p({},m(this))}function Cn(){return m(this).overflow}function On(){return{ input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Pn(e,t){q(0,[e,e.length],0,t)}function Rn(e){return Hn.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function xn(e){return Hn.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)}function An(){return ke(this.year(),1,4)}function Nn(){var e=this.localeData()._week;return ke(this.year(),e.dow,e.doy)}function Hn(e,t,n,a,r){var s;return null==e?Ee(this,a,r).year:(s=ke(e,a,r),t>s&&(t=s),jn.call(this,e,t,n,a,r))}function jn(e,t,n,a,r){var s=Le(e,t,n,a,r),o=Me(s.year,0,s.dayOfYear);return this.year(o.getUTCFullYear()),this.month(o.getUTCMonth()),this.date(o.getUTCDate()),this}function Fn(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)}function In(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")}function Un(e,t){t[_r]=T(1e3*("0."+e))}function Wn(){return this._isUTC?"UTC":""}function Bn(){return this._isUTC?"Coordinated Universal Time":""}function zn(e){return Mt(1e3*e)}function Vn(){return Mt.apply(null,arguments).parseZone()}function Gn(e){return e}function Kn(e,t,n,a){var r=at(),s=_().set(a,t);return r[n](s,e)}function qn(e,t,n){if(l(e)&&(t=e,e=void 0),e=e||"",null!=t)return Kn(e,t,n,"month");var a,r=[];for(a=0;a<12;a++)r[a]=Kn(e,a,n,"month");return r}function Jn(e,t,n,a){"boolean"==typeof e?(l(t)&&(n=t,t=void 0),t=t||""):(t=e,n=t,e=!1,l(t)&&(n=t,t=void 0),t=t||"");var r=at(),s=e?r._week.dow:0;if(null!=n)return Kn(t,(n+s)%7,a,"day");var o,i=[];for(o=0;o<7;o++)i[o]=Kn(t,(o+s)%7,a,"day");return i}function Xn(e,t){return qn(e,t,"months")}function $n(e,t){return qn(e,t,"monthsShort")}function Zn(e,t,n){return Jn(e,t,n,"weekdays")}function Qn(e,t,n){return Jn(e,t,n,"weekdaysShort")}function ea(e,t,n){return Jn(e,t,n,"weekdaysMin")}function ta(){var e=this._data;return this._milliseconds=os(this._milliseconds),this._days=os(this._days),this._months=os(this._months),e.milliseconds=os(e.milliseconds),e.seconds=os(e.seconds),e.minutes=os(e.minutes),e.hours=os(e.hours),e.months=os(e.months),e.years=os(e.years),this}function na(e,t,n,a){var r=Gt(t,n);return e._milliseconds+=a*r._milliseconds,e._days+=a*r._days,e._months+=a*r._months,e._bubble()}function aa(e,t){return na(this,e,t,1)}function ra(e,t){return na(this,e,t,-1)}function sa(e){return e<0?Math.floor(e):Math.ceil(e)}function oa(){var e,t,n,a,r,s=this._milliseconds,o=this._days,i=this._months,l=this._data;return s>=0&&o>=0&&i>=0||s<=0&&o<=0&&i<=0||(s+=864e5*sa(la(i)+o),o=0,i=0),l.milliseconds=s%1e3,e=M(s/1e3),l.seconds=e%60,t=M(e/60),l.minutes=t%60,n=M(t/60),l.hours=n%24,o+=M(n/24),r=M(ia(o)),i+=r,o-=sa(la(r)),a=M(i/12),i%=12,l.days=o,l.months=i,l.years=a,this}function ia(e){return 4800*e/146097}function la(e){return 146097*e/4800}function ua(e){if(!this.isValid())return NaN;var t,n,a=this._milliseconds;if(e=j(e),"month"===e||"year"===e)return t=this._days+a/864e5,n=this._months+ia(t),"month"===e?n:n/12;switch(t=this._days+Math.round(la(this._months)),e){case"week":return t/7+a/6048e5;case"day":return t+a/864e5;case"hour":return 24*t+a/36e5;case"minute":return 1440*t+a/6e4;case"second":return 86400*t+a/1e3;case"millisecond":return Math.floor(864e5*t)+a;default:throw new Error("Unknown unit "+e)}}function da(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*T(this._months/12):NaN}function ca(e){return function(){return this.as(e)}}function pa(e){return e=j(e),this.isValid()?this[e+"s"]():NaN}function _a(e){return function(){return this.isValid()?this._data[e]:NaN}}function fa(){return M(this.days()/7)}function ma(e,t,n,a,r){return r.relativeTime(t||1,!!n,e,a)}function ha(e,t,n){var a=Gt(e).abs(),r=Ts(a.as("s")),s=Ts(a.as("m")),o=Ts(a.as("h")),i=Ts(a.as("d")),l=Ts(a.as("M")),u=Ts(a.as("y")),d=r<=Ls.ss&&["s",r]||r0,d[4]=n,ma.apply(null,d)}function ya(e){return void 0===e?Ts:"function"==typeof e&&(Ts=e,!0)}function ga(e,t){return void 0!==Ls[e]&&(void 0===t?Ls[e]:(Ls[e]=t,"s"===e&&(Ls.ss=t-1),!0))}function ba(e){if(!this.isValid())return this.localeData().invalidDate();var t=this.localeData(),n=ha(this,!e,t);return e&&(n=t.pastFuture(+this,n)),t.postformat(n)}function va(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n,a=Es(this._milliseconds)/1e3,r=Es(this._days),s=Es(this._months);e=M(a/60),t=M(e/60),a%=60,e%=60,n=M(s/12),s%=12;var o=n,i=s,l=r,u=t,d=e,c=a,p=this.asSeconds();return p?(p<0?"-":"")+"P"+(o?o+"Y":"")+(i?i+"M":"")+(l?l+"D":"")+(u||d||c?"T":"")+(u?u+"H":"")+(d?d+"M":"")+(c?c+"S":""):"P0D"}var Ma,Ta;Ta=Array.prototype.some?Array.prototype.some:function(e){for(var t=Object(this),n=t.length>>>0,a=0;a68?1900:2e3)};var Tr=W("FullYear",!0);q("w",["ww",2],"wo","week"),q("W",["WW",2],"Wo","isoWeek"),H("week","w"),H("isoWeek","W"),I("week",5),I("isoWeek",5),Q("w",Ka),Q("ww",Ka,Ba),Q("W",Ka),Q("WW",Ka,Ba),re(["w","ww","W","WW"],function(e,t,n,a){t[a.substr(0,1)]=T(e)});var Lr={dow:0,doy:6};q("d",0,"do","day"),q("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),q("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),q("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),q("e",0,0,"weekday"),q("E",0,0,"isoWeekday"),H("day","d"),H("weekday","e"),H("isoWeekday","E"),I("day",11),I("weekday",11),I("isoWeekday",11),Q("d",Ka),Q("e",Ka),Q("E",Ka),Q("dd",function(e,t){return t.weekdaysMinRegex(e)}),Q("ddd",function(e,t){return t.weekdaysShortRegex(e)}),Q("dddd",function(e,t){return t.weekdaysRegex(e)}),re(["dd","ddd","dddd"],function(e,t,n,a){var r=n._locale.weekdaysParse(e,a,n._strict);null!=r?t.d=r:m(n).invalidWeekday=e}),re(["d","e","E"],function(e,t,n,a){t[a]=T(e)});var Er="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),kr="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Dr="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),wr=rr,Yr=rr,Sr=rr;q("H",["HH",2],0,"hour"),q("h",["hh",2],0,Ve),q("k",["kk",2],0,Ge),q("hmm",0,0,function(){return""+Ve.apply(this)+K(this.minutes(),2)}),q("hmmss",0,0,function(){return""+Ve.apply(this)+K(this.minutes(),2)+K(this.seconds(),2)}),q("Hmm",0,0,function(){return""+this.hours()+K(this.minutes(),2)}),q("Hmmss",0,0,function(){return""+this.hours()+K(this.minutes(),2)+K(this.seconds(),2)}),Ke("a",!0),Ke("A",!1),H("hour","h"),I("hour",13),Q("a",qe),Q("A",qe),Q("H",Ka),Q("h",Ka),Q("k",Ka),Q("HH",Ka,Ba),Q("hh",Ka,Ba),Q("kk",Ka,Ba),Q("hmm",qa),Q("hmmss",Ja),Q("Hmm",qa),Q("Hmmss",Ja),ae(["H","HH"],dr),ae(["k","kk"],function(e,t,n){var a=T(e);t[dr]=24===a?0:a}),ae(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),ae(["h","hh"],function(e,t,n){t[dr]=T(e),m(n).bigHour=!0}),ae("hmm",function(e,t,n){var a=e.length-2;t[dr]=T(e.substr(0,a)),t[cr]=T(e.substr(a)),m(n).bigHour=!0}),ae("hmmss",function(e,t,n){var a=e.length-4,r=e.length-2;t[dr]=T(e.substr(0,a)),t[cr]=T(e.substr(a,2)),t[pr]=T(e.substr(r)),m(n).bigHour=!0}),ae("Hmm",function(e,t,n){var a=e.length-2;t[dr]=T(e.substr(0,a)),t[cr]=T(e.substr(a))}),ae("Hmmss",function(e,t,n){var a=e.length-4,r=e.length-2;t[dr]=T(e.substr(0,a)),t[cr]=T(e.substr(a,2)),t[pr]=T(e.substr(r))});var Cr,Or=/[ap]\.?m?\.?/i,Pr=W("Hours",!0),Rr={calendar:Ca,longDateFormat:Oa,invalidDate:Pa,ordinal:Ra,dayOfMonthOrdinalParse:xa,relativeTime:Aa,months:gr,monthsShort:br,week:Lr,weekdays:Er,weekdaysMin:Dr,weekdaysShort:kr,meridiemParse:Or},xr={},Ar={},Nr=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Hr=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,jr=/Z|[+-]\d\d(?::?\d\d)?/,Fr=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Ir=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Ur=/^\/?Date\((\-?\d+)/i,Wr=/^((?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d?\d\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(?:\d\d)?\d\d\s)(\d\d:\d\d)(\:\d\d)?(\s(?:UT|GMT|[ECMP][SD]T|[A-IK-Za-ik-z]|[+-]\d{4}))$/;t.createFromInputFallback=k("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),t.ISO_8601=function(){},t.RFC_2822=function(){};var Br=k("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=Mt.apply(null,arguments);return this.isValid()&&e.isValid()?ethis?this:e:y()}),Vr=function(){return Date.now?Date.now():+new Date},Gr=["year","quarter","month","week","day","hour","minute","second","millisecond"];Ot("Z",":"),Ot("ZZ",""),Q("Z",nr),Q("ZZ",nr),ae(["Z","ZZ"],function(e,t,n){n._useUTC=!0,n._tzm=Pt(nr,e)});var Kr=/([\+\-]|\d\d)/gi;t.updateOffset=function(){};var qr=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Jr=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Gt.fn=Yt.prototype,Gt.invalid=wt;var Xr=Xt(1,"add"),$r=Xt(-1,"subtract");t.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",t.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Zr=k("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)});q(0,["gg",2],0,function(){return this.weekYear()%100}),q(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Pn("gggg","weekYear"),Pn("ggggg","weekYear"),Pn("GGGG","isoWeekYear"),Pn("GGGGG","isoWeekYear"),H("weekYear","gg"),H("isoWeekYear","GG"),I("weekYear",1),I("isoWeekYear",1),Q("G",er),Q("g",er),Q("GG",Ka,Ba),Q("gg",Ka,Ba),Q("GGGG",$a,Va),Q("gggg",$a,Va),Q("GGGGG",Za,Ga),Q("ggggg",Za,Ga),re(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,a){t[a.substr(0,2)]=T(e)}),re(["gg","GG"],function(e,n,a,r){n[r]=t.parseTwoDigitYear(e)}),q("Q",0,"Qo","quarter"),H("quarter","Q"),I("quarter",7),Q("Q",Wa),ae("Q",function(e,t){t[lr]=3*(T(e)-1)}),q("D",["DD",2],"Do","date"),H("date","D"),I("date",9),Q("D",Ka),Q("DD",Ka,Ba),Q("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),ae(["D","DD"],ur),ae("Do",function(e,t){t[ur]=T(e.match(Ka)[0],10)});var Qr=W("Date",!0);q("DDD",["DDDD",3],"DDDo","dayOfYear"),H("dayOfYear","DDD"),I("dayOfYear",4),Q("DDD",Xa),Q("DDDD",za),ae(["DDD","DDDD"],function(e,t,n){n._dayOfYear=T(e)}),q("m",["mm",2],0,"minute"),H("minute","m"),I("minute",14),Q("m",Ka),Q("mm",Ka,Ba),ae(["m","mm"],cr);var es=W("Minutes",!1);q("s",["ss",2],0,"second"),H("second","s"),I("second",15),Q("s",Ka),Q("ss",Ka,Ba),ae(["s","ss"],pr);var ts=W("Seconds",!1);q("S",0,0,function(){return~~(this.millisecond()/100)}),q(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),q(0,["SSS",3],0,"millisecond"),q(0,["SSSS",4],0,function(){return 10*this.millisecond()}),q(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),q(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),q(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),q(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),q(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),H("millisecond","ms"),I("millisecond",16),Q("S",Xa,Wa),Q("SS",Xa,Ba),Q("SSS",Xa,za);var ns;for(ns="SSSS";ns.length<=9;ns+="S")Q(ns,Qa);for(ns="S";ns.length<=9;ns+="S")ae(ns,Un);var as=W("Milliseconds",!1);q("z",0,0,"zoneAbbr"),q("zz",0,0,"zoneName");var rs=b.prototype;rs.add=Xr,rs.calendar=Qt,rs.clone=en,rs.diff=ln,rs.endOf=Mn,rs.format=_n,rs.from=fn,rs.fromNow=mn,rs.to=hn,rs.toNow=yn,rs.get=V,rs.invalidAt=Cn,rs.isAfter=tn,rs.isBefore=nn,rs.isBetween=an,rs.isSame=rn,rs.isSameOrAfter=sn,rs.isSameOrBefore=on,rs.isValid=Yn,rs.lang=Zr,rs.locale=gn,rs.localeData=bn,rs.max=zr,rs.min=Br,rs.parsingFlags=Sn,rs.set=G,rs.startOf=vn,rs.subtract=$r,rs.toArray=kn,rs.toObject=Dn,rs.toDate=En,rs.toISOString=cn,rs.inspect=pn,rs.toJSON=wn,rs.toString=dn,rs.unix=Ln,rs.valueOf=Tn,rs.creationData=On,rs.year=Tr,rs.isLeapYear=be,rs.weekYear=Rn,rs.isoWeekYear=xn,rs.quarter=rs.quarters=Fn,rs.month=pe,rs.daysInMonth=_e,rs.week=rs.weeks=Se,rs.isoWeek=rs.isoWeeks=Ce,rs.weeksInYear=Nn,rs.isoWeeksInYear=An,rs.date=Qr,rs.day=rs.days=je,rs.weekday=Fe,rs.isoWeekday=Ie,rs.dayOfYear=In,rs.hour=rs.hours=Pr,rs.minute=rs.minutes=es,rs.second=rs.seconds=ts,rs.millisecond=rs.milliseconds=as,rs.utcOffset=At,rs.utc=Ht,rs.local=jt,rs.parseZone=Ft,rs.hasAlignedHourOffset=It,rs.isDST=Ut,rs.isLocal=Bt,rs.isUtcOffset=zt,rs.isUtc=Vt,rs.isUTC=Vt,rs.zoneAbbr=Wn,rs.zoneName=Bn,rs.dates=k("dates accessor is deprecated. Use date instead.",Qr),rs.months=k("months accessor is deprecated. Use month instead",pe),rs.years=k("years accessor is deprecated. Use year instead",Tr),rs.zone=k("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Nt),rs.isDSTShifted=k("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Wt);var ss=C.prototype;ss.calendar=O,ss.longDateFormat=P,ss.invalidDate=R,ss.ordinal=x,ss.preparse=Gn,ss.postformat=Gn,ss.relativeTime=A,ss.pastFuture=N,ss.set=Y,ss.months=ie,ss.monthsShort=le,ss.monthsParse=de,ss.monthsRegex=me,ss.monthsShortRegex=fe,ss.week=De,ss.firstDayOfYear=Ye,ss.firstDayOfWeek=we,ss.weekdays=Re,ss.weekdaysMin=Ae,ss.weekdaysShort=xe,ss.weekdaysParse=He,ss.weekdaysRegex=Ue,ss.weekdaysShortRegex=We,ss.weekdaysMinRegex=Be,ss.isPM=Je,ss.meridiem=Xe,et("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,n=1===T(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n}}),t.lang=k("moment.lang is deprecated. Use moment.locale instead.",et),t.langData=k("moment.langData is deprecated. Use moment.localeData instead.",at);var os=Math.abs,is=ca("ms"),ls=ca("s"),us=ca("m"),ds=ca("h"),cs=ca("d"),ps=ca("w"),_s=ca("M"),fs=ca("y"),ms=_a("milliseconds"),hs=_a("seconds"),ys=_a("minutes"),gs=_a("hours"),bs=_a("days"),vs=_a("months"),Ms=_a("years"),Ts=Math.round,Ls={ss:44,s:45,m:45,h:22,d:26,M:11},Es=Math.abs,ks=Yt.prototype;return ks.isValid=Dt,ks.abs=ta,ks.add=aa,ks.subtract=ra,ks.as=ua,ks.asMilliseconds=is,ks.asSeconds=ls,ks.asMinutes=us,ks.asHours=ds,ks.asDays=cs,ks.asWeeks=ps,ks.asMonths=_s,ks.asYears=fs,ks.valueOf=da,ks._bubble=oa,ks.get=pa,ks.milliseconds=ms,ks.seconds=hs,ks.minutes=ys,ks.hours=gs,ks.days=bs,ks.weeks=fa,ks.months=vs,ks.years=Ms,ks.humanize=ba,ks.toISOString=va,ks.toString=va,ks.toJSON=va,ks.locale=gn,ks.localeData=bn,ks.toIsoString=k("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",va),ks.lang=Zr,q("X",0,0,"unix"),q("x",0,0,"valueOf"),Q("x",er),Q("X",ar),ae("X",function(e,t,n){n._d=new Date(1e3*parseFloat(e,10))}),ae("x",function(e,t,n){n._d=new Date(T(e))}),t.version="2.18.1",a(Mt),t.fn=rs,t.min=Lt,t.max=Et,t.now=Vr,t.utc=_,t.unix=zn,t.months=Xn,t.isDate=u,t.locale=et,t.invalid=y,t.duration=Gt,t.isMoment=v,t.weekdays=Zn,t.parseZone=Vn,t.localeData=at,t.isDuration=St,t.monthsShort=$n,t.weekdaysMin=ea,t.defineLocale=tt,t.updateLocale=nt,t.locales=rt,t.weekdaysShort=Qn,t.normalizeUnits=j,t.relativeTimeRounding=ya,t.relativeTimeThreshold=ga,t.calendarFormat=Zt,t.prototype=rs,t})}).call(t,n(31)(e))},,,,,function(e,t){"use strict";function n(e){for(var t=arguments.length-1,n="Minified React error #"+e+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant="+e,a=0;a",LAST_PAGE:">>",PRE_PAGE:"<",FIRST_PAGE:"<<",PAGE_START_INDEX:1,ROW_SELECT_BG_COLOR:"",ROW_SELECT_NONE:"none",ROW_SELECT_SINGLE:"radio",ROW_SELECT_MULTI:"checkbox",CELL_EDIT_NONE:"none",CELL_EDIT_CLICK:"click",CELL_EDIT_DBCLICK:"dbclick",SIZE_PER_PAGE_LIST:[10,25,30,50],PAGINATION_SIZE:5,NO_DATA_TEXT:"There is no data to display",SHOW_ONLY_SELECT:"Show Selected Only",SHOW_ALL:"Show All",EXPORT_CSV_TEXT:"Export to CSV",INSERT_BTN_TEXT:"New",DELETE_BTN_TEXT:"Delete",SAVE_BTN_TEXT:"Save",CLOSE_BTN_TEXT:"Close",FILTER_DELAY:500,SCROLL_TOP:"Top",SCROLL_BOTTOM:"Bottom",FILTER_TYPE:{TEXT:"TextFilter",REGEX:"RegexFilter",SELECT:"SelectFilter",NUMBER:"NumberFilter",DATE:"DateFilter",CUSTOM:"CustomFilter"},FILTER_COND_EQ:"eq",FILTER_COND_LIKE:"like",EXPAND_BY_ROW:"row",EXPAND_BY_COL:"column",CANCEL_TOASTR:"Pressed ESC can cancel",REMOTE_SORT:"sort",REMOTE_PAGE:"pagination",REMOTE_CELL_EDIT:"cellEdit",REMOTE_INSERT_ROW:"insertRow",REMOTE_DROP_ROW:"dropRow",REMOTE_FILTER:"filter",REMOTE_SEARCH:"search",REMOTE_EXPORT_CSV:"exportCSV"};n.REMOTE={},n.REMOTE[n.REMOTE_SORT]=!1,n.REMOTE[n.REMOTE_PAGE]=!1,n.REMOTE[n.REMOTE_CELL_EDIT]=!1,n.REMOTE[n.REMOTE_INSERT_ROW]=!1,n.REMOTE[n.REMOTE_DROP_ROW]=!1,n.REMOTE[n.REMOTE_FILTER]=!1,n.REMOTE[n.REMOTE_SEARCH]=!1,n.REMOTE[n.REMOTE_EXPORT_CSV]=!1;var a=n;t["default"]=a;(function(){"undefined"!=typeof __REACT_HOT_LOADER__&&(__REACT_HOT_LOADER__.register(n,"CONST_VAR","/Users/allen/Node/react-bootstrap-table-new/react-bootstrap-table/src/Const.js"),__REACT_HOT_LOADER__.register(a,"default","/Users/allen/Node/react-bootstrap-table-new/react-bootstrap-table/src/Const.js"))})()},,,,,,function(e,t,n){"use strict";var a=null;e.exports={debugTool:a}},,[1458,163],function(e,t,n){"use strict";function a(e){return void 0!==e.ref}function r(e){return void 0!==e.key}var s=n(5),o=n(27),i=(n(4),n(196),Object.prototype.hasOwnProperty),l="function"==typeof Symbol&&Symbol["for"]&&Symbol["for"]("react.element")||60103,u={key:!0,ref:!0,__self:!0,__source:!0},d=function(e,t,n,a,r,s,o){var i={$$typeof:l,type:e,key:t,ref:n,props:o,_owner:s};return i};d.createElement=function(e,t,n){var s,l={},c=null,p=null,_=null,f=null;if(null!=t){a(t)&&(p=t.ref),r(t)&&(c=""+t.key),_=void 0===t.__self?null:t.__self,f=void 0===t.__source?null:t.__source;for(s in t)i.call(t,s)&&!u.hasOwnProperty(s)&&(l[s]=t[s])}var m=arguments.length-2;if(1===m)l.children=n;else if(m>1){for(var h=Array(m),y=0;y1){for(var b=Array(g),v=0;v]/;e.exports=a},function(e,t,n){"use strict";var a,r=n(8),s=n(96),o=/^[ \r\n\t\f]/,i=/<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/,l=n(110),u=l(function(e,t){if(e.namespaceURI!==s.svg||"innerHTML"in e)e.innerHTML=t;else{a=a||document.createElement("div"),a.innerHTML=""+t+"";for(var n=a.firstChild;n.firstChild;)e.appendChild(n.firstChild)}});if(r.canUseDOM){var d=document.createElement("div");d.innerHTML=" ",""===d.innerHTML&&(u=function(e,t){if(e.parentNode&&e.parentNode.replaceChild(e,e),o.test(t)||"<"===t[0]&&i.test(t)){e.innerHTML=String.fromCharCode(65279)+t;var n=e.firstChild;1===n.data.length?e.removeChild(n):n.deleteData(0,1)}else e.innerHTML=t}),d=null}e.exports=u},,function(e,t,n){"use strict";var a=n(3),r=function(e){var t,n={};e instanceof Object&&!Array.isArray(e)?void 0:a(!1);for(t in e)e.hasOwnProperty(t)&&(n[t]=t);return n};e.exports=r},,function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(2),s=a(r),o=n(9),i=a(o),l=n(10),u=a(l),d={renderReactSortCaret:function(e){var t=(0,u["default"])("order",{dropup:e===i["default"].SORT_ASC});return s["default"].createElement("span",{className:t},s["default"].createElement("span",{className:"caret",style:{margin:"10px 5px"}}))},getScrollBarWidth:function(){var e=document.createElement("p");e.style.width="100%",e.style.height="200px";var t=document.createElement("div");t.style.position="absolute",t.style.top="0px",t.style.left="0px",t.style.visibility="hidden",t.style.width="200px",t.style.height="150px",t.style.overflow="hidden",t.appendChild(e),document.body.appendChild(t);var n=e.getBoundingClientRect().width;t.style.overflow="scroll";var a=e.getBoundingClientRect().width;return n===a&&(a=t.clientWidth),document.body.removeChild(t),n-a},canUseDOM:function(){return"undefined"!=typeof window&&"undefined"!=typeof window.document},renderColGroup:function(e,t){var n=null,a=t.mode===i["default"].ROW_SELECT_SINGLE||t.mode===i["default"].ROW_SELECT_MULTI;if(a){var r={width:t.columnWidth||30,minWidth:t.columnWidth||30};t.hideSelectColumn||(n=s["default"].createElement("col",{style:r,key:-1}))}var o=e.map(function(e,t){var n={display:e.hidden?"none":null};return e.width&&(n.width=e.width,n.minWidth=e.width),s["default"].createElement("col",{style:n,key:t,className:e.className})});return s["default"].createElement("colgroup",null,n,o)}};t["default"]=d;(function(){"undefined"!=typeof __REACT_HOT_LOADER__&&__REACT_HOT_LOADER__.register(d,"default","/Users/allen/Node/react-bootstrap-table-new/react-bootstrap-table/src/util.js")})()},,,,,,,,,,,[1468,28,17],644,645,[1496,25,440,470,484],[1497,387],[1514,93,175],649,1143,[1549,172,173],function(e,t,n){"use strict";function a(e,t){return Array.isArray(t)&&(t=t[1]),t?t.nextSibling:e.firstChild}function r(e,t,n){d.insertTreeBefore(e,t,n)}function s(e,t,n){Array.isArray(t)?i(e,t[0],t[1],n):h(e,t,n)}function o(e,t){if(Array.isArray(t)){var n=t[1];t=t[0],l(e,t,n),e.removeChild(n)}e.removeChild(t)}function i(e,t,n,a){for(var r=t;;){var s=r.nextSibling;if(h(e,r,a),r===n)break;r=s}}function l(e,t,n){for(;;){var a=t.nextSibling;if(a===n)break;e.removeChild(a)}}function u(e,t,n){var a=e.parentNode,r=e.nextSibling;r===t?n&&h(a,document.createTextNode(n),r):n?(m(r,n),l(a,r,t)):l(a,e,t)}var d=n(35),c=n(490),p=n(190),_=(n(7),n(15),n(110)),f=n(71),m=n(204),h=_(function(e,t,n){e.insertBefore(t,n)}),y=c.dangerouslyReplaceNodeWithMarkup,g={dangerouslyReplaceNodeWithMarkup:y,replaceDelimitedText:u,processUpdates:function(e,t){for(var n=0;n-1?void 0:o("96",e),!u.plugins[n]){t.extractEvents?void 0:o("97",e),u.plugins[n]=t;var a=t.eventTypes;for(var s in a)r(a[s],t,s)?void 0:o("98",s,e)}}}function r(e,t,n){u.eventNameDispatchConfigs.hasOwnProperty(n)?o("99",n):void 0,u.eventNameDispatchConfigs[n]=e;var a=e.phasedRegistrationNames;if(a){for(var r in a)if(a.hasOwnProperty(r)){var i=a[r];s(i,t,n)}return!0}return!!e.registrationName&&(s(e.registrationName,t,n),!0)}function s(e,t,n){u.registrationNameModules[e]?o("100",e):void 0,u.registrationNameModules[e]=t,u.registrationNameDependencies[e]=t.eventTypes[n].dependencies}var o=n(6),i=(n(3),null),l={},u={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},possibleRegistrationNames:null,injectEventPluginOrder:function(e){i?o("101"):void 0,i=Array.prototype.slice.call(e),a()},injectEventPluginsByName:function(e){var t=!1;for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];l.hasOwnProperty(n)&&l[n]===r||(l[n]?o("102",n):void 0,l[n]=r,t=!0)}t&&a()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return u.registrationNameModules[t.registrationName]||null;for(var n in t.phasedRegistrationNames)if(t.phasedRegistrationNames.hasOwnProperty(n)){var a=u.registrationNameModules[t.phasedRegistrationNames[n]];if(a)return a}return null},_resetEventPlugins:function(){i=null;for(var e in l)l.hasOwnProperty(e)&&delete l[e];u.plugins.length=0;var t=u.eventNameDispatchConfigs;for(var n in t)t.hasOwnProperty(n)&&delete t[n];var a=u.registrationNameModules;for(var r in a)a.hasOwnProperty(r)&&delete a[r]}};e.exports=u},function(e,t,n){"use strict";function a(e){return e===g.topMouseUp||e===g.topTouchEnd||e===g.topTouchCancel}function r(e){return e===g.topMouseMove||e===g.topTouchMove}function s(e){return e===g.topMouseDown||e===g.topTouchStart}function o(e,t,n,a){var r=e.type||"unknown-event";e.currentTarget=b.getNodeFromInstance(a),t?h.invokeGuardedCallbackWithCatch(r,n,e):h.invokeGuardedCallback(r,n,e),e.currentTarget=null}function i(e,t){var n=e._dispatchListeners,a=e._dispatchInstances;if(Array.isArray(n))for(var r=0;r0&&a.length<20?n+" (keys: "+a.join(", ")+")":n}function s(e,t){var n=i.get(e);if(!n){return null}return n}var o=n(6),i=(n(27),n(45)),l=(n(15),n(19)),u=(n(3),n(4),{isMounted:function(e){var t=i.get(e);return!!t&&!!t._renderedComponent},enqueueCallback:function(e,t,n){u.validateCallback(t,n);var r=s(e);return r?(r._pendingCallbacks?r._pendingCallbacks.push(t):r._pendingCallbacks=[t],void a(r)):null},enqueueCallbackInternal:function(e,t){e._pendingCallbacks?e._pendingCallbacks.push(t):e._pendingCallbacks=[t],a(e)},enqueueForceUpdate:function(e){var t=s(e,"forceUpdate");t&&(t._pendingForceUpdate=!0,a(t))},enqueueReplaceState:function(e,t){var n=s(e,"replaceState");n&&(n._pendingStateQueue=[t],n._pendingReplaceState=!0,a(n))},enqueueSetState:function(e,t){var n=s(e,"setState");if(n){var r=n._pendingStateQueue||(n._pendingStateQueue=[]);r.push(t),a(n)}},enqueueElementInternal:function(e,t,n){e._pendingElement=t,e._context=n,a(e)},validateCallback:function(e,t){e&&"function"!=typeof e?o("122",t,r(e)):void 0}});e.exports=u},function(e,t){"use strict";var n=function(e){return"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,a,r){MSApp.execUnsafeLocalFunction(function(){return e(t,n,a,r)})}:e};e.exports=n},function(e,t){"use strict";function n(e){var t,n=e.keyCode;return"charCode"in e?(t=e.charCode,0===t&&13===n&&(t=13)):t=n,t>=32||13===t?t:0}e.exports=n},function(e,t){"use strict";function n(e){var t=this,n=t.nativeEvent;if(n.getModifierState)return n.getModifierState(e);var a=r[e];return!!a&&!!n[a]}function a(e){return n}var r={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};e.exports=a},function(e,t){"use strict";function n(e){var t=e.target||e.srcElement||window;return t.correspondingUseElement&&(t=t.correspondingUseElement),3===t.nodeType?t.parentNode:t}e.exports=n},function(e,t,n){"use strict";/** * Checks if an event is supported in the current execution environment. * * NOTE: This will not work correctly for non-generic events such as `change`, * `reset`, `load`, `error`, and `select`. * * Borrows from Modernizr. * * @param {string} eventNameSuffix Event name, e.g. "click". * @param {?boolean} capture Check if the capture phase is supported. * @return {boolean} True if the event is supported. * @internal * @license Modernizr 3.0.0pre (Custom Build) | MIT */ function a(e,t){if(!s.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,a=n in document;if(!a){var o=document.createElement("div");o.setAttribute(n,"return;"),a="function"==typeof o[n]}return!a&&r&&"wheel"===e&&(a=document.implementation.hasFeature("Events.wheel","3.0")),a}var r,s=n(8);s.canUseDOM&&(r=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0),e.exports=a},function(e,t){"use strict";function n(e,t){var n=null===e||e===!1,a=null===t||t===!1;if(n||a)return n===a;var r=typeof e,s=typeof t;return"string"===r||"number"===r?"string"===s||"number"===s:"object"===s&&e.type===t.type&&e.key===t.key}e.exports=n},function(e,t,n){"use strict";function a(e,t){return e&&"object"==typeof e&&null!=e.key?u.escape(e.key):t.toString(36)}function r(e,t,n,s){var p=typeof e;if("undefined"!==p&&"boolean"!==p||(e=null),null===e||"string"===p||"number"===p||i.isValidElement(e))return n(s,e,""===t?d+a(e,0):t),1;var _,f,m=0,h=""===t?d:t+c;if(Array.isArray(e))for(var y=0;y.":"function"==typeof t?" Instead of passing a class like Foo, pass React.createElement(Foo) or .":null!=t&&void 0!==t.props?" This may be caused by unintentionally loading two independent copies of React.":"");var o,i=v(j,null,null,null,null,null,t);if(e){var l=T.get(e);o=l._processChildContext(l._context)}else o=w;var d=p(n);if(d){var c=d._currentElement,f=c.props;if(C(f,t)){var m=d._renderedComponent.getPublicInstance(),h=a&&function(){a.call(m)};return F._updateRootComponent(d,i,o,n,h),m}F.unmountComponentAtNode(n)}var y=r(n),g=y&&!!s(y),b=u(n),M=g&&!d&&!b,L=F._renderNewRootComponent(i,n,M,o)._renderedComponent.getPublicInstance();return a&&a.call(L),L},render:function(e,t,n){return F._renderSubtreeIntoContainer(null,e,t,n)},unmountComponentAtNode:function(e){d(e)?void 0:_("40");var t=p(e);if(!t){u(e),1===e.nodeType&&e.hasAttribute(P);return!1}return delete N[t._instance.rootID],D.batchedUpdates(l,t,e,!1),!0},_mountImageIntoNode:function(e,t,n,s,o){if(d(t)?void 0:_("41"),s){var i=r(t);if(L.canReuseMarkup(e,i))return void y.precacheNode(n,i);var l=i.getAttribute(L.CHECKSUM_ATTR_NAME);i.removeAttribute(L.CHECKSUM_ATTR_NAME);var u=i.outerHTML;i.setAttribute(L.CHECKSUM_ATTR_NAME,l);var c=e,p=a(c,u),m=" (client) "+c.substring(p-20,p+20)+"\n (server) "+u.substring(p-20,p+20);t.nodeType===x?_("42",m):void 0}if(t.nodeType===x?_("43"):void 0,o.useCreateElement){for(;t.lastChild;)t.removeChild(t.lastChild);f.insertTreeBefore(t,e,null)}else S(t,e),y.precacheNode(n,t.firstChild)}};e.exports=F},function(e,t,n){"use strict";var a=n(73),r=a({INSERT_MARKUP:null,MOVE_EXISTING:null,REMOVE_NODE:null,SET_MARKUP:null,TEXT_CONTENT:null});e.exports=r},function(e,t,n){"use strict";var a=n(6),r=n(18),s=(n(3),{HOST:0,COMPOSITE:1,EMPTY:2,getType:function(e){return null===e||e===!1?s.EMPTY:r.isValidElement(e)?"function"==typeof e.type?s.COMPOSITE:s.HOST:void a("26",e)}});e.exports=s},function(e,t,n){"use strict";function a(e,t){return e===t?0!==e||1/e===1/t:e!==e&&t!==t}function r(e){this.message=e,this.stack=""}function s(e){function t(t,n,a,s,o,i,l){s=s||D,i=i||a;if(null==n[a]){var u=T[o];return t?new r("Required "+u+" `"+i+"` was not specified in "+("`"+s+"`.")):null}return e(n,a,s,o,i)}var n=t.bind(null,!1);return n.isRequired=t.bind(null,!0),n}function o(e){function t(t,n,a,s,o,i){var l=t[n],u=g(l);if(u!==e){var d=T[s],c=b(l);return new r("Invalid "+d+" `"+o+"` of type "+("`"+c+"` supplied to `"+a+"`, expected ")+("`"+e+"`."))}return null}return s(t)}function i(){return s(E.thatReturns(null))}function l(e){function t(t,n,a,s,o){if("function"!=typeof e)return new r("Property `"+o+"` of component `"+a+"` has invalid PropType notation inside arrayOf.");var i=t[n];if(!Array.isArray(i)){var l=T[s],u=g(i);return new r("Invalid "+l+" `"+o+"` of type "+("`"+u+"` supplied to `"+a+"`, expected an array."))}for(var d=0;d>"),w={array:o("array"),bool:o("boolean"),func:o("function"),number:o("number"),object:o("object"),string:o("string"),symbol:o("symbol"),any:i(),arrayOf:l,element:u(),instanceOf:d,node:f(),objectOf:p,oneOf:c,oneOfType:_,shape:m};r.prototype=Error.prototype,e.exports=w},function(e,t){"use strict";e.exports="15.3.2"},function(e,t){"use strict";var n={currentScrollLeft:0,currentScrollTop:0,refreshScrollValues:function(e){n.currentScrollLeft=e.x,n.currentScrollTop=e.y}};e.exports=n},function(e,t,n){"use strict";function a(e,t){return null==t?r("30"):void 0,null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}var r=n(6);n(3);e.exports=a},function(e,t,n){"use strict";var a=!1;e.exports=a},function(e,t){"use strict";function n(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}e.exports=n},function(e,t,n){"use strict";function a(e){for(var t;(t=e._renderedNodeType)===r.COMPOSITE;)e=e._renderedComponent;return t===r.HOST?e._renderedComponent:t===r.EMPTY?null:void 0}var r=n(191);e.exports=a},function(e,t){"use strict";function n(e){var t=e&&(a&&e[a]||e[r]);if("function"==typeof t)return t}var a="function"==typeof Symbol&&Symbol.iterator,r="@@iterator";e.exports=n},function(e,t,n){"use strict";function a(){return!s&&r.canUseDOM&&(s="textContent"in document.documentElement?"textContent":"innerText"),s}var r=n(8),s=null;e.exports=a},function(e,t,n){"use strict";function a(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n["ms"+e]="MS"+t,n["O"+e]="o"+t.toLowerCase(),n}function r(e){if(i[e])return i[e];if(!o[e])return e;var t=o[e];for(var n in t)if(t.hasOwnProperty(n)&&n in l)return i[e]=t[n];return""}var s=n(8),o={animationend:a("Animation","AnimationEnd"),animationiteration:a("Animation","AnimationIteration"),animationstart:a("Animation","AnimationStart"),transitionend:a("Transition","TransitionEnd")},i={},l={};s.canUseDOM&&(l=document.createElement("div").style,"AnimationEvent"in window||(delete o.animationend.animation,delete o.animationiteration.animation,delete o.animationstart.animation),"TransitionEvent"in window||delete o.transitionend.transition),e.exports=r},function(e,t,n){"use strict";function a(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}function r(e){return"function"==typeof e&&"undefined"!=typeof e.prototype&&"function"==typeof e.prototype.mountComponent&&"function"==typeof e.prototype.receiveComponent}function s(e,t){var n;if(null===e||e===!1)n=u.create(s);else if("object"==typeof e){var i=e;!i||"function"!=typeof i.type&&"string"!=typeof i.type?o("130",null==i.type?i.type:typeof i.type,a(i._owner)):void 0,"string"==typeof i.type?n=d.createInternalComponent(i):r(i.type)?(n=new i.type(i),n.getHostNode||(n.getHostNode=n.getNativeNode)):n=new c(i)}else"string"==typeof e||"number"==typeof e?n=d.createInstanceForText(e):o("131",typeof e);return n._mountIndex=0,n._mountImage=null,n}var o=n(6),i=n(5),l=n(498),u=n(185),d=n(187),c=(n(3),n(4),function(e){this.construct(e)});i(c.prototype,l.Mixin,{_instantiateReactComponent:s});e.exports=s},function(e,t){"use strict";function n(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!a[e.type]:"textarea"===t}var a={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};e.exports=n},function(e,t,n){"use strict";var a=n(8),r=n(70),s=n(71),o=function(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t};a.canUseDOM&&("textContent"in document.documentElement||(o=function(e,t){s(e,r(t))})),e.exports=o},[1565,495],function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.load=t.loadingFailed=t.loadingSucceeded=t.loading=t.LOADING_MEASUREMENTS_SUCCEEDED=t.LOADING_MEASUREMENTS_FAILED=t.LOADING_MEASUREMENTS=void 0;var a=n(52),r=t.LOADING_MEASUREMENTS="LOADING_MEASUREMENTS",s=t.LOADING_MEASUREMENTS_FAILED="LOADING_MEASUREMENTS_FAILED",o=t.LOADING_MEASUREMENTS_SUCCEEDED="LOADING_MEASUREMENTS_SUCCEEDED",i=t.loading=function(){return{type:r}},l=t.loadingSucceeded=function(e){return{type:o,measurements:e}},u=t.loadingFailed=function(e){return{type:s,exception:e}};t.load=function(){return function(e,t){return e(i()),(0,a.fetch)("/api/measurement").then(function(e){return e.json()}).then(function(t){return e(l(t.measurements))})["catch"](function(t){e(u(t))})}}},,function(e,t){"use strict";t.__esModule=!0,t["default"]=function(e,t){var n={};for(var a in e)t.indexOf(a)>=0||Object.prototype.hasOwnProperty.call(e,a)&&(n[a]=e[a]);return n}},,,,function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(e){return/^nm$/i.test(e)},meridiem:function(e,t,n){return e<12?n?"vm":"VM":n?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[Môre om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("ar-dz",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"أح_إث_ثلا_أر_خم_جم_سب".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان", m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("ar-kw",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:12}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},n=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},a={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},r=function(e){return function(t,r,s,o){var i=n(t),l=a[e][n(t)];return 2===i&&(l=l[r?0:1]),l.replace(/%d/i,t)}},s=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],o=e.defineLocale("ar-ly",{months:s,monthsShort:s,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,t,n){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:r("s"),m:r("m"),mm:r("m"),h:r("h"),hh:r("h"),d:r("d"),dd:r("d"),M:r("M"),MM:r("M"),y:r("y"),yy:r("y")},preparse:function(e){return e.replace(/\u200f/g,"").replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]}).replace(/,/g,"،")},week:{dow:6,doy:12}});return o})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("ar-ma",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:6,doy:12}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},a=e.defineLocale("ar-sa",{months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,t,n){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:function(e){return e.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(e){return n[e]}).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]}).replace(/,/g,"،")},week:{dow:0,doy:6}});return a})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("ar-tn",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},a=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},r={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},s=function(e){return function(t,n,s,o){var i=a(t),l=r[e][a(t)];return 2===i&&(l=l[n?0:1]),l.replace(/%d/i,t)}},o=["كانون الثاني يناير","شباط فبراير","آذار مارس","نيسان أبريل","أيار مايو","حزيران يونيو","تموز يوليو","آب أغسطس","أيلول سبتمبر","تشرين الأول أكتوبر","تشرين الثاني نوفمبر","كانون الأول ديسمبر"],i=e.defineLocale("ar",{months:o,monthsShort:o,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,t,n){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:s("s"),m:s("m"),mm:s("m"),h:s("h"),hh:s("h"),d:s("d"),dd:s("d"),M:s("M"),MM:s("M"),y:s("y"),yy:s("y")},preparse:function(e){return e.replace(/\u200f/g,"").replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(e){return n[e]}).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]}).replace(/,/g,"،")},week:{dow:6,doy:12}});return i})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-üncü",4:"-üncü",100:"-üncü",6:"-ncı",9:"-uncu",10:"-uncu",30:"-uncu",60:"-ıncı",90:"-ıncı"},n=e.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə".split("_"),weekdaysShort:"Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən".split("_"),weekdaysMin:"Bz_BE_ÇA_Çə_CA_Cü_Şə".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[gələn həftə] dddd [saat] LT",lastDay:"[dünən] LT",lastWeek:"[keçən həftə] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s əvvəl",s:"birneçə saniyyə",m:"bir dəqiqə",mm:"%d dəqiqə",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gecə|səhər|gündüz|axşam/,isPM:function(e){return/^(gündüz|axşam)$/.test(e)},meridiem:function(e,t,n){return e<4?"gecə":e<12?"səhər":e<17?"gündüz":"axşam"},dayOfMonthOrdinalParse:/\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,ordinal:function(e){if(0===e)return e+"-ıncı";var n=e%10,a=e%100-n,r=e>=100?100:null;return e+(t[n]||t[a]||t[r])},week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t){var n=e.split("_");return t%10===1&&t%100!==11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function n(e,n,a){var r={mm:n?"хвіліна_хвіліны_хвілін":"хвіліну_хвіліны_хвілін",hh:n?"гадзіна_гадзіны_гадзін":"гадзіну_гадзіны_гадзін",dd:"дзень_дні_дзён",MM:"месяц_месяцы_месяцаў",yy:"год_гады_гадоў"};return"m"===a?n?"хвіліна":"хвіліну":"h"===a?n?"гадзіна":"гадзіну":e+" "+t(r[a],+e)}var a=e.defineLocale("be",{months:{format:"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня".split("_"),standalone:"студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань".split("_")},monthsShort:"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж".split("_"),weekdays:{format:"нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу".split("_"),standalone:"нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота".split("_"),isFormat:/\[ ?[Вв] ?(?:мінулую|наступную)? ?\] ?dddd/},weekdaysShort:"нд_пн_ат_ср_чц_пт_сб".split("_"),weekdaysMin:"нд_пн_ат_ср_чц_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сёння ў] LT",nextDay:"[Заўтра ў] LT",lastDay:"[Учора ў] LT",nextWeek:function(){return"[У] dddd [ў] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[У мінулую] dddd [ў] LT";case 1:case 2:case 4:return"[У мінулы] dddd [ў] LT"}},sameElse:"L"},relativeTime:{future:"праз %s",past:"%s таму",s:"некалькі секунд",m:n,mm:n,h:n,hh:n,d:"дзень",dd:n,M:"месяц",MM:n,y:"год",yy:n},meridiemParse:/ночы|раніцы|дня|вечара/,isPM:function(e){return/^(дня|вечара)$/.test(e)},meridiem:function(e,t,n){return e<4?"ночы":e<12?"раніцы":e<17?"дня":"вечара"},dayOfMonthOrdinalParse:/\d{1,2}-(і|ы|га)/,ordinal:function(e,t){switch(t){case"M":case"d":case"DDD":case"w":case"W":return e%10!==2&&e%10!==3||e%100===12||e%100===13?e+"-ы":e+"-і";case"D":return e+"-га";default:return e}},week:{dow:1,doy:7}});return a})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Днес в] LT",nextDay:"[Утре в] LT",nextWeek:"dddd [в] LT",lastDay:"[Вчера в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[В изминалата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[В изминалия] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дни",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(e){var t=e%10,n=e%100;return 0===e?e+"-ев":0===n?e+"-ен":n>10&&n<20?e+"-ти":1===t?e+"-ви":2===t?e+"-ри":7===t||8===t?e+"-ми":e+"-ти"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={1:"১",2:"২",3:"৩",4:"৪",5:"৫",6:"৬",7:"৭",8:"৮",9:"৯",0:"০"},n={"১":"1","২":"2","৩":"3","৪":"4","৫":"5","৬":"6","৭":"7","৮":"8","৯":"9","০":"0"},a=e.defineLocale("bn",{months:"জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর".split("_"),monthsShort:"জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে".split("_"),weekdays:"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার".split("_"),weekdaysShort:"রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি".split("_"),weekdaysMin:"রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি".split("_"),longDateFormat:{LT:"A h:mm সময়",LTS:"A h:mm:ss সময়",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm সময়",LLLL:"dddd, D MMMM YYYY, A h:mm সময়"},calendar:{sameDay:"[আজ] LT",nextDay:"[আগামীকাল] LT",nextWeek:"dddd, LT",lastDay:"[গতকাল] LT",lastWeek:"[গত] dddd, LT",sameElse:"L"},relativeTime:{future:"%s পরে",past:"%s আগে",s:"কয়েক সেকেন্ড",m:"এক মিনিট",mm:"%d মিনিট",h:"এক ঘন্টা",hh:"%d ঘন্টা",d:"এক দিন",dd:"%d দিন",M:"এক মাস",MM:"%d মাস",y:"এক বছর",yy:"%d বছর"},preparse:function(e){return e.replace(/[১২৩৪৫৬৭৮৯০]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/রাত|সকাল|দুপুর|বিকাল|রাত/,meridiemHour:function(e,t){return 12===e&&(e=0),"রাত"===t&&e>=4||"দুপুর"===t&&e<5||"বিকাল"===t?e+12:e},meridiem:function(e,t,n){return e<4?"রাত":e<10?"সকাল":e<17?"দুপুর":e<20?"বিকাল":"রাত"},week:{dow:0,doy:6}});return a})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={1:"༡",2:"༢",3:"༣",4:"༤",5:"༥",6:"༦",7:"༧",8:"༨",9:"༩",0:"༠"},n={"༡":"1","༢":"2","༣":"3","༤":"4","༥":"5","༦":"6","༧":"7","༨":"8","༩":"9","༠":"0"},a=e.defineLocale("bo",{months:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),monthsShort:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),weekdays:"གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་".split("_"),weekdaysShort:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),weekdaysMin:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[དི་རིང] LT",nextDay:"[སང་ཉིན] LT",nextWeek:"[བདུན་ཕྲག་རྗེས་མ], LT",lastDay:"[ཁ་སང] LT",lastWeek:"[བདུན་ཕྲག་མཐའ་མ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ལ་",past:"%s སྔན་ལ",s:"ལམ་སང",m:"སྐར་མ་གཅིག",mm:"%d སྐར་མ",h:"ཆུ་ཚོད་གཅིག",hh:"%d ཆུ་ཚོད",d:"ཉིན་གཅིག",dd:"%d ཉིན་",M:"ཟླ་བ་གཅིག",MM:"%d ཟླ་བ",y:"ལོ་གཅིག",yy:"%d ལོ"},preparse:function(e){return e.replace(/[༡༢༣༤༥༦༧༨༩༠]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,meridiemHour:function(e,t){return 12===e&&(e=0),"མཚན་མོ"===t&&e>=4||"ཉིན་གུང"===t&&e<5||"དགོང་དག"===t?e+12:e},meridiem:function(e,t,n){return e<4?"མཚན་མོ":e<10?"ཞོགས་ཀས":e<17?"ཉིན་གུང":e<20?"དགོང་དག":"མཚན་མོ"},week:{dow:0,doy:6}});return a})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n){var a={mm:"munutenn",MM:"miz",dd:"devezh"};return e+" "+r(a[n],e)}function n(e){switch(a(e)){case 1:case 3:case 4:case 5:case 9:return e+" bloaz";default:return e+" vloaz"}}function a(e){return e>9?a(e%10):e}function r(e,t){return 2===t?s(e):e}function s(e){var t={m:"v",b:"v",d:"z"};return void 0===t[e.charAt(0)]?e:t[e.charAt(0)]+e.substring(1)}var o=e.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondennoù",m:"ur vunutenn",mm:t,h:"un eur",hh:"%d eur",d:"un devezh",dd:t,M:"ur miz",MM:t,y:"ur bloaz",yy:n},dayOfMonthOrdinalParse:/\d{1,2}(añ|vet)/,ordinal:function(e){var t=1===e?"añ":"vet";return e+t},week:{dow:1,doy:4}});return o})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n){var a=e+" ";switch(n){case"m":return t?"jedna minuta":"jedne minute";case"mm":return a+=1===e?"minuta":2===e||3===e||4===e?"minute":"minuta";case"h":return t?"jedan sat":"jednog sata";case"hh":return a+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return a+=1===e?"dan":"dana";case"MM":return a+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return a+=1===e?"godina":2===e||3===e||4===e?"godine":"godina"}}var n=e.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:t,mm:t,h:t,hh:t,d:"dan",dd:t,M:"mjesec",MM:t,y:"godinu",yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("ca",{months:{standalone:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"Dg_Dl_Dt_Dc_Dj_Dv_Ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"[el] D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"[el] D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"[el] dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aquí %s",past:"fa %s",s:"uns segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(e,t){var n=1===e?"r":2===e?"n":3===e?"r":4===e?"t":"è";return"w"!==t&&"W"!==t||(n="a"),e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e){return e>1&&e<5&&1!==~~(e/10)}function n(e,n,a,r){var s=e+" ";switch(a){case"s":return n||r?"pár sekund":"pár sekundami";case"m":return n?"minuta":r?"minutu":"minutou";case"mm":return n||r?s+(t(e)?"minuty":"minut"):s+"minutami";case"h":return n?"hodina":r?"hodinu":"hodinou";case"hh":return n||r?s+(t(e)?"hodiny":"hodin"):s+"hodinami";case"d":return n||r?"den":"dnem";case"dd":return n||r?s+(t(e)?"dny":"dní"):s+"dny";case"M":return n||r?"měsíc":"měsícem";case"MM":return n||r?s+(t(e)?"měsíce":"měsíců"):s+"měsíci";case"y":return n||r?"rok":"rokem";case"yy":return n||r?s+(t(e)?"roky":"let"):s+"lety"}}var a="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),r="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_"),s=e.defineLocale("cs",{months:a,monthsShort:r,monthsParse:function(e,t){var n,a=[];for(n=0;n<12;n++)a[n]=new RegExp("^"+e[n]+"$|^"+t[n]+"$","i");return a}(a,r),shortMonthsParse:function(e){var t,n=[];for(t=0;t<12;t++)n[t]=new RegExp("^"+e[t]+"$","i");return n}(r),longMonthsParse:function(e){var t,n=[];for(t=0;t<12;t++)n[t]=new RegExp("^"+e[t]+"$","i");return n}(a),weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return s})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("cv",{months:"кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав".split("_"),monthsShort:"кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш".split("_"),weekdays:"вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун".split("_"),weekdaysShort:"выр_тун_ытл_юн_кӗҫ_эрн_шӑм".split("_"),weekdaysMin:"вр_тн_ыт_юн_кҫ_эр_шм".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]",LLL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm",LLLL:"dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm"},calendar:{sameDay:"[Паян] LT [сехетре]",nextDay:"[Ыран] LT [сехетре]",lastDay:"[Ӗнер] LT [сехетре]",nextWeek:"[Ҫитес] dddd LT [сехетре]",lastWeek:"[Иртнӗ] dddd LT [сехетре]",sameElse:"L"},relativeTime:{future:function(e){var t=/сехет$/i.exec(e)?"рен":/ҫул$/i.exec(e)?"тан":"ран";return e+t},past:"%s каялла",s:"пӗр-ик ҫеккунт",m:"пӗр минут",mm:"%d минут",h:"пӗр сехет",hh:"%d сехет",d:"пӗр кун",dd:"%d кун",M:"пӗр уйӑх",MM:"%d уйӑх",y:"пӗр ҫул",yy:"%d ҫул"},dayOfMonthOrdinalParse:/\d{1,2}-мӗш/,ordinal:"%d-мӗш",week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn ôl",s:"ychydig eiliadau",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(e){var t=e,n="",a=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"];return t>20?n=40===t||50===t||60===t||80===t||100===t?"fed":"ain":t>0&&(n=a[t]),e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"på dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en måned",MM:"%d måneder",y:"et år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n,a){var r={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return t?r[n][0]:r[n][1]}var n=e.defineLocale("de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:t,mm:"%d Minuten",h:t,hh:"%d Stunden",d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n,a){var r={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return t?r[n][0]:r[n][1]}var n=e.defineLocale("de-ch",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._März_April_Mai_Juni_Juli_Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH.mm",LLLL:"dddd, D. MMMM YYYY HH.mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:t,mm:"%d Minuten",h:t,hh:"%d Stunden",d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n,a){var r={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return t?r[n][0]:r[n][1]}var n=e.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:t,mm:"%d Minuten",h:t,hh:"%d Stunden",d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=["ޖެނުއަރީ","ފެބްރުއަރީ","މާރިޗު","އޭޕްރީލު","މޭ","ޖޫން","ޖުލައި","އޯގަސްޓު","ސެޕްޓެމްބަރު","އޮކްޓޯބަރު","ނޮވެމްބަރު","ޑިސެމްބަރު"],n=["އާދިއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"],a=e.defineLocale("dv",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:"އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި".split("_"),longDateFormat:{ LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/މކ|މފ/,isPM:function(e){return"މފ"===e},meridiem:function(e,t,n){return e<12?"މކ":"މފ"},calendar:{sameDay:"[މިއަދު] LT",nextDay:"[މާދަމާ] LT",nextWeek:"dddd LT",lastDay:"[އިއްޔެ] LT",lastWeek:"[ފާއިތުވި] dddd LT",sameElse:"L"},relativeTime:{future:"ތެރޭގައި %s",past:"ކުރިން %s",s:"ސިކުންތުކޮޅެއް",m:"މިނިޓެއް",mm:"މިނިޓު %d",h:"ގަޑިއިރެއް",hh:"ގަޑިއިރު %d",d:"ދުވަހެއް",dd:"ދުވަސް %d",M:"މަހެއް",MM:"މަސް %d",y:"އަހަރެއް",yy:"އަހަރު %d"},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:7,doy:12}});return a})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e){return e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}var n=e.defineLocale("el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsGenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(e,t){return e?/D/.test(t.substring(0,t.indexOf("MMMM")))?this._monthsGenitiveEl[e.month()]:this._monthsNominativeEl[e.month()]:this._monthsNominativeEl},monthsShort:"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(e,t,n){return e>11?n?"μμ":"ΜΜ":n?"πμ":"ΠΜ"},isPM:function(e){return"μ"===(e+"").toLowerCase()[0]},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[Σήμερα {}] LT",nextDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[το προηγούμενο] dddd [{}] LT";default:return"[την προηγούμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(e,n){var a=this._calendarEl[e],r=n&&n.hours();return t(a)&&(a=a.apply(n)),a.replace("{}",r%12===1?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s πριν",s:"λίγα δευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",dd:"%d μέρες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χρόνος",yy:"%d χρόνια"},dayOfMonthOrdinalParse:/\d{1,2}η/,ordinal:"%dη",week:{dow:1,doy:4}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec".split("_"),weekdays:"dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_ĵaŭ_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_ĵa_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-a de] MMMM, YYYY",LLL:"D[-a de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-a de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(e){return"p"===e.charAt(0).toLowerCase()},meridiem:function(e,t,n){return e>11?n?"p.t.m.":"P.T.M.":n?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodiaŭ je] LT",nextDay:"[Morgaŭ je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hieraŭ je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"antaŭ %s",s:"sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),a=e.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?n[e.month()]:t[e.month()]:t},monthsParseExact:!0,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});return a})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),a=e.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?n[e.month()]:t[e.month()]:t},monthsParseExact:!0,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});return a})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n,a){var r={s:["mõne sekundi","mõni sekund","paar sekundit"],m:["ühe minuti","üks minut"],mm:[e+" minuti",e+" minutit"],h:["ühe tunni","tund aega","üks tund"],hh:[e+" tunni",e+" tundi"],d:["ühe päeva","üks päev"],M:["kuu aja","kuu aega","üks kuu"],MM:[e+" kuu",e+" kuud"],y:["ühe aasta","aasta","üks aasta"],yy:[e+" aasta",e+" aastat"]};return t?r[n][2]?r[n][2]:r[n][1]:a?r[n][0]:r[n][1]}var n=e.defineLocale("et",{months:"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[Täna,] LT",nextDay:"[Homme,] LT",nextWeek:"[Järgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s pärast",past:"%s tagasi",s:t,m:t,mm:t,h:t,hh:t,d:t,dd:"%d päeva",M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},n={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"},a=e.defineLocale("fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(e){return/بعد از ظهر/.test(e)},meridiem:function(e,t,n){return e<12?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay:"[امروز ساعت] LT",nextDay:"[فردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s پیش",s:"چند ثانیه",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"},preparse:function(e){return e.replace(/[۰-۹]/g,function(e){return n[e]}).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]}).replace(/,/g,"،")},dayOfMonthOrdinalParse:/\d{1,2}م/,ordinal:"%dم",week:{dow:6,doy:12}});return a})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,a,r){var s="";switch(a){case"s":return r?"muutaman sekunnin":"muutama sekunti";case"m":return r?"minuutin":"minuutti";case"mm":s=r?"minuutin":"minuuttia";break;case"h":return r?"tunnin":"tunti";case"hh":s=r?"tunnin":"tuntia";break;case"d":return r?"päivän":"päivä";case"dd":s=r?"päivän":"päivää";break;case"M":return r?"kuukauden":"kuukausi";case"MM":s=r?"kuukauden":"kuukautta";break;case"y":return r?"vuoden":"vuosi";case"yy":s=r?"vuoden":"vuotta"}return s=n(e,r)+" "+s}function n(e,t){return e<10?t?r[e]:a[e]:e}var a="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),r=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",a[7],a[8],a[9]],s=e.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return s})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("fo",{months:"januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"),weekdaysShort:"sun_mán_týs_mik_hós_frí_ley".split("_"),weekdaysMin:"su_má_tý_mi_hó_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[Í dag kl.] LT",nextDay:"[Í morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[Í gjár kl.] LT",lastWeek:"[síðstu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s síðani",s:"fá sekund",m:"ein minutt",mm:"%d minuttir",h:"ein tími",hh:"%d tímar",d:"ein dagur",dd:"%d dagar",M:"ein mánaði",MM:"%d mánaðir",y:"eitt ár",yy:"%d ár"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("fr-ca",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,t){switch(t){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("fr-ch",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,t){switch(t){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(e,t){switch(t){case"D":return e+(1===e?"er":"");default:case"M":case"Q":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),n="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),a=e.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?n[e.month()]:t[e.month()]:t},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[ôfrûne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",m:"ien minút",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}});return a})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=["Am Faoilleach","An Gearran","Am Màrt","An Giblean","An Cèitean","An t-Ògmhios","An t-Iuchar","An Lùnastal","An t-Sultain","An Dàmhair","An t-Samhain","An Dùbhlachd"],n=["Faoi","Gear","Màrt","Gibl","Cèit","Ògmh","Iuch","Lùn","Sult","Dàmh","Samh","Dùbh"],a=["Didòmhnaich","Diluain","Dimàirt","Diciadain","Diardaoin","Dihaoine","Disathairne"],r=["Did","Dil","Dim","Dic","Dia","Dih","Dis"],s=["Dò","Lu","Mà","Ci","Ar","Ha","Sa"],o=e.defineLocale("gd",{months:t,monthsShort:n,monthsParseExact:!0,weekdays:a,weekdaysShort:r,weekdaysMin:s,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-màireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-dè aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"mìos",MM:"%d mìosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){var t=1===e?"d":e%10===2?"na":"mh";return e+t},week:{dow:1,doy:4}});return o})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_mércores_xoves_venres_sábado".split("_"),weekdaysShort:"dom._lun._mar._mér._xov._ven._sáb.".split("_"),weekdaysMin:"do_lu_ma_mé_xo_ve_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"ás":"á")+"] LT"},nextDay:function(){return"[mañá "+(1!==this.hours()?"ás":"á")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"ás":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"á":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"ás":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(e){return 0===e.indexOf("un")?"n"+e:"en "+e},past:"hai %s",s:"uns segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n,a){var r={s:["thodde secondanim","thodde second"],m:["eka mintan","ek minute"],mm:[e+" mintanim",e+" mintam"],h:["eka horan","ek hor"],hh:[e+" horanim",e+" hor"],d:["eka disan","ek dis"],dd:[e+" disanim",e+" dis"],M:["eka mhoinean","ek mhoino"],MM:[e+" mhoineanim",e+" mhoine"],y:["eka vorsan","ek voros"],yy:[e+" vorsanim",e+" vorsam"]};return t?r[n][0]:r[n][1]}var n=e.defineLocale("gom-latn",{months:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Ieta to] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fatlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(e,t){switch(t){case"D":return e+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return e}},week:{dow:1,doy:4},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function(e,t){return 12===e&&(e=0),"rati"===t?e<4?e:e+12:"sokalli"===t?e:"donparam"===t?e>12?e:e+12:"sanje"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"rati":e<12?"sokalli":e<16?"donparam":e<20?"sanje":"rati"}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("he",{months:"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"),monthsShort:"ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳".split("_"),weekdays:"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),weekdaysShort:"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),weekdaysMin:"א_ב_ג_ד_ה_ו_ש".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[היום ב־]LT",nextDay:"[מחר ב־]LT",nextWeek:"dddd [בשעה] LT",lastDay:"[אתמול ב־]LT",lastWeek:"[ביום] dddd [האחרון בשעה] LT",sameElse:"L"},relativeTime:{future:"בעוד %s",past:"לפני %s",s:"מספר שניות",m:"דקה",mm:"%d דקות",h:"שעה",hh:function(e){return 2===e?"שעתיים":e+" שעות"},d:"יום",dd:function(e){return 2===e?"יומיים":e+" ימים"},M:"חודש",MM:function(e){return 2===e?"חודשיים":e+" חודשים"},y:"שנה",yy:function(e){return 2===e?"שנתיים":e%10===0&&10!==e?e+" שנה":e+" שנים"}},meridiemParse:/אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,isPM:function(e){return/^(אחה"צ|אחרי הצהריים|בערב)$/.test(e)},meridiem:function(e,t,n){return e<5?"לפנות בוקר":e<10?"בבוקר":e<12?n?'לפנה"צ':"לפני הצהריים":e<18?n?'אחה"צ':"אחרי הצהריים":"בערב"}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"},a=e.defineLocale("hi",{months:"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),monthsShort:"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm बजे",LTS:"A h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm बजे",LLLL:"dddd, D MMMM YYYY, A h:mm बजे"},calendar:{sameDay:"[आज] LT",nextDay:"[कल] LT",nextWeek:"dddd, LT",lastDay:"[कल] LT",lastWeek:"[पिछले] dddd, LT",sameElse:"L"},relativeTime:{future:"%s में",past:"%s पहले",s:"कुछ ही क्षण",m:"एक मिनट",mm:"%d मिनट",h:"एक घंटा",hh:"%d घंटे",d:"एक दिन",dd:"%d दिन",M:"एक महीने",MM:"%d महीने",y:"एक वर्ष",yy:"%d वर्ष"},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function(e,t){return 12===e&&(e=0),"रात"===t?e<4?e:e+12:"सुबह"===t?e:"दोपहर"===t?e>=10?e:e+12:"शाम"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"रात":e<10?"सुबह":e<17?"दोपहर":e<20?"शाम":"रात"},week:{dow:0,doy:6}});return a})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n){var a=e+" ";switch(n){case"m":return t?"jedna minuta":"jedne minute";case"mm":return a+=1===e?"minuta":2===e||3===e||4===e?"minute":"minuta";case"h":return t?"jedan sat":"jednog sata";case"hh":return a+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return a+=1===e?"dan":"dana";case"MM": return a+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return a+=1===e?"godina":2===e||3===e||4===e?"godine":"godina"}}var n=e.defineLocale("hr",{months:{format:"siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:t,mm:t,h:t,hh:t,d:"dan",dd:t,M:"mjesec",MM:t,y:"godinu",yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n,a){var r=e;switch(n){case"s":return a||t?"néhány másodperc":"néhány másodperce";case"m":return"egy"+(a||t?" perc":" perce");case"mm":return r+(a||t?" perc":" perce");case"h":return"egy"+(a||t?" óra":" órája");case"hh":return r+(a||t?" óra":" órája");case"d":return"egy"+(a||t?" nap":" napja");case"dd":return r+(a||t?" nap":" napja");case"M":return"egy"+(a||t?" hónap":" hónapja");case"MM":return r+(a||t?" hónap":" hónapja");case"y":return"egy"+(a||t?" év":" éve");case"yy":return r+(a||t?" év":" éve")}return""}function n(e){return(e?"":"[múlt] ")+"["+a[this.day()]+"] LT[-kor]"}var a="vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" "),r=e.defineLocale("hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(e){return"u"===e.charAt(1).toLowerCase()},meridiem:function(e,t,n){return e<12?n===!0?"de":"DE":n===!0?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return n.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return n.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return r})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("hy-am",{months:{format:"հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի".split("_"),standalone:"հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր".split("_")},monthsShort:"հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ".split("_"),weekdays:"կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ".split("_"),weekdaysShort:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),weekdaysMin:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY թ.",LLL:"D MMMM YYYY թ., HH:mm",LLLL:"dddd, D MMMM YYYY թ., HH:mm"},calendar:{sameDay:"[այսօր] LT",nextDay:"[վաղը] LT",lastDay:"[երեկ] LT",nextWeek:function(){return"dddd [օրը ժամը] LT"},lastWeek:function(){return"[անցած] dddd [օրը ժամը] LT"},sameElse:"L"},relativeTime:{future:"%s հետո",past:"%s առաջ",s:"մի քանի վայրկյան",m:"րոպե",mm:"%d րոպե",h:"ժամ",hh:"%d ժամ",d:"օր",dd:"%d օր",M:"ամիս",MM:"%d ամիս",y:"տարի",yy:"%d տարի"},meridiemParse:/գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,isPM:function(e){return/^(ցերեկվա|երեկոյան)$/.test(e)},meridiem:function(e){return e<4?"գիշերվա":e<12?"առավոտվա":e<17?"ցերեկվա":"երեկոյան"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(ին|րդ)/,ordinal:function(e,t){switch(t){case"DDD":case"w":case"W":case"DDDo":return 1===e?e+"-ին":e+"-րդ";default:return e}},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(e,t){return 12===e&&(e=0),"pagi"===t?e:"siang"===t?e>=11?e:e+12:"sore"===t||"malam"===t?e+12:void 0},meridiem:function(e,t,n){return e<11?"pagi":e<15?"siang":e<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e){return e%100===11||e%10!==1}function n(e,n,a,r){var s=e+" ";switch(a){case"s":return n||r?"nokkrar sekúndur":"nokkrum sekúndum";case"m":return n?"mínúta":"mínútu";case"mm":return t(e)?s+(n||r?"mínútur":"mínútum"):n?s+"mínúta":s+"mínútu";case"hh":return t(e)?s+(n||r?"klukkustundir":"klukkustundum"):s+"klukkustund";case"d":return n?"dagur":r?"dag":"degi";case"dd":return t(e)?n?s+"dagar":s+(r?"daga":"dögum"):n?s+"dagur":s+(r?"dag":"degi");case"M":return n?"mánuður":r?"mánuð":"mánuði";case"MM":return t(e)?n?s+"mánuðir":s+(r?"mánuði":"mánuðum"):n?s+"mánuður":s+(r?"mánuð":"mánuði");case"y":return n||r?"ár":"ári";case"yy":return t(e)?s+(n||r?"ár":"árum"):s+(n||r?"ár":"ári")}}var a=e.defineLocale("is",{months:"janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember".split("_"),monthsShort:"jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des".split("_"),weekdays:"sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"),weekdaysShort:"sun_mán_þri_mið_fim_fös_lau".split("_"),weekdaysMin:"Su_Má_Þr_Mi_Fi_Fö_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[í dag kl.] LT",nextDay:"[á morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[í gær kl.] LT",lastWeek:"[síðasta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s síðan",s:n,m:n,mm:n,h:"klukkustund",hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return a})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(e){return(/^[0-9].+$/.test(e)?"tra":"in")+" "+e},past:"%s fa",s:"alcuni secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("ja",{months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日 HH:mm dddd",l:"YYYY/MM/DD",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日 HH:mm dddd"},meridiemParse:/午前|午後/i,isPM:function(e){return"午後"===e},meridiem:function(e,t,n){return e<12?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:"[来週]dddd LT",lastDay:"[昨日] LT",lastWeek:"[前週]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}日/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"日";default:return e}},relativeTime:{future:"%s後",past:"%s前",s:"数秒",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(e,t){return 12===e&&(e=0),"enjing"===t?e:"siyang"===t?e>=11?e:e+12:"sonten"===t||"ndalu"===t?e+12:void 0},meridiem:function(e,t,n){return e<11?"enjing":e<15?"siyang":e<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("ka",{months:{standalone:"იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი".split("_"),format:"იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს".split("_")},monthsShort:"იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ".split("_"),weekdays:{standalone:"კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი".split("_"),format:"კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს".split("_"),isFormat:/(წინა|შემდეგ)/},weekdaysShort:"კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ".split("_"),weekdaysMin:"კვ_ორ_სა_ოთ_ხუ_პა_შა".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[დღეს] LT[-ზე]",nextDay:"[ხვალ] LT[-ზე]",lastDay:"[გუშინ] LT[-ზე]",nextWeek:"[შემდეგ] dddd LT[-ზე]",lastWeek:"[წინა] dddd LT-ზე",sameElse:"L"},relativeTime:{future:function(e){return/(წამი|წუთი|საათი|წელი)/.test(e)?e.replace(/ი$/,"ში"):e+"ში"},past:function(e){return/(წამი|წუთი|საათი|დღე|თვე)/.test(e)?e.replace(/(ი|ე)$/,"ის უკან"):/წელი/.test(e)?e.replace(/წელი$/,"წლის უკან"):void 0},s:"რამდენიმე წამი",m:"წუთი",mm:"%d წუთი",h:"საათი",hh:"%d საათი",d:"დღე",dd:"%d დღე",M:"თვე",MM:"%d თვე",y:"წელი",yy:"%d წელი"},dayOfMonthOrdinalParse:/0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,ordinal:function(e){return 0===e?e:1===e?e+"-ლი":e<20||e<=100&&e%20===0||e%100===0?"მე-"+e:e+"-ე"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={0:"-ші",1:"-ші",2:"-ші",3:"-ші",4:"-ші",5:"-ші",6:"-шы",7:"-ші",8:"-ші",9:"-шы",10:"-шы",20:"-шы",30:"-шы",40:"-шы",50:"-ші",60:"-шы",70:"-ші",80:"-ші",90:"-шы",100:"-ші"},n=e.defineLocale("kk",{months:"қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан".split("_"),monthsShort:"қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел".split("_"),weekdays:"жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі".split("_"),weekdaysShort:"жек_дүй_сей_сәр_бей_жұм_сен".split("_"),weekdaysMin:"жк_дй_сй_ср_бй_жм_сн".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгін сағат] LT",nextDay:"[Ертең сағат] LT",nextWeek:"dddd [сағат] LT",lastDay:"[Кеше сағат] LT",lastWeek:"[Өткен аптаның] dddd [сағат] LT",sameElse:"L"},relativeTime:{future:"%s ішінде",past:"%s бұрын",s:"бірнеше секунд",m:"бір минут",mm:"%d минут",h:"бір сағат",hh:"%d сағат",d:"бір күн",dd:"%d күн",M:"бір ай",MM:"%d ай",y:"бір жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(ші|шы)/,ordinal:function(e){var n=e%10,a=e>=100?100:null;return e+(t[e]||t[n]||t[a])},week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("km",{months:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),monthsShort:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),weekdays:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysShort:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysMin:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[ថ្ងៃនេះ ម៉ោង] LT",nextDay:"[ស្អែក ម៉ោង] LT",nextWeek:"dddd [ម៉ោង] LT",lastDay:"[ម្សិលមិញ ម៉ោង] LT",lastWeek:"dddd [សប្តាហ៍មុន] [ម៉ោង] LT",sameElse:"L"},relativeTime:{future:"%sទៀត",past:"%sមុន",s:"ប៉ុន្មានវិនាទី",m:"មួយនាទី",mm:"%d នាទី",h:"មួយម៉ោង",hh:"%d ម៉ោង",d:"មួយថ្ងៃ",dd:"%d ថ្ងៃ",M:"មួយខែ",MM:"%d ខែ",y:"មួយឆ្នាំ",yy:"%d ឆ្នាំ"},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={1:"೧",2:"೨",3:"೩",4:"೪",5:"೫",6:"೬",7:"೭",8:"೮",9:"೯",0:"೦"},n={"೧":"1","೨":"2","೩":"3","೪":"4","೫":"5","೬":"6","೭":"7","೮":"8","೯":"9","೦":"0"},a=e.defineLocale("kn",{months:"ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್".split("_"),monthsShort:"ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬ_ಅಕ್ಟೋಬ_ನವೆಂಬ_ಡಿಸೆಂಬ".split("_"),monthsParseExact:!0,weekdays:"ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ".split("_"),weekdaysShort:"ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ".split("_"),weekdaysMin:"ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[ಇಂದು] LT",nextDay:"[ನಾಳೆ] LT",nextWeek:"dddd, LT",lastDay:"[ನಿನ್ನೆ] LT",lastWeek:"[ಕೊನೆಯ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ನಂತರ",past:"%s ಹಿಂದೆ",s:"ಕೆಲವು ಕ್ಷಣಗಳು",m:"ಒಂದು ನಿಮಿಷ",mm:"%d ನಿಮಿಷ",h:"ಒಂದು ಗಂಟೆ",hh:"%d ಗಂಟೆ",d:"ಒಂದು ದಿನ",dd:"%d ದಿನ",M:"ಒಂದು ತಿಂಗಳು",MM:"%d ತಿಂಗಳು",y:"ಒಂದು ವರ್ಷ",yy:"%d ವರ್ಷ"},preparse:function(e){return e.replace(/[೧೨೩೪೫೬೭೮೯೦]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,meridiemHour:function(e,t){return 12===e&&(e=0),"ರಾತ್ರಿ"===t?e<4?e:e+12:"ಬೆಳಿಗ್ಗೆ"===t?e:"ಮಧ್ಯಾಹ್ನ"===t?e>=10?e:e+12:"ಸಂಜೆ"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"ರಾತ್ರಿ":e<10?"ಬೆಳಿಗ್ಗೆ":e<17?"ಮಧ್ಯಾಹ್ನ":e<20?"ಸಂಜೆ":"ರಾತ್ರಿ"},dayOfMonthOrdinalParse:/\d{1,2}(ನೇ)/,ordinal:function(e){return e+"ನೇ"},week:{dow:0,doy:6}});return a})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("ko",{months:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShort:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 A h:mm",LLLL:"YYYY년 MMMM D일 dddd A h:mm",l:"YYYY.MM.DD",ll:"YYYY년 MMMM D일",lll:"YYYY년 MMMM D일 A h:mm",llll:"YYYY년 MMMM D일 dddd A h:mm"},calendar:{sameDay:"오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇 초",ss:"%d초",m:"1분",mm:"%d분",h:"한 시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한 달",MM:"%d달",y:"일 년",yy:"%d년"},dayOfMonthOrdinalParse:/\d{1,2}일/,ordinal:"%d일",meridiemParse:/오전|오후/,isPM:function(e){return"오후"===e},meridiem:function(e,t,n){return e<12?"오전":"오후"}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={0:"-чү",1:"-чи",2:"-чи",3:"-чү",4:"-чү",5:"-чи",6:"-чы",7:"-чи",8:"-чи",9:"-чу",10:"-чу",20:"-чы",30:"-чу",40:"-чы",50:"-чү",60:"-чы",70:"-чи",80:"-чи",90:"-чу",100:"-чү"},n=e.defineLocale("ky",{months:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),monthsShort:"янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек".split("_"),weekdays:"Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби".split("_"),weekdaysShort:"Жек_Дүй_Шей_Шар_Бей_Жум_Ише".split("_"),weekdaysMin:"Жк_Дй_Шй_Шр_Бй_Жм_Иш".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгүн саат] LT",nextDay:"[Эртең саат] LT",nextWeek:"dddd [саат] LT",lastDay:"[Кече саат] LT",lastWeek:"[Өткен аптанын] dddd [күнү] [саат] LT",sameElse:"L"},relativeTime:{future:"%s ичинде",past:"%s мурун",s:"бирнече секунд",m:"бир мүнөт",mm:"%d мүнөт",h:"бир саат",hh:"%d саат",d:"бир күн",dd:"%d күн",M:"бир ай",MM:"%d ай",y:"бир жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(чи|чы|чү|чу)/,ordinal:function(e){var n=e%10,a=e>=100?100:null;return e+(t[e]||t[n]||t[a])},week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n,a){var r={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return t?r[n][0]:r[n][1]}function n(e){var t=e.substr(0,e.indexOf(" "));return r(t)?"a "+e:"an "+e}function a(e){var t=e.substr(0,e.indexOf(" "));return r(t)?"viru "+e:"virun "+e}function r(e){if(e=parseInt(e,10),isNaN(e))return!1;if(e<0)return!0;if(e<10)return 4<=e&&e<=7;if(e<100){var t=e%10,n=e/10;return r(0===t?n:t)}if(e<1e4){for(;e>=10;)e/=10;return r(e)}return e/=1e3,r(e)}var s=e.defineLocale("lb",{months:"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mé_Dë_Më_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gëschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:n,past:a,s:"e puer Sekonnen",m:t,mm:"%d Minutten",h:t,hh:"%d Stonnen",d:t,dd:"%d Deeg",M:t,MM:"%d Méint",y:t,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return s})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("lo",{months:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),monthsShort:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),weekdays:"ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysShort:"ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysMin:"ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"ວັນdddd D MMMM YYYY HH:mm"},meridiemParse:/ຕອນເຊົ້າ|ຕອນແລງ/,isPM:function(e){return"ຕອນແລງ"===e},meridiem:function(e,t,n){return e<12?"ຕອນເຊົ້າ":"ຕອນແລງ"},calendar:{sameDay:"[ມື້ນີ້ເວລາ] LT",nextDay:"[ມື້ອື່ນເວລາ] LT",nextWeek:"[ວັນ]dddd[ໜ້າເວລາ] LT",lastDay:"[ມື້ວານນີ້ເວລາ] LT",lastWeek:"[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT",sameElse:"L"},relativeTime:{future:"ອີກ %s",past:"%sຜ່ານມາ",s:"ບໍ່ເທົ່າໃດວິນາທີ",m:"1 ນາທີ",mm:"%d ນາທີ",h:"1 ຊົ່ວໂມງ",hh:"%d ຊົ່ວໂມງ",d:"1 ມື້",dd:"%d ມື້",M:"1 ເດືອນ",MM:"%d ເດືອນ",y:"1 ປີ",yy:"%d ປີ"},dayOfMonthOrdinalParse:/(ທີ່)\d{1,2}/,ordinal:function(e){return"ທີ່"+e}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n,a){return t?"kelios sekundės":a?"kelių sekundžių":"kelias sekundes"}function n(e,t,n,a){return t?r(n)[0]:a?r(n)[1]:r(n)[2]}function a(e){return e%10===0||e>10&&e<20}function r(e){return o[e].split("_")}function s(e,t,s,o){var i=e+" ";return 1===e?i+n(e,t,s[0],o):t?i+(a(e)?r(s)[1]:r(s)[0]):o?i+r(s)[1]:i+(a(e)?r(s)[1]:r(s)[2])}var o={m:"minutė_minutės_minutę",mm:"minutės_minučių_minutes",h:"valanda_valandos_valandą",hh:"valandos_valandų_valandas",d:"diena_dienos_dieną",dd:"dienos_dienų_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesių_mėnesius",y:"metai_metų_metus",yy:"metai_metų_metus"},i=e.defineLocale("lt",{months:{format:"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[Šiandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieš %s",s:t,m:n,mm:s,h:n,hh:s,d:n,dd:s,M:n,MM:s,y:n,yy:s},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(e){return e+"-oji"},week:{dow:1,doy:4}});return i})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n){return n?t%10===1&&t%100!==11?e[2]:e[3]:t%10===1&&t%100!==11?e[0]:e[1]}function n(e,n,a){return e+" "+t(s[a],e,n)}function a(e,n,a){return t(s[a],e,n)}function r(e,t){return t?"dažas sekundes":"dažām sekundēm"}var s={m:"minūtes_minūtēm_minūte_minūtes".split("_"),mm:"minūtes_minūtēm_minūte_minūtes".split("_"),h:"stundas_stundām_stunda_stundas".split("_"),hh:"stundas_stundām_stunda_stundas".split("_"),d:"dienas_dienām_diena_dienas".split("_"),dd:"dienas_dienām_diena_dienas".split("_"),M:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),MM:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")},o=e.defineLocale("lv",{months:"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),weekdays:"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[Šodien pulksten] LT",nextDay:"[Rīt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pagājušā] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"pēc %s",past:"pirms %s",s:r,m:a,mm:n,h:a,hh:n,d:a,dd:n,M:a,MM:n,y:a,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return o})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={words:{m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,t){return 1===e?t[0]:e>=2&&e<=4?t[1]:t[2]},translate:function(e,n,a){var r=t.words[a];return 1===a.length?n?r[0]:r[1]:e+" "+t.correctGrammaticalCase(e,r)}},n=e.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){var e=["[prošle] [nedjelje] [u] LT","[prošlog] [ponedjeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srijede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"];return e[this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",m:t.translate,mm:t.translate,h:t.translate,hh:t.translate,d:"dan",dd:t.translate,M:"mjesec",MM:t.translate,y:"godinu",yy:t.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("mi",{months:"Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei".split("_"),weekdaysShort:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),weekdaysMin:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te hēkona ruarua",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("mk",{months:"јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември".split("_"),monthsShort:"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек".split("_"),weekdays:"недела_понеделник_вторник_среда_четврток_петок_сабота".split("_"),weekdaysShort:"нед_пон_вто_сре_чет_пет_саб".split("_"),weekdaysMin:"нe_пo_вт_ср_че_пе_сa".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Денес во] LT",nextDay:"[Утре во] LT",nextWeek:"[Во] dddd [во] LT",lastDay:"[Вчера во] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[Изминатата] dddd [во] LT";case 1:case 2:case 4:case 5:return"[Изминатиот] dddd [во] LT"}},sameElse:"L"},relativeTime:{future:"после %s",past:"пред %s",s:"неколку секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дена",M:"месец",MM:"%d месеци",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(e){var t=e%10,n=e%100;return 0===e?e+"-ев":0===n?e+"-ен":n>10&&n<20?e+"-ти":1===t?e+"-ви":2===t?e+"-ри":7===t||8===t?e+"-ми":e+"-ти"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("ml",{months:"ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ".split("_"),monthsShort:"ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.".split("_"),monthsParseExact:!0,weekdays:"ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച".split("_"),weekdaysShort:"ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി".split("_"),weekdaysMin:"ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ".split("_"),longDateFormat:{LT:"A h:mm -നു",LTS:"A h:mm:ss -നു",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -നു",LLLL:"dddd, D MMMM YYYY, A h:mm -നു"},calendar:{sameDay:"[ഇന്ന്] LT",nextDay:"[നാളെ] LT",nextWeek:"dddd, LT",lastDay:"[ഇന്നലെ] LT",lastWeek:"[കഴിഞ്ഞ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s കഴിഞ്ഞ്",past:"%s മുൻപ്",s:"അൽപ നിമിഷങ്ങൾ",m:"ഒരു മിനിറ്റ്",mm:"%d മിനിറ്റ്",h:"ഒരു മണിക്കൂർ",hh:"%d മണിക്കൂർ",d:"ഒരു ദിവസം",dd:"%d ദിവസം",M:"ഒരു മാസം",MM:"%d മാസം",y:"ഒരു വർഷം",yy:"%d വർഷം"},meridiemParse:/രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,meridiemHour:function(e,t){return 12===e&&(e=0),"രാത്രി"===t&&e>=4||"ഉച്ച കഴിഞ്ഞ്"===t||"വൈകുന്നേരം"===t?e+12:e},meridiem:function(e,t,n){return e<4?"രാത്രി":e<12?"രാവിലെ":e<17?"ഉച്ച കഴിഞ്ഞ്":e<20?"വൈകുന്നേരം":"രാത്രി"}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n,a){var r="";if(t)switch(n){case"s":r="काही सेकंद";break;case"m":r="एक मिनिट";break;case"mm":r="%d मिनिटे";break;case"h":r="एक तास";break;case"hh":r="%d तास";break;case"d":r="एक दिवस";break;case"dd":r="%d दिवस";break;case"M":r="एक महिना";break;case"MM":r="%d महिने";break;case"y":r="एक वर्ष";break;case"yy":r="%d वर्षे"; }else switch(n){case"s":r="काही सेकंदां";break;case"m":r="एका मिनिटा";break;case"mm":r="%d मिनिटां";break;case"h":r="एका तासा";break;case"hh":r="%d तासां";break;case"d":r="एका दिवसा";break;case"dd":r="%d दिवसां";break;case"M":r="एका महिन्या";break;case"MM":r="%d महिन्यां";break;case"y":r="एका वर्षा";break;case"yy":r="%d वर्षां"}return r.replace(/%d/i,e)}var n={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},a={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"},r=e.defineLocale("mr",{months:"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),monthsShort:"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm वाजता",LTS:"A h:mm:ss वाजता",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm वाजता",LLLL:"dddd, D MMMM YYYY, A h:mm वाजता"},calendar:{sameDay:"[आज] LT",nextDay:"[उद्या] LT",nextWeek:"dddd, LT",lastDay:"[काल] LT",lastWeek:"[मागील] dddd, LT",sameElse:"L"},relativeTime:{future:"%sमध्ये",past:"%sपूर्वी",s:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,function(e){return a[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return n[e]})},meridiemParse:/रात्री|सकाळी|दुपारी|सायंकाळी/,meridiemHour:function(e,t){return 12===e&&(e=0),"रात्री"===t?e<4?e:e+12:"सकाळी"===t?e:"दुपारी"===t?e>=10?e:e+12:"सायंकाळी"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"रात्री":e<10?"सकाळी":e<17?"दुपारी":e<20?"सायंकाळी":"रात्री"},week:{dow:0,doy:6}});return r})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,t){return 12===e&&(e=0),"pagi"===t?e:"tengahari"===t?e>=11?e:e+12:"petang"===t||"malam"===t?e+12:void 0},meridiem:function(e,t,n){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,t){return 12===e&&(e=0),"pagi"===t?e:"tengahari"===t?e>=11?e:e+12:"petang"===t||"malam"===t?e+12:void 0},meridiem:function(e,t,n){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={1:"၁",2:"၂",3:"၃",4:"၄",5:"၅",6:"၆",7:"၇",8:"၈",9:"၉",0:"၀"},n={"၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","၀":"0"},a=e.defineLocale("my",{months:"ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ".split("_"),monthsShort:"ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ".split("_"),weekdays:"တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ".split("_"),weekdaysShort:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),weekdaysMin:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ယနေ.] LT [မှာ]",nextDay:"[မနက်ဖြန်] LT [မှာ]",nextWeek:"dddd LT [မှာ]",lastDay:"[မနေ.က] LT [မှာ]",lastWeek:"[ပြီးခဲ့သော] dddd LT [မှာ]",sameElse:"L"},relativeTime:{future:"လာမည့် %s မှာ",past:"လွန်ခဲ့သော %s က",s:"စက္ကန်.အနည်းငယ်",m:"တစ်မိနစ်",mm:"%d မိနစ်",h:"တစ်နာရီ",hh:"%d နာရီ",d:"တစ်ရက်",dd:"%d ရက်",M:"တစ်လ",MM:"%d လ",y:"တစ်နှစ်",yy:"%d နှစ်"},preparse:function(e){return e.replace(/[၁၂၃၄၅၆၇၈၉၀]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},week:{dow:1,doy:4}});return a})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"sø._ma._ti._on._to._fr._lø.".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en måned",MM:"%d måneder",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"},a=e.defineLocale("ne",{months:"जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर".split("_"),monthsShort:"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.".split("_"),monthsParseExact:!0,weekdays:"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार".split("_"),weekdaysShort:"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.".split("_"),weekdaysMin:"आ._सो._मं._बु._बि._शु._श.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"Aको h:mm बजे",LTS:"Aको h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, Aको h:mm बजे",LLLL:"dddd, D MMMM YYYY, Aको h:mm बजे"},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/राति|बिहान|दिउँसो|साँझ/,meridiemHour:function(e,t){return 12===e&&(e=0),"राति"===t?e<4?e:e+12:"बिहान"===t?e:"दिउँसो"===t?e>=10?e:e+12:"साँझ"===t?e+12:void 0},meridiem:function(e,t,n){return e<3?"राति":e<12?"बिहान":e<16?"दिउँसो":e<20?"साँझ":"राति"},calendar:{sameDay:"[आज] LT",nextDay:"[भोलि] LT",nextWeek:"[आउँदो] dddd[,] LT",lastDay:"[हिजो] LT",lastWeek:"[गएको] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%sमा",past:"%s अगाडि",s:"केही क्षण",m:"एक मिनेट",mm:"%d मिनेट",h:"एक घण्टा",hh:"%d घण्टा",d:"एक दिन",dd:"%d दिन",M:"एक महिना",MM:"%d महिना",y:"एक बर्ष",yy:"%d बर्ष"},week:{dow:0,doy:6}});return a})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),a=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],r=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,s=e.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?n[e.month()]:t[e.month()]:t},monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"Zo_Ma_Di_Wo_Do_Vr_Za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}});return s})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),a=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],r=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,s=e.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?n[e.month()]:t[e.month()]:t},monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"Zo_Ma_Di_Wo_Do_Vr_Za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}});return s})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_mån_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_må_ty_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I går klokka] LT",lastWeek:"[Føregåande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein månad",MM:"%d månader",y:"eit år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={1:"੧",2:"੨",3:"੩",4:"੪",5:"੫",6:"੬",7:"੭",8:"੮",9:"੯",0:"੦"},n={"੧":"1","੨":"2","੩":"3","੪":"4","੫":"5","੬":"6","੭":"7","੮":"8","੯":"9","੦":"0"},a=e.defineLocale("pa-in",{months:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),monthsShort:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),weekdays:"ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ".split("_"),weekdaysShort:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),weekdaysMin:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),longDateFormat:{LT:"A h:mm ਵਜੇ",LTS:"A h:mm:ss ਵਜੇ",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm ਵਜੇ",LLLL:"dddd, D MMMM YYYY, A h:mm ਵਜੇ"},calendar:{sameDay:"[ਅਜ] LT",nextDay:"[ਕਲ] LT",nextWeek:"dddd, LT",lastDay:"[ਕਲ] LT",lastWeek:"[ਪਿਛਲੇ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ਵਿੱਚ",past:"%s ਪਿਛਲੇ",s:"ਕੁਝ ਸਕਿੰਟ",m:"ਇਕ ਮਿੰਟ",mm:"%d ਮਿੰਟ",h:"ਇੱਕ ਘੰਟਾ",hh:"%d ਘੰਟੇ",d:"ਇੱਕ ਦਿਨ",dd:"%d ਦਿਨ",M:"ਇੱਕ ਮਹੀਨਾ",MM:"%d ਮਹੀਨੇ",y:"ਇੱਕ ਸਾਲ",yy:"%d ਸਾਲ"},preparse:function(e){return e.replace(/[੧੨੩੪੫੬੭੮੯੦]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,meridiemHour:function(e,t){return 12===e&&(e=0),"ਰਾਤ"===t?e<4?e:e+12:"ਸਵੇਰ"===t?e:"ਦੁਪਹਿਰ"===t?e>=10?e:e+12:"ਸ਼ਾਮ"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"ਰਾਤ":e<10?"ਸਵੇਰ":e<17?"ਦੁਪਹਿਰ":e<20?"ਸ਼ਾਮ":"ਰਾਤ"},week:{dow:0,doy:6}});return a})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e){return e%10<5&&e%10>1&&~~(e/10)%10!==1}function n(e,n,a){var r=e+" ";switch(a){case"m":return n?"minuta":"minutę";case"mm":return r+(t(e)?"minuty":"minut");case"h":return n?"godzina":"godzinę";case"hh":return r+(t(e)?"godziny":"godzin");case"MM":return r+(t(e)?"miesiące":"miesięcy");case"yy":return r+(t(e)?"lata":"lat")}}var a="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),r="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_"),s=e.defineLocale("pl",{months:function(e,t){return e?""===t?"("+r[e.month()]+"|"+a[e.month()]+")":/D MMMM/.test(t)?r[e.month()]:a[e.month()]:a},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_śr_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:"[W] dddd [o] LT",lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",m:n,mm:n,h:n,hh:n,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:n,y:"rok",yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return s})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("pt-br",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"%s atrás",s:"poucos segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº"});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("pt",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-Feira_Terça-Feira_Quarta-Feira_Quinta-Feira_Sexta-Feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n){var a={mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"},r=" ";return(e%100>=20||e>=100&&e%100===0)&&(r=" de "),e+r+a[n]}var n=e.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminică_luni_marți_miercuri_joi_vineri_sâmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mâine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s în urmă",s:"câteva secunde",m:"un minut",mm:t,h:"o oră",hh:t,d:"o zi",dd:t,M:"o lună",MM:t,y:"un an",yy:t},week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t){var n=e.split("_");return t%10===1&&t%100!==11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function n(e,n,a){var r={mm:n?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"};return"m"===a?n?"минута":"минуту":e+" "+t(r[a],+e)}var a=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i],r=e.defineLocale("ru",{months:{format:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),standalone:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_")},monthsShort:{format:"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")},weekdays:{standalone:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),format:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/},weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:a,longMonthsParse:a,shortMonthsParse:a,monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сегодня в] LT",nextDay:"[Завтра в] LT",lastDay:"[Вчера в] LT",nextWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В следующее] dddd [в] LT";case 1:case 2:case 4:return"[В следующий] dddd [в] LT";case 3:case 5:case 6:return"[В следующую] dddd [в] LT"}},lastWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В прошлое] dddd [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",m:n,mm:n,h:"час",hh:n,d:"день",dd:n,M:"месяц",MM:n,y:"год",yy:n},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(e){return/^(дня|вечера)$/.test(e)},meridiem:function(e,t,n){return e<4?"ночи":e<12?"утра":e<17?"дня":"вечера"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(e,t){switch(t){case"M":case"d":case"DDD":return e+"-й";case"D":return e+"-го";case"w":case"W":return e+"-я";default:return e}},week:{dow:1,doy:7}});return r})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=["جنوري","فيبروري","مارچ","اپريل","مئي","جون","جولاءِ","آگسٽ","سيپٽمبر","آڪٽوبر","نومبر","ڊسمبر"],n=["آچر","سومر","اڱارو","اربع","خميس","جمع","ڇنڇر"],a=e.defineLocale("sd",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar:{sameDay:"[اڄ] LT",nextDay:"[سڀاڻي] LT",nextWeek:"dddd [اڳين هفتي تي] LT",lastDay:"[ڪالهه] LT",lastWeek:"[گزريل هفتي] dddd [تي] LT",sameElse:"L"},relativeTime:{future:"%s پوء",past:"%s اڳ",s:"چند سيڪنڊ",m:"هڪ منٽ",mm:"%d منٽ",h:"هڪ ڪلاڪ",hh:"%d ڪلاڪ",d:"هڪ ڏينهن",dd:"%d ڏينهن",M:"هڪ مهينو",MM:"%d مهينا",y:"هڪ سال",yy:"%d سال"},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:1,doy:4}});return a})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("se",{months:"ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu".split("_"),monthsShort:"ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov".split("_"),weekdays:"sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat".split("_"),weekdaysShort:"sotn_vuos_maŋ_gask_duor_bear_láv".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s geažes",past:"maŋit %s",s:"moadde sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta mánnu",MM:"%d mánut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("si",{months:"ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්".split("_"),monthsShort:"ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ".split("_"),weekdays:"ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා".split("_"),weekdaysShort:"ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන".split("_"),weekdaysMin:"ඉ_ස_අ_බ_බ්‍ර_සි_සෙ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [වැනි] dddd, a h:mm:ss"},calendar:{sameDay:"[අද] LT[ට]",nextDay:"[හෙට] LT[ට]",nextWeek:"dddd LT[ට]",lastDay:"[ඊයේ] LT[ට]",lastWeek:"[පසුගිය] dddd LT[ට]",sameElse:"L"},relativeTime:{future:"%sකින්",past:"%sකට පෙර",s:"තත්පර කිහිපය",m:"මිනිත්තුව",mm:"මිනිත්තු %d",h:"පැය",hh:"පැය %d",d:"දිනය",dd:"දින %d",M:"මාසය",MM:"මාස %d",y:"වසර",yy:"වසර %d"},dayOfMonthOrdinalParse:/\d{1,2} වැනි/,ordinal:function(e){return e+" වැනි"},meridiemParse:/පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,isPM:function(e){return"ප.ව."===e||"පස් වරු"===e},meridiem:function(e,t,n){return e>11?n?"ප.ව.":"පස් වරු":n?"පෙ.ව.":"පෙර වරු"}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e){return e>1&&e<5}function n(e,n,a,r){var s=e+" ";switch(a){case"s":return n||r?"pár sekúnd":"pár sekundami";case"m":return n?"minúta":r?"minútu":"minútou";case"mm":return n||r?s+(t(e)?"minúty":"minút"):s+"minútami";case"h":return n?"hodina":r?"hodinu":"hodinou";case"hh":return n||r?s+(t(e)?"hodiny":"hodín"):s+"hodinami";case"d":return n||r?"deň":"dňom";case"dd":return n||r?s+(t(e)?"dni":"dní"):s+"dňami";case"M":return n||r?"mesiac":"mesiacom";case"MM":return n||r?s+(t(e)?"mesiace":"mesiacov"):s+"mesiacmi";case"y":return n||r?"rok":"rokom";case"yy":return n||r?s+(t(e)?"roky":"rokov"):s+"rokmi"}}var a="január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),r="jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_"),s=e.defineLocale("sk",{months:a,monthsShort:r,weekdays:"nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_št_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_št_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedeľu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo štvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[včera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulú nedeľu o] LT";case 1:case 2:return"[minulý] dddd [o] LT";case 3:return"[minulú stredu o] LT";case 4:case 5:return"[minulý] dddd [o] LT";case 6:return"[minulú sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return s})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n,a){var r=e+" ";switch(n){case"s":return t||a?"nekaj sekund":"nekaj sekundami";case"m":return t?"ena minuta":"eno minuto";case"mm":return r+=1===e?t?"minuta":"minuto":2===e?t||a?"minuti":"minutama":e<5?t||a?"minute":"minutami":t||a?"minut":"minutami";case"h":return t?"ena ura":"eno uro";case"hh":return r+=1===e?t?"ura":"uro":2===e?t||a?"uri":"urama":e<5?t||a?"ure":"urami":t||a?"ur":"urami";case"d":return t||a?"en dan":"enim dnem";case"dd":return r+=1===e?t||a?"dan":"dnem":2===e?t||a?"dni":"dnevoma":t||a?"dni":"dnevi";case"M":return t||a?"en mesec":"enim mesecem";case"MM":return r+=1===e?t||a?"mesec":"mesecem":2===e?t||a?"meseca":"mesecema":e<5?t||a?"mesece":"meseci":t||a?"mesecev":"meseci";case"y":return t||a?"eno leto":"enim letom";case"yy":return r+=1===e?t||a?"leto":"letom":2===e?t||a?"leti":"letoma":e<5?t||a?"leta":"leti":t||a?"let":"leti"}}var n=e.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prejšnjo] [nedeljo] [ob] LT";case 3:return"[prejšnjo] [sredo] [ob] LT";case 6:return"[prejšnjo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prejšnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"pred %s",s:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),weekdays:"E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"),weekdaysShort:"Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_Më_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(e){return"M"===e.charAt(0)},meridiem:function(e,t,n){return e<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot në] LT",nextDay:"[Nesër në] LT",nextWeek:"dddd [në] LT",lastDay:"[Dje në] LT",lastWeek:"dddd [e kaluar në] LT",sameElse:"L"},relativeTime:{future:"në %s",past:"%s më parë",s:"disa sekonda",m:"një minutë",mm:"%d minuta",h:"një orë",hh:"%d orë",d:"një ditë",dd:"%d ditë",M:"një muaj",MM:"%d muaj",y:"një vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={words:{m:["један минут","једне минуте"],mm:["минут","минуте","минута"],h:["један сат","једног сата"],hh:["сат","сата","сати"],dd:["дан","дана","дана"],MM:["месец","месеца","месеци"],yy:["година","године","година"]},correctGrammaticalCase:function(e,t){return 1===e?t[0]:e>=2&&e<=4?t[1]:t[2]; },translate:function(e,n,a){var r=t.words[a];return 1===a.length?n?r[0]:r[1]:e+" "+t.correctGrammaticalCase(e,r)}},n=e.defineLocale("sr-cyrl",{months:"јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар".split("_"),monthsShort:"јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.".split("_"),monthsParseExact:!0,weekdays:"недеља_понедељак_уторак_среда_четвртак_петак_субота".split("_"),weekdaysShort:"нед._пон._уто._сре._чет._пет._суб.".split("_"),weekdaysMin:"не_по_ут_ср_че_пе_су".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[данас у] LT",nextDay:"[сутра у] LT",nextWeek:function(){switch(this.day()){case 0:return"[у] [недељу] [у] LT";case 3:return"[у] [среду] [у] LT";case 6:return"[у] [суботу] [у] LT";case 1:case 2:case 4:case 5:return"[у] dddd [у] LT"}},lastDay:"[јуче у] LT",lastWeek:function(){var e=["[прошле] [недеље] [у] LT","[прошлог] [понедељка] [у] LT","[прошлог] [уторка] [у] LT","[прошле] [среде] [у] LT","[прошлог] [четвртка] [у] LT","[прошлог] [петка] [у] LT","[прошле] [суботе] [у] LT"];return e[this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пре %s",s:"неколико секунди",m:t.translate,mm:t.translate,h:t.translate,hh:t.translate,d:"дан",dd:t.translate,M:"месец",MM:t.translate,y:"годину",yy:t.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={words:{m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,t){return 1===e?t[0]:e>=2&&e<=4?t[1]:t[2]},translate:function(e,n,a){var r=t.words[a];return 1===a.length?n?r[0]:r[1]:e+" "+t.correctGrammaticalCase(e,r)}},n=e.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){var e=["[prošle] [nedelje] [u] LT","[prošlog] [ponedeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"];return e[this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",m:t.translate,mm:t.translate,h:t.translate,hh:t.translate,d:"dan",dd:t.translate,M:"mesec",MM:t.translate,y:"godinu",yy:t.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(e,t,n){return e<11?"ekuseni":e<15?"emini":e<19?"entsambama":"ebusuku"},meridiemHour:function(e,t){return 12===e&&(e=0),"ekuseni"===t?e:"emini"===t?e>=11?e:e+12:"entsambama"===t||"ebusuku"===t?0===e?0:e+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),weekdaysShort:"sön_mån_tis_ons_tor_fre_lör".split("_"),weekdaysMin:"sö_må_ti_on_to_fr_lö".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Igår] LT",nextWeek:"[På] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"för %s sedan",s:"några sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en månad",MM:"%d månader",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}(e|a)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?"e":1===t?"a":2===t?"a":"e";return e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={1:"௧",2:"௨",3:"௩",4:"௪",5:"௫",6:"௬",7:"௭",8:"௮",9:"௯",0:"௦"},n={"௧":"1","௨":"2","௩":"3","௪":"4","௫":"5","௬":"6","௭":"7","௮":"8","௯":"9","௦":"0"},a=e.defineLocale("ta",{months:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),monthsShort:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),weekdays:"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை".split("_"),weekdaysShort:"ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி".split("_"),weekdaysMin:"ஞா_தி_செ_பு_வி_வெ_ச".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[இன்று] LT",nextDay:"[நாளை] LT",nextWeek:"dddd, LT",lastDay:"[நேற்று] LT",lastWeek:"[கடந்த வாரம்] dddd, LT",sameElse:"L"},relativeTime:{future:"%s இல்",past:"%s முன்",s:"ஒரு சில விநாடிகள்",m:"ஒரு நிமிடம்",mm:"%d நிமிடங்கள்",h:"ஒரு மணி நேரம்",hh:"%d மணி நேரம்",d:"ஒரு நாள்",dd:"%d நாட்கள்",M:"ஒரு மாதம்",MM:"%d மாதங்கள்",y:"ஒரு வருடம்",yy:"%d ஆண்டுகள்"},dayOfMonthOrdinalParse:/\d{1,2}வது/,ordinal:function(e){return e+"வது"},preparse:function(e){return e.replace(/[௧௨௩௪௫௬௭௮௯௦]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,meridiem:function(e,t,n){return e<2?" யாமம்":e<6?" வைகறை":e<10?" காலை":e<14?" நண்பகல்":e<18?" எற்பாடு":e<22?" மாலை":" யாமம்"},meridiemHour:function(e,t){return 12===e&&(e=0),"யாமம்"===t?e<2?e:e+12:"வைகறை"===t||"காலை"===t?e:"நண்பகல்"===t&&e>=10?e:e+12},week:{dow:0,doy:6}});return a})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("te",{months:"జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్".split("_"),monthsShort:"జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.".split("_"),monthsParseExact:!0,weekdays:"ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం".split("_"),weekdaysShort:"ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని".split("_"),weekdaysMin:"ఆ_సో_మం_బు_గు_శు_శ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[నేడు] LT",nextDay:"[రేపు] LT",nextWeek:"dddd, LT",lastDay:"[నిన్న] LT",lastWeek:"[గత] dddd, LT",sameElse:"L"},relativeTime:{future:"%s లో",past:"%s క్రితం",s:"కొన్ని క్షణాలు",m:"ఒక నిమిషం",mm:"%d నిమిషాలు",h:"ఒక గంట",hh:"%d గంటలు",d:"ఒక రోజు",dd:"%d రోజులు",M:"ఒక నెల",MM:"%d నెలలు",y:"ఒక సంవత్సరం",yy:"%d సంవత్సరాలు"},dayOfMonthOrdinalParse:/\d{1,2}వ/,ordinal:"%dవ",meridiemParse:/రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,meridiemHour:function(e,t){return 12===e&&(e=0),"రాత్రి"===t?e<4?e:e+12:"ఉదయం"===t?e:"మధ్యాహ్నం"===t?e>=10?e:e+12:"సాయంత్రం"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"రాత్రి":e<10?"ఉదయం":e<17?"మధ్యాహ్నం":e<20?"సాయంత్రం":"రాత్రి"},week:{dow:0,doy:6}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Juniu_Juliu_Augustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Aug_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sexta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sext_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Sex_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"minutu balun",m:"minutu ida",mm:"minutus %d",h:"horas ida",hh:"horas %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("th",{months:"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),monthsShort:"ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.".split("_"),monthsParseExact:!0,weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY เวลา H:mm",LLLL:"วันddddที่ D MMMM YYYY เวลา H:mm"},meridiemParse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function(e){return"หลังเที่ยง"===e},meridiem:function(e,t,n){return e<12?"ก่อนเที่ยง":"หลังเที่ยง"},calendar:{sameDay:"[วันนี้ เวลา] LT",nextDay:"[พรุ่งนี้ เวลา] LT",nextWeek:"dddd[หน้า เวลา] LT",lastDay:"[เมื่อวานนี้ เวลา] LT",lastWeek:"[วัน]dddd[ที่แล้ว เวลา] LT",sameElse:"L"},relativeTime:{future:"อีก %s",past:"%sที่แล้ว",s:"ไม่กี่วินาที",m:"1 นาที",mm:"%d นาที",h:"1 ชั่วโมง",hh:"%d ชั่วโมง",d:"1 วัน",dd:"%d วัน",M:"1 เดือน",MM:"%d เดือน",y:"1 ปี",yy:"%d ปี"}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e){var t=e;return t=e.indexOf("jaj")!==-1?t.slice(0,-3)+"leS":e.indexOf("jar")!==-1?t.slice(0,-3)+"waQ":e.indexOf("DIS")!==-1?t.slice(0,-3)+"nem":t+" pIq"}function n(e){var t=e;return t=e.indexOf("jaj")!==-1?t.slice(0,-3)+"Hu’":e.indexOf("jar")!==-1?t.slice(0,-3)+"wen":e.indexOf("DIS")!==-1?t.slice(0,-3)+"ben":t+" ret"}function a(e,t,n,a){var s=r(e);switch(n){case"mm":return s+" tup";case"hh":return s+" rep";case"dd":return s+" jaj";case"MM":return s+" jar";case"yy":return s+" DIS"}}function r(e){var t=Math.floor(e%1e3/100),n=Math.floor(e%100/10),a=e%10,r="";return t>0&&(r+=s[t]+"vatlh"),n>0&&(r+=(""!==r?" ":"")+s[n]+"maH"),a>0&&(r+=(""!==r?" ":"")+s[a]),""===r?"pagh":r}var s="pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_"),o=e.defineLocale("tlh",{months:"tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’".split("_"),monthsShort:"jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa’leS] LT",nextWeek:"LLL",lastDay:"[wa’Hu’] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:t,past:n,s:"puS lup",m:"wa’ tup",mm:a,h:"wa’ rep",hh:a,d:"wa’ jaj",dd:a,M:"wa’ jar",MM:a,y:"wa’ DIS",yy:a},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return o})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"},n=e.defineLocale("tr",{months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[haftaya] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen hafta] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},dayOfMonthOrdinalParse:/\d{1,2}'(inci|nci|üncü|ncı|uncu|ıncı)/,ordinal:function(e){if(0===e)return e+"'ıncı";var n=e%10,a=e%100-n,r=e>=100?100:null;return e+(t[n]||t[a]||t[r])},week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n,a){var r={s:["viensas secunds","'iensas secunds"],m:["'n míut","'iens míut"],mm:[e+" míuts",""+e+" míuts"],h:["'n þora","'iensa þora"],hh:[e+" þoras",""+e+" þoras"],d:["'n ziua","'iensa ziua"],dd:[e+" ziuas",""+e+" ziuas"],M:["'n mes","'iens mes"],MM:[e+" mesen",""+e+" mesen"],y:["'n ar","'iens ar"],yy:[e+" ars",""+e+" ars"]};return a?r[n][0]:t?r[n][0]:r[n][1]}var n=e.defineLocale("tzl",{months:"Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi".split("_"),weekdaysShort:"Súl_Lún_Mai_Már_Xhú_Vié_Sát".split("_"),weekdaysMin:"Sú_Lú_Ma_Má_Xh_Vi_Sá".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(e){return"d'o"===e.toLowerCase()},meridiem:function(e,t,n){return e>11?n?"d'o":"D'O":n?"d'a":"D'A"},calendar:{sameDay:"[oxhi à] LT",nextDay:"[demà à] LT",nextWeek:"dddd [à] LT",lastDay:"[ieiri à] LT",lastWeek:"[sür el] dddd [lasteu à] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("tzm-latn",{months:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",m:"minuḍ",mm:"%d minuḍ",h:"saɛa",hh:"%d tassaɛin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("tzm",{months:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),monthsShort:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),weekdays:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysShort:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysMin:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ⴰⵙⴷⵅ ⴴ] LT",nextDay:"[ⴰⵙⴽⴰ ⴴ] LT",nextWeek:"dddd [ⴴ] LT",lastDay:"[ⴰⵚⴰⵏⵜ ⴴ] LT",lastWeek:"dddd [ⴴ] LT",sameElse:"L"},relativeTime:{future:"ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s",past:"ⵢⴰⵏ %s",s:"ⵉⵎⵉⴽ",m:"ⵎⵉⵏⵓⴺ",mm:"%d ⵎⵉⵏⵓⴺ",h:"ⵙⴰⵄⴰ",hh:"%d ⵜⴰⵙⵙⴰⵄⵉⵏ",d:"ⴰⵙⵙ",dd:"%d oⵙⵙⴰⵏ",M:"ⴰⵢoⵓⵔ",MM:"%d ⵉⵢⵢⵉⵔⵏ",y:"ⴰⵙⴳⴰⵙ",yy:"%d ⵉⵙⴳⴰⵙⵏ"},week:{dow:6,doy:12}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t){var n=e.split("_");return t%10===1&&t%100!==11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function n(e,n,a){var r={mm:n?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:n?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===a?n?"хвилина":"хвилину":"h"===a?n?"година":"годину":e+" "+t(r[a],+e)}function a(e,t){var n={nominative:"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),accusative:"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),genitive:"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_")};if(!e)return n.nominative;var a=/(\[[ВвУу]\]) ?dddd/.test(t)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(t)?"genitive":"nominative";return n[a][e.day()]}function r(e){return function(){return e+"о"+(11===this.hours()?"б":"")+"] LT"}}var s=e.defineLocale("uk",{months:{format:"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_"),standalone:"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_")},monthsShort:"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekdays:a,weekdaysShort:"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LLL:"D MMMM YYYY р., HH:mm",LLLL:"dddd, D MMMM YYYY р., HH:mm"},calendar:{sameDay:r("[Сьогодні "),nextDay:r("[Завтра "),lastDay:r("[Вчора "),nextWeek:r("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return r("[Минулої] dddd [").call(this);case 1:case 2:case 4:return r("[Минулого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s:"декілька секунд",m:n,mm:n,h:"годину",hh:n,d:"день",dd:n,M:"місяць",MM:n,y:"рік",yy:n},meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(e){return/^(дня|вечора)$/.test(e)},meridiem:function(e,t,n){return e<4?"ночі":e<12?"ранку":e<17?"дня":"вечора"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го)/,ordinal:function(e,t){switch(t){case"M":case"d":case"DDD":case"w":case"W":return e+"-й";case"D":return e+"-го";default:return e}},week:{dow:1,doy:7}});return s})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"],a=e.defineLocale("ur",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar:{sameDay:"[آج بوقت] LT",nextDay:"[کل بوقت] LT",nextWeek:"dddd [بوقت] LT",lastDay:"[گذشتہ روز بوقت] LT",lastWeek:"[گذشتہ] dddd [بوقت] LT",sameElse:"L"},relativeTime:{future:"%s بعد",past:"%s قبل",s:"چند سیکنڈ",m:"ایک منٹ",mm:"%d منٹ",h:"ایک گھنٹہ",hh:"%d گھنٹے",d:"ایک دن",dd:"%d دن",M:"ایک ماہ",MM:"%d ماہ",y:"ایک سال",yy:"%d سال"},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:1,doy:4}});return a})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("uz",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба".split("_"),weekdaysShort:"Якш_Душ_Сеш_Чор_Пай_Жум_Шан".split("_"),weekdaysMin:"Як_Ду_Се_Чо_Па_Жу_Ша".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Бугун соат] LT [да]",nextDay:"[Эртага] LT [да]",nextWeek:"dddd [куни соат] LT [да]",lastDay:"[Кеча соат] LT [да]",lastWeek:"[Утган] dddd [куни соат] LT [да]",sameElse:"L"},relativeTime:{future:"Якин %s ичида",past:"Бир неча %s олдин",s:"фурсат",m:"бир дакика",mm:"%d дакика",h:"бир соат",hh:"%d соат",d:"бир кун",dd:"%d кун",M:"бир ой",MM:"%d ой",y:"бир йил",yy:"%d йил"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("vi",{months:"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(e){return/^ch$/i.test(e)},meridiem:function(e,t,n){return e<12?n?"sa":"SA":n?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY HH:mm",LLLL:"dddd, D MMMM [năm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[Ngày mai lúc] LT",nextWeek:"dddd [tuần tới lúc] LT",lastDay:"[Hôm qua lúc] LT",lastWeek:"dddd [tuần rồi lúc] LT",sameElse:"L"},relativeTime:{future:"%s tới",past:"%s trước",s:"vài giây",m:"một phút",mm:"%d phút",h:"một giờ",hh:"%d giờ",d:"một ngày",dd:"%d ngày",M:"một tháng",MM:"%d tháng",y:"một năm",yy:"%d năm"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("x-pseudo",{months:"J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér".split("_"),monthsShort:"J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc".split("_"),monthsParseExact:!0,weekdays:"S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý".split("_"),weekdaysShort:"S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát".split("_"),weekdaysMin:"S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~ódá~ý át] LT",nextDay:"[T~ómó~rró~w át] LT",nextWeek:"dddd [át] LT",lastDay:"[Ý~ést~érdá~ý át] LT",lastWeek:"[L~ást] dddd [át] LT",sameElse:"L"},relativeTime:{future:"í~ñ %s",past:"%s á~gó",s:"á ~féw ~sécó~ñds",m:"á ~míñ~úté",mm:"%d m~íñú~tés",h:"á~ñ hó~úr",hh:"%d h~óúrs",d:"á ~dáý",dd:"%d d~áýs",M:"á ~móñ~th",MM:"%d m~óñt~hs",y:"á ~ýéár",yy:"%d ý~éárs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("yo",{months:"Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀".split("_"),monthsShort:"Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀".split("_"),weekdays:"Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta".split("_"),weekdaysShort:"Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá".split("_"),weekdaysMin:"Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Ònì ni] LT",nextDay:"[Ọ̀la ni] LT",nextWeek:"dddd [Ọsẹ̀ tón'bọ] [ni] LT",lastDay:"[Àna ni] LT",lastWeek:"dddd [Ọsẹ̀ tólọ́] [ni] LT",sameElse:"L"},relativeTime:{future:"ní %s",past:"%s kọjá",s:"ìsẹjú aayá die",m:"ìsẹjú kan",mm:"ìsẹjú %d",h:"wákati kan",hh:"wákati %d",d:"ọjọ́ kan",dd:"ọjọ́ %d",M:"osù kan",MM:"osù %d",y:"ọdún kan",yy:"ọdún %d"},dayOfMonthOrdinalParse:/ọjọ́\s\d{1,2}/,ordinal:"ọjọ́ %d",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY年MMMD日",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日Ah点mm分",LLLL:"YYYY年MMMD日ddddAh点mm分",l:"YYYY年MMMD日",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日 HH:mm",llll:"YYYY年MMMD日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return 12===e&&(e=0),"凌晨"===t||"早上"===t||"上午"===t?e:"下午"===t||"晚上"===t?e+12:e>=11?e:e+12},meridiem:function(e,t,n){var a=100*e+t;return a<600?"凌晨":a<900?"早上":a<1130?"上午":a<1230?"中午":a<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|周)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":return e+"周";default:return e}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("zh-hk",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY年MMMD日",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日 HH:mm",LLLL:"YYYY年MMMD日dddd HH:mm",l:"YYYY年MMMD日",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日 HH:mm",llll:"YYYY年MMMD日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return 12===e&&(e=0),"凌晨"===t||"早上"===t||"上午"===t?e:"中午"===t?e>=11?e:e+12:"下午"===t||"晚上"===t?e+12:void 0},meridiem:function(e,t,n){var a=100*e+t;return a<600?"凌晨":a<900?"早上":a<1130?"上午":a<1230?"中午":a<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":return e+"週";default:return e}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("zh-tw",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"), monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY年MMMD日",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日 HH:mm",LLLL:"YYYY年MMMD日dddd HH:mm",l:"YYYY年MMMD日",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日 HH:mm",llll:"YYYY年MMMD日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return 12===e&&(e=0),"凌晨"===t||"早上"===t||"上午"===t?e:"中午"===t?e>=11?e:e+12:"下午"===t||"晚上"===t?e+12:void 0},meridiem:function(e,t,n){var a=100*e+t;return a<600?"凌晨":a<900?"早上":a<1130?"上午":a<1230?"中午":a<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":return e+"週";default:return e}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}});return t})},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s=Object.assign||function(e){for(var t=1;t1?t-1:0),r=1;r2?a-2:0),s=2;s1&&void 0!==arguments[1]?arguments[1]:"local";return"calendar"===t?(0,l["default"])(e).calendar():(0,l["default"])(e).format("lll")};t.renderCarret=function(e){return"asc"===e?s["default"].createElement("span",null," ",s["default"].createElement("i",{className:"fa fa-sort-amount-asc"})):"desc"===e?s["default"].createElement("span",null," ",s["default"].createElement("i",{className:"fa fa-sort-amount-desc"})):s["default"].createElement("span",null)},t.formatName=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return function(n,a){var r=e[a.deck_id],o=(0,u.getDeckIconClassName)(r);return t===!1?s["default"].createElement("span",null,s["default"].createElement("i",{className:o})):s["default"].createElement("span",null,s["default"].createElement("i",{className:o})," "+n)}},t.formatDeckName=function(e,t){return function(n,a){var r=e[a.deck_id],o=t[a.deck_id];if(void 0===o)return s["default"].createElement("span",null,s["default"].createElement("i",{className:"fa fa-square"}));var i=(0,u.getDeckIconClassName)(r);return s["default"].createElement("span",null,s["default"].createElement("i",{className:i}))}},t.formatTime=function(e){return function(t,n){return c(t,e)}},t.formatResult=function(e,t){var n=d(t);return"warning"===n?s["default"].createElement("i",{className:"icon-error fa fa-warning"}):"danger"===n?s["default"].createElement("i",{className:"icon-error fa fa-warning"}):"success"===n?s["default"].createElement("i",{className:"icon-ok fa fa-check-circle-o"}):s["default"].createElement("i",{className:"icon-error fa fa-warning"})},t.formatViewButton=function(e){return function(t,n){return n.running===!0?s["default"].createElement("div",null,n.progress.toFixed(1),"% ",s["default"].createElement("i",{className:"fa fa-spinner fa-pulse"})):n.stale===!0?s["default"].createElement("i",{className:"icon-warning fa fa-warning"}):s["default"].createElement("button",{className:"btn btn-secondary",onClick:function(){return e(n)}},s["default"].createElement(o.FormattedMessage,{id:"util.viewButton",defaultMessage:"View"}))}},t.rowClassNameFormat=function(e,t){var n="tr-row",a=d(e);return"warning"===a?n+=" tr-row-anomaly-warning":"danger"===a?n+=" tr-row-anomaly-danger":"success"===a&&(n+=" tr-row-normal"),n}},,,,,,,,,,function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.TableHeaderColumn=t.BootstrapTable=void 0;var r=n(598),s=a(r),o=n(607),i=a(o);"undefined"!=typeof window&&(window.BootstrapTable=s["default"],window.TableHeaderColumn=i["default"]),t.BootstrapTable=s["default"],t.TableHeaderColumn=i["default"];(function(){"undefined"==typeof __REACT_HOT_LOADER__})()},,,,,,,,,,,,,,,,,,,,,,,[1460,479,474,205,176,155],[1461,526,177],[1463,177],[1464,378,155],[1465,28,17],[1466,430,431,432,433,434],[1470,28,17],[1471,28,17],[1472,61,464,465,466,467,468],[1473,17],[1474,28,17],1174,1175,1176,1177,[1478,41,66],[1479,41,174],[1481,386,392,159,393,394,414,421,422,423,426,164,428,435,436,437,25,171,34,66],[1482,34],1182,[1483,88,438],[1484,89,167],[1486,397,402,469],[1487,33,42],1187,[1488,172,442,34,168],[1489,33,173,42],[1490,92,455],[1491,34,92,456],[1492,471,162,473],1193,1194,[1493,40,87,25,65],1196,[1494,89,477,460,167],[1495,87],[1498,17],[1499,90],[1500,389,158,453],1202,[1501,390,158,461],[1502,40],[1503,90],798,[1505,41,91],[1506,41,166],[1507,17],[1509,472,459,462],[1510,161,91,66],[1457,40],[1516,382,86,384,385,388,33,168],1214,[1517,64],1216,[1518,64],[1519,64],[1520,64],1220,[1521,90,415,416,417,418,419,420],[1522,396,165,92],[1523,40,170,25],663,[1524,25,65],1226,[1525,424],1228,[1526,62],[1527,62],[1528,62],[1529,62],[1530,383,61,86],[1531,63],[1532,63],[1533,63],[1534,63],1238,[1535,478],[1537,93],1241,[1538,163],1142,[1539,391],[1540,399,408],1246,[1541,407,463],1248,[1542,61],1250,1251,1252,[1543,61,86,156],1254,[1544,454],1256,[1546,398],666,[1547,400,94,475,482,485],[1552,33,25,42],[1554,404,411,457],1262,[1557,156],[1558,87,395,412,89,41,425,164],1265,[1559,483],[1560,481],[1561,34,65],[1562,410],[1563,413,66],function(e,t,n){"use strict";var a=n(7),r=n(140),s={focusDOMComponent:function(){r(a.getNodeFromInstance(this))}};e.exports=s},function(e,t,n){"use strict";function a(){var e=window.opera;return"object"==typeof e&&"function"==typeof e.version&&parseInt(e.version(),10)<=12}function r(e){return(e.ctrlKey||e.altKey||e.metaKey)&&!(e.ctrlKey&&e.altKey)}function s(e){switch(e){case Y.topCompositionStart:return S.compositionStart;case Y.topCompositionEnd:return S.compositionEnd;case Y.topCompositionUpdate:return S.compositionUpdate}}function o(e,t){return e===Y.topKeyDown&&t.keyCode===M}function i(e,t){switch(e){case Y.topKeyUp:return v.indexOf(t.keyCode)!==-1;case Y.topKeyDown:return t.keyCode!==M;case Y.topKeyPress:case Y.topMouseDown:case Y.topBlur:return!0;default:return!1}}function l(e){var t=e.detail;return"object"==typeof t&&"data"in t?t.data:null}function u(e,t,n,a){var r,u;if(T?r=s(e):O?i(e,n)&&(r=S.compositionEnd):o(e,n)&&(r=S.compositionStart),!r)return null;k&&(O||r!==S.compositionStart?r===S.compositionEnd&&O&&(u=O.getData()):O=h.getPooled(a));var d=y.getPooled(r,t,n,a);if(u)d.data=u;else{var c=l(n);null!==c&&(d.data=c)}return f.accumulateTwoPhaseDispatches(d),d}function d(e,t){switch(e){case Y.topCompositionEnd:return l(t);case Y.topKeyPress:var n=t.which;return n!==D?null:(C=!0,w);case Y.topTextInput:var a=t.data;return a===w&&C?null:a;default:return null}}function c(e,t){if(O){if(e===Y.topCompositionEnd||!T&&i(e,t)){var n=O.getData();return h.release(O),O=null,n}return null}switch(e){case Y.topPaste:return null;case Y.topKeyPress:return t.which&&!r(t)?String.fromCharCode(t.which):null;case Y.topCompositionEnd:return k?null:t.data;default:return null}}function p(e,t,n,a){var r;if(r=E?d(e,n):c(e,n),!r)return null;var s=g.getPooled(S.beforeInput,t,n,a);return s.data=r,f.accumulateTwoPhaseDispatches(s),s}var _=n(21),f=n(44),m=n(8),h=n(493),y=n(532),g=n(535),b=n(24),v=[9,13,27,32],M=229,T=m.canUseDOM&&"CompositionEvent"in window,L=null;m.canUseDOM&&"documentMode"in document&&(L=document.documentMode);var E=m.canUseDOM&&"TextEvent"in window&&!L&&!a(),k=m.canUseDOM&&(!T||L&&L>8&&L<=11),D=32,w=String.fromCharCode(D),Y=_.topLevelTypes,S={beforeInput:{phasedRegistrationNames:{bubbled:b({onBeforeInput:null}),captured:b({onBeforeInputCapture:null})},dependencies:[Y.topCompositionEnd,Y.topKeyPress,Y.topTextInput,Y.topPaste]},compositionEnd:{phasedRegistrationNames:{bubbled:b({onCompositionEnd:null}),captured:b({onCompositionEndCapture:null})},dependencies:[Y.topBlur,Y.topCompositionEnd,Y.topKeyDown,Y.topKeyPress,Y.topKeyUp,Y.topMouseDown]},compositionStart:{phasedRegistrationNames:{bubbled:b({onCompositionStart:null}),captured:b({onCompositionStartCapture:null})},dependencies:[Y.topBlur,Y.topCompositionStart,Y.topKeyDown,Y.topKeyPress,Y.topKeyUp,Y.topMouseDown]},compositionUpdate:{phasedRegistrationNames:{bubbled:b({onCompositionUpdate:null}),captured:b({onCompositionUpdateCapture:null})},dependencies:[Y.topBlur,Y.topCompositionUpdate,Y.topKeyDown,Y.topKeyPress,Y.topKeyUp,Y.topMouseDown]}},C=!1,O=null,P={eventTypes:S,extractEvents:function(e,t,n,a){return[u(e,t,n,a),p(e,t,n,a)]}};e.exports=P},function(e,t,n){"use strict";var a=n(178),r=n(8),s=(n(15),n(584),n(542)),o=n(588),i=n(589),l=(n(4),i(function(e){return o(e)})),u=!1,d="cssFloat";if(r.canUseDOM){var c=document.createElement("div").style;try{c.font=""}catch(p){u=!0}void 0===document.documentElement.style.cssFloat&&(d="styleFloat")}var _={createMarkupForStyles:function(e,t){var n="";for(var a in e)if(e.hasOwnProperty(a)){var r=e[a];null!=r&&(n+=l(a)+":",n+=s(a,r,t)+";")}return n||null},setValueForStyles:function(e,t,n){var r=e.style;for(var o in t)if(t.hasOwnProperty(o)){var i=s(o,t[o],n);if("float"!==o&&"cssFloat"!==o||(o=d),i)r[o]=i;else{var l=u&&a.shorthandPropertyExpansions[o];if(l)for(var c in l)r[c]="";else r[o]=""}}}};e.exports=_},function(e,t,n){"use strict";function a(e){var t=e.nodeName&&e.nodeName.toLowerCase();return"select"===t||"input"===t&&"file"===e.type}function r(e){var t=E.getPooled(C.change,P,e,k(e));v.accumulateTwoPhaseDispatches(t),L.batchedUpdates(s,t)}function s(e){b.enqueueEvents(e),b.processEventQueue(!1)}function o(e,t){O=e,P=t,O.attachEvent("onchange",r)}function i(){O&&(O.detachEvent("onchange",r),O=null,P=null)}function l(e,t){if(e===S.topChange)return t}function u(e,t,n){e===S.topFocus?(i(),o(t,n)):e===S.topBlur&&i()}function d(e,t){O=e,P=t,R=e.value,x=Object.getOwnPropertyDescriptor(e.constructor.prototype,"value"),Object.defineProperty(O,"value",H),O.attachEvent?O.attachEvent("onpropertychange",p):O.addEventListener("propertychange",p,!1)}function c(){O&&(delete O.value,O.detachEvent?O.detachEvent("onpropertychange",p):O.removeEventListener("propertychange",p,!1),O=null,P=null,R=null,x=null)}function p(e){if("value"===e.propertyName){var t=e.srcElement.value;t!==R&&(R=t,r(e))}}function _(e,t){if(e===S.topInput)return t}function f(e,t,n){e===S.topFocus?(c(),d(t,n)):e===S.topBlur&&c()}function m(e,t){if((e===S.topSelectionChange||e===S.topKeyUp||e===S.topKeyDown)&&O&&O.value!==R)return R=O.value,P}function h(e){return e.nodeName&&"input"===e.nodeName.toLowerCase()&&("checkbox"===e.type||"radio"===e.type)}function y(e,t){if(e===S.topClick)return t}var g=n(21),b=n(43),v=n(44),M=n(8),T=n(7),L=n(19),E=n(22),k=n(113),D=n(114),w=n(203),Y=n(24),S=g.topLevelTypes,C={change:{phasedRegistrationNames:{bubbled:Y({onChange:null}),captured:Y({onChangeCapture:null})},dependencies:[S.topBlur,S.topChange,S.topClick,S.topFocus,S.topInput,S.topKeyDown,S.topKeyUp,S.topSelectionChange]}},O=null,P=null,R=null,x=null,A=!1;M.canUseDOM&&(A=D("change")&&(!document.documentMode||document.documentMode>8));var N=!1;M.canUseDOM&&(N=D("input")&&(!document.documentMode||document.documentMode>11));var H={get:function(){return x.get.call(this)},set:function(e){R=""+e,x.set.call(this,e)}},j={eventTypes:C,extractEvents:function(e,t,n,r){var s,o,i=t?T.getNodeFromInstance(t):window;if(a(i)?A?s=l:o=u:w(i)?N?s=_:(s=m,o=f):h(i)&&(s=y),s){var d=s(e,t);if(d){var c=E.getPooled(C.change,d,n,r);return c.type="change",v.accumulateTwoPhaseDispatches(c),c}}o&&o(e,i,t)}};e.exports=j},function(e,t,n){"use strict";var a=n(6),r=n(35),s=n(8),o=n(586),i=n(13),l=(n(3),{dangerouslyReplaceNodeWithMarkup:function(e,t){if(s.canUseDOM?void 0:a("56"),t?void 0:a("57"),"HTML"===e.nodeName?a("58"):void 0,"string"==typeof t){var n=o(t,i)[0];e.parentNode.replaceChild(n,e)}else r.replaceChildWithTree(e,t)}});e.exports=l},function(e,t,n){"use strict";var a=n(24),r=[a({ResponderEventPlugin:null}),a({SimpleEventPlugin:null}),a({TapEventPlugin:null}),a({EnterLeaveEventPlugin:null}),a({ChangeEventPlugin:null}),a({SelectEventPlugin:null}),a({BeforeInputEventPlugin:null})];e.exports=r},function(e,t,n){"use strict";var a=n(21),r=n(44),s=n(7),o=n(69),i=n(24),l=a.topLevelTypes,u={mouseEnter:{registrationName:i({onMouseEnter:null}),dependencies:[l.topMouseOut,l.topMouseOver]},mouseLeave:{registrationName:i({onMouseLeave:null}),dependencies:[l.topMouseOut,l.topMouseOver]}},d={eventTypes:u,extractEvents:function(e,t,n,a){if(e===l.topMouseOver&&(n.relatedTarget||n.fromElement))return null;if(e!==l.topMouseOut&&e!==l.topMouseOver)return null;var i;if(a.window===a)i=a;else{var d=a.ownerDocument;i=d?d.defaultView||d.parentWindow:window}var c,p;if(e===l.topMouseOut){c=t;var _=n.relatedTarget||n.toElement;p=_?s.getClosestInstanceFromNode(_):null}else c=null,p=t;if(c===p)return null;var f=null==c?i:s.getNodeFromInstance(c),m=null==p?i:s.getNodeFromInstance(p),h=o.getPooled(u.mouseLeave,c,n,a);h.type="mouseleave",h.target=f,h.relatedTarget=m;var y=o.getPooled(u.mouseEnter,p,n,a);return y.type="mouseenter",y.target=m,y.relatedTarget=f,r.accumulateEnterLeaveDispatches(h,y,c,p),[h,y]}};e.exports=d},function(e,t,n){"use strict";function a(e){this._root=e,this._startText=this.getText(),this._fallbackText=null}var r=n(5),s=n(26),o=n(200);r(a.prototype,{destructor:function(){this._root=null,this._startText=null,this._fallbackText=null},getText:function(){return"value"in this._root?this._root.value:this._root[o()]},getData:function(){if(this._fallbackText)return this._fallbackText;var e,t,n=this._startText,a=n.length,r=this.getText(),s=r.length;for(e=0;e1?1-t:void 0;return this._fallbackText=r.slice(e,i),this._fallbackText}}),s.addPoolingTo(a),e.exports=a},function(e,t,n){"use strict";var a=n(36),r=a.injection.MUST_USE_PROPERTY,s=a.injection.HAS_BOOLEAN_VALUE,o=a.injection.HAS_NUMERIC_VALUE,i=a.injection.HAS_POSITIVE_NUMERIC_VALUE,l=a.injection.HAS_OVERLOADED_BOOLEAN_VALUE,u={isCustomAttribute:RegExp.prototype.test.bind(new RegExp("^(data|aria)-["+a.ATTRIBUTE_NAME_CHAR+"]*$")),Properties:{accept:0,acceptCharset:0,accessKey:0,action:0,allowFullScreen:s,allowTransparency:0,alt:0,as:0,async:s,autoComplete:0,autoPlay:s,capture:s,cellPadding:0,cellSpacing:0,charSet:0,challenge:0,checked:r|s,cite:0,classID:0,className:0,cols:i,colSpan:0,content:0,contentEditable:0,contextMenu:0,controls:s,coords:0,crossOrigin:0,data:0,dateTime:0,"default":s,defer:s,dir:0,disabled:s,download:l,draggable:0,encType:0,form:0,formAction:0,formEncType:0,formMethod:0,formNoValidate:s,formTarget:0,frameBorder:0,headers:0,height:0,hidden:s,high:0,href:0,hrefLang:0,htmlFor:0,httpEquiv:0,icon:0,id:0,inputMode:0,integrity:0,is:0,keyParams:0,keyType:0,kind:0,label:0,lang:0,list:0,loop:s,low:0,manifest:0,marginHeight:0,marginWidth:0,max:0,maxLength:0,media:0,mediaGroup:0,method:0,min:0,minLength:0,multiple:r|s,muted:r|s,name:0,nonce:0,noValidate:s,open:s,optimum:0,pattern:0,placeholder:0,playsInline:s,poster:0,preload:0,profile:0,radioGroup:0,readOnly:s,referrerPolicy:0,rel:0,required:s,reversed:s,role:0,rows:i,rowSpan:o,sandbox:0,scope:0,scoped:s,scrolling:0,seamless:s,selected:r|s,shape:0,size:i,sizes:0,span:i,spellCheck:0,src:0,srcDoc:0,srcLang:0,srcSet:0,start:o,step:0,style:0,summary:0,tabIndex:0,target:0,title:0,type:0,useMap:0,value:0,width:0,wmode:0,wrap:0,about:0,datatype:0,inlist:0,prefix:0,property:0,resource:0,"typeof":0,vocab:0,autoCapitalize:0,autoCorrect:0,autoSave:0,color:0,itemProp:0,itemScope:s,itemType:0,itemID:0,itemRef:0,results:0,security:0,unselectable:0},DOMAttributeNames:{acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMPropertyNames:{}};e.exports=u},function(e,t,n){"use strict";var a=n(5),r=n(181),s=n(101),o=n(521),i=n(182),l=n(504),u=n(18),d=n(192),c=n(193),p=n(547),_=(n(4),u.createElement),f=u.createFactory,m=u.cloneElement,h=a,y={Children:{map:r.map,forEach:r.forEach,count:r.count,toArray:r.toArray,only:p},Component:s,PureComponent:o,createElement:_,cloneElement:m,isValidElement:u.isValidElement,PropTypes:d,createClass:i.createClass,createFactory:f,createMixin:function(e){return e},DOM:l,version:c,__spread:h};e.exports=y},function(e,t,n){(function(t){"use strict";function a(e,t,n,a){var r=void 0===e[n];null!=t&&r&&(e[n]=s(t,!0))}var r=n(37),s=n(202),o=(n(99),n(115)),i=n(116),l=(n(4),{instantiateChildren:function(e,t,n,r){if(null==e)return null;var s={};return i(e,a,s),s},updateChildren:function(e,t,n,a,i,l,u,d,c){if(t||e){var p,_;for(p in t)if(t.hasOwnProperty(p)){_=e&&e[p];var f=_&&_._currentElement,m=t[p];if(null!=_&&o(f,m))r.receiveComponent(_,m,i,d),t[p]=_;else{_&&(a[p]=r.getHostNode(_),r.unmountComponent(_,!1));var h=s(m,!0);t[p]=h;var y=r.mountComponent(h,i,l,u,d,c);n.push(y)}}for(p in e)!e.hasOwnProperty(p)||t&&t.hasOwnProperty(p)||(_=e[p],a[p]=r.getHostNode(_),r.unmountComponent(_,!1))}},unmountChildren:function(e,t){for(var n in e)if(e.hasOwnProperty(n)){var a=e[n];r.unmountComponent(a,t)}}});e.exports=l}).call(t,n(56))},function(e,t,n){"use strict";var a=n(95),r=n(506),s={processChildrenUpdates:r.dangerouslyProcessChildrenUpdates,replaceNodeWithMarkup:a.dangerouslyReplaceNodeWithMarkup};e.exports=s},function(e,t,n){"use strict";function a(e){}function r(e,t){}function s(e){return!(!e.prototype||!e.prototype.isReactComponent)}function o(e){return!(!e.prototype||!e.prototype.isPureReactComponent)}var i=n(6),l=n(5),u=n(102),d=n(27),c=n(18),p=n(104),_=n(45),f=(n(15),n(191)),m=(n(107),n(37)),h=n(541),y=n(29),g=(n(3),n(74)),b=n(115),v=(n(4),{ImpureClass:0,PureClass:1,StatelessFunctional:2});a.prototype.render=function(){var e=_.get(this)._currentElement.type,t=e(this.props,this.context,this.updater);return r(e,t),t};var M=1,T={construct:function(e){this._currentElement=e,this._rootNodeID=0,this._compositeType=null,this._instance=null,this._hostParent=null,this._hostContainerInfo=null,this._updateBatchNumber=null,this._pendingElement=null,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._renderedNodeType=null,this._renderedComponent=null,this._context=null,this._mountOrder=0,this._topLevelWrapper=null,this._pendingCallbacks=null,this._calledComponentWillUnmount=!1},mountComponent:function(e,t,n,l){this._context=l,this._mountOrder=M++,this._hostParent=t,this._hostContainerInfo=n;var u,d=this._currentElement.props,p=this._processContext(l),f=this._currentElement.type,m=e.getUpdateQueue(),h=s(f),g=this._constructComponent(h,d,p,m);h||null!=g&&null!=g.render?o(f)?this._compositeType=v.PureClass:this._compositeType=v.ImpureClass:(u=g,r(f,u),null===g||g===!1||c.isValidElement(g)?void 0:i("105",f.displayName||f.name||"Component"),g=new a(f),this._compositeType=v.StatelessFunctional);g.props=d,g.context=p,g.refs=y,g.updater=m,this._instance=g,_.set(g,this);var b=g.state;void 0===b&&(g.state=b=null),"object"!=typeof b||Array.isArray(b)?i("106",this.getName()||"ReactCompositeComponent"):void 0,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1;var T;return T=g.unstable_handleError?this.performInitialMountWithErrorHandling(u,t,n,e,l):this.performInitialMount(u,t,n,e,l),g.componentDidMount&&e.getReactMountReady().enqueue(g.componentDidMount,g),T},_constructComponent:function(e,t,n,a){return this._constructComponentWithoutOwner(e,t,n,a)},_constructComponentWithoutOwner:function(e,t,n,a){var r=this._currentElement.type;return e?new r(t,n,a):r(t,n,a)},performInitialMountWithErrorHandling:function(e,t,n,a,r){var s,o=a.checkpoint();try{s=this.performInitialMount(e,t,n,a,r)}catch(i){a.rollback(o),this._instance.unstable_handleError(i),this._pendingStateQueue&&(this._instance.state=this._processPendingState(this._instance.props,this._instance.context)),o=a.checkpoint(),this._renderedComponent.unmountComponent(!0),a.rollback(o),s=this.performInitialMount(e,t,n,a,r)}return s},performInitialMount:function(e,t,n,a,r){var s=this._instance,o=0;s.componentWillMount&&(s.componentWillMount(),this._pendingStateQueue&&(s.state=this._processPendingState(s.props,s.context))),void 0===e&&(e=this._renderValidatedComponent());var i=f.getType(e);this._renderedNodeType=i;var l=this._instantiateReactComponent(e,i!==f.EMPTY);this._renderedComponent=l;var u=m.mountComponent(l,a,t,n,this._processChildContext(r),o);return u},getHostNode:function(){return m.getHostNode(this._renderedComponent)},unmountComponent:function(e){if(this._renderedComponent){var t=this._instance;if(t.componentWillUnmount&&!t._calledComponentWillUnmount)if(t._calledComponentWillUnmount=!0,e){var n=this.getName()+".componentWillUnmount()";p.invokeGuardedCallback(n,t.componentWillUnmount.bind(t))}else t.componentWillUnmount();this._renderedComponent&&(m.unmountComponent(this._renderedComponent,e),this._renderedNodeType=null,this._renderedComponent=null,this._instance=null),this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._pendingCallbacks=null,this._pendingElement=null,this._context=null,this._rootNodeID=0,this._topLevelWrapper=null,_.remove(t)}},_maskContext:function(e){var t=this._currentElement.type,n=t.contextTypes;if(!n)return y;var a={};for(var r in n)a[r]=e[r];return a},_processContext:function(e){var t=this._maskContext(e);return t},_processChildContext:function(e){var t,n=this._currentElement.type,a=this._instance;if(a.getChildContext&&(t=a.getChildContext()),t){"object"!=typeof n.childContextTypes?i("107",this.getName()||"ReactCompositeComponent"):void 0;for(var r in t)r in n.childContextTypes?void 0:i("108",this.getName()||"ReactCompositeComponent",r);return l({},e,t)}return e},_checkContextTypes:function(e,t,n){h(e,t,n,this.getName(),null,this._debugID)},receiveComponent:function(e,t,n){var a=this._currentElement,r=this._context;this._pendingElement=null,this.updateComponent(t,a,e,r,n)},performUpdateIfNecessary:function(e){null!=this._pendingElement?m.receiveComponent(this,this._pendingElement,e,this._context):null!==this._pendingStateQueue||this._pendingForceUpdate?this.updateComponent(e,this._currentElement,this._currentElement,this._context,this._context):this._updateBatchNumber=null},updateComponent:function(e,t,n,a,r){var s=this._instance;null==s?i("136",this.getName()||"ReactCompositeComponent"):void 0;var o,l=!1;this._context===r?o=s.context:(o=this._processContext(r),l=!0);var u=t.props,d=n.props;t!==n&&(l=!0),l&&s.componentWillReceiveProps&&s.componentWillReceiveProps(d,o);var c=this._processPendingState(d,o),p=!0;this._pendingForceUpdate||(s.shouldComponentUpdate?p=s.shouldComponentUpdate(d,c,o):this._compositeType===v.PureClass&&(p=!g(u,d)||!g(s.state,c))),this._updateBatchNumber=null,p?(this._pendingForceUpdate=!1,this._performComponentUpdate(n,d,c,o,e,r)):(this._currentElement=n,this._context=r,s.props=d,s.state=c,s.context=o)},_processPendingState:function(e,t){var n=this._instance,a=this._pendingStateQueue,r=this._pendingReplaceState;if(this._pendingReplaceState=!1,this._pendingStateQueue=null,!a)return n.state;if(r&&1===a.length)return a[0];for(var s=l({},r?a[0]:n.state),o=r?1:0;o=0||null!=t.is}function f(e){var t=e.type;p(t),this._currentElement=e,this._tag=t.toLowerCase(),this._namespaceURI=null,this._renderedChildren=null,this._previousStyle=null,this._previousStyleCopy=null,this._hostNode=null,this._hostParent=null,this._rootNodeID=0,this._domID=0,this._hostContainerInfo=null,this._wrapperState=null,this._topLevelWrapper=null,this._flags=0}var m=n(6),h=n(5),y=n(486),g=n(488),b=n(35),v=n(96),M=n(36),T=n(180),L=n(21),E=n(43),k=n(97),D=n(68),w=n(500),Y=n(183),S=n(7),C=n(507),O=n(508),P=n(184),R=n(511),x=(n(15),n(519)),A=n(524),N=(n(13),n(70)),H=(n(3),n(114),n(24)),j=(n(74),n(117),n(4),Y),F=E.deleteListener,I=S.getNodeFromInstance,U=D.listenTo,W=k.registrationNameModules,B={string:!0,number:!0},z=H({style:null}),V=H({__html:null}),G={children:null,dangerouslySetInnerHTML:null,suppressContentEditableWarning:null},K=11,q={topAbort:"abort",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topSeeked:"seeked",topSeeking:"seeking",topStalled:"stalled",topSuspend:"suspend",topTimeUpdate:"timeupdate",topVolumeChange:"volumechange",topWaiting:"waiting"},J={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},X={listing:!0,pre:!0,textarea:!0},$=h({menuitem:!0},J),Z=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,Q={},ee={}.hasOwnProperty,te=1;f.displayName="ReactDOMComponent",f.Mixin={mountComponent:function(e,t,n,a){this._rootNodeID=te++,this._domID=n._idCounter++,this._hostParent=t,this._hostContainerInfo=n;var s=this._currentElement.props;switch(this._tag){case"audio":case"form":case"iframe":case"img":case"link":case"object":case"source":case"video":this._wrapperState={listeners:null},e.getReactMountReady().enqueue(d,this);break;case"button":s=w.getHostProps(this,s,t);break;case"input":C.mountWrapper(this,s,t),s=C.getHostProps(this,s),e.getReactMountReady().enqueue(d,this);break;case"option":O.mountWrapper(this,s,t),s=O.getHostProps(this,s);break;case"select":P.mountWrapper(this,s,t),s=P.getHostProps(this,s),e.getReactMountReady().enqueue(d,this);break;case"textarea":R.mountWrapper(this,s,t),s=R.getHostProps(this,s),e.getReactMountReady().enqueue(d,this)}r(this,s);var o,c;null!=t?(o=t._namespaceURI,c=t._tag):n._tag&&(o=n._namespaceURI,c=n._tag),(null==o||o===v.svg&&"foreignobject"===c)&&(o=v.html),o===v.html&&("svg"===this._tag?o=v.svg:"math"===this._tag&&(o=v.mathml)),this._namespaceURI=o;var p;if(e.useCreateElement){var _,f=n._ownerDocument;if(o===v.html)if("script"===this._tag){var m=f.createElement("div"),h=this._currentElement.type;m.innerHTML="<"+h+">",_=m.removeChild(m.firstChild)}else _=s.is?f.createElement(this._currentElement.type,s.is):f.createElement(this._currentElement.type);else _=f.createElementNS(o,this._currentElement.type);S.precacheNode(this,_),this._flags|=j.hasCachedChildNodes,this._hostParent||T.setAttributeForRoot(_),this._updateDOMProperties(null,s,e);var g=b(_);this._createInitialChildren(e,s,a,g),p=g}else{var M=this._createOpenTagMarkupAndPutListeners(e,s),L=this._createContentMarkup(e,s,a);p=!L&&J[this._tag]?M+"/>":M+">"+L+""}switch(this._tag){case"input":e.getReactMountReady().enqueue(i,this),s.autoFocus&&e.getReactMountReady().enqueue(y.focusDOMComponent,this);break;case"textarea":e.getReactMountReady().enqueue(l,this),s.autoFocus&&e.getReactMountReady().enqueue(y.focusDOMComponent,this);break;case"select":s.autoFocus&&e.getReactMountReady().enqueue(y.focusDOMComponent,this);break;case"button":s.autoFocus&&e.getReactMountReady().enqueue(y.focusDOMComponent,this);break;case"option":e.getReactMountReady().enqueue(u,this)}return p},_createOpenTagMarkupAndPutListeners:function(e,t){var n="<"+this._currentElement.type;for(var a in t)if(t.hasOwnProperty(a)){var r=t[a];if(null!=r)if(W.hasOwnProperty(a))r&&s(this,a,r,e);else{a===z&&(r&&(r=this._previousStyleCopy=h({},t.style)),r=g.createMarkupForStyles(r,this));var o=null;null!=this._tag&&_(this._tag,t)?G.hasOwnProperty(a)||(o=T.createMarkupForCustomAttribute(a,r)):o=T.createMarkupForProperty(a,r),o&&(n+=" "+o)}}return e.renderToStaticMarkup?n:(this._hostParent||(n+=" "+T.createMarkupForRoot()),n+=" "+T.createMarkupForID(this._domID))},_createContentMarkup:function(e,t,n){var a="",r=t.dangerouslySetInnerHTML;if(null!=r)null!=r.__html&&(a=r.__html);else{var s=B[typeof t.children]?t.children:null,o=null!=s?null:t.children;if(null!=s)a=N(s);else if(null!=o){var i=this.mountChildren(o,e,n);a=i.join("")}}return X[this._tag]&&"\n"===a.charAt(0)?"\n"+a:a},_createInitialChildren:function(e,t,n,a){var r=t.dangerouslySetInnerHTML;if(null!=r)null!=r.__html&&b.queueHTML(a,r.__html);else{var s=B[typeof t.children]?t.children:null,o=null!=s?null:t.children;if(null!=s)b.queueText(a,s);else if(null!=o)for(var i=this.mountChildren(o,e,n),l=0;l"},receiveComponent:function(){},getHostNode:function(){return s.getNodeFromInstance(this)},unmountComponent:function(){s.uncacheNode(this)}}),e.exports=o},function(e,t,n){"use strict";var a=n(18),r=a.createFactory,s={a:r("a"),abbr:r("abbr"),address:r("address"),area:r("area"),article:r("article"),aside:r("aside"),audio:r("audio"),b:r("b"),base:r("base"),bdi:r("bdi"),bdo:r("bdo"),big:r("big"),blockquote:r("blockquote"),body:r("body"),br:r("br"),button:r("button"),canvas:r("canvas"),caption:r("caption"),cite:r("cite"),code:r("code"),col:r("col"),colgroup:r("colgroup"),data:r("data"),datalist:r("datalist"),dd:r("dd"),del:r("del"),details:r("details"),dfn:r("dfn"),dialog:r("dialog"),div:r("div"),dl:r("dl"),dt:r("dt"),em:r("em"),embed:r("embed"),fieldset:r("fieldset"),figcaption:r("figcaption"),figure:r("figure"),footer:r("footer"),form:r("form"),h1:r("h1"),h2:r("h2"),h3:r("h3"),h4:r("h4"),h5:r("h5"),h6:r("h6"),head:r("head"),header:r("header"),hgroup:r("hgroup"),hr:r("hr"),html:r("html"),i:r("i"),iframe:r("iframe"),img:r("img"),input:r("input"),ins:r("ins"),kbd:r("kbd"),keygen:r("keygen"),label:r("label"),legend:r("legend"),li:r("li"),link:r("link"),main:r("main"),map:r("map"),mark:r("mark"),menu:r("menu"),menuitem:r("menuitem"),meta:r("meta"),meter:r("meter"),nav:r("nav"),noscript:r("noscript"),object:r("object"),ol:r("ol"),optgroup:r("optgroup"),option:r("option"),output:r("output"),p:r("p"),param:r("param"),picture:r("picture"),pre:r("pre"),progress:r("progress"),q:r("q"),rp:r("rp"),rt:r("rt"),ruby:r("ruby"),s:r("s"),samp:r("samp"),script:r("script"),section:r("section"),select:r("select"),small:r("small"),source:r("source"),span:r("span"),strong:r("strong"),style:r("style"),sub:r("sub"),summary:r("summary"),sup:r("sup"),table:r("table"),tbody:r("tbody"),td:r("td"),textarea:r("textarea"),tfoot:r("tfoot"),th:r("th"),thead:r("thead"),time:r("time"),title:r("title"),tr:r("tr"),track:r("track"),u:r("u"),ul:r("ul"),"var":r("var"),video:r("video"),wbr:r("wbr"),circle:r("circle"),clipPath:r("clipPath"),defs:r("defs"),ellipse:r("ellipse"),g:r("g"),image:r("image"),line:r("line"),linearGradient:r("linearGradient"),mask:r("mask"),path:r("path"),pattern:r("pattern"),polygon:r("polygon"),polyline:r("polyline"),radialGradient:r("radialGradient"),rect:r("rect"),stop:r("stop"),svg:r("svg"),text:r("text"),tspan:r("tspan")};e.exports=s},function(e,t){"use strict";var n={useCreateElement:!0};e.exports=n},function(e,t,n){"use strict";var a=n(95),r=n(7),s={dangerouslyProcessChildrenUpdates:function(e,t){var n=r.getNodeFromInstance(e);a.processUpdates(n,t)}};e.exports=s},function(e,t,n){"use strict";function a(){this._rootNodeID&&p.updateWrapper(this)}function r(e){var t=this._currentElement.props,n=u.executeOnChange(t,e);c.asap(a,this);var r=t.name;if("radio"===t.type&&null!=r){for(var o=d.getNodeFromInstance(this),i=o;i.parentNode;)i=i.parentNode;for(var l=i.querySelectorAll("input[name="+JSON.stringify(""+r)+'][type="radio"]'),p=0;pt.end?(n=t.end,a=t.start):(n=t.start,a=t.end),r.moveToElementText(e),r.moveStart("character",n),r.setEndPoint("EndToStart",r),r.moveEnd("character",a-n),r.select()}function i(e,t){if(window.getSelection){var n=window.getSelection(),a=e[d()].length,r=Math.min(t.start,a),s=void 0===t.end?r:Math.min(t.end,a);if(!n.extend&&r>s){var o=s;s=r,r=o}var i=u(e,r),l=u(e,s);if(i&&l){var c=document.createRange();c.setStart(i.node,i.offset),n.removeAllRanges(),r>s?(n.addRange(c),n.extend(l.node,l.offset)):(c.setEnd(l.node,l.offset),n.addRange(c))}}}var l=n(8),u=n(546),d=n(200),c=l.canUseDOM&&"selection"in document&&!("getSelection"in window),p={getOffsets:c?r:s,setOffsets:c?o:i};e.exports=p},function(e,t,n){"use strict";var a=n(6),r=n(5),s=n(95),o=n(35),i=n(7),l=n(70),u=(n(3),n(117),function(e){this._currentElement=e,this._stringText=""+e,this._hostNode=null,this._hostParent=null,this._domID=0,this._mountIndex=0,this._closingComment=null,this._commentNodes=null});r(u.prototype,{mountComponent:function(e,t,n,a){var r=n._idCounter++,s=" react-text: "+r+" ",u=" /react-text ";if(this._domID=r,this._hostParent=t,e.useCreateElement){var d=n._ownerDocument,c=d.createComment(s),p=d.createComment(u),_=o(d.createDocumentFragment());return o.queueChild(_,o(c)),this._stringText&&o.queueChild(_,o(d.createTextNode(this._stringText))),o.queueChild(_,o(p)),i.precacheNode(this,c),this._closingComment=p,_}var f=l(this._stringText);return e.renderToStaticMarkup?f:""+f+""},receiveComponent:function(e,t){if(e!==this._currentElement){this._currentElement=e;var n=""+e;if(n!==this._stringText){this._stringText=n;var a=this.getHostNode();s.replaceDelimitedText(a[0],a[1],n)}}},getHostNode:function(){var e=this._commentNodes;if(e)return e;if(!this._closingComment)for(var t=i.getNodeFromInstance(this),n=t.nextSibling;;){if(null==n?a("67",this._domID):void 0,8===n.nodeType&&" /react-text "===n.nodeValue){this._closingComment=n;break}n=n.nextSibling}return e=[this._hostNode,this._closingComment],this._commentNodes=e,e},unmountComponent:function(){this._closingComment=null,this._commentNodes=null,i.uncacheNode(this)}}),e.exports=u},function(e,t,n){"use strict";function a(){this._rootNodeID&&c.updateWrapper(this)}function r(e){var t=this._currentElement.props,n=l.executeOnChange(t,e);return d.asap(a,this),n}var s=n(6),o=n(5),i=n(67),l=n(100),u=n(7),d=n(19),c=(n(3),n(4),{getHostProps:function(e,t){null!=t.dangerouslySetInnerHTML?s("91"):void 0;var n=o({},i.getHostProps(e,t),{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue,onChange:e._wrapperState.onChange});return n},mountWrapper:function(e,t){var n=l.getValue(t),a=n;if(null==n){var o=t.defaultValue,i=t.children;null!=i&&(null!=o?s("92"):void 0,Array.isArray(i)&&(i.length<=1?void 0:s("93"),i=i[0]),o=""+i),null==o&&(o=""),a=o}e._wrapperState={initialValue:""+a,listeners:null,onChange:r.bind(e)}},updateWrapper:function(e){var t=e._currentElement.props,n=u.getNodeFromInstance(e),a=l.getValue(t);if(null!=a){var r=""+a;r!==n.value&&(n.value=r),null==t.defaultValue&&(n.defaultValue=r)}null!=t.defaultValue&&(n.defaultValue=t.defaultValue)},postMountWrapper:function(e){var t=u.getNodeFromInstance(e);t.value=t.textContent}});e.exports=c},function(e,t,n){"use strict";function a(e,t){"_hostNode"in e?void 0:l("33"),"_hostNode"in t?void 0:l("33");for(var n=0,a=e;a;a=a._hostParent)n++;for(var r=0,s=t;s;s=s._hostParent)r++;for(;n-r>0;)e=e._hostParent,n--;for(;r-n>0;)t=t._hostParent,r--;for(var o=n;o--;){if(e===t)return e;e=e._hostParent,t=t._hostParent}return null}function r(e,t){"_hostNode"in e?void 0:l("35"),"_hostNode"in t?void 0:l("35");for(;t;){if(t===e)return!0;t=t._hostParent}return!1}function s(e){return"_hostNode"in e?void 0:l("36"),e._hostParent}function o(e,t,n){for(var a=[];e;)a.push(e),e=e._hostParent;var r;for(r=a.length;r-- >0;)t(a[r],!1,n);for(r=0;r0;)n(l[u],!1,s)}var l=n(6);n(3);e.exports={isAncestor:r,getLowestCommonAncestor:a,getParentInstance:s,traverseTwoPhase:o,traverseEnterLeave:i}},function(e,t,n){"use strict";function a(){this.reinitializeTransaction()}var r=n(5),s=n(19),o=n(47),i=n(13),l={initialize:i,close:function(){p.isBatchingUpdates=!1}},u={initialize:i,close:s.flushBatchedUpdates.bind(s)},d=[u,l];r(a.prototype,o.Mixin,{getTransactionWrappers:function(){return d}});var c=new a,p={isBatchingUpdates:!1,batchedUpdates:function(e,t,n,a,r,s){var o=p.isBatchingUpdates;p.isBatchingUpdates=!0,o?e(t,n,a,r,s):c.perform(e,null,t,n,a,r,s)}};e.exports=p},function(e,t,n){"use strict";function a(){T||(T=!0,y.EventEmitter.injectReactEventListener(h),y.EventPluginHub.injectEventPluginOrder(o),y.EventPluginUtils.injectComponentTree(c),y.EventPluginUtils.injectTreeTraversal(_),y.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:M,EnterLeaveEventPlugin:i,ChangeEventPlugin:s,SelectEventPlugin:v,BeforeInputEventPlugin:r}),y.HostComponent.injectGenericComponentClass(d),y.HostComponent.injectTextComponentClass(f),y.DOMProperty.injectDOMPropertyConfig(l),y.DOMProperty.injectDOMPropertyConfig(b),y.EmptyComponent.injectEmptyComponentFactory(function(e){return new p(e)}),y.Updates.injectReconcileTransaction(g),y.Updates.injectBatchingStrategy(m),y.Component.injectEnvironment(u))}var r=n(487),s=n(489),o=n(491),i=n(492),l=n(494),u=n(497),d=n(501),c=n(7),p=n(503),_=n(512),f=n(510),m=n(513),h=n(516),y=n(517),g=n(522),b=n(527),v=n(528),M=n(529),T=!1;e.exports={inject:a}},function(e,t,n){"use strict";function a(e){r.enqueueEvents(e),r.processEventQueue(!1)}var r=n(43),s={handleTopLevel:function(e,t,n,s){var o=r.extractEvents(e,t,n,s);a(o)}};e.exports=s},function(e,t,n){"use strict";function a(e){for(;e._hostParent;)e=e._hostParent;var t=c.getNodeFromInstance(e),n=t.parentNode;return c.getClosestInstanceFromNode(n)}function r(e,t){this.topLevelType=e,this.nativeEvent=t,this.ancestors=[]}function s(e){var t=_(e.nativeEvent),n=c.getClosestInstanceFromNode(t),r=n;do e.ancestors.push(r),r=r&&a(r);while(r);for(var s=0;s/,s=/^<\!\-\-/,o={CHECKSUM_ATTR_NAME:"data-react-checksum",addChecksumToMarkup:function(e){var t=a(e);return s.test(e)?e:e.replace(r," "+o.CHECKSUM_ATTR_NAME+'="'+t+'"$&')},canReuseMarkup:function(e,t){var n=t.getAttribute(o.CHECKSUM_ATTR_NAME);n=n&&parseInt(n,10);var r=a(e);return r===n}};e.exports=o},function(e,t,n){"use strict";function a(e,t,n){return{type:p.INSERT_MARKUP,content:e,fromIndex:null,fromNode:null,toIndex:n,afterNode:t}}function r(e,t,n){return{type:p.MOVE_EXISTING,content:null,fromIndex:e._mountIndex,fromNode:_.getHostNode(e),toIndex:n,afterNode:t}}function s(e,t){return{type:p.REMOVE_NODE,content:null,fromIndex:e._mountIndex,fromNode:t,toIndex:null,afterNode:null}}function o(e){return{type:p.SET_MARKUP,content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function i(e){return{type:p.TEXT_CONTENT,content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function l(e,t){return t&&(e=e||[],e.push(t)),e}function u(e,t){c.processChildrenUpdates(e,t)}var d=n(6),c=n(102),p=(n(45),n(15),n(190)),_=(n(27),n(37)),f=n(496),m=(n(13),n(544)),h=(n(3),{Mixin:{_reconcilerInstantiateChildren:function(e,t,n){return f.instantiateChildren(e,t,n)},_reconcilerUpdateChildren:function(e,t,n,a,r,s){var o,i=0;return o=m(t,i),f.updateChildren(e,o,n,a,r,this,this._hostContainerInfo,s,i),o},mountChildren:function(e,t,n){var a=this._reconcilerInstantiateChildren(e,t,n);this._renderedChildren=a;var r=[],s=0;for(var o in a)if(a.hasOwnProperty(o)){var i=a[o],l=0,u=_.mountComponent(i,t,this,this._hostContainerInfo,n,l);i._mountIndex=s++,r.push(u)}return r},updateTextContent:function(e){var t=this._renderedChildren;f.unmountChildren(t,!1);for(var n in t)t.hasOwnProperty(n)&&d("118");var a=[i(e)];u(this,a)},updateMarkup:function(e){var t=this._renderedChildren;f.unmountChildren(t,!1);for(var n in t)t.hasOwnProperty(n)&&d("118");var a=[o(e)];u(this,a)},updateChildren:function(e,t,n){this._updateChildren(e,t,n)},_updateChildren:function(e,t,n){var a=this._renderedChildren,r={},s=[],o=this._reconcilerUpdateChildren(a,e,s,r,t,n);if(o||a){var i,d=null,c=0,p=0,f=0,m=null;for(i in o)if(o.hasOwnProperty(i)){var h=a&&a[i],y=o[i];h===y?(d=l(d,this.moveChild(h,m,c,p)),p=Math.max(h._mountIndex,p),h._mountIndex=c):(h&&(p=Math.max(h._mountIndex,p)),d=l(d,this._mountChildAtIndex(y,s[f],m,c,t,n)),f++),c++,m=_.getHostNode(y)}for(i in r)r.hasOwnProperty(i)&&(d=l(d,this._unmountChild(a[i],r[i])));d&&u(this,d),this._renderedChildren=o}},unmountChildren:function(e){var t=this._renderedChildren;f.unmountChildren(t,e),this._renderedChildren=null},moveChild:function(e,t,n,a){if(e._mountIndex=t)return{node:r,offset:t-s};s=o}r=n(a(r))}}e.exports=r},function(e,t,n){"use strict";function a(e){return s.isValidElement(e)?void 0:r("143"),e}var r=n(6),s=n(18);n(3);e.exports=a},function(e,t,n){"use strict";function a(e){return'"'+r(e)+'"'}var r=n(70);e.exports=a},function(e,t,n){"use strict";var a=n(189);e.exports=a.renderSubtreeIntoContainer},function(e,t,n){"use strict";function a(e){return Array.isArray(e)?e.concat():e&&"object"==typeof e?i(new e.constructor,e):e}function r(e,t,n){Array.isArray(e)?void 0:o("1",n,e);var a=t[n];Array.isArray(a)?void 0:o("2",n,a)}function s(e,t){if("object"!=typeof t?o("3",h.join(", "),_):void 0,u.call(t,_))return 1!==Object.keys(t).length?o("4",_):void 0,t[_];var n=a(e);if(u.call(t,f)){var l=t[f];l&&"object"==typeof l?void 0:o("5",f,l),n&&"object"==typeof n?void 0:o("6",f,n),i(n,t[f])}u.call(t,d)&&(r(e,t,d),t[d].forEach(function(e){n.push(e)})),u.call(t,c)&&(r(e,t,c),t[c].forEach(function(e){n.unshift(e)})),u.call(t,p)&&(Array.isArray(e)?void 0:o("7",p,e),Array.isArray(t[p])?void 0:o("8",p,t[p]),t[p].forEach(function(e){Array.isArray(e)?void 0:o("8",p,t[p]),n.splice.apply(n,e)})),u.call(t,m)&&("function"!=typeof t[m]?o("9",m,t[m]):void 0,n=t[m](n));for(var g in t)y.hasOwnProperty(g)&&y[g]||(n[g]=s(e[g],t[g]));return n}var o=n(6),i=n(5),l=n(24),u=(n(3),{}.hasOwnProperty),d=l({$push:null}),c=l({$unshift:null}),p=l({$splice:null}),_=l({$set:null}),f=l({$merge:null}),m=l({$apply:null}),h=[d,c,p,_,f,m],y={};h.forEach(function(e){y[e]=!0}),e.exports=s},,,,,,,,,function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,t=arguments[1],n=c[t.type];return n?n(e,t):e}Object.defineProperty(t,"__esModule",{value:!0});var s,o=n(49),i=a(o),l=n(12),u=a(l);t.deckReducer=r;var d=n(131),c=(s={},(0,i["default"])(s,d.RUN_DECK_SUCCEEDED,function(e,t){return(0,u["default"])({},e,{decks:t.decks})}),(0,i["default"])(s,d.LOADING_DECKS,function(e,t){return(0,u["default"])({},e,{loading:!0,loadingFailed:!1})}),(0,i["default"])(s,d.LOADING_DECKS_SUCCEEDED,function(e,t){return(0,u["default"])({},e,{decks:t.decks,loading:!1,loadingFailed:!1})}),(0,i["default"])(s,d.RUN_DECK_FAILED,function(e,t){return e}),(0,i["default"])(s,d.LOADING_DECKS_FAILED,function(e,t){return(0,u["default"])({},e,{loadingFailed:!0})}),s),p={runningDecks:[],loading:!1,loadingFailed:!1,decks:[]}},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,t=arguments[1],n=c[t.type];return n?n(e,t):e}Object.defineProperty(t,"__esModule",{value:!0});var s,o=n(49),i=a(o),l=n(12),u=a(l);t.measurementReducer=r;var d=n(206),c=(s={},(0,i["default"])(s,d.LOADING_MEASUREMENTS_FAILED,function(e,t){return(0,u["default"])({},e,{failed:!0,loading:!1,failure:t.ex})}),(0,i["default"])(s,d.LOADING_MEASUREMENTS_SUCCEEDED,function(e,t){return(0,u["default"])({},e,{loading:!1,failed:!1,measurements:t.measurements})}),(0,i["default"])(s,d.LOADING_MEASUREMENTS,function(e){return(0,u["default"])({},e,{loading:!0,failed:!1,failure:null})}),s),p={failed:!1,failure:null,loading:!1,measurements:[]}},,function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.openMeasurement=t.closeMeasurement=t.opennedMeasurement=t.selectedMeasurements=t.selectMeasurements=t.toggleNormalMeasurements=t.showHideDeck=t.loadingMeasurementListFailed=t.loadingMeasurementListSucceeded=t.loadingMeasurementList=t.TOGGLE_NORMAL_MEASUREMENTS=t.SELECTED_MEASUREMENTS=t.SHOW_HIDE_DECK=t.CLOSE_MEASUREMENT=t.OPENNED_MEASUREMENT=t.LOADING_MEASUREMENT_LIST_FAILED=t.LOADING_MEASUREMENT_LIST_SUCCEEDED=t.LOADING_MEASUREMENT_LIST=void 0;var r=n(12),s=a(r),o=n(52),i=t.LOADING_MEASUREMENT_LIST="LOADING_MEASUREMENT_LIST",l=t.LOADING_MEASUREMENT_LIST_SUCCEEDED="LOADING_MEASUREMENT_LIST_SUCCEEDED",u=t.LOADING_MEASUREMENT_LIST_FAILED="LOADING_MEASUREMENT_LIST_FAILED",d=t.OPENNED_MEASUREMENT="OPENNED_MEASUREMENT",c=t.CLOSE_MEASUREMENT="CLOSE_MEASUREMENT",p=t.SHOW_HIDE_DECK="SHOW_HIDE_DECK",_=t.SELECTED_MEASUREMENTS="SELECTED_MEASUREMENTS",f=t.TOGGLE_NORMAL_MEASUREMENTS="TOGGLE_NORMAL_MEASUREMENTS",m=t.loadingMeasurementList=function(){return{type:i}},h=t.loadingMeasurementListSucceeded=function(){return{type:l}},y=t.loadingMeasurementListFailed=function(){return{type:u}},g=(t.showHideDeck=function(e){return{type:p,deckId:e}},t.toggleNormalMeasurements=function(){return{type:f}},t.selectMeasurements=function(e){return function(t,n){return t(m()),(0,o.fetch)("/api/measurement/"+e).then(function(e){return e.json()}).then(function(n){if(t(h()),t(g((0,s["default"])({},n,{id:e}))),1===n.results.length)return t(v(e,0))})["catch"](function(e){t(y()),console.log("Failed to load",e)})}},t.selectedMeasurements=function(e){return{type:_,measurements:e}}),b=t.opennedMeasurement=function(e){return{type:d,measurement:e}},v=(t.closeMeasurement=function(){return function(e,t){1===t().measurementList.selectedMeasurements.results.length&&e(g(null)),e({type:c})}},t.openMeasurement=function(e,t){return function(n,a){return n(m()),(0,o.fetch)("/api/measurement/"+e+"/"+t).then(function(e){return e.json()}).then(function(e){return n(h()),n(b(e))})["catch"](function(e){console.log("Failed to open",e)})}})},function(e,t,n){e.exports={"default":n(921),__esModule:!0}},,,function(e,t,n){n(580),e.exports=n(23).Object.keys},,,,,,,,,,,,,,function(e,t,n){var a=n(138),r=n(122);n(349)("keys",function(){return function(e){return r(a(e))}})},,function(e,t){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function a(e){return"function"==typeof e}function r(e){return"number"==typeof e}function s(e){return"object"==typeof e&&null!==e}function o(e){return void 0===e}e.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(e){if(!r(e)||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},n.prototype.emit=function(e){var t,n,r,i,l,u;if(this._events||(this._events={}),"error"===e&&(!this._events.error||s(this._events.error)&&!this._events.error.length)){if(t=arguments[1],t instanceof Error)throw t;var d=new Error('Uncaught, unspecified "error" event. ('+t+")");throw d.context=t,d}if(n=this._events[e],o(n))return!1;if(a(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:i=Array.prototype.slice.call(arguments,1),n.apply(this,i)}else if(s(n))for(i=Array.prototype.slice.call(arguments,1),u=n.slice(),r=u.length,l=0;l0&&this._events[e].length>r&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace())),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){function n(){this.removeListener(e,n),r||(r=!0,t.apply(this,arguments))}if(!a(t))throw TypeError("listener must be a function");var r=!1;return n.listener=t,this.on(e,n),this},n.prototype.removeListener=function(e,t){var n,r,o,i;if(!a(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(n=this._events[e],o=n.length,r=-1,n===t||a(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(s(n)){for(i=o;i-- >0;)if(n[i]===t||n[i].listener&&n[i].listener===t){r=i;break}if(r<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(r,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(n=this._events[e],a(n))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){var t;return t=this._events&&this._events[e]?a(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(a(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},,,,,,,,,,,,,,function(e,t,n){function a(e){return n(r(e))}function r(e){return s[e]||function(){throw new Error("Cannot find module '"+e+"'."); }()}var s={"./af":212,"./af.js":212,"./ar":219,"./ar-dz":213,"./ar-dz.js":213,"./ar-kw":214,"./ar-kw.js":214,"./ar-ly":215,"./ar-ly.js":215,"./ar-ma":216,"./ar-ma.js":216,"./ar-sa":217,"./ar-sa.js":217,"./ar-tn":218,"./ar-tn.js":218,"./ar.js":219,"./az":220,"./az.js":220,"./be":221,"./be.js":221,"./bg":222,"./bg.js":222,"./bn":223,"./bn.js":223,"./bo":224,"./bo.js":224,"./br":225,"./br.js":225,"./bs":226,"./bs.js":226,"./ca":227,"./ca.js":227,"./cs":228,"./cs.js":228,"./cv":229,"./cv.js":229,"./cy":230,"./cy.js":230,"./da":231,"./da.js":231,"./de":234,"./de-at":232,"./de-at.js":232,"./de-ch":233,"./de-ch.js":233,"./de.js":234,"./dv":235,"./dv.js":235,"./el":236,"./el.js":236,"./en-au":237,"./en-au.js":237,"./en-ca":238,"./en-ca.js":238,"./en-gb":239,"./en-gb.js":239,"./en-ie":240,"./en-ie.js":240,"./en-nz":241,"./en-nz.js":241,"./eo":242,"./eo.js":242,"./es":244,"./es-do":243,"./es-do.js":243,"./es.js":244,"./et":245,"./et.js":245,"./eu":246,"./eu.js":246,"./fa":247,"./fa.js":247,"./fi":248,"./fi.js":248,"./fo":249,"./fo.js":249,"./fr":252,"./fr-ca":250,"./fr-ca.js":250,"./fr-ch":251,"./fr-ch.js":251,"./fr.js":252,"./fy":253,"./fy.js":253,"./gd":254,"./gd.js":254,"./gl":255,"./gl.js":255,"./gom-latn":256,"./gom-latn.js":256,"./he":257,"./he.js":257,"./hi":258,"./hi.js":258,"./hr":259,"./hr.js":259,"./hu":260,"./hu.js":260,"./hy-am":261,"./hy-am.js":261,"./id":262,"./id.js":262,"./is":263,"./is.js":263,"./it":264,"./it.js":264,"./ja":265,"./ja.js":265,"./jv":266,"./jv.js":266,"./ka":267,"./ka.js":267,"./kk":268,"./kk.js":268,"./km":269,"./km.js":269,"./kn":270,"./kn.js":270,"./ko":271,"./ko.js":271,"./ky":272,"./ky.js":272,"./lb":273,"./lb.js":273,"./lo":274,"./lo.js":274,"./lt":275,"./lt.js":275,"./lv":276,"./lv.js":276,"./me":277,"./me.js":277,"./mi":278,"./mi.js":278,"./mk":279,"./mk.js":279,"./ml":280,"./ml.js":280,"./mr":281,"./mr.js":281,"./ms":283,"./ms-my":282,"./ms-my.js":282,"./ms.js":283,"./my":284,"./my.js":284,"./nb":285,"./nb.js":285,"./ne":286,"./ne.js":286,"./nl":288,"./nl-be":287,"./nl-be.js":287,"./nl.js":288,"./nn":289,"./nn.js":289,"./pa-in":290,"./pa-in.js":290,"./pl":291,"./pl.js":291,"./pt":293,"./pt-br":292,"./pt-br.js":292,"./pt.js":293,"./ro":294,"./ro.js":294,"./ru":295,"./ru.js":295,"./sd":296,"./sd.js":296,"./se":297,"./se.js":297,"./si":298,"./si.js":298,"./sk":299,"./sk.js":299,"./sl":300,"./sl.js":300,"./sq":301,"./sq.js":301,"./sr":303,"./sr-cyrl":302,"./sr-cyrl.js":302,"./sr.js":303,"./ss":304,"./ss.js":304,"./sv":305,"./sv.js":305,"./sw":306,"./sw.js":306,"./ta":307,"./ta.js":307,"./te":308,"./te.js":308,"./tet":309,"./tet.js":309,"./th":310,"./th.js":310,"./tl-ph":311,"./tl-ph.js":311,"./tlh":312,"./tlh.js":312,"./tr":313,"./tr.js":313,"./tzl":314,"./tzl.js":314,"./tzm":316,"./tzm-latn":315,"./tzm-latn.js":315,"./tzm.js":316,"./uk":317,"./uk.js":317,"./ur":318,"./ur.js":318,"./uz":320,"./uz-latn":319,"./uz-latn.js":319,"./uz.js":320,"./vi":321,"./vi.js":321,"./x-pseudo":322,"./x-pseudo.js":322,"./yo":323,"./yo.js":323,"./zh-cn":324,"./zh-cn.js":324,"./zh-hk":325,"./zh-hk.js":325,"./zh-tw":326,"./zh-tw.js":326};a.keys=function(){return Object.keys(s)},a.resolve=r,e.exports=a,a.id=596},function(e,t){function n(e,t,n){return Math.min(Math.max(e,t),n)}e.exports=n},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var i=Object.assign||function(e){for(var t=1;tn&&(n=Number(e.props.row))}),d["default"].Children.map(t,function(e,t){var a=e.props.row?Number(e.props.row):0,r=e.props.rowSpan?Number(e.props.rowSpan):1;if(r+a===n+1)return{name:e.props.dataField,align:e.props.dataAlign,sort:e.props.dataSort,format:e.props.dataFormat,formatExtraData:e.props.formatExtraData,filterFormatted:e.props.filterFormatted,filterValue:e.props.filterValue,editable:e.props.editable,customEditor:e.props.customEditor,hidden:e.props.hidden,hiddenOnInsert:e.props.hiddenOnInsert,searchable:e.props.searchable,className:e.props.columnClassName,editClassName:e.props.editColumnClassName,invalidEditColumnClassName:e.props.invalidEditColumnClassName,columnTitle:e.props.columnTitle,width:e.props.width,text:e.props.headerText||e.props.children,sortFunc:e.props.sortFunc,sortFuncExtraData:e.props.sortFuncExtraData,"export":e.props["export"],expandable:e.props.expandable,index:t,attrs:e.props.tdAttr,style:e.props.tdStyle}})}},{key:"reset",value:function(){this.store.clean(),this.setState({data:this.getTableData(),currPage:1,expanding:[],sizePerPage:f["default"].SIZE_PER_PAGE_LIST[0],selectedRowKeys:this.store.getSelectedRowKeys(),reset:!0})}},{key:"componentWillReceiveProps",value:function(e){this.initTable(e);var t=e.options,n=e.selectRow;this.store.setData(e.data.slice());var a=this.state.currPage;this.props.options.page!==t.page&&(a=t.page);var r=this.state.sizePerPage;if(this.props.options.sizePerPage!==t.sizePerPage&&(r=t.sizePerPage),this.isRemoteDataSource()){var s=e.data.slice();e.pagination&&!this.allowRemote(f["default"].REMOTE_PAGE)&&(s=this.store.page(a,r).get()),this.setState({data:s,currPage:a,sizePerPage:r,reset:!1})}else{a>Math.ceil(e.data.length/r)&&(a=1);var o=this.store.getSortInfo(),i=t.sortName,l=t.sortOrder;i&&l?(this.store.setSortInfo(l,i),this.store.sort()):o.length>0&&this.store.sort();var u=this.store.page(a,r).get();this.setState({data:u,currPage:a,sizePerPage:r,reset:!1})}if(n&&n.selected){var d=n.selected.slice();this.store.setSelectedRowKey(d),this.setState({selectedRowKeys:d,reset:!1})}}},{key:"componentDidMount",value:function(){this._adjustTable(),window.addEventListener("resize",this._adjustTable),this.refs.body.refs.container.addEventListener("scroll",this._scrollHeader),this.props.scrollTop&&this._scrollTop()}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this._adjustTable),this.refs.body.refs.container.removeEventListener("scroll",this._scrollHeader),this.filter&&this.filter.removeAllListeners("onFilterChange")}},{key:"componentDidUpdate",value:function(){this._adjustTable(),this._attachCellEditFunc(),this.props.options.afterTableComplete&&this.props.options.afterTableComplete()}},{key:"_attachCellEditFunc",value:function(){var e=this.props.cellEdit;e&&(this.props.cellEdit.__onCompleteEdit__=this.handleEditCell.bind(this),e.mode!==f["default"].CELL_EDIT_NONE&&(this.props.selectRow.clickToSelect=!1))}},{key:"isRemoteDataSource",value:function(e){var t=e||this.props,n=t.remote;return n===!0||"function"==typeof n}},{key:"allowRemote",value:function(e,t){var n=t||this.props,a=n.remote;if("function"==typeof a){var r=a(f["default"].REMOTE);return r[e]}return a}},{key:"render",value:function(){var e={height:this.props.height,maxHeight:this.props.maxHeight},t=this.getColumnsDescription(this.props),n=this.store.getSortInfo(),a=this.renderPagination(),r=this.renderToolBar(),s=this.renderTableFilter(t),o=this.isSelectAll(),l=w["default"].renderColGroup(t,this.props.selectRow),u=this.props.options.sortIndicator;return"undefined"==typeof this.props.options.sortIndicator&&(u=!0),d["default"].createElement("div",{className:(0,p["default"])("react-bs-table-container",this.props.containerClass),style:this.props.containerStyle},r,d["default"].createElement("div",{ref:"table",className:(0,p["default"])("react-bs-table",this.props.tableContainerClass),style:i({},e,this.props.tableStyle),onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave},d["default"].createElement(h["default"],{ref:"header",colGroups:l,headerContainerClass:this.props.headerContainerClass,tableHeaderClass:this.props.tableHeaderClass,style:this.props.headerStyle,rowSelectType:this.props.selectRow.mode,customComponent:this.props.selectRow.customComponent,hideSelectColumn:this.props.selectRow.hideSelectColumn,sortList:n,sortIndicator:u,onSort:this.handleSort,onSelectAllRow:this.handleSelectAllRow,bordered:this.props.bordered,condensed:this.props.condensed,isFiltered:!!this.filter,isSelectAll:o,reset:this.state.reset},this.props.children),d["default"].createElement(g["default"],{ref:"body",bodyContainerClass:this.props.bodyContainerClass,tableBodyClass:this.props.tableBodyClass,style:i({},e,this.props.bodyStyle),data:this.state.data,expandComponent:this.props.expandComponent,expandableRow:this.props.expandableRow,expandRowBgColor:this.props.options.expandRowBgColor,expandBy:this.props.options.expandBy||f["default"].EXPAND_BY_ROW,columns:t,trClassName:this.props.trClassName,striped:this.props.striped,bordered:this.props.bordered,hover:this.props.hover,keyField:this.store.getKeyField(),condensed:this.props.condensed,selectRow:this.props.selectRow,cellEdit:this.props.cellEdit,selectedRowKeys:this.state.selectedRowKeys,onRowClick:this.handleRowClick,onRowDoubleClick:this.handleRowDoubleClick,onRowMouseOver:this.handleRowMouseOver,onRowMouseOut:this.handleRowMouseOut,onSelectRow:this.handleSelectRow,noDataText:this.props.options.noDataText,withoutNoDataText:this.props.options.withoutNoDataText,expanding:this.state.expanding,onExpand:this.handleExpandRow,beforeShowError:this.props.options.beforeShowError})),s,a)}},{key:"isSelectAll",value:function(){if(this.store.isEmpty())return!1;var e=this.props.selectRow.unselectable,t=this.store.getSelectedRowKeys(),n=this.store.getAllRowkey();if(0===t.length)return!1;var a=0,r=0,s=0;return t.forEach(function(t){n.indexOf(t)!==-1?a++:r++,e&&e.indexOf(t)!==-1&&s++}),r!==t.length&&(a===n.length||!(e&&a<=s&&s===e.length)&&"indeterminate")}},{key:"cleanSelected",value:function(){this.store.setSelectedRowKey([]),this.setState({selectedRowKeys:[],reset:!1})}},{key:"__handleSort__REACT_HOT_LOADER__",value:function(e,t){if(this.props.options.onSortChange&&this.props.options.onSortChange(t,e,this.props),this.store.setSortInfo(e,t),!this.allowRemote(f["default"].REMOTE_SORT)){var n=this.store.sort().get();this.setState({data:n,reset:!1})}}},{key:"__handleExpandRow__REACT_HOT_LOADER__",value:function(e){var t=this;this.setState({expanding:e,reset:!1},function(){t._adjustHeaderWidth()})}},{key:"__handlePaginationData__REACT_HOT_LOADER__",value:function(e,t){var n=this.props.options,a=n.onPageChange,r=n.pageStartIndex;if(a&&a(e,t),this.setState({currPage:e,sizePerPage:t,reset:!1}),!this.allowRemote(f["default"].REMOTE_PAGE)){var s=void 0;if(void 0!==r){var o=Math.abs(f["default"].PAGE_START_INDEX-r);s=e+o}else s=e;var i=this.store.page(s,t).get();this.setState({data:i,reset:!1})}}},{key:"__handleMouseLeave__REACT_HOT_LOADER__",value:function(){this.props.options.onMouseLeave&&this.props.options.onMouseLeave()}},{key:"__handleMouseEnter__REACT_HOT_LOADER__",value:function(){this.props.options.onMouseEnter&&this.props.options.onMouseEnter()}},{key:"__handleRowMouseOut__REACT_HOT_LOADER__",value:function(e,t){this.props.options.onRowMouseOut&&this.props.options.onRowMouseOut(e,t)}},{key:"__handleRowMouseOver__REACT_HOT_LOADER__",value:function(e,t){this.props.options.onRowMouseOver&&this.props.options.onRowMouseOver(e,t)}},{key:"__handleRowClick__REACT_HOT_LOADER__",value:function(e){this.props.options.onRowClick&&this.props.options.onRowClick(e)}},{key:"__handleRowDoubleClick__REACT_HOT_LOADER__",value:function(e){this.props.options.onRowDoubleClick&&this.props.options.onRowDoubleClick(e)}},{key:"__handleSelectAllRow__REACT_HOT_LOADER__",value:function(e){var t=e.currentTarget.checked,n=this.store.getKeyField(),a=this.props.selectRow,r=a.onSelectAll,s=a.unselectable,o=a.selected,i=[],l=!0,u=t?this.store.get():this.store.getRowByKey(this.state.selectedRowKeys);s&&s.length>0&&(u=t?u.filter(function(e){return s.indexOf(e[n])===-1||o&&o.indexOf(e[n])!==-1}):u.filter(function(e){return s.indexOf(e[n])===-1})),r&&(l=this.props.selectRow.onSelectAll(t,u)),"undefined"!=typeof l&&l===!1||(t?i=Array.isArray(l)?l:u.map(function(e){return e[n]}):s&&o&&(i=o.filter(function(e){return s.indexOf(e)>-1})),this.store.setSelectedRowKey(i),this.setState({selectedRowKeys:i,reset:!1}))}},{key:"__handleShowOnlySelected__REACT_HOT_LOADER__",value:function(){this.store.ignoreNonSelected();var e=void 0;e=this.props.pagination?this.store.page(1,this.state.sizePerPage).get():this.store.get(),this.setState({data:e,reset:!1,currPage:this.props.options.pageStartIndex||f["default"].PAGE_START_INDEX})}},{key:"__handleSelectRow__REACT_HOT_LOADER__",value:function(e,t,n){var a=!0,r=this.store.getSelectedRowKeys(),s=e[this.store.getKeyField()],o=this.props.selectRow;o.onSelect&&(a=o.onSelect(e,t,n)),"undefined"!=typeof a&&a===!1||(o.mode===f["default"].ROW_SELECT_SINGLE?r=t?[s]:[]:t?r.push(s):r=r.filter(function(e){return s!==e}),this.store.setSelectedRowKey(r),this.setState({selectedRowKeys:r,reset:!1}))}},{key:"handleEditCell",value:function(e,t,n){var a=this.props.options.onCellEdit,r=this.props.cellEdit,s=r.beforeSaveCell,o=r.afterSaveCell,i=this.getColumnsDescription(this.props),l=i[n].name;if(s){var u=s(this.state.data[t],l,e);if(!u&&"undefined"!=typeof u)return void this.setState({data:this.store.get(),reset:!1})}if(a&&(e=a(this.state.data[t],l,e)),this.allowRemote(f["default"].REMOTE_CELL_EDIT))return void(o&&o(this.state.data[t],l,e));var d=this.store.edit(e,t,l).get();this.setState({data:d,reset:!1}),o&&o(this.state.data[t],l,e)}},{key:"handleAddRowAtBegin",value:function(e){try{this.store.addAtBegin(e)}catch(t){return t}this._handleAfterAddingRow(e,!0)}},{key:"__handleAddRow__REACT_HOT_LOADER__",value:function(e){var t=this.props.options.onAddRow;if(t){var n=this.store.getColInfos();t(e,n)}if(this.allowRemote(f["default"].REMOTE_INSERT_ROW))return this.props.options.afterInsertRow&&this.props.options.afterInsertRow(e),null;try{this.store.add(e)}catch(a){return a.message}this._handleAfterAddingRow(e,!1)}},{key:"getSizePerPage",value:function(){return this.state.sizePerPage}},{key:"getCurrentPage",value:function(){return this.state.currPage}},{key:"getTableDataIgnorePaging",value:function(){return this.store.getCurrentDisplayData()}},{key:"__getPageByRowKey__REACT_HOT_LOADER__",value:function(e){var t=this.state.sizePerPage,n=this.store.getCurrentDisplayData(),a=this.store.getKeyField(),r=n.findIndex(function(t){return t[a]===e});return r>-1?parseInt(r/t,10)+1:r}},{key:"__handleDropRow__REACT_HOT_LOADER__",value:function(e){var t=this,n=e?e:this.store.getSelectedRowKeys();n&&n.length>0&&(this.props.options.handleConfirmDeleteRow?this.props.options.handleConfirmDeleteRow(function(){t.deleteRow(n)},n):confirm("Are you sure you want to delete?")&&this.deleteRow(n))}},{key:"deleteRow",value:function(e){var t=this.props.options.onDeleteRow;if(t&&t(e),this.store.setSelectedRowKey([]),this.allowRemote(f["default"].REMOTE_DROP_ROW))return void(this.props.options.afterDeleteRow&&this.props.options.afterDeleteRow(e));this.store.remove(e);var n=void 0;if(this.props.pagination){var a=this.state.sizePerPage,r=Math.ceil(this.store.getDataNum()/a),s=this.state.currPage;s>r&&(s=r),n=this.store.page(s,a).get(),this.setState({data:n,selectedRowKeys:this.store.getSelectedRowKeys(),currPage:s,reset:!1})}else n=this.store.get(),this.setState({data:n,reset:!1,selectedRowKeys:this.store.getSelectedRowKeys()});this.props.options.afterDeleteRow&&this.props.options.afterDeleteRow(e)}},{key:"__handleFilterData__REACT_HOT_LOADER__",value:function(e){var t=this.props.options.onFilterChange;if(t){var n=this.store.getColInfos();t(e,n)}if(this.setState({currPage:this.props.options.pageStartIndex||f["default"].PAGE_START_INDEX,reset:!1}),this.allowRemote(f["default"].REMOTE_FILTER))return void(this.props.options.afterColumnFilter&&this.props.options.afterColumnFilter(e,this.store.getDataIgnoringPagination()));this.store.filter(e);var a=this.store.getSortInfo();a.length>0&&this.store.sort();var r=void 0;if(this.props.pagination){var s=this.state.sizePerPage;r=this.store.page(1,s).get()}else r=this.store.get();this.props.options.afterColumnFilter&&this.props.options.afterColumnFilter(e,this.store.getDataIgnoringPagination()),this.setState({data:r,reset:!1})}},{key:"__handleExportCSV__REACT_HOT_LOADER__",value:function(){var e={},t=this.props.csvFileName,n=this.props.options.onExportToCSV;e=n?n():this.store.getDataIgnoringPagination();var a=[];this.props.children.map(function(e){(e.props["export"]===!0||"undefined"==typeof e.props["export"]&&e.props.hidden===!1)&&a.push({field:e.props.dataField,format:e.props.csvFormat,header:e.props.csvHeader||e.props.dataField,row:Number(e.props.row)||0,rowSpan:Number(e.props.rowSpan)||1,colSpan:Number(e.props.colSpan)||1})}),"function"==typeof t&&(t=t()),(0,S["default"])(e,a,t)}},{key:"__handleSearch__REACT_HOT_LOADER__",value:function(e){this.refs.toolbar&&this.refs.toolbar.setSearchInput(e);var t=this.props.options.onSearchChange;if(t){var n=this.store.getColInfos();t(e,n,this.props.multiColumnSearch)}if(this.setState({currPage:this.props.options.pageStartIndex||f["default"].PAGE_START_INDEX,reset:!1}),this.allowRemote(f["default"].REMOTE_SEARCH))return void(this.props.options.afterSearch&&this.props.options.afterSearch(e,this.store.getDataIgnoringPagination()));this.store.search(e);var a=this.store.getSortInfo();a.length>0&&this.store.sort();var r=void 0;if(this.props.pagination){var s=this.state.sizePerPage;r=this.store.page(1,s).get()}else r=this.store.get();this.props.options.afterSearch&&this.props.options.afterSearch(e,this.store.getDataIgnoringPagination()),this.setState({data:r,reset:!1})}},{key:"renderPagination",value:function(){if(this.props.pagination){var e=void 0;e=this.allowRemote(f["default"].REMOTE_PAGE)?this.props.fetchInfo.dataTotalSize:this.store.getDataNum();var t=this.props.options;return Math.ceil(e/this.state.sizePerPage)<=1&&this.props.ignoreSinglePage?null:d["default"].createElement("div",{className:"react-bs-table-pagination"},d["default"].createElement(v["default"],{ref:"pagination",currPage:this.state.currPage,changePage:this.handlePaginationData,sizePerPage:this.state.sizePerPage,sizePerPageList:t.sizePerPageList||f["default"].SIZE_PER_PAGE_LIST,pageStartIndex:t.pageStartIndex,paginationShowsTotal:t.paginationShowsTotal,paginationSize:t.paginationSize||f["default"].PAGINATION_SIZE,dataSize:e,onSizePerPageList:t.onSizePerPageList,prePage:t.prePage||f["default"].PRE_PAGE,nextPage:t.nextPage||f["default"].NEXT_PAGE,firstPage:t.firstPage||f["default"].FIRST_PAGE,lastPage:t.lastPage||f["default"].LAST_PAGE,hideSizePerPage:t.hideSizePerPage}))}return null}},{key:"renderToolBar",value:function(){var e=this.props,t=e.selectRow,n=e.insertRow,a=e.deleteRow,r=e.search,s=e.children,o=t&&t.showOnlySelected;if(o||n||a||r||this.props.exportCSV){var i=void 0;return i=Array.isArray(s)?s.map(function(e,t){var n=e.props;return{name:n.headerText||n.children,field:n.dataField,hiddenOnInsert:n.hiddenOnInsert,autoValue:n.autoValue||!1,editable:n.editable&&"function"==typeof n.editable?n.editable():n.editable,format:!!n.dataFormat&&function(e){return n.dataFormat(e,null,n.formatExtraData,t).replace(/<.*?>/g,"")}}}):[{name:s.props.headerText||s.props.children,field:s.props.dataField,editable:s.props.editable,hiddenOnInsert:s.props.hiddenOnInsert}],d["default"].createElement("div",{className:"react-bs-table-tool-bar"},d["default"].createElement(T["default"],{ref:"toolbar",defaultSearch:this.props.options.defaultSearch,clearSearch:this.props.options.clearSearch,searchDelayTime:this.props.options.searchDelayTime,enableInsert:n,enableDelete:a,enableSearch:r,enableExportCSV:this.props.exportCSV,enableShowOnlySelected:o,columns:i,searchPlaceholder:this.props.searchPlaceholder,exportCSVText:this.props.options.exportCSVText,insertText:this.props.options.insertText,deleteText:this.props.options.deleteText,saveText:this.props.options.saveText,closeText:this.props.options.closeText,ignoreEditable:this.props.options.ignoreEditable,onAddRow:this.handleAddRow,onDropRow:this.handleDropRow,onSearch:this.handleSearch,onExportCSV:this.handleExportCSV,onShowOnlySelected:this.handleShowOnlySelected,reset:this.state.reset}))}return null}},{key:"renderTableFilter",value:function(e){return this.props.columnFilter?d["default"].createElement(E["default"],{columns:e,rowSelectType:this.props.selectRow.mode,onFilter:this.handleFilterData}):null}},{key:"___scrollTop__REACT_HOT_LOADER__",value:function(){var e=this.props.scrollTop;e===f["default"].SCROLL_TOP?this.refs.body.refs.container.scrollTop=0:e===f["default"].SCROLL_BOTTOM?this.refs.body.refs.container.scrollTop=this.refs.body.refs.container.scrollHeight:"number"!=typeof e||isNaN(e)||(this.refs.body.refs.container.scrollTop=e)}},{key:"___scrollHeader__REACT_HOT_LOADER__",value:function(e){this.refs.header.refs.container.scrollLeft=e.currentTarget.scrollLeft}},{key:"_adjustTable",value:function(){this._adjustHeight(),this.props.printable||this._adjustHeaderWidth()}},{key:"_adjustHeaderWidth",value:function(){var e=this.refs.header.getHeaderColGrouop(),t=this.refs.body.refs.tbody,n=this.refs.body.getHeaderColGrouop(),a=t.childNodes[0],r=t.parentNode.getBoundingClientRect().height>t.parentNode.parentNode.getBoundingClientRect().height,s=r?w["default"].getScrollBarWidth():0;if(a&&this.store.getDataNum()){if(r)for(var o=a.childNodes,i=0;i/g,"")};return E(s.editable)&&(l=s.editable(i,e,a,o)),u["default"].createElement(b["default"],{completeEdit:this.handleCompleteEditCell,editable:l,customEditor:s.customEditor,format:!!s.format&&d,key:o,blurToSave:t.blurToSave,rowIndex:a,colIndex:o,row:e,fieldValue:i,className:s.editClassName,invalidColumnClassName:s.invalidEditColumnClassName,beforeShowError:n})}var c=i&&i.toString(),p=null,_=s.className;if(E(s.className)&&(_=s.className(i,e,a,o)),"undefined"!=typeof s.format){var f=s.format(i,e,s.formatExtraData,a);u["default"].isValidElement(f)?(c=f,p=s.columnTitle&&f?f.toString():null):c=u["default"].createElement("div",{dangerouslySetInnerHTML:{__html:f}})}else p=s.columnTitle&&i?i.toString():null;return u["default"].createElement(y["default"],{key:o,rIndex:a,dataAlign:s.align,className:_,columnTitle:p,cellEdit:t,hidden:s.hidden,onEdit:this.handleEditCell,width:s.width,onClick:this.handleClickCell,attrs:s.attrs,style:s.style},c)},this),c=e[this.props.keyField],f=s.indexOf(c)!==-1,h=this.props.selectedRowKeys.indexOf(c)!==-1,g=o&&!this.props.selectRow.hideSelectColumn?this.renderSelectRowColumn(h,l,f,d,a,e):null,v=this.props.trClassName;E(this.props.trClassName)&&(v=this.props.trClassName(e,a));var M=[u["default"].createElement(m["default"],{isSelected:h,key:c,className:v,index:a,selectRow:o?this.props.selectRow:void 0,enableCellEdit:t.mode!==_["default"].CELL_EDIT_NONE,onRowClick:this.handleRowClick,onRowDoubleClick:this.handleRowDoubleClick,onRowMouseOver:this.handleRowMouseOver,onRowMouseOut:this.handleRowMouseOut,onSelectRow:this.handleSelectRow,onExpandRow:this.handleClickCell,unselectableRow:f},g,i)];return this.props.expandableRow&&this.props.expandableRow(e)&&M.push(u["default"].createElement(L["default"],{className:v,bgColor:this.props.expandRowBgColor||this.props.selectRow.bgColor||void 0,hidden:!(this.props.expanding.indexOf(c)>-1),colSpan:p,width:"100%"},this.props.expandComponent(e))),M},this);return 0!==f.length||this.props.withoutNoDataText||f.push(u["default"].createElement(m["default"],{key:"##table-empty##"},u["default"].createElement("td",{"data-toggle":"collapse",colSpan:this.props.columns.length+(o?1:0),className:"react-bs-table-no-data"},this.props.noDataText||_["default"].NO_DATA_TEXT))),u["default"].createElement("div",{ref:"container",className:(0,M["default"])("react-bs-container-body",this.props.bodyContainerClass),style:this.props.style},u["default"].createElement("table",{className:a},u["default"].cloneElement(i,{ref:"header"}),u["default"].createElement("tbody",{ref:"tbody"},f)))}},{key:"__handleRowMouseOut__REACT_HOT_LOADER__",value:function(e,t){var n=this.props.data[e];this.props.onRowMouseOut(n,t)}},{key:"__handleRowMouseOver__REACT_HOT_LOADER__",value:function(e,t){var n=this.props.data[e];this.props.onRowMouseOver(n,t)}},{key:"__handleRowClick__REACT_HOT_LOADER__",value:function(e){this.props.onRowClick(this.props.data[e-1])}},{key:"__handleRowDoubleClick__REACT_HOT_LOADER__",value:function(e){var t=this.props.onRowDoubleClick,n=this.props.data[e];t(n)}},{key:"__handleSelectRow__REACT_HOT_LOADER__",value:function(e,t,n){var a=void 0,r=this.props,s=r.data,o=r.onSelectRow;s.forEach(function(t,n){if(n===e-1)return a=t,!1}),o(a,t,n)}},{key:"__handleSelectRowColumChange__REACT_HOT_LOADER__",value:function(e,t){this.props.selectRow.clickToSelect&&this.props.selectRow.clickToSelectAndEditCell||this.handleSelectRow(t+1,e.currentTarget.checked,e)}},{key:"__handleClickCell__REACT_HOT_LOADER__",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1,a=this.props,r=a.columns,s=a.keyField,o=a.expandBy,i=a.expandableRow,l=a.selectRow.clickToExpand,u=!(this._isSelectRowDefined()&&!l);n=this._isSelectRowDefined()?n-1:n,i&&u&&(o===_["default"].EXPAND_BY_ROW||o===_["default"].EXPAND_BY_COL&&n<0||o===_["default"].EXPAND_BY_COL&&r[n].expandable)&&!function(){var n=t.props.data[e-1][s],a=t.props.expanding;a.indexOf(n)>-1?a=a.filter(function(e){return e!==n}):a.push(n),t.props.onExpand(a)}()}},{key:"__handleEditCell__REACT_HOT_LOADER__",value:function(e,t,n){this._isSelectRowDefined()&&(t--,this.props.selectRow.hideSelectColumn&&t++),e--;var a={currEditCell:{rid:e,cid:t}};if(this.props.selectRow.clickToSelectAndEditCell&&this.props.cellEdit.mode!==_["default"].CELL_EDIT_DBCLICK){var r=this.props.selectedRowKeys.indexOf(this.props.data[e][this.props.keyField])!==-1;this.handleSelectRow(e+1,!r,n)}this.setState(a)}},{key:"__handleCompleteEditCell__REACT_HOT_LOADER__",value:function(e,t,n){this.setState({currEditCell:null}),null!==e&&this.props.cellEdit.__onCompleteEdit__(e,t,n)}},{key:"__handleClickonSelectColumn__REACT_HOT_LOADER__",value:function(e,t,n,a){if(e.stopPropagation(),"TD"===e.target.tagName&&(this.props.selectRow.clickToSelect||this.props.selectRow.clickToSelectAndEditCell)){var r=this.props.selectRow.unselectable||[];r.indexOf(a[this.props.keyField])===-1&&(this.handleSelectRow(n+1,t,e),this.handleClickCell(n+1))}}},{key:"renderSelectRowColumn",value:function(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,r=this,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,o=arguments[5];return u["default"].createElement("td",{onClick:function(t){r.handleClickonSelectColumn(t,!e,s,o)},style:{textAlign:"center"}},a?u["default"].createElement(a,{type:t,checked:e,disabled:n,rowIndex:s,onChange:function(e){return r.handleSelectRowColumChange(e,s)}}):u["default"].createElement("input",{type:t,checked:e,disabled:n,onChange:function(e){return r.handleSelectRowColumChange(e,s)}}))}},{key:"_isSelectRowDefined",value:function(){return this.props.selectRow.mode===_["default"].ROW_SELECT_SINGLE||this.props.selectRow.mode===_["default"].ROW_SELECT_MULTI}},{key:"__getHeaderColGrouop__REACT_HOT_LOADER__",value:function(){return this.refs.header.childNodes}}]),t}(l.Component);k.propTypes={data:l.PropTypes.array,columns:l.PropTypes.array,striped:l.PropTypes.bool,bordered:l.PropTypes.bool,hover:l.PropTypes.bool,condensed:l.PropTypes.bool,keyField:l.PropTypes.string,selectedRowKeys:l.PropTypes.array,onRowClick:l.PropTypes.func,onRowDoubleClick:l.PropTypes.func,onSelectRow:l.PropTypes.func,noDataText:l.PropTypes.oneOfType([l.PropTypes.string,l.PropTypes.object]),withoutNoDataText:l.PropTypes.bool,style:l.PropTypes.object,tableBodyClass:l.PropTypes.string,bodyContainerClass:l.PropTypes.string,expandableRow:l.PropTypes.func,expandComponent:l.PropTypes.func,expandRowBgColor:l.PropTypes.string,expandBy:l.PropTypes.string,expanding:l.PropTypes.array,onExpand:l.PropTypes.func,beforeShowError:l.PropTypes.func};var D=k;t["default"]=D;(function(){"undefined"!=typeof __REACT_HOT_LOADER__&&(__REACT_HOT_LOADER__.register(E,"isFun","/Users/allen/Node/react-bootstrap-table-new/react-bootstrap-table/src/TableBody.js"),__REACT_HOT_LOADER__.register(k,"TableBody","/Users/allen/Node/react-bootstrap-table-new/react-bootstrap-table/src/TableBody.js"),__REACT_HOT_LOADER__.register(D,"default","/Users/allen/Node/react-bootstrap-table-new/react-bootstrap-table/src/TableBody.js"))})()},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var i=Object.assign||function(e){for(var t=1;t0?a[0].order:void 0}}Object.defineProperty(t,"__esModule",{value:!0});var u=function(){function e(e,t){for(var n=0;nr&&(r=e.row);for(var t=0;t1?"":void 0}).filter(function(e){return"undefined"!=typeof e}).join(",")+"\n"},o=0;o<=r;o++)s(o);return t=t.filter(function(e){return void 0!==e.field}),e.map(function(e){t.map(function(a,r){var s=a.field,o=a.format,i="undefined"!=typeof o?o(e[s],e):e[s],l="undefined"!=typeof i?'"'+i+'"':"";n+=l,r+1",">=","<","<=","!="],f=function(e){function t(e){r(this,t);var n=s(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.dateComparators=n.props.dateComparators||_,n.filter=n.filter.bind(n),n.onChangeComparator=n.onChangeComparator.bind(n),n}return o(t,e),l(t,[{key:"setDefaultDate",value:function(){var e="",t=this.props.defaultValue;return t&&t.date&&(e=i(new Date(t.date))),e}},{key:"onChangeComparator",value:function(e){var t=this.refs.inputDate.value,n=e.target.value;""!==t&&(t=new Date(t),this.props.filterHandler({date:t,comparator:n},p["default"].FILTER_TYPE.DATE))}},{key:"getComparatorOptions",value:function(){var e=[];e.push(d["default"].createElement("option",{key:"-1"}));for(var t=0;t",">=","<","<=","!="],m=function(e){function t(e){r(this,t);var n=s(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.numberComparators=n.props.numberComparators||f,n.timeout=null,n.state={isPlaceholderSelected:void 0===n.props.defaultValue||void 0===n.props.defaultValue.number||n.props.options&&n.props.options.indexOf(n.props.defaultValue.number)===-1},n.onChangeNumber=n.onChangeNumber.bind(n),n.onChangeNumberSet=n.onChangeNumberSet.bind(n),n.onChangeComparator=n.onChangeComparator.bind(n),n}return o(t,e),i(t,[{key:"onChangeNumber",value:function(e){var t=this,n=this.refs.numberFilterComparator.value;if(""!==n){this.timeout&&clearTimeout(this.timeout);var a=e.target.value;this.timeout=setTimeout(function(){t.props.filterHandler({number:a,comparator:n},_["default"].FILTER_TYPE.NUMBER)},this.props.delay)}}},{key:"onChangeNumberSet",value:function(e){var t=this.refs.numberFilterComparator.value,n=e.target.value;this.setState({isPlaceholderSelected:""===n}),""!==t&&this.props.filterHandler({number:n,comparator:t},_["default"].FILTER_TYPE.NUMBER)}},{key:"onChangeComparator",value:function(e){var t=this.refs.numberFilter.value,n=e.target.value;""!==t&&this.props.filterHandler({number:t,comparator:n},_["default"].FILTER_TYPE.NUMBER)}},{key:"cleanFiltered",value:function(){var e=this.props.defaultValue?this.props.defaultValue.number:"",t=this.props.defaultValue?this.props.defaultValue.comparator:"";this.setState({isPlaceholderSelected:""===e}),this.refs.numberFilterComparator.value=t,this.refs.numberFilter.value=e,this.props.filterHandler({number:e,comparator:t},_["default"].FILTER_TYPE.NUMBER)}},{key:"applyFilter",value:function(e){var t=e.number,n=e.comparator;this.setState({isPlaceholderSelected:""===t}),this.refs.numberFilterComparator.value=n,this.refs.numberFilter.value=t,this.props.filterHandler({number:t,comparator:n},_["default"].FILTER_TYPE.NUMBER)}},{key:"getComparatorOptions",value:function(){var e=[];e.push(u["default"].createElement("option",{key:"-1"}));for(var t=0;tthis.lastPage?this.lastPage:r+1:e===o?this.lastPage:e===i?n:parseInt(e,10),e!==r&&this.props.changePage(e,l)}},{key:"__changeSizePerPage__REACT_HOT_LOADER__",value:function(e){e.preventDefault();var t=parseInt(e.currentTarget.getAttribute("data-page"),10),n=this.props.currPage;t!==this.props.sizePerPage&&(this.totalPages=Math.ceil(this.props.dataSize/t),this.lastPage=this.props.pageStartIndex+this.totalPages-1,n>this.lastPage&&(n=this.lastPage),this.props.changePage(n,t),this.props.onSizePerPageList&&this.props.onSizePerPageList(t))}},{key:"render",value:function(){var e=this,t=this.props,n=t.currPage,a=t.dataSize,r=t.sizePerPage,s=t.sizePerPageList,o=t.paginationShowsTotal,i=t.pageStartIndex,l=t.hideSizePerPage,d="";this.totalPages=Math.ceil(a/r),this.lastPage=this.props.pageStartIndex+this.totalPages-1;var c=this.makePage(),p={"float":"right",marginTop:"0px"},f=s.map(function(t){var n=t.text||t,a=t.value||t;return r===a&&(d=n),u["default"].createElement("li",{key:n,role:"presentation"},u["default"].createElement("a",{role:"menuitem",tabIndex:"-1",href:"#","data-page":a,onClick:e.changeSizePerPage},n))}),m=Math.abs(_["default"].PAGE_START_INDEX-i),h=(n-i)*r;h=0===a?0:h+1;var y=Math.min(r*(n+m)-1,a);y>=a&&y--;var g=o?u["default"].createElement("span",null,"Showing rows ",h," to ",y+1," of ",a):null;"function"==typeof o&&(g=o(h,y+1,a));var b={visibility:l?"hidden":"visible"};return u["default"].createElement("div",{className:"row",style:{marginTop:15}},s.length>1?u["default"].createElement("div",null,u["default"].createElement("div",{className:"col-md-6"},g," ",u["default"].createElement("span",{className:"dropdown",style:b},u["default"].createElement("button",{className:"btn btn-default dropdown-toggle",type:"button",id:"pageDropDown","data-toggle":"dropdown","aria-expanded":"true"},d,u["default"].createElement("span",null," ",u["default"].createElement("span",{className:"caret"}))),u["default"].createElement("ul",{className:"dropdown-menu",role:"menu","aria-labelledby":"pageDropDown"},f))),u["default"].createElement("div",{className:"col-md-6"},u["default"].createElement("ul",{className:"pagination",style:p},c))):u["default"].createElement("div",null,u["default"].createElement("div",{className:"col-md-6"},g),u["default"].createElement("div",{className:"col-md-6"},u["default"].createElement("ul",{className:"pagination",style:p},c))))}},{key:"makePage",value:function(){var e=this.getPages();return e.map(function(e){var t=e===this.props.currPage,n=!1,a=!1;return this.props.currPage!==this.props.pageStartIndex||e!==this.props.firstPage&&e!==this.props.prePage||(n=!0,a=!0),this.props.currPage!==this.lastPage||e!==this.props.nextPage&&e!==this.props.lastPage||(n=!0,a=!0),u["default"].createElement(c["default"],{key:e,changePage:this.changePage,active:t,disable:n,hidden:a},e)},this)}},{key:"getPages",value:function(){var e=void 0,t=this.totalPages;if(t<=0)return[];var n=Math.max(this.props.currPage-Math.floor(this.props.paginationSize/2),this.props.pageStartIndex);t=n+this.props.paginationSize-1,t>this.lastPage&&(t=this.lastPage,n=t-this.props.paginationSize+1),e=n!==this.props.pageStartIndex&&this.totalPages>this.props.paginationSize?[this.props.firstPage,this.props.prePage]:this.totalPages>1?[this.props.prePage]:[];for(var a=n;a<=t;a++)a>=this.props.pageStartIndex&&e.push(a);return t1){for(var a=this.sortList.length-1,r=!1;a>=0;a--)if(this.sortList[a].sortField===t){r=!0;break}r&&(a>0?this.sortList=this.sortList.slice(0,a):this.sortList=this.sortList.slice(1)),this.sortList.unshift(n),this.sortList=this.sortList.slice(0,this.multiColumnSort)}else this.sortList=[n]}}},{key:"setSelectedRowKey",value:function(e){this.selected=e}},{key:"getRowByKey",value:function(e){var t=this;return e.map(function(e){var n=t.data.filter(function(n){return n[t.keyField]===e});if(0!==n.length)return n[0]})}},{key:"getSelectedRowKeys",value:function(){return this.selected}},{key:"getCurrentDisplayData",value:function(){return this.isOnFilter?this.filteredData:this.data}},{key:"_refresh",value:function(e){this.isOnFilter&&(null!==this.filterObj&&this.filter(this.filterObj),null!==this.searchText&&this.search(this.searchText)),!e&&this.sortList.length>0&&this.sort()}},{key:"ignoreNonSelected",value:function(){var e=this;this.showOnlySelected=!this.showOnlySelected,this.showOnlySelected?(this.isOnFilter=!0,this.filteredData=this.data.filter(function(t){var n=e.selected.find(function(n){return t[e.keyField]===n});return"undefined"!=typeof n})):this.isOnFilter=!1}},{key:"sort",value:function(){var e=this.getCurrentDisplayData();return e=this._sort(e),this}},{key:"page",value:function(e,t){return this.pageObj.end=e*t-1,this.pageObj.start=this.pageObj.end-(t-1),this}},{key:"edit",value:function(e,t,n){var a=this.getCurrentDisplayData(),r=void 0;return this.enablePagination?(a[this.pageObj.start+t][n]=e,r=a[this.pageObj.start+t][this.keyField]):(a[t][n]=e,r=a[t][this.keyField]),this.isOnFilter&&(this.data.forEach(function(t){t[this.keyField]===r&&(t[n]=e)},this),null!==this.filterObj&&this.filter(this.filterObj),null!==this.searchText&&this.search(this.searchText)),this}},{key:"addAtBegin",value:function(e){if(!e[this.keyField]||""===e[this.keyField].toString())throw new Error(this.keyField+" can't be empty value.");var t=this.getCurrentDisplayData();t.forEach(function(t){if(t[this.keyField].toString()===e[this.keyField].toString())throw new Error(this.keyField+" "+e[this.keyField]+" already exists")},this),t.unshift(e),this.isOnFilter&&this.data.unshift(e),this._refresh(!1)}},{key:"add",value:function(e){if(!e[this.keyField]||""===e[this.keyField].toString())throw new Error(this.keyField+" can't be empty value.");var t=this.getCurrentDisplayData();t.forEach(function(t){if(t[this.keyField].toString()===e[this.keyField].toString())throw new Error(this.keyField+" "+e[this.keyField]+" already exists")},this),t.push(e),this.isOnFilter&&this.data.push(e),this._refresh(!1)}},{key:"remove",value:function(e){var t=this,n=this.getCurrentDisplayData(),a=n.filter(function(n){return e.indexOf(n[t.keyField])===-1});this.isOnFilter?(this.data=this.data.filter(function(n){return e.indexOf(n[t.keyField])===-1}),this.filteredData=a):this.data=a}},{key:"filter",value:function(e){if(0===Object.keys(e).length)this.filteredData=null,this.isOnFilter=!1,this.filterObj=null,this.searchText&&this._search(this.data);else{var t=this.data;this.filterObj=e,this.searchText&&(this._search(t),t=this.filteredData),this._filter(t)}}},{key:"filterNumber",value:function(e,t,n){var a=!0;switch(n){case"=":e!=t&&(a=!1);break;case">":e<=t&&(a=!1);break;case">=":e=t&&(a=!1);break;case"<=":e>t&&(a=!1);break;case"!=":e==t&&(a=!1);break;default:console.error("Number comparator provided is not supported")}return a}},{key:"filterDate",value:function(e,t,n){var a=!0;switch(n){case"=":e!=t&&(a=!1);break;case">":e<=t&&(a=!1);break;case">=":e=t&&(a=!1);break;case"<=":e>t&&(a=!1);break;case"!=":e==t&&(a=!1);break;default:console.error("Date comparator provided is not supported")}return a}},{key:"filterRegex",value:function(e,t){try{return new RegExp(t,"i").test(e)}catch(n){return!0}}},{key:"filterCustom",value:function(e,t,n,a){return null!==n&&"object"===("undefined"==typeof n?"undefined":s(n))?n.callback(e,n.callbackParameters):this.filterText(e,t,a)}},{key:"filterText",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:l["default"].FILTER_COND_LIKE;return e=e.toString(),t=t.toString(),n===l["default"].FILTER_COND_EQ?e===t:(e=e.toLowerCase(),t=t.toLowerCase(),!(e.indexOf(t)===-1))}},{key:"search",value:function(e){if(""===e.trim())this.filteredData=null,this.isOnFilter=!1,this.searchText=null,this.filterObj&&this._filter(this.data);else{var t=this.data;this.searchText=e,this.filterObj&&(this._filter(t),t=this.filteredData),this._search(t)}}},{key:"_filter",value:function(e){var t=this,n=this.filterObj;this.filteredData=e.filter(function(e,a){var r=!0,o=void 0;for(var i in n){var u=e[i];switch(null!==u&&void 0!==u||(u=""),n[i].type){case l["default"].FILTER_TYPE.NUMBER:o=n[i].value.number;break;case l["default"].FILTER_TYPE.CUSTOM:o="object"===s(n[i].value)?void 0:"string"==typeof n[i].value?n[i].value.toLowerCase():n[i].value;break;case l["default"].FILTER_TYPE.DATE:o=n[i].value.date;break;case l["default"].FILTER_TYPE.REGEX:o=n[i].value;break;default:o=n[i].value,void 0===o&&(o=n[i])}var d=void 0,c=void 0,p=void 0,_=void 0;switch(t.colInfos[i]&&(d=t.colInfos[i].format,c=t.colInfos[i].filterFormatted,p=t.colInfos[i].formatExtraData,_=t.colInfos[i].filterValue,c&&d?u=d(e[i],e,p,a):_&&(u=_(e[i],e))),n[i].type){case l["default"].FILTER_TYPE.NUMBER:r=t.filterNumber(u,o,n[i].value.comparator);break;case l["default"].FILTER_TYPE.DATE:r=t.filterDate(u,o,n[i].value.comparator);break;case l["default"].FILTER_TYPE.REGEX:r=t.filterRegex(u,o);break;case l["default"].FILTER_TYPE.CUSTOM:var f=n[i].props?n[i].props.cond:l["default"].FILTER_COND_LIKE;r=t.filterCustom(u,o,n[i].value,f);break;default:n[i].type===l["default"].FILTER_TYPE.SELECT&&c&&c&&d&&(o=d(o,e,p,a));var m=n[i].props?n[i].props.cond:l["default"].FILTER_COND_LIKE;r=t.filterText(u,o,m)}if(!r)break}return r}),this.isOnFilter=!0}},{key:"_search",value:function(e){var t=this,n=[];this.multiColumnSearch?n=this.searchText.split(" "):n.push(this.searchText),this.filteredData=e.filter(function(e,a){for(var r=Object.keys(e),s=!1,o=0,i=r.length;op?-1:cp?1:0}if(0!==a)return a}return a}),e)}},{key:"getDataIgnoringPagination",value:function(){return this.getCurrentDisplayData()}},{key:"get",value:function(){var e=this.getCurrentDisplayData();if(0===e.length)return e;var t="function"==typeof this.remote?this.remote(l["default"].REMOTE)[l["default"].REMOTE_PAGE]:this.remote;if(t||!this.enablePagination)return e;for(var n=[],a=this.pageObj.start;a<=this.pageObj.end&&(n.push(e[a]),a+1!==e.length);a++);return n}},{key:"getKeyField",value:function(){return this.keyField}},{key:"getDataNum",value:function(){return this.getCurrentDisplayData().length}},{key:"isChangedPage",value:function(){return!(!this.pageObj.start||!this.pageObj.end)}},{key:"isEmpty",value:function(){return 0===this.data.length||null===this.data||void 0===this.data}},{key:"getAllRowkey",value:function(){var e=this;return this.data.map(function(t){return t[e.keyField]})}}]),e}();t.TableDataStore=u;(function(){"undefined"!=typeof __REACT_HOT_LOADER__&&__REACT_HOT_LOADER__.register(u,"TableDataStore","/Users/allen/Node/react-bootstrap-table-new/react-bootstrap-table/src/store/TableDataStore.js")})()},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l=function(){function e(e,t){for(var n=0;n1?a-1:0),s=1;s1?a-1:0),s=1;s1?a-1:0),s=1;s1?a-1:0),s=1;s1?a-1:0),s=1;s2?n-2:0),r=2;r3?t-3:0),a=3;a1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=r.defaultBase16,i=void 0===o?E:o,u=r.base16Themes,d=void 0===u?null:u,c=R(s,d);c&&(s=(0,l["default"])({},c,s));var _=k.reduce(function(e,t){return e[t]=s[t]||i[t],e},{}),m=(0,p["default"])(s).reduce(function(e,t){return k.indexOf(t)===-1?(e[t]=s[t],e):e},{}),h=e(_),y=C(m,h);return(0,f["default"])(O,2).apply(void 0,[y].concat(n))},3),t.getBase16Theme=function(e,t){if(e&&e.extend&&(e=e.extend),"string"==typeof e){var n=e.split(":"),a=(0,d["default"])(n,2),r=a[0],s=a[1];e=(t||{})[r]||h[r],"inverted"===s&&(e=P(e))}return e&&e.hasOwnProperty("base00")?e:void 0})},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}t.__esModule=!0;var r=n(12),s=a(r),o=n(2),i=a(o),l=function(e){var t=e.styling,n=e.arrowStyle,a=e.expanded,r=e.nodeType,o=e.onClick;return i["default"].createElement("div",(0,s["default"])({},t("arrowContainer",n),{onClick:o}),i["default"].createElement("div",t(["arrow","arrowSign"],r,a,n),"▶","double"===n&&i["default"].createElement("div",t(["arrowSign","arrowSignInner"]),"▶")))};l.propTypes={styling:o.PropTypes.func.isRequired,arrowStyle:o.PropTypes.oneOf(["single","double"]),expanded:o.PropTypes.bool.isRequired,nodeType:o.PropTypes.string.isRequired,onClick:o.PropTypes.func.isRequired},l.defaultProps={arrowStyle:"single"},t["default"]=l},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}t.__esModule=!0;var r=n(12),s=a(r),o=n(208),i=a(o),l=n(2),u=a(l),d=n(1127),c=a(d),p=n(1122),_=a(p),f=n(1120),m=a(f),h=n(1121),y=a(h),g=n(1123),b=a(g),v=function(e){var t=e.getItemString,n=e.keyPath,a=e.labelRenderer,r=e.styling,o=e.value,l=e.valueRenderer,d=e.isCustomNode,p=(0,i["default"])(e,["getItemString","keyPath","labelRenderer","styling","value","valueRenderer","isCustomNode"]),f=d(o)?"Custom":(0,c["default"])(o),h={getItemString:t,key:n[0],keyPath:n,labelRenderer:a,nodeType:f,styling:r,value:o,valueRenderer:l},g=(0,s["default"])({},p,h,{data:o,isCustomNode:d});switch(f){case"Object":case"Error":case"WeakMap":case"WeakSet":return u["default"].createElement(_["default"],g);case"Array":return u["default"].createElement(m["default"],g);case"Iterable":case"Map":case"Set":return u["default"].createElement(y["default"],g);case"String":return u["default"].createElement(b["default"],(0,s["default"])({},h,{valueGetter:function(e){return'"'+e+'"'}}));case"Number":return u["default"].createElement(b["default"],h);case"Boolean":return u["default"].createElement(b["default"],(0,s["default"])({},h,{valueGetter:function(e){return e?"true":"false"}}));case"Date":return u["default"].createElement(b["default"],(0,s["default"])({},h,{valueGetter:function(e){return e.toISOString()}}));case"Null":return u["default"].createElement(b["default"],(0,s["default"])({},h,{valueGetter:function(){return"null"}}));case"Undefined":return u["default"].createElement(b["default"],(0,s["default"])({},h,{valueGetter:function(){return"undefined"}}));case"Function":case"Symbol":return u["default"].createElement(b["default"],(0,s["default"])({},h,{valueGetter:function(e){return e.toString()}}));case"Custom":return u["default"].createElement(b["default"],h);default:return null}};v.propTypes={getItemString:l.PropTypes.func.isRequired,keyPath:l.PropTypes.arrayOf(l.PropTypes.oneOfType([l.PropTypes.string,l.PropTypes.number])).isRequired,labelRenderer:l.PropTypes.func.isRequired,styling:l.PropTypes.func.isRequired,value:l.PropTypes.any,valueRenderer:l.PropTypes.func.isRequired,isCustomNode:l.PropTypes.func.isRequired},t["default"]=v},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.MeasurementDetails=t.getNettestDetails=void 0;var r=n(2),s=a(r),o=n(1126),i=a(o),l=n(11),u=n(850),d=a(u),c=n(843),p=a(c),_=n(844),f=a(_),m=n(845),h=a(m),y=n(851),g=a(y),b=n(846),v=a(b),M=n(849),T=a(M),L=n(847),E=a(L),k=n(848),D=a(k);n(979);var w=n(53),Y={base00:"#ffffff",base01:"#ffffff",base02:"#ffffff",base03:"#777777",base04:"#ffffff",base05:"#ffffff",base06:"#ffffff",base07:"#ffffff",base08:"#777777",base09:"#0588CB",base0A:"#0588CB",base0B:"#4FD156",base0C:"#0588CB",base0D:"#0588CB",base0E:"#0588CB",base0F:"#0588CB"},S={web_connectivity:function(e){return s["default"].createElement(d["default"],{measurement:e})},facebook_messenger:function(e){return s["default"].createElement(p["default"],{measurement:e})},http_header_field_manipulation:function(e){return s["default"].createElement(f["default"],{measurement:e})},http_invalid_request_line:function(e){return s["default"].createElement(h["default"],{measurement:e})},whatsapp:function(e){return s["default"].createElement(g["default"],{measurement:e})},ndt:function(e){return s["default"].createElement(v["default"],{measurement:e})},vanilla_tor:function(e){return s["default"].createElement(T["default"],{measurement:e})},tcp_connect:function(e){return s["default"].createElement(E["default"],{measurement:e})},telegram:function(e){return s["default"].createElement(D["default"],{measurement:e})}},C=t.getNettestDetails=function(e){var t=S[e.test_name];return t?t(e):s["default"].createElement("div",null)},O=t.MeasurementDetails=function(e){var t=e.measurement;return s["default"].createElement("div",null,s["default"].createElement("div",null,s["default"].createElement("h1",{className:"text-xs-center result-nettest-name"},(0,w.getPrettyNettestName)(t.test_name)),s["default"].createElement("div",{className:"row text-xs-center"},s["default"].createElement("div",{className:"result-metadata"},s["default"].createElement("span",{className:"col-sm-6 col-xs-12"},t.test_runtime.toFixed(2),"s ",s["default"].createElement(l.FormattedMessage,{id:"measurementDetails.runtime",defaultMessage:"Runtime"})),s["default"].createElement("span",{className:"col-sm-6 col-xs-12"},s["default"].createElement(l.FormattedMessage,{id:"measurementDetails.location",defaultMessage:"Location: "})," ",t.probe_cc," (",t.probe_asn,")")))),""!==t.input&&s["default"].createElement("div",{className:"text-xs-center measurement-input"},s["default"].createElement("span",null,t.input)),s["default"].createElement("div",{className:"nettest-details"},C(t)),s["default"].createElement("div",{className:"technical-data"},s["default"].createElement("h2",null,s["default"].createElement("i",{className:"ooni icon-measurement"})," ",s["default"].createElement(l.FormattedMessage,{id:"measurementDetails.technicalMeasurementData",defaultMessage:"Technical measurement data"})),s["default"].createElement(i["default"],{theme:Y,hideRoot:!0,invertTheme:!1,shouldExpandNode:function(e,t,n){var a=["request","response"];return a.indexOf(e[0])===-1},data:t})))};O.propTypes={measurement:s["default"].PropTypes.object},t["default"]=O},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(2),s=a(r),o=n(11),i=n(345),l=n(53),u=n(355);n(980);var d=n(853),c=a(d),p=function(e){var t=e.decks,n=e.measurements,a=e.selectedMeasurements,r=e.onRowClick,d=e.onShowHideDeck,p=e.hiddenDecks,_=e.deckIcons,f=e.deckNames,m=e.loadingMeasurements,h=e.loadingMeasurementsFailed;return s["default"].createElement("div",null,a&&s["default"].createElement(c["default"],null),h&&s["default"].createElement("div",{className:"text-xs-center",style:{marginTop:"2rem"}},s["default"].createElement("p",{className:"text-danger"},s["default"].createElement("i",{className:"fa fa-exclamation-circle"})," failed to load measurements")),m&&s["default"].createElement("div",{className:"text-xs-center",style:{marginTop:"2rem"}},s["default"].createElement(o.FormattedMessage,{id:"measurements.measurementList.loading",defaultMessage:"{iconLoading} loading measurements",values:{iconLoading:s["default"].createElement("i",{className:"fa fa-spinner fa-pulse fa-3x fa-fw"})}})),(!a||a.results&&1===a.results.length)&&s["default"].createElement("div",{className:"text-xs-center"},s["default"].createElement("h1",null,s["default"].createElement(o.FormattedMessage,{id:"header.biggerViewports.Measurements",defaultMessage:"Measurements"})),s["default"].createElement("div",{className:"row"},t.map(function(e){var t=p.indexOf(e.id)===-1?"shown-deck":"hidden-deck";return s["default"].createElement("div",{key:e.id,className:"col-sm-3 col-xs-6"},s["default"].createElement("div",{className:t,onClick:function(){return d(e.id)}},s["default"].createElement("h6",null,e.name),(0,l.getDeckIcon)(e.icon)))})),s["default"].createElement("div",{className:"hidden-sm-up"},s["default"].createElement(u.BootstrapTable,{bordered:!0,tableStyle:{border:"none"},containerStyle:{border:"none"},tableBodyClass:"measurement-list-table",trClassName:i.rowClassNameFormat,data:n},s["default"].createElement(u.TableHeaderColumn,{width:"100",dataAlign:"center",dataField:"result",dataFormat:(0,i.formatViewButton)(r)},s["default"].createElement("strong",null,s["default"].createElement(o.FormattedMessage,{id:"measurements.measurementsList.result",defaultMessage:"Result"}))),s["default"].createElement(u.TableHeaderColumn,{dataAlign:"center",dataFormat:l.getPrettyNettestName,caretRender:i.renderCarret,dataSort:!0,dataField:"test_name"},s["default"].createElement("strong",null,s["default"].createElement(o.FormattedMessage,{id:"measurements.measurementsList.name",defaultMessage:"Name"}))),s["default"].createElement(u.TableHeaderColumn,{dataAlign:"center",caretRender:i.renderCarret,dataSort:!0,dataField:"test_start_time",dataFormat:(0,i.formatTime)("calendar")},s["default"].createElement("strong",null,s["default"].createElement(o.FormattedMessage,{id:"measurements.measurementsList.date",defaultMessage:"Date"}))),s["default"].createElement(u.TableHeaderColumn,{width:"100",caretRender:i.renderCarret,dataSort:!0,dataAlign:"center",dataField:"asn"},s["default"].createElement("strong",null,s["default"].createElement(o.FormattedMessage,{id:"measurements.measurementsList.network",defaultMessage:"Network"}))),s["default"].createElement(u.TableHeaderColumn,{width:"100",caretRender:i.renderCarret,dataSort:!0,dataAlign:"center",dataField:"country_code"},s["default"].createElement("strong",null,s["default"].createElement(o.FormattedMessage,{id:"measurements.measurementsList.country",defaultMessage:"Country"}))),s["default"].createElement(u.TableHeaderColumn,{width:"80",caretRender:i.renderCarret,dataSort:!0,dataAlign:"center",dataFormat:(0,i.formatDeckName)(_,f),dataField:"deck_id"},s["default"].createElement("strong",null,s["default"].createElement(o.FormattedMessage,{id:"measurements.measurementsList.deck",defaultMessage:"Deck"}))),s["default"].createElement(u.TableHeaderColumn,{dataField:"id",isKey:!0,hidden:!0},"ID"),s["default"].createElement(u.TableHeaderColumn,{dataField:"running",hidden:!0},"Running"),s["default"].createElement(u.TableHeaderColumn,{dataField:"stale",hidden:!0},"Stale"),s["default"].createElement(u.TableHeaderColumn,{dataField:"anomaly",hidden:!0},"Anomaly"),s["default"].createElement(u.TableHeaderColumn,{dataField:"anomaly_type",hidden:!0},"Anomaly Type"))),s["default"].createElement("div",{className:"hidden-xs-down"},s["default"].createElement(u.BootstrapTable,{bordered:!0,tableStyle:{border:"none"},containerStyle:{border:"none"},tableBodyClass:"measurement-list-table",trClassName:i.rowClassNameFormat,data:n},s["default"].createElement(u.TableHeaderColumn,{dataAlign:"center",dataFormat:l.getPrettyNettestName,caretRender:i.renderCarret,dataSort:!0,dataField:"test_name"},s["default"].createElement("strong",null,s["default"].createElement(o.FormattedMessage,{id:"measurements.measurementsList.name.big",defaultMessage:"Name"}))),s["default"].createElement(u.TableHeaderColumn,{dataAlign:"center",caretRender:i.renderCarret,dataSort:!0,dataField:"test_start_time",dataFormat:(0,i.formatTime)()},s["default"].createElement("strong",null,s["default"].createElement(o.FormattedMessage,{id:"measurements.measurementsList.date.big",defaultMessage:"Date"}))),s["default"].createElement(u.TableHeaderColumn,{width:"100",caretRender:i.renderCarret,dataSort:!0,dataAlign:"center",dataField:"asn"},s["default"].createElement("strong",null,s["default"].createElement(o.FormattedMessage,{id:"measurements.measurementsList.network.big",defaultMessage:"Network"}))),s["default"].createElement(u.TableHeaderColumn,{width:"100",caretRender:i.renderCarret,dataSort:!0,dataAlign:"center",dataField:"country_code"},s["default"].createElement("strong",null,s["default"].createElement(o.FormattedMessage,{id:"measurements.measurementsList.country.big",defaultMessage:"Country"}))),s["default"].createElement(u.TableHeaderColumn,{width:"80",caretRender:i.renderCarret,dataSort:!0,dataAlign:"center",dataFormat:(0,i.formatDeckName)(_,f),dataField:"deck_id"},s["default"].createElement("strong",null,s["default"].createElement(o.FormattedMessage,{id:"measurements.measurementsList.deck.big",defaultMessage:"Deck"}))),s["default"].createElement(u.TableHeaderColumn,{width:"100",dataAlign:"center",dataField:"result",dataFormat:(0,i.formatViewButton)(r)},s["default"].createElement("strong",null,s["default"].createElement(o.FormattedMessage,{id:"measurements.measurementsList.result.big",defaultMessage:"Result"}))),s["default"].createElement(u.TableHeaderColumn,{dataField:"id",isKey:!0,hidden:!0},"ID"),s["default"].createElement(u.TableHeaderColumn,{dataField:"running",hidden:!0},"Running"),s["default"].createElement(u.TableHeaderColumn,{dataField:"stale",hidden:!0},"Stale"),s["default"].createElement(u.TableHeaderColumn,{dataField:"anomaly",hidden:!0},"Anomaly"),s["default"].createElement(u.TableHeaderColumn,{dataField:"anomaly_type",hidden:!0},"Anomaly Type")))))};p.propTypes={measurements:s["default"].PropTypes.array,loadingMeasurements:s["default"].PropTypes.bool,loadingMeasurementsFailed:s["default"].PropTypes.bool,selectedMeasurements:s["default"].PropTypes.object,decks:s["default"].PropTypes.array,deckIcons:s["default"].PropTypes.object,deckNames:s["default"].PropTypes.object,hiddenDecks:s["default"].PropTypes.array,onRowClick:s["default"].PropTypes.func,onShowHideDeck:s["default"].PropTypes.func},t["default"]=p},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(2),s=a(r),o=n(11),i=n(146),l=a(i),u=n(355),d=n(840),c=a(d),p=n(345),_=n(53),f=function(e){var t=e.selectedMeasurements,n=e.onRowClick,a=e.onBackClick,r=e.onCloseClick,i=e.onToggleNormal,d=e.isMeasurementOpen,f=e.openMeasurement,m=e.visibleMeasurements,h=e.showNormal,y={onRowClick:function(e){n(t.id,e.idx)}};return s["default"].createElement("div",null,t.results.length>1&&s["default"].createElement("div",null,s["default"].createElement("div",{className:"text-xs-left"},s["default"].createElement("a",{className:"text-primary clickable",onClick:a},s["default"].createElement(o.FormattedMessage,{id:"measurements.measurementViewer.returnButton",defaultMessage:"{iconArrowLeft} Return",values:{iconArrowLeft:s["default"].createElement("i",{className:"fa fa-arrow-circle-o-left"})}}))),s["default"].createElement("div",{className:"text-xs-center"},s["default"].createElement("h1",null,(0,_.getPrettyNettestName)(t.test_name)),s["default"].createElement("div",{className:"result-metadata"},(0,p.formatDate)(t.test_start_time)," | ",s["default"].createElement(o.FormattedMessage,{id:"measurements.measurementViewer.location",defaultMessage:"Location: {countryCode} ({asNumber})",values:{countryCode:t.country_code,asNumber:t.asn}}))),s["default"].createElement(u.BootstrapTable,{tableStyle:{border:"none"},containerStyle:{border:"none"},trClassName:p.rowClassNameFormat,data:m},s["default"].createElement(u.TableHeaderColumn,{dataAlign:"center",dataField:"url"},s["default"].createElement("strong",null,s["default"].createElement(o.FormattedMessage,{id:"measurements.measurementViewer.url",defaultMessage:"URL"})," (",s["default"].createElement("a",{href:"#",onClick:function(e){return i(e)}},h?s["default"].createElement(o.FormattedMessage,{id:"measurements.measurementViewer.hideNormal",defaultMessage:"Hide normal"}):s["default"].createElement(o.FormattedMessage,{id:"measurements.measurementViewer.showNormal",defaultMessage:"Show normal"})),")")),s["default"].createElement(u.TableHeaderColumn,{width:"100",dataAlign:"center",dataField:"anomaly",dataFormat:(0,p.formatViewButton)(y.onRowClick)},s["default"].createElement("strong",null,s["default"].createElement(o.FormattedMessage,{id:"measurements.measurementViewer.result",defaultMessage:"Result"}))),s["default"].createElement(u.TableHeaderColumn,{dataField:"idx",isKey:!0,hidden:!0}))),s["default"].createElement(l["default"],{className:"Modal__Bootstrap modal-dialog",onRequestClose:r,contentLabel:"Measurement details",isOpen:d},s["default"].createElement("div",{className:"modal-content"},s["default"].createElement("div",{className:"modal-header",style:{borderBottom:"0",padding:"0"}},s["default"].createElement("button",{type:"button",className:"close",onClick:r},s["default"].createElement("span",{"aria-hidden":"true"},"×"),s["default"].createElement("span",{ className:"sr-only"},"Close"))),s["default"].createElement("div",{className:"modal-body modal-body-no-header"},s["default"].createElement(c["default"],{measurement:f})),s["default"].createElement("div",{className:"modal-footer text-xs-center"},s["default"].createElement("button",{className:"btn btn-primary",onClick:r},s["default"].createElement(o.FormattedMessage,{id:"measurements.measurementViewer.returnButtonNoIcon",defaultMessage:"Return"}))))))};f.propTypes={selectedMeasurements:s["default"].PropTypes.object,visibleMeasurements:s["default"].PropTypes.array,onRowClick:s["default"].PropTypes.func,onBackClick:s["default"].PropTypes.func,onCloseClick:s["default"].PropTypes.func,onToggleNormal:s["default"].PropTypes.func,isMeasurementOpen:s["default"].PropTypes.bool,openMeasurement:s["default"].PropTypes.object,showNormal:s["default"].PropTypes.bool},t["default"]=f},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.FacebookMessengerDetails=void 0;var r=n(2),s=a(r),o=n(11),i=t.FacebookMessengerDetails=function(e){var t=e.measurement;return s["default"].createElement("div",null,t.test_keys.facebook_dns_blocking===!1&&t.test_keys.facebook_tcp_blocking===!1&&s["default"].createElement("div",null,s["default"].createElement("h2",{className:"result-success"},s["default"].createElement("i",{className:"fa fa-check-circle-o"}),s["default"].createElement(o.FormattedMessage,{id:"nettests.facebookMessenger.IsWorking",defaultMessage:"Facebook Messenger is working"}))),t.test_keys.facebook_dns_blocking===!0&&s["default"].createElement("div",null,s["default"].createElement("h2",{className:"result-danger"},s["default"].createElement("i",{className:"fa fa-times-circle-o"}),s["default"].createElement(o.FormattedMessage,{id:"nettests.facebookMessenger.DnsBlocking.evidenceOfCensorship",defaultMessage:"Evidence of censorship"})),s["default"].createElement("p",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.facebookMessenger.DnsBlocking.details",defaultMessage:"Facebook Messenger appears to be {blocked} via {reason}",values:{blocked:s["default"].createElement("strong",{className:"text-danger"},s["default"].createElement(o.FormattedMessage,{id:"nettests.facebookMessenger.DnsBlocking.details.blocked",defaultMessage:"blocked"})),reason:s["default"].createElement("strong",null,"DNS")}}))),t.test_keys.facebook_tcp_blocking===!0&&s["default"].createElement("div",null,s["default"].createElement("h2",{className:"result-danger"},s["default"].createElement("i",{className:"fa fa-times-circle-o"}),s["default"].createElement(o.FormattedMessage,{id:"nettests.facebookMessenger.TcpIpBlocking.evidenceOfCensorship",defaultMessage:"Evidence of censorship"})),s["default"].createElement("p",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.facebookMessenger.TcpIpBlocking.details",defaultMessage:"Facebook Messenger appears to be {blocked} via {reason}",values:{blocked:s["default"].createElement("strong",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.facebookMessenger.TcpIpBlocking.details.blocked",defaultMessage:"blocked"})),reason:s["default"].createElement("strong",null,"TCP/IP")}}))))};i.propTypes={measurement:s["default"].PropTypes.object},t["default"]=i},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.HttpHeaderFieldManipulationDetails=void 0;var r=n(118),s=a(r),o=n(2),i=a(o),l=n(11),u=t.HttpHeaderFieldManipulationDetails=function(e){var t=e.measurement,n=!1,a=t.test_keys.tampering;return(0,s["default"])(a).forEach(function(e){a[e]===!0&&(n=!0)}),i["default"].createElement("div",null,n===!0&&i["default"].createElement("div",null,i["default"].createElement("h2",{className:"result-danger"},i["default"].createElement("i",{className:"fa fa-times-circle-o"}),i["default"].createElement(l.FormattedMessage,{id:"nettests.httpHeaderFieldManipulation.networkTampering",defaultMessage:"Evidence of possible network tampering"})),i["default"].createElement("p",null,i["default"].createElement(l.FormattedMessage,{id:"nettests.httpHeaderFieldManipulation.trafficManipulation",defaultMessage:"When contacting our control servers we noticed that network traffic was manipulated. This means that there could be a {middleBox} which could be responsible for censorship and/or traffic manipulation.",values:{middleBox:i["default"].createElement("strong",null,i["default"].createElement(l.FormattedMessage,{id:"nettests.httpHeaderFieldManipulation.middleBox",defaultMessage:"“middle box”"}))}}))),n===!1&&i["default"].createElement("div",null,i["default"].createElement("h2",{className:"result-success"},i["default"].createElement("i",{className:"fa fa-check-circle-o"}),i["default"].createElement(l.FormattedMessage,{id:"nettests.httpHeaderFieldManipulation.everythingOk",defaultMessage:"Everything is OK"})),i["default"].createElement("p",null,i["default"].createElement(l.FormattedMessage,{id:"nettests.httpHeaderFieldManipulation.noAnomaly",defaultMessage:"No network anomaly was detected when communicating to our control servers."}))))};u.propTypes={measurement:i["default"].PropTypes.object},t["default"]=u},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.HttpInvalidRequestLineDetails=void 0;var r=n(54),s=a(r),o=n(32),i=a(o),l=n(48),u=a(l),d=n(39),c=a(d),p=n(38),_=a(p),f=n(2),m=a(f),h=n(11),y=t.HttpInvalidRequestLineDetails=function(e){function t(e){(0,i["default"])(this,t);var n=(0,c["default"])(this,(t.__proto__||(0,s["default"])(t)).call(this,e));return n.state={exchangesEnabled:!1},n}return(0,_["default"])(t,e),(0,u["default"])(t,[{key:"toggleExchanges",value:function(){this.setState({exchangesEnabled:!this.state.exchangesEnabled})}},{key:"render",value:function(){var e=this,t=this.props.measurement,n=function(e){var n="row";return t.test_keys.received[e]!==t.test_keys.sent[e]&&(n+=" text-danger"),n};return m["default"].createElement("div",null,t.test_keys.tampering===!0&&m["default"].createElement("div",null,m["default"].createElement("h2",{className:"result-danger"},m["default"].createElement("i",{className:"fa fa-times-circle-o"}),m["default"].createElement(h.FormattedMessage,{id:"nettests.httpInvalidRequestLine.networkTampering",defaultMessage:"Evidence of possible network tampering"})),m["default"].createElement("p",null,m["default"].createElement(h.FormattedMessage,{id:"nettests.httpInvalidRequestLine.trafficManipulation",defaultMessage:'When contacting our control servers we noticed that network traffic was manipulated. This means that there could be a {middleBox} which could be responsible for censorship and/or traffic manipulation. Click on "Show exchanges" below to see what our server saw and what was sent.',values:{middleBox:m["default"].createElement("strong",null,m["default"].createElement(h.FormattedMessage,{id:"nettests.httpInvalidRequestLine.trafficManipulation.middleBox",defaultMessage:"“middle box”"}))}}))),t.test_keys.tampering===!1&&m["default"].createElement("div",null,m["default"].createElement("h2",{className:"result-success"},m["default"].createElement("i",{className:"fa fa-check-circle-o"}),m["default"].createElement(h.FormattedMessage,{id:"nettests.httpInvalidRequestLine.everythingOk",defaultMessage:"Everything is OK"})),m["default"].createElement("p",null,m["default"].createElement(h.FormattedMessage,{id:"nettests.httpInvalidRequestLine.noAnomaly",defaultMessage:'No network anomaly was detected when communicating to our control servers. Click on "Show exchanges" below to see what our server saw and what was sent.'}))),this.state.exchangesEnabled&&m["default"].createElement("div",null,m["default"].createElement("div",{className:"row text-xs-center",style:{marginTop:"20px"}},m["default"].createElement("div",{className:"col-xs-6"},m["default"].createElement("h3",null,m["default"].createElement(h.FormattedMessage,{id:"nettests.httpInvalidRequestLine.sent",defaultMessage:"I sent"}))),m["default"].createElement("div",{className:"col-xs-6"},m["default"].createElement("h3",null,m["default"].createElement(h.FormattedMessage,{id:"nettests.httpInvalidRequestLine.received",defaultMessage:"I received"})))),t.test_keys.sent.map(function(e,a){return m["default"].createElement("div",{className:n(a),key:a},m["default"].createElement("div",{className:"col-xs-6"},m["default"].createElement("div",{className:"card card-block"},m["default"].createElement("p",{className:"card-text wordwrap"},e))),m["default"].createElement("div",{className:"col-xs-6"},m["default"].createElement("div",{className:"card card-block"},m["default"].createElement("p",{className:"card-text wordwrap"},t.test_keys.received[a]))))})),m["default"].createElement("div",{className:"row"},m["default"].createElement("div",{className:"col-xs-6"},m["default"].createElement("button",{className:"btn btn-secondary",onClick:function(){return e.toggleExchanges()}},this.state.exchangesEnabled?m["default"].createElement(h.FormattedMessage,{id:"nettests.httpInvalidRequestLine.hide",defaultMessage:"Hide exchanges"}):m["default"].createElement(h.FormattedMessage,{id:"nettests.httpInvalidRequestLine.show",defaultMessage:"Show exchanges"})))))}}]),t}(m["default"].Component);y.propTypes={measurement:m["default"].PropTypes.object},t["default"]=y},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.NdtDetails=void 0;var r=n(54),s=a(r),o=n(32),i=a(o),l=n(48),u=a(l),d=n(39),c=a(d),p=n(38),_=a(p),f=n(2),m=a(f),h=n(11),y={yyz01:"CA",yyc01:"CA",yul01:"CA",wlg02:"NZ",wlg01:"NZ",vie01:"AT",tun01:"TN",trn01:"IT",tpe01:"TW",tnr01:"MG",syd02:"AU",syd01:"AU",svg01:"NO",sin01:"SG",sea05:"US",sea04:"US",sea03:"US",sea02:"US",sea01:"US",prg01:"CZ",par01:"FR",ord05:"US",ord04:"US",ord03:"US",ord02:"US",ord01:"US",nuq06:"US",nuq05:"US",nuq04:"US",nuq03:"US",nuq02:"US",nuq01:"US",nbo01:"KE",mnl01:"PH",mil01:"IT",mia05:"US",mia04:"US",mia03:"US",mia02:"US",mia01:"US",mad01:"ES",los01:"NG",lju01:"SI",lhr01:"GB",lga07:"US",lga06:"US",lga05:"US",lga04:"US",lga03:"US",lga02:"US",lga01:"US",lca01:"CY",lba01:"GB",lax05:"US",lax04:"US",lax03:"US",lax02:"US",lax01:"US",jnb01:"ZA",iad05:"US",iad04:"US",iad03:"US",iad02:"US",iad01:"US",hnd01:"JP",ham01:"DE",dub01:"IE",dfw05:"US",dfw04:"US",dfw03:"US",dfw02:"US",dfw01:"US",den04:"US",den03:"US",den02:"US",den01:"US",bog01:"CO",bkk01:"TH",beg01:"RS",atl05:"US",atl04:"US",atl03:"US",atl02:"US",atl01:"US",ath03:"GR",ath02:"GR",ath01:"GR",arn01:"SE",ams02:"NL",ams01:"NL",akl01:"NZ",acc02:"GH",acc01:"GH"},g=function(e){return y[e.split(".")[3]]},b=function(e){return e.split(".").slice(3,4).join(".")},v=t.NdtDetails=function(e){function t(e){(0,i["default"])(this,t);var n=(0,c["default"])(this,(t.__proto__||(0,s["default"])(t)).call(this,e));return n.state={advancedEnabled:!1},n}return(0,_["default"])(t,e),(0,u["default"])(t,[{key:"toggledAdvanced",value:function(){this.setState({advancedEnabled:!this.state.advancedEnabled})}},{key:"render",value:function(){var e=this,t=this.props.measurement;return null!==t.test_keys.failure?m["default"].createElement("div",null,m["default"].createElement("h2",{className:"result-warning"},m["default"].createElement("i",{className:"fa fa-exclamation-circle"})," Error in measurement"),m["default"].createElement("p",null,"We were not able to properly run the NDT test: ",m["default"].createElement("code",null,t.test_keys.failure)),m["default"].createElement("p",null,"This usually happens when the port used by NDT is blocked by your ISP")):m["default"].createElement("div",null,m["default"].createElement("div",{className:"row"},m["default"].createElement("div",{className:"col-xs-6 result-item"},m["default"].createElement("span",{className:"result-item-name"},m["default"].createElement(h.FormattedMessage,{id:"nettests.ndt.Download",defaultMessage:"Download"}),m["default"].createElement("i",{className:"fa fa-arrow-circle-o-down"})),m["default"].createElement("span",{className:"result-item-value-big"},(t.test_keys.simple.download/1e3).toFixed(2)),m["default"].createElement("span",{className:"result-item-unit"},"MBps")),m["default"].createElement("div",{className:"col-xs-6 result-item"},m["default"].createElement("span",{className:"result-item-name"},m["default"].createElement(h.FormattedMessage,{id:"nettests.ndt.Upload",defaultMessage:"Upload"}),m["default"].createElement("i",{className:"fa fa-arrow-circle-o-up"})),m["default"].createElement("span",{className:"result-item-value-big"},(t.test_keys.simple.upload/1e3).toFixed(2)),m["default"].createElement("span",{className:"result-item-unit"},"MBps"))),m["default"].createElement("div",{className:"row"},m["default"].createElement("div",{className:"col-xs-6 result-item"},m["default"].createElement("span",{className:"result-item-name"},m["default"].createElement(h.FormattedMessage,{id:"nettests.ndt.ping",defaultMessage:"Ping"}),m["default"].createElement("i",{className:"fa fa-exchange"})),m["default"].createElement("span",{className:"result-item-value-big"},t.test_keys.simple.ping.toFixed(1)),m["default"].createElement("span",{className:"result-item-unit"},"ms")),m["default"].createElement("div",{className:"col-xs-6 result-item"},m["default"].createElement("span",{className:"result-item-name"},m["default"].createElement(h.FormattedMessage,{id:"nettests.ndt.Server",defaultMessage:"Server"}),m["default"].createElement("i",{className:"fa fa-server"})),m["default"].createElement("span",{className:"result-item-value-big"},g(t.test_keys.server_address)),m["default"].createElement("span",{className:"result-item-unit"},b(t.test_keys.server_address)))),this.state.advancedEnabled||m["default"].createElement("div",{className:"row"},m["default"].createElement("div",{className:"col-xs-6"},m["default"].createElement("button",{className:"btn btn-secondary",onClick:function(){return e.toggledAdvanced()}},m["default"].createElement(h.FormattedMessage,{id:"nettests.ndt.More",defaultMessage:"More"})))),this.state.advancedEnabled&&m["default"].createElement("div",null,m["default"].createElement("div",{className:"row"},m["default"].createElement("div",{className:"col-xs-6 result-item"},m["default"].createElement("span",{className:"result-item-name"},m["default"].createElement(h.FormattedMessage,{id:"nettests.ndt.PacketLoss",defaultMessage:"Packet Loss"})),m["default"].createElement("span",{className:"result-item-value-big"},(100*t.test_keys.advanced.packet_loss).toFixed(3)),m["default"].createElement("span",{className:"result-item-unit"},"%")),m["default"].createElement("div",{className:"col-xs-6 result-item"},m["default"].createElement("span",{className:"result-item-name"},m["default"].createElement(h.FormattedMessage,{id:"nettests.net.OutOfOrder",defaultMessage:"Out of order"})),m["default"].createElement("span",{className:"result-item-value-big"},(100*t.test_keys.advanced.out_of_order).toFixed(1)),m["default"].createElement("span",{className:"result-item-unit"},"%"))),m["default"].createElement("div",{className:"row"},m["default"].createElement("div",{className:"col-xs-6 result-item"},m["default"].createElement("span",{className:"result-item-name"},m["default"].createElement(h.FormattedMessage,{id:"nettests.ndt.AveragePing",defaultMessage:"Average Ping"})),m["default"].createElement("span",{className:"result-item-value-big"},t.test_keys.advanced.avg_rtt.toFixed(0)),m["default"].createElement("span",{className:"result-item-unit"},"ms")),m["default"].createElement("div",{className:"col-xs-6 result-item"},m["default"].createElement("span",{className:"result-item-name"},m["default"].createElement(h.FormattedMessage,{id:"nettests.ndt.MaxPing",defaultMessage:"Max Ping"})),m["default"].createElement("span",{className:"result-item-value-big"},t.test_keys.advanced.max_rtt.toFixed(0)),m["default"].createElement("span",{className:"result-item-unit"},"ms"))),m["default"].createElement("div",{className:"row"},m["default"].createElement("div",{className:"col-xs-6 result-item"},m["default"].createElement("span",{className:"result-item-name"},m["default"].createElement(h.FormattedMessage,{id:"nettests.ndt.Mss",defaultMessage:"MSS"})),m["default"].createElement("span",{className:"result-item-value-big"},t.test_keys.advanced.mss)),m["default"].createElement("div",{className:"col-xs-6 result-item"},m["default"].createElement("span",{className:"result-item-name"},m["default"].createElement(h.FormattedMessage,{id:"nettests.ndt.Timeouts",defaultMessage:"Timeouts"})),m["default"].createElement("span",{className:"result-item-value-big"},t.test_keys.advanced.timeouts))),m["default"].createElement("div",{className:"row"},m["default"].createElement("div",{className:"col-xs-6"},m["default"].createElement("button",{className:"btn btn-secondary",onClick:function(){return e.toggledAdvanced()}},m["default"].createElement(h.FormattedMessage,{id:"nettests.ndt.Less",defaultMessage:"Less"}))))))}}]),t}(m["default"].Component);v.propTypes={measurement:m["default"].PropTypes.object},t["default"]=v},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.TcpConnectDetails=void 0;var r=n(2),s=a(r),o=n(11),i=t.TcpConnectDetails=function(e){var t=e.measurement;return s["default"].createElement("div",null,"success"===t.test_keys.connection&&s["default"].createElement("div",null,s["default"].createElement("h2",{className:"result-success"},s["default"].createElement("i",{className:"fa fa-check-circle-o"}),s["default"].createElement(o.FormattedMessage,{id:"nettests.tcpConnect.EverythingOkay",defaultMessage:"Everything is OK"}))),"success"!==t.test_keys.connection&&s["default"].createElement("div",null,s["default"].createElement("h2",{className:"result-warning"},s["default"].createElement("i",{className:"fa fa-times-circle-o"}),s["default"].createElement(o.FormattedMessage,{id:"nettests.tcpConnect.ConnectionProblem",defaultMessage:"Connection problem"})),s["default"].createElement("p",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.tcpConnect.Explanation",defaultMessage:"When connecting to {input} we got the error {error}",values:{input:s["default"].createElement("code",null,t.input),error:s["default"].createElement("code",null,t.test_keys.connection)}}))))};i.propTypes={measurement:s["default"].PropTypes.object},t["default"]=i},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.TelegramDetails=void 0;var r=n(2),s=a(r),o=n(11),i=t.TelegramDetails=function(e){var t=e.measurement;return s["default"].createElement("div",null,t.test_keys.telegram_tcp_blocking===!1&&t.test_keys.telegram_http_blocking===!1&&"ok"===t.test_keys.telegram_web_status&&s["default"].createElement("div",null,s["default"].createElement("h2",{className:"result-success"},s["default"].createElement("i",{className:"fa fa-check-circle-o"}),s["default"].createElement(o.FormattedMessage,{id:"nettests.telegram.working",defaultMessage:"Telegram is working"}))),t.test_keys.telegram_tcp_blocking===!0||"blocked"===t.test_keys.telegram_web_status||t.test_keys.telegram_http_blocking===!0&&s["default"].createElement("div",null,s["default"].createElement("h2",{className:"result-success"},s["default"].createElement("i",{className:"fa fa-check-circle-o"}),s["default"].createElement(o.FormattedMessage,{id:"nettests.telegram.censorship",defaultMessage:"Evidence of possible censorship"}))),(t.test_keys.telegram_tcp_blocking===!0||t.test_keys.telegram_http_blocking===!0)&&s["default"].createElement("p",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.telegram.applicationBlocked",defaultMessage:"The Telegram application appears to be {status}.",values:{status:s["default"].createElement("strong",{className:"text-danger"},s["default"].createElement(o.FormattedMessage,{id:"nettests.telegram.applicationBlocked.statusBlocked",defaultMessage:"blocked"}))}})),t.test_keys.telegram_tcp_blocking===!1&&t.test_keys.telegram_http_blocking===!1&&s["default"].createElement("p",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.telegram.notBlocked",defaultMessage:"The Telegram application appears to be {status}.",values:{status:s["default"].createElement("strong",{className:"text-success"},s["default"].createElement(o.FormattedMessage,{id:"nettests.telegram.notBlocked.workingProperly",defaultMessage:"working properly"}))}})),"blocked"===t.test_keys.telegram_web_status?s["default"].createElement("p",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.telegram.webBlocked",defaultMessage:"Telegram web appears to be {status}.",values:{status:s["default"].createElement("strong",{className:"text-danger"},s["default"].createElement(o.FormattedMessage,{id:"nettests.telegram.webBlocked.blocked",defaultMessage:"blocked"}))}})):s["default"].createElement("p",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.telegram.webWorking",defaultMessage:"Telegram web appears to be {status}.",values:{status:s["default"].createElement("strong",{className:"text-success"},s["default"].createElement(o.FormattedMessage,{id:"nettests.telegram.webWorking.properly",defaultMessage:"working properly"}))}})))};i.propTypes={measurement:s["default"].PropTypes.object},t["default"]=i},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.VanillaTorDetails=void 0;var r=n(54),s=a(r),o=n(32),i=a(o),l=n(48),u=a(l),d=n(39),c=a(d),p=n(38),_=a(p),f=n(2),m=a(f),h=n(11),y=t.VanillaTorDetails=function(e){function t(e){(0,i["default"])(this,t);var n=(0,c["default"])(this,(t.__proto__||(0,s["default"])(t)).call(this,e));return n.state={showLog:!1},n}return(0,_["default"])(t,e),(0,u["default"])(t,[{key:"toggleLog",value:function(){this.setState({showLog:!this.state.showLog})}},{key:"render",value:function(){var e=this,t=this.props.measurement;return m["default"].createElement("div",null,t.test_keys.success===!0&&m["default"].createElement("div",null,m["default"].createElement("h2",{className:"result-success"},m["default"].createElement("i",{className:"fa fa-check-circle-o"}),m["default"].createElement(h.FormattedMessage,{id:"nettests.vanillaTor.working",defaultMessage:"Tor is working"})),m["default"].createElement("p",null,m["default"].createElement(h.FormattedMessage,{id:"nettests.vanillaTor.working.text",defaultMessage:"It took {testRuntime}s to bootstrap Tor version {torVersion}",values:{testRuntime:t.test_runtime,torVersion:m["default"].createElement("code",null,t.test_keys.tor_version)}}))),t.test_keys.success===!1&&m["default"].createElement("div",null,m["default"].createElement("h2",{className:"result-danger"},m["default"].createElement("i",{className:"fa fa-times-circle-o"}),m["default"].createElement(h.FormattedMessage,{id:"nettests.vanillaTor.censorship",defaultMessage:"Evidence of possible censorship"})),m["default"].createElement("p",null,m["default"].createElement(h.FormattedMessage,{id:"nettests.vanillaTor.torVersion.blocked",defaultMessage:"Tor version {torVersion} appears to be blocked.",values:{torVersion:m["default"].createElement("code",null,t.test_keys.tor_version)}}))),this.state.showLog&&m["default"].createElement("div",null,m["default"].createElement("pre",null,t.test_keys.tor_log)),m["default"].createElement("button",{className:"btn btn-secondary",onClick:function(){return e.toggleLog()}},this.state.showLog?m["default"].createElement(h.FormattedMessage,{id:"nettests.vanillaTor.hide",defaultMessage:"Hide tor log"}):m["default"].createElement(h.FormattedMessage,{id:"nettests.vanillaTor.show",defaultMessage:"Show tor log"})))}}]),t}(m["default"].Component);y.propTypes={measurement:m["default"].PropTypes.object},t["default"]=y},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.WebConnectivityDetails=void 0;var r=n(2),s=a(r),o=n(11),i=t.WebConnectivityDetails=function(e){var t=e.measurement;return s["default"].createElement("div",null,t.test_keys.accessible!==!1&&t.test_keys.blocking===!1&&s["default"].createElement("div",null,s["default"].createElement("h2",{className:"result-success"},s["default"].createElement("i",{className:"fa fa-check-circle-o"})," ",s["default"].createElement(o.FormattedMessage,{id:"nettests.webConnectivity.noCensorshipDetected",defaultMessage:"No censorship detected"})),s["default"].createElement("p",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.webConnectivity.websiteAccessibleUncensored",defaultMessage:"The website appears to be accessible and uncensored from this network."}))),(t.test_keys.accessible===!0||null===t.test_keys.accessible)&&null===t.test_keys.blocking&&s["default"].createElement("div",null,s["default"].createElement("h2",{className:"result-warning"},s["default"].createElement("i",{className:"fa fa-exclamation-circle"})," ",s["default"].createElement(o.FormattedMessage,{id:"nettests.webConnectivity.errorInMeasurement",defaultMessage:"Error in measurement"})),t.test_keys.accessible===!0&&s["default"].createElement("p",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.webConnectivity.websiteUp",defaultMessage:"This website is up, but there was a problem in assessing whether or not it is being censored."})),null===t.test_keys.accessible&&s["default"].createElement("p",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.webConnectivity.thereWasAnError",defaultMessage:"There was an error in assessing if this site is up and/or censored."}))),t.test_keys.accessible===!1&&(t.test_keys.blocking===!1||null===t.test_keys.blocking)&&s["default"].createElement("div",null,s["default"].createElement("h2",{className:"result-warning"},s["default"].createElement("i",{className:"fa fa-exclamation-circle"})," ",s["default"].createElement(o.FormattedMessage,{id:"nettests.webConnectivity.websiteUnavailable",defaultMessage:"Website unavailable"})),s["default"].createElement("p",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.webConnectivity.websiteUnavailableDesc",defaultMessage:"This website does not appear to be available at the moment. Requests from the control vantage point are also failing."}))),null!==t.test_keys.blocking&&t.test_keys.blocking!==!1&&s["default"].createElement("div",null,s["default"].createElement("h2",{className:"result-danger"},s["default"].createElement("i",{className:"fa fa-times-circle-o"})," ",s["default"].createElement(o.FormattedMessage,{id:"nettests.webConnectivity.evidenceOfCensorship",defaultMessage:"Evidence of possible censorship"}))),"dns"===t.test_keys.blocking&&s["default"].createElement("p",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.webConnectivity.censorshipDNSBased",defaultMessage:"This site appears to be blocked due to {dnsCensorship}.",values:{dnsCensorship:s["default"].createElement("strong",null,s["default"].createElement(o.FormattedMessage,{id:"nettest.webConnectivity.censorshipDNSBased.reason",defaultMessage:"DNS based censorship"}))}})),"http-diff"===t.test_keys.blocking&&s["default"].createElement("p",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.webConnectivity.httpDiff",defaultMessage:"This site appears to be blocked because it presents a {differentHTTPResponse}.",values:{differentHTTPResponse:s["default"].createElement("strong",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.webConnectivity.httpDiff.reason",defaultMessage:"different HTTP response"}))}})),"http-failure"===t.test_keys.blocking&&s["default"].createElement("p",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.webConnectivity.httpFailure",defaultMessage:"This site appears to be blocked because the {HTTPRequestFailed} with {errorMessage}.",values:{HTTPRequestFailed:s["default"].createElement("strong",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.webConnectivity.httpFailure.what",defaultMessage:"HTTP request failed"})),errorMessage:s["default"].createElement("code",null,t.test_keys.http_experiment_failure)}})),"tcp_ip"===t.test_keys.blocking&&s["default"].createElement("p",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.webConnectivity.tcpIP",defaultMessage:"This site appears to be blocked by means of {TCPIPBasedBlocking}",values:{TCPIPBasedBlocking:s["default"].createElement("strong",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.webConnectivity.tcpIP.reason",defaultMessage:"TCP/IP based blocking"}))}})),t.test_keys.blocking!==!1&&null!=t.test_keys.blocking&&s["default"].createElement("div",{className:"circumvention-strategies"},s["default"].createElement("h3",null,s["default"].createElement("i",{className:"ooni icon-tor"})," ",s["default"].createElement(o.FormattedMessage,{id:"nettests.webConnectivity.circumventionStrategies.title",defaultMessage:"Circumvention strategies"})),s["default"].createElement("p",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.webConnectivity.circumventionStrategies.text1",defaultMessage:"You can try to circumvent the blocking of the site {siteURL} through the following:",values:{siteURL:s["default"].createElement("code",null,t.input)}})),("http-diff"===t.test_keys.blocking||"http-failure"===t.test_keys.blocking)&&"https"!==t.input.substr(0,5)&&s["default"].createElement("div",{className:"circumvention-strategy"},s["default"].createElement("h3",null," ",s["default"].createElement(o.FormattedMessage,{id:"nettests.circumventionStrategies.useHTTPS.title",defaultMessage:"Use Secure HTTP (HTTPS)"})),s["default"].createElement("p",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.circumventionStrategies.useHTTPS.text",defaultMessage:"Try visiting the {https} version of the website in question by accessing it via {url}",values:{https:s["default"].createElement("strong",null,"HTTPS"),url:s["default"].createElement("a",{target:"_blank",href:"https"+t.input.substr(4)},"https",t.input.substr(4))}}))),"dns"===t.test_keys.blocking&&s["default"].createElement("div",{className:"circumvention-strategy"},s["default"].createElement("h3",null," ",s["default"].createElement(o.FormattedMessage,{id:"nettests.webConnectivity.circumvention.changeDNS.title",defaultMessage:"Change your DNS"})),s["default"].createElement("p",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.webConnectivity.circumvention.changeDNS.text",defaultMessage:"Try {changeDNS} to one that does not implement blocking, such as OpenDNS ({openDNS}) or Google DNS: {googleDNS}.",values:{changeDNS:s["default"].createElement("strong",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.webConnectivity.circumvention.changeDNS.text.changeDNS",defaultMessage:"changing your DNS resolver"})),googleDNS:s["default"].createElement("code",null,"8.8.8.8"),openDNS:s["default"].createElement("code",null,"208.67.222.222")}})),s["default"].createElement("p",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.webConnectivity.circumvention.changeDNS.instructions",defaultMessage:"You can find instructions on how to change your DNS resolver through the following URL: {instructionsLink}",values:{instructionsLink:s["default"].createElement("a",{href:"https://www.opendns.com/setupguide/",target:"_blank"},"https://www.opendns.com/setupguide/")}}))),s["default"].createElement("div",{className:"circumvention-strategy"},s["default"].createElement("h3",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.webConnectivity.circumvention.useTor.title",defaultMessage:"Use Tor"})),s["default"].createElement("p",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.webConnectivity.circumvention.useTor.text",defaultMessage:"In most cases you should be able to circumvent censorship by using {Tor}.",values:{Tor:s["default"].createElement("strong",null,"Tor")}}),s["default"].createElement(o.FormattedMessage,{ id:"nettests.webConnectivity.circumvention.useTor.downloadTor",defaultMessage:"On a computer you can use {torBrowserLink}, on Android {orbotLink} and on iOS {onionBrowserLink}",values:{torBrowserLink:s["default"].createElement("a",{href:"https://www.torproject.org/download/download.html.en",target:"_blank"},"Tor Browser"),orbotLink:s["default"].createElement("a",{href:"https://play.google.com/store/apps/details?id=org.torproject.android",target:"_blank"},"OrBot"),onionBrowser:s["default"].createElement("a",{href:"https://itunes.apple.com/it/app/onion-browser-secure-anonymous",target:"_blank"},"Onion Browser")}})),s["default"].createElement("p",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.webConnectivity.circumvention.useTor.torBlocked",defaultMessage:"If the torproject.org website is blocked in your country, you can download Tor from a mirror of it hosted on GitHub: {gettorLink}",values:{gettorLink:s["default"].createElement("a",{href:"https://github.com/TheTorProject/gettorbrowser",target:"_blank"},"https://github.com/TheTorProject/gettorbrowser")}}))),s["default"].createElement("p",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.webConnectivity.circumvention.note",defaultMessage:"Note: The above techniques might not always work."}))))};i.propTypes={measurement:s["default"].PropTypes.object},t["default"]=i},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.WhatsappDetails=void 0;var r=n(2),s=a(r),o=n(11),i=t.WhatsappDetails=function(e){var t=e.measurement;return s["default"].createElement("div",null,"ok"===t.test_keys.registration_server_status&&"ok"===t.test_keys.whatsapp_web_status&&"ok"===t.test_keys.registration_server_status&&s["default"].createElement("div",null,s["default"].createElement("h2",{className:"result-success"},s["default"].createElement("i",{className:"fa fa-check-circle-o"}),s["default"].createElement(o.FormattedMessage,{id:"nettests.whatsapp.working",defaultMessage:"WhatsApp is working"}))),("blocked"===t.test_keys.whatsapp_endpoints_status||"blocked"===t.test_keys.whatsapp_web_status||t.test_keys.facebook_tcp_blocking===!0||"blocked"===t.test_keys.registration_server_status)&&s["default"].createElement("div",null,s["default"].createElement("h2",{className:"result-success"},s["default"].createElement("i",{className:"fa fa-check-circle-o"}),s["default"].createElement(o.FormattedMessage,{id:"nettests.whatsapp.censorship",defaultMessage:"Evidence of possible censorship"}))),"blocked"===t.test_keys.whatsapp_endpoints_status?s["default"].createElement("p",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.whatsapp.applicationBlocked",defaultMessage:"The WhatsApp application appears to be {status}.",values:{status:s["default"].createElement("strong",{className:"text-danger"},s["default"].createElement(o.FormattedMessage,{id:"nettests.whatsapp.applicationBlocked.statusBlocked",defaultMessage:"blocked"}))}})):s["default"].createElement("p",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.whatsapp.notBlocked",defaultMessage:"The WhatsApp application appears to be {status}.",values:{status:s["default"].createElement("strong",{className:"text-success"},s["default"].createElement(o.FormattedMessage,{id:"nettests.whatsapp.notBlocked.workingProperly",defaultMessage:"working properly"}))}})),"blocked"===t.test_keys.whatsapp_web_status?s["default"].createElement("p",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.whatsapp.webBlocked",defaultMessage:"WhatsApp web appears to be {status}.",values:{status:s["default"].createElement("strong",{className:"text-danger"},s["default"].createElement(o.FormattedMessage,{id:"nettests.whatsapp.webBlocked.blocked",defaultMessage:"blocked"}))}})):s["default"].createElement("p",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.whatsapp.webWorking",defaultMessage:"WhatsApp web appears to be {status}.",values:{status:s["default"].createElement("strong",{className:"text-success"},s["default"].createElement(o.FormattedMessage,{id:"nettests.whatsapp.webWorking.properly",defaultMessage:"working properly"}))}})),"blocked"===t.test_keys.registration_server_status?s["default"].createElement("p",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.whatsapp.registrationBlocked",defaultMessage:"The WhatsApp registration service appears to be {status}.",values:{status:s["default"].createElement("strong",{className:"text-danger"},s["default"].createElement(o.FormattedMessage,{id:"nettests.whatsapp.registrationBlocked.blocked",defaultMessage:"blocked"}))}})):s["default"].createElement("p",null,s["default"].createElement(o.FormattedMessage,{id:"nettests.whatsapp.registrationWorking",defaultMessage:"The WhatsApp registration service appears to be {status}.",values:{status:s["default"].createElement("strong",{className:"text-success"},s["default"].createElement(o.FormattedMessage,{id:"nettests.whatsapp.registrationWorking.properly",defaultMessage:"working properly"}))}})))};i.propTypes={measurement:s["default"].PropTypes.object},t["default"]=i},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(30),s=n(841),o=a(s),i=n(562),l=n(676),u=n(343),d=function(e){return{onRowClick:function(t){e((0,i.selectMeasurements)(t.id))},onShowHideDeck:function(t){e((0,i.showHideDeck)(t))}}},c=function(e){return{measurements:(0,l.getVisibleMeasurements)(e),loadingMeasurements:e.measurement.loading,loadingMeasurementsFailed:e.measurement.failed,selectedMeasurements:e.measurementList.selectedMeasurements,hiddenDecks:e.measurementList.visibilityFilter.hiddenDecks,decks:e.deck.decks,deckIcons:(0,u.getDeckIcons)(e),deckNames:(0,u.getDeckNames)(e)}};t["default"]=(0,r.connect)(c,d)(o["default"])},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(30),s=n(842),o=a(s),i=n(562),l=n(676),u=function(e){return{onRowClick:function(t,n){e((0,i.openMeasurement)(t,n))},onBackClick:function(){e((0,i.selectedMeasurements)(null))},onCloseClick:function(){e((0,i.closeMeasurement)())},onToggleNormal:function(t){t.preventDefault(),e((0,i.toggleNormalMeasurements)())}}},d=function(e){return{selectedMeasurements:e.measurementList.selectedMeasurements,isMeasurementOpen:e.measurementList.isMeasurementOpen,openMeasurement:e.measurementList.openMeasurement,visibleMeasurements:(0,l.getVisibileSelectedMeasurements)(e),showNormal:e.measurementList.showNormal}};t["default"]=(0,r.connect)(d,u)(o["default"])},,function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,t=arguments[1],n=c[t.type];return n?n(e,t):e}Object.defineProperty(t,"__esModule",{value:!0});var s,o=n(49),i=a(o),l=n(12),u=a(l);t.measurementListReducer=r;var d=n(562),c=(s={},(0,i["default"])(s,d.SHOW_HIDE_DECK,function(e,t){var n=t.deckId,a=(0,u["default"])({},e.visibilityFilter),r=a.hiddenDecks.indexOf(n);return r===-1?a.hiddenDecks.push(n):a.hiddenDecks.splice(r,1),(0,u["default"])({},e,{visibilityFilter:a})}),(0,i["default"])(s,d.TOGGLE_NORMAL_MEASUREMENTS,function(e){return(0,u["default"])({},e,{showNormal:!e.showNormal})}),(0,i["default"])(s,d.SELECTED_MEASUREMENTS,function(e,t){return(0,u["default"])({},e,{selectedMeasurements:t.measurements})}),(0,i["default"])(s,d.OPENNED_MEASUREMENT,function(e,t){return(0,u["default"])({},e,{openMeasurement:t.measurement,isMeasurementOpen:!0})}),(0,i["default"])(s,d.CLOSE_MEASUREMENT,function(e){return(0,u["default"])({},e,{openMeasurement:{},isMeasurementOpen:!1})}),(0,i["default"])(s,d.LOADING_MEASUREMENT_LIST,function(e){return(0,u["default"])({},e,{loading:!0})}),(0,i["default"])(s,d.LOADING_MEASUREMENT_LIST_SUCCEEDED,function(e){return(0,u["default"])({},e,{loading:!1})}),(0,i["default"])(s,d.LOADING_MEASUREMENT_LIST_FAILED,function(e){return(0,u["default"])({},e,{loading:!1})}),s),p={loading:!1,selectedMeasurements:null,openMeasurement:{},isMeasurementOpen:!1,visibilityFilter:{hiddenDecks:[]},showNormal:!0}},,,,,,,,,,,,,,,,,,function(e,t,n){e.exports={"default":n(922),__esModule:!0}},function(e,t,n){e.exports={"default":n(924),__esModule:!0}},,,,,,function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}t.__esModule=!0;var r=n(873),s=a(r),o=n(563),i=a(o);t["default"]=function(){function e(e,t){var n=[],a=!0,r=!1,s=void 0;try{for(var o,l=(0,i["default"])(e);!(a=(o=l.next()).done)&&(n.push(o.value),!t||n.length!==t);a=!0);}catch(u){r=!0,s=u}finally{try{!a&&l["return"]&&l["return"]()}finally{if(r)throw s}}return n}return function(t,n){if(Array.isArray(t))return t;if((0,s["default"])(Object(t)))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"apathy",author:"jannik siebert (https://github.com/janniks)",base00:"#031A16",base01:"#0B342D",base02:"#184E45",base03:"#2B685E",base04:"#5F9C92",base05:"#81B5AC",base06:"#A7CEC8",base07:"#D2E7E4",base08:"#3E9688",base09:"#3E7996",base0A:"#3E4C96",base0B:"#883E96",base0C:"#963E4C",base0D:"#96883E",base0E:"#4C963E",base0F:"#3E965B"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"ashes",author:"jannik siebert (https://github.com/janniks)",base00:"#1C2023",base01:"#393F45",base02:"#565E65",base03:"#747C84",base04:"#ADB3BA",base05:"#C7CCD1",base06:"#DFE2E5",base07:"#F3F4F5",base08:"#C7AE95",base09:"#C7C795",base0A:"#AEC795",base0B:"#95C7AE",base0C:"#95AEC7",base0D:"#AE95C7",base0E:"#C795AE",base0F:"#C79595"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"atelier dune",author:"bram de haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune)",base00:"#20201d",base01:"#292824",base02:"#6e6b5e",base03:"#7d7a68",base04:"#999580",base05:"#a6a28c",base06:"#e8e4cf",base07:"#fefbec",base08:"#d73737",base09:"#b65611",base0A:"#cfb017",base0B:"#60ac39",base0C:"#1fad83",base0D:"#6684e1",base0E:"#b854d4",base0F:"#d43552"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"atelier forest",author:"bram de haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest)",base00:"#1b1918",base01:"#2c2421",base02:"#68615e",base03:"#766e6b",base04:"#9c9491",base05:"#a8a19f",base06:"#e6e2e0",base07:"#f1efee",base08:"#f22c40",base09:"#df5320",base0A:"#d5911a",base0B:"#5ab738",base0C:"#00ad9c",base0D:"#407ee7",base0E:"#6666ea",base0F:"#c33ff3"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"atelier heath",author:"bram de haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath)",base00:"#1b181b",base01:"#292329",base02:"#695d69",base03:"#776977",base04:"#9e8f9e",base05:"#ab9bab",base06:"#d8cad8",base07:"#f7f3f7",base08:"#ca402b",base09:"#a65926",base0A:"#bb8a35",base0B:"#379a37",base0C:"#159393",base0D:"#516aec",base0E:"#7b59c0",base0F:"#cc33cc"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"atelier lakeside",author:"bram de haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside/)",base00:"#161b1d",base01:"#1f292e",base02:"#516d7b",base03:"#5a7b8c",base04:"#7195a8",base05:"#7ea2b4",base06:"#c1e4f6",base07:"#ebf8ff",base08:"#d22d72",base09:"#935c25",base0A:"#8a8a0f",base0B:"#568c3b",base0C:"#2d8f6f",base0D:"#257fad",base0E:"#5d5db1",base0F:"#b72dd2"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"atelier seaside",author:"bram de haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside/)",base00:"#131513",base01:"#242924",base02:"#5e6e5e",base03:"#687d68",base04:"#809980",base05:"#8ca68c",base06:"#cfe8cf",base07:"#f0fff0",base08:"#e6193c",base09:"#87711d",base0A:"#c3c322",base0B:"#29a329",base0C:"#1999b3",base0D:"#3d62f5",base0E:"#ad2bee",base0F:"#e619c3"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"bespin",author:"jan t. sott",base00:"#28211c",base01:"#36312e",base02:"#5e5d5c",base03:"#666666",base04:"#797977",base05:"#8a8986",base06:"#9d9b97",base07:"#baae9e",base08:"#cf6a4c",base09:"#cf7d34",base0A:"#f9ee98",base0B:"#54be0d",base0C:"#afc4db",base0D:"#5ea6ea",base0E:"#9b859d",base0F:"#937121"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"brewer",author:"timothée poisot (http://github.com/tpoisot)",base00:"#0c0d0e",base01:"#2e2f30",base02:"#515253",base03:"#737475",base04:"#959697",base05:"#b7b8b9",base06:"#dadbdc",base07:"#fcfdfe",base08:"#e31a1c",base09:"#e6550d",base0A:"#dca060",base0B:"#31a354",base0C:"#80b1d3",base0D:"#3182bd",base0E:"#756bb1",base0F:"#b15928"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"bright",author:"chris kempson (http://chriskempson.com)",base00:"#000000",base01:"#303030",base02:"#505050",base03:"#b0b0b0",base04:"#d0d0d0",base05:"#e0e0e0",base06:"#f5f5f5",base07:"#ffffff",base08:"#fb0120",base09:"#fc6d24",base0A:"#fda331",base0B:"#a1c659",base0C:"#76c7b7",base0D:"#6fb3d2",base0E:"#d381c3",base0F:"#be643c"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"chalk",author:"chris kempson (http://chriskempson.com)",base00:"#151515",base01:"#202020",base02:"#303030",base03:"#505050",base04:"#b0b0b0",base05:"#d0d0d0",base06:"#e0e0e0",base07:"#f5f5f5",base08:"#fb9fb1",base09:"#eda987",base0A:"#ddb26f",base0B:"#acc267",base0C:"#12cfc0",base0D:"#6fc2ef",base0E:"#e1a3ee",base0F:"#deaf8f"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"codeschool",author:"brettof86",base00:"#232c31",base01:"#1c3657",base02:"#2a343a",base03:"#3f4944",base04:"#84898c",base05:"#9ea7a6",base06:"#a7cfa3",base07:"#b5d8f6",base08:"#2a5491",base09:"#43820d",base0A:"#a03b1e",base0B:"#237986",base0C:"#b02f30",base0D:"#484d79",base0E:"#c59820",base0F:"#c98344"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"colors",author:"mrmrs (http://clrs.cc)",base00:"#111111",base01:"#333333",base02:"#555555",base03:"#777777",base04:"#999999",base05:"#bbbbbb",base06:"#dddddd",base07:"#ffffff",base08:"#ff4136",base09:"#ff851b",base0A:"#ffdc00",base0B:"#2ecc40",base0C:"#7fdbff",base0D:"#0074d9",base0E:"#b10dc9",base0F:"#85144b"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"default",author:"chris kempson (http://chriskempson.com)",base00:"#181818",base01:"#282828",base02:"#383838",base03:"#585858",base04:"#b8b8b8",base05:"#d8d8d8",base06:"#e8e8e8",base07:"#f8f8f8",base08:"#ab4642",base09:"#dc9656",base0A:"#f7ca88",base0B:"#a1b56c",base0C:"#86c1b9",base0D:"#7cafc2",base0E:"#ba8baf",base0F:"#a16946"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"eighties",author:"chris kempson (http://chriskempson.com)",base00:"#2d2d2d",base01:"#393939",base02:"#515151",base03:"#747369",base04:"#a09f93",base05:"#d3d0c8",base06:"#e8e6df",base07:"#f2f0ec",base08:"#f2777a",base09:"#f99157",base0A:"#ffcc66",base0B:"#99cc99",base0C:"#66cccc",base0D:"#6699cc",base0E:"#cc99cc",base0F:"#d27b53"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"embers",author:"jannik siebert (https://github.com/janniks)",base00:"#16130F",base01:"#2C2620",base02:"#433B32",base03:"#5A5047",base04:"#8A8075",base05:"#A39A90",base06:"#BEB6AE",base07:"#DBD6D1",base08:"#826D57",base09:"#828257",base0A:"#6D8257",base0B:"#57826D",base0C:"#576D82",base0D:"#6D5782",base0E:"#82576D",base0F:"#825757"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"flat",author:"chris kempson (http://chriskempson.com)",base00:"#2C3E50",base01:"#34495E",base02:"#7F8C8D",base03:"#95A5A6",base04:"#BDC3C7",base05:"#e0e0e0",base06:"#f5f5f5",base07:"#ECF0F1",base08:"#E74C3C",base09:"#E67E22",base0A:"#F1C40F",base0B:"#2ECC71",base0C:"#1ABC9C",base0D:"#3498DB",base0E:"#9B59B6",base0F:"#be643c"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"google",author:"seth wright (http://sethawright.com)",base00:"#1d1f21",base01:"#282a2e",base02:"#373b41",base03:"#969896",base04:"#b4b7b4",base05:"#c5c8c6",base06:"#e0e0e0",base07:"#ffffff",base08:"#CC342B",base09:"#F96A38",base0A:"#FBA922",base0B:"#198844",base0C:"#3971ED",base0D:"#3971ED",base0E:"#A36AC7",base0F:"#3971ED"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"grayscale",author:"alexandre gavioli (https://github.com/alexx2/)",base00:"#101010",base01:"#252525",base02:"#464646",base03:"#525252",base04:"#ababab",base05:"#b9b9b9",base06:"#e3e3e3",base07:"#f7f7f7",base08:"#7c7c7c",base09:"#999999",base0A:"#a0a0a0",base0B:"#8e8e8e",base0C:"#868686",base0D:"#686868",base0E:"#747474",base0F:"#5e5e5e"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"green screen",author:"chris kempson (http://chriskempson.com)",base00:"#001100",base01:"#003300",base02:"#005500",base03:"#007700",base04:"#009900",base05:"#00bb00",base06:"#00dd00",base07:"#00ff00",base08:"#007700",base09:"#009900",base0A:"#007700",base0B:"#00bb00",base0C:"#005500",base0D:"#009900",base0E:"#00bb00",base0F:"#005500"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"harmonic16",author:"jannik siebert (https://github.com/janniks)",base00:"#0b1c2c",base01:"#223b54",base02:"#405c79",base03:"#627e99",base04:"#aabcce",base05:"#cbd6e2",base06:"#e5ebf1",base07:"#f7f9fb",base08:"#bf8b56",base09:"#bfbf56",base0A:"#8bbf56",base0B:"#56bf8b",base0C:"#568bbf",base0D:"#8b56bf",base0E:"#bf568b",base0F:"#bf5656"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"hopscotch",author:"jan t. sott",base00:"#322931",base01:"#433b42",base02:"#5c545b",base03:"#797379",base04:"#989498",base05:"#b9b5b8",base06:"#d5d3d5",base07:"#ffffff",base08:"#dd464c",base09:"#fd8b19",base0A:"#fdcc59",base0B:"#8fc13e",base0C:"#149b93",base0D:"#1290bf",base0E:"#c85e7c",base0F:"#b33508"},e.exports=t["default"]},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e["default"]:e}t.__esModule=!0;var r=n(915);t.threezerotwofour=a(r);var s=n(881);t.apathy=a(s);var o=n(882);t.ashes=a(o);var i=n(883);t.atelierDune=a(i);var l=n(884);t.atelierForest=a(l);var u=n(885);t.atelierHeath=a(u);var d=n(886);t.atelierLakeside=a(d);var c=n(887);t.atelierSeaside=a(c);var p=n(888);t.bespin=a(p);var _=n(889);t.brewer=a(_);var f=n(890);t.bright=a(f);var m=n(891);t.chalk=a(m);var h=n(892);t.codeschool=a(h);var y=n(893);t.colors=a(y);var g=n(894);t["default"]=a(g);var b=n(895);t.eighties=a(b);var v=n(896);t.embers=a(v);var M=n(897);t.flat=a(M);var T=n(898);t.google=a(T);var L=n(899);t.grayscale=a(L);var E=n(900);t.greenscreen=a(E);var k=n(901);t.harmonic=a(k);var D=n(902);t.hopscotch=a(D);var w=n(904);t.isotope=a(w);var Y=n(905);t.marrakesh=a(Y);var S=n(906);t.mocha=a(S);var C=n(907);t.monokai=a(C);var O=n(908);t.ocean=a(O);var P=n(909);t.paraiso=a(P);var R=n(910);t.pop=a(R);var x=n(911);t.railscasts=a(x);var A=n(912);t.shapeshifter=a(A);var N=n(913);t.solarized=a(N);var H=n(914);t.summerfruit=a(H);var j=n(916);t.tomorrow=a(j);var F=n(917);t.tube=a(F);var I=n(918);t.twilight=a(I)},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"isotope",author:"jan t. sott",base00:"#000000",base01:"#404040",base02:"#606060",base03:"#808080",base04:"#c0c0c0",base05:"#d0d0d0",base06:"#e0e0e0",base07:"#ffffff",base08:"#ff0000",base09:"#ff9900",base0A:"#ff0099",base0B:"#33ff00",base0C:"#00ffff",base0D:"#0066ff",base0E:"#cc00ff",base0F:"#3300ff"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"marrakesh",author:"alexandre gavioli (http://github.com/alexx2/)",base00:"#201602",base01:"#302e00",base02:"#5f5b17",base03:"#6c6823",base04:"#86813b",base05:"#948e48",base06:"#ccc37a",base07:"#faf0a5",base08:"#c35359",base09:"#b36144",base0A:"#a88339",base0B:"#18974e",base0C:"#75a738",base0D:"#477ca1",base0E:"#8868b3",base0F:"#b3588e"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"mocha",author:"chris kempson (http://chriskempson.com)",base00:"#3B3228",base01:"#534636",base02:"#645240",base03:"#7e705a",base04:"#b8afad",base05:"#d0c8c6",base06:"#e9e1dd",base07:"#f5eeeb",base08:"#cb6077",base09:"#d28b71",base0A:"#f4bc87",base0B:"#beb55b",base0C:"#7bbda4",base0D:"#8ab3b5",base0E:"#a89bb9",base0F:"#bb9584"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"monokai",author:"wimer hazenberg (http://www.monokai.nl)",base00:"#272822",base01:"#383830",base02:"#49483e",base03:"#75715e",base04:"#a59f85",base05:"#f8f8f2",base06:"#f5f4f1",base07:"#f9f8f5",base08:"#f92672",base09:"#fd971f",base0A:"#f4bf75",base0B:"#a6e22e",base0C:"#a1efe4",base0D:"#66d9ef",base0E:"#ae81ff",base0F:"#cc6633"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"ocean",author:"chris kempson (http://chriskempson.com)",base00:"#2b303b",base01:"#343d46",base02:"#4f5b66",base03:"#65737e",base04:"#a7adba",base05:"#c0c5ce",base06:"#dfe1e8",base07:"#eff1f5",base08:"#bf616a",base09:"#d08770",base0A:"#ebcb8b",base0B:"#a3be8c",base0C:"#96b5b4",base0D:"#8fa1b3",base0E:"#b48ead",base0F:"#ab7967"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"paraiso",author:"jan t. sott",base00:"#2f1e2e",base01:"#41323f",base02:"#4f424c",base03:"#776e71",base04:"#8d8687",base05:"#a39e9b",base06:"#b9b6b0",base07:"#e7e9db",base08:"#ef6155",base09:"#f99b15",base0A:"#fec418",base0B:"#48b685",base0C:"#5bc4bf",base0D:"#06b6ef",base0E:"#815ba4",base0F:"#e96ba8"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"pop",author:"chris kempson (http://chriskempson.com)",base00:"#000000",base01:"#202020",base02:"#303030",base03:"#505050",base04:"#b0b0b0",base05:"#d0d0d0",base06:"#e0e0e0",base07:"#ffffff",base08:"#eb008a",base09:"#f29333",base0A:"#f8ca12",base0B:"#37b349",base0C:"#00aabb",base0D:"#0e5a94",base0E:"#b31e8d",base0F:"#7a2d00"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"railscasts",author:"ryan bates (http://railscasts.com)",base00:"#2b2b2b",base01:"#272935",base02:"#3a4055",base03:"#5a647e",base04:"#d4cfc9",base05:"#e6e1dc",base06:"#f4f1ed",base07:"#f9f7f3",base08:"#da4939",base09:"#cc7833",base0A:"#ffc66d",base0B:"#a5c261",base0C:"#519f50",base0D:"#6d9cbe",base0E:"#b6b3eb",base0F:"#bc9458"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"shapeshifter",author:"tyler benziger (http://tybenz.com)",base00:"#000000",base01:"#040404",base02:"#102015",base03:"#343434",base04:"#555555",base05:"#ababab",base06:"#e0e0e0",base07:"#f9f9f9",base08:"#e92f2f",base09:"#e09448",base0A:"#dddd13",base0B:"#0ed839",base0C:"#23edda",base0D:"#3b48e3",base0E:"#f996e2",base0F:"#69542d"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"solarized",author:"ethan schoonover (http://ethanschoonover.com/solarized)",base00:"#002b36",base01:"#073642",base02:"#586e75",base03:"#657b83",base04:"#839496",base05:"#93a1a1",base06:"#eee8d5",base07:"#fdf6e3",base08:"#dc322f",base09:"#cb4b16",base0A:"#b58900",base0B:"#859900",base0C:"#2aa198",base0D:"#268bd2",base0E:"#6c71c4",base0F:"#d33682"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"summerfruit",author:"christopher corley (http://cscorley.github.io/)",base00:"#151515",base01:"#202020",base02:"#303030",base03:"#505050",base04:"#B0B0B0",base05:"#D0D0D0",base06:"#E0E0E0",base07:"#FFFFFF",base08:"#FF0086",base09:"#FD8900",base0A:"#ABA800",base0B:"#00C918",base0C:"#1faaaa",base0D:"#3777E6",base0E:"#AD00A1",base0F:"#cc6633"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"threezerotwofour",author:"jan t. sott (http://github.com/idleberg)",base00:"#090300",base01:"#3a3432",base02:"#4a4543",base03:"#5c5855",base04:"#807d7c",base05:"#a5a2a2",base06:"#d6d5d4",base07:"#f7f7f7",base08:"#db2d20",base09:"#e8bbd0",base0A:"#fded02",base0B:"#01a252",base0C:"#b5e4f4",base0D:"#01a0e4",base0E:"#a16a94",base0F:"#cdab53"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"tomorrow",author:"chris kempson (http://chriskempson.com)",base00:"#1d1f21",base01:"#282a2e",base02:"#373b41",base03:"#969896",base04:"#b4b7b4",base05:"#c5c8c6",base06:"#e0e0e0",base07:"#ffffff",base08:"#cc6666",base09:"#de935f",base0A:"#f0c674",base0B:"#b5bd68",base0C:"#8abeb7",base0D:"#81a2be",base0E:"#b294bb",base0F:"#a3685a"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"london tube",author:"jan t. sott",base00:"#231f20",base01:"#1c3f95",base02:"#5a5758",base03:"#737171",base04:"#959ca1",base05:"#d9d8d8",base06:"#e7e7e8",base07:"#ffffff",base08:"#ee2e24",base09:"#f386a1",base0A:"#ffd204",base0B:"#00853e",base0C:"#85cebc",base0D:"#009ddc",base0E:"#98005d",base0F:"#b06110"},e.exports=t["default"]},function(e,t){"use strict";t.__esModule=!0,t["default"]={scheme:"twilight",author:"david hart (http://hart-dev.com)",base00:"#1e1e1e",base01:"#323537",base02:"#464b50",base03:"#5f5a60",base04:"#838184",base05:"#a7a7a7",base06:"#c3c3c3",base07:"#ffffff",base08:"#cf6a4c",base09:"#cda869",base0A:"#f9ee98",base0B:"#8f9d6a",base0C:"#afc4db",base0D:"#7587a6",base0E:"#9b859d",base0F:"#9b703f"},e.exports=t["default"]},,,function(e,t,n){n(581),n(351),e.exports=n(955)},function(e,t,n){n(581),n(351),e.exports=n(956)},,function(e,t,n){n(959),e.exports=n(23).Number.isSafeInteger},,,,function(e,t,n){n(963);var a=n(23).Object;e.exports=function(e){return a.getOwnPropertyNames(e)}},,,,,,,,,,,,,,function(e,t,n){var a=n(136),r=Math.floor;e.exports=function(e){return!a(e)&&isFinite(e)&&r(e)===e}},,,,,,,,,,,,,function(e,t,n){var a=n(119),r=n(694);e.exports=n(23).getIterator=function(e){var t=r(e);if("function"!=typeof t)throw TypeError(e+" is not iterable!");return a(t.call(e))}},function(e,t,n){var a=n(682),r=n(50)("iterator"),s=n(137);e.exports=n(23).isIterable=function(e){var t=Object(e);return void 0!==t[r]||"@@iterator"in t||s.hasOwnProperty(a(t))}},,,function(e,t,n){var a=n(55),r=n(942),s=Math.abs;a(a.S,"Number",{isSafeInteger:function(e){return r(e)&&s(e)<=9007199254740991}})},,,,function(e,t,n){n(349)("getOwnPropertyNames",function(){return n(688).f})},,,,,,,,,,,,,,,,973,973,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t){(function(t){function n(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function a(e,t){for(var n=-1,a=e?e.length:0;++n-1}function s(e,t,n,a){for(var r=e.length,s=n+(a?1:-1);a?s--:++s1&&D.reverse(),_&&u1?"& ":"")+t[a],t=t.join(n>2?", ":" "),e.replace(ce,"{\n/* [wrapped with "+t+"] */\n")}function Y(e,t){return t=null==t?ne:t,!!t&&("number"==typeof e||ge.test(e))&&e>-1&&e%1==0&&e2?e:void 0}(),Ae=xe?function(e,t,n){var a=t+"";return xe(e,"toString",{configurable:!0,enumerable:!1,value:U(w(a,P(D(a),n)))})}:W;R.placeholder={},e.exports=R}).call(t,function(){return this}())},function(e,t){(function(t){function n(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function a(e,t){for(var n=-1,a=t.length,r=e.length;++n0&&n(d)?t>1?r(d,t-1,n,s,o):a(o,d):s||(o[o.length]=d)}return o}function s(e,t){return t=S(void 0===t?e.length-1:t,0),function(){for(var a=arguments,r=-1,s=S(a.length-t,0),o=Array(s);++r-1&&e%1==0&&e<=h}function _(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function f(e){return!!e&&"object"==typeof e}var m="Expected a function",h=9007199254740991,y="[object Arguments]",g="[object Function]",b="[object GeneratorFunction]",v="object"==typeof t&&t&&t.Object===Object&&t,M="object"==typeof self&&self&&self.Object===Object&&self,T=v||M||Function("return this")(),L=Object.prototype,E=L.hasOwnProperty,k=L.toString,D=T.Symbol,w=L.propertyIsEnumerable,Y=D?D.isConcatSpreadable:void 0,S=Math.max,C=Array.isArray,O=o();e.exports=O}).call(t,function(){return this}())},function(e,t){function n(e){var t,n,a,r,s,o=e[0]/360,i=e[1]/100,l=e[2]/100;if(0==i)return s=255*l,[s,s,s];n=l<.5?l*(1+i):l+i-l*i,t=2*l-n,r=[0,0,0];for(var u=0;u<3;u++)a=o+1/3*-(u-1),a<0&&a++,a>1&&a--,s=6*a<1?t+6*(n-t)*a:2*a<1?n:3*a<2?t+(n-t)*(2/3-a)*6:t,r[u]=255*s;return r}e.exports=n},function(e,t,n){function a(e){var t=Math.round(s(e,0,255)),n=t.toString(16);return 1==n.length?"0"+n:n}function r(e){return"#"+a(e[0])+a(e[1])+a(e[2])}var s=n(597);e.exports=r},function(e,t){function n(e){return 4===e.length&&(e="#"+e.charAt(1)+e.charAt(1)+e.charAt(2)+e.charAt(2)+e.charAt(3)+e.charAt(3)),[parseInt(e.substring(1,3),16),parseInt(e.substring(3,5),16),parseInt(e.substring(5,7),16)]}e.exports=n},function(e,t,n){function a(e,t){switch(e=parseFloat(e),t){case 0:return o(e,0,360);case 1:case 2:return o(e,0,100);case 3:return o(e,0,1)}}function r(e){return s(e).map(a)}var s=n(709),o=n(597);e.exports=r},function(e,t,n){function a(e){var t=s(e),n=l(t);return 4===t.length&&n.push(t[3]),n}function r(e){for(var t in u)if(0===e.indexOf(t))return u[t](e)}var s=n(1026),o=n(1025),i=n(1028),l=n(1023),u={"#":o,hsl:a,rgb:i};r.rgb=i,r.hsl=s,r.hex=o,e.exports=r},function(e,t,n){function a(e,t){return t<3?e.indexOf("%")!=-1?Math.round(255*o(parseInt(e,10),0,100)/100):o(parseInt(e,10),0,255):o(parseFloat(e),0,1)}function r(e){return s(e).map(a)}var s=n(709),o=n(597);e.exports=r},,,function(e,t){"use strict";function n(e){var t,n,a,r=e[0],s=e[1],o=e[2];return t=1*r+0*s+1.13983*o,n=1*r+s*-.39465+o*-.5806,a=1*r+2.02311*s+0*o,t=Math.min(Math.max(0,t),1),n=Math.min(Math.max(0,n),1),a=Math.min(Math.max(0,a),1),[255*t,255*n,255*a]}function a(e){var t=e[0]/255,n=e[1]/255,a=e[2]/255,r=.299*t+.587*n+.114*a,s=t*-.14713+n*-.28886+.436*a,o=.615*t+n*-.51499+a*-.10001;return[r,s,o]}Object.defineProperty(t,"__esModule",{value:!0}),t.yuv2rgb=n,t.rgb2yuv=a},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}t.__esModule=!0,t["default"]=void 0;var r,s,o=n(12),i=a(o),l=n(32),u=a(l),d=n(39),c=a(d),p=n(38),_=a(p),f=n(2),m=a(f),h=n(741),y=a(h),g=(s=r=function(e){function t(n){(0,u["default"])(this,t);var a=(0,c["default"])(this,e.call(this,n));return a.state={expanded:!1},a.handleClick=a.handleClick.bind(a),a}return(0,_["default"])(t,e),t.prototype.render=function(){var e=this.props,t=e.styling,n=e.from,a=e.to,r=e.renderChildNodes,s=e.nodeType;return this.state.expanded?m["default"].createElement("div",t("itemRange",this.state.expanded),r(this.props,n,a)):m["default"].createElement("div",(0,i["default"])({},t("itemRange",this.state.expanded),{onClick:this.handleClick}),m["default"].createElement(y["default"],{nodeType:s,styling:t,expanded:!1,onClick:this.handleClick,arrowStyle:"double"}),n+" ... "+a)},t.prototype.handleClick=function(){this.setState({expanded:!this.state.expanded})},t}(m["default"].Component),r.propTypes={styling:f.PropTypes.func.isRequired,from:f.PropTypes.number.isRequired,to:f.PropTypes.number.isRequired,renderChildNodes:f.PropTypes.func.isRequired,nodeType:f.PropTypes.string.isRequired},s);t["default"]=g},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e){return e.length+" "+(1!==e.length?"items":"item")}t.__esModule=!0;var s=n(12),o=a(s),i=n(208),l=a(i),u=n(2),d=a(u),c=n(637),p=a(c),_=function(e){var t=e.data,n=(0,l["default"])(e,["data"]);return d["default"].createElement(p["default"],(0,o["default"])({},n,{data:t,nodeType:"Array",nodeTypeIndicator:"[]",createItemString:r,expandable:t.length>0}))};_.propTypes={data:u.PropTypes.array},t["default"]=_},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){var n=0,a=!1;if((0,_["default"])(e.size))n=e.size;else for(var r=e,s=Array.isArray(r),o=0,r=s?r:(0,c["default"])(r);;){var i;if(s){if(o>=r.length)break;i=r[o++]}else{if(o=r.next(),o.done)break;i=o.value}if(t&&n+1>t){a=!0;break}n+=1}return""+(a?">":"")+n+" "+(1!==n?"entries":"entry")}function s(e){var t=(0,u["default"])(e,[]);return m["default"].createElement(y["default"],(0,i["default"])({},t,{nodeType:"Iterable",nodeTypeIndicator:"()",createItemString:r}))}t.__esModule=!0;var o=n(12),i=a(o),l=n(208),u=a(l),d=n(563),c=a(d),p=n(874),_=a(p);t["default"]=s;var f=n(2),m=a(f),h=n(637),y=a(h)},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e){var t=(0,d["default"])(e).length;return t+" "+(1!==t?"keys":"key")}t.__esModule=!0;var s=n(12),o=a(s),i=n(208),l=a(i),u=n(679),d=a(u),c=n(2),p=a(c),_=n(637),f=a(_),m=function(e){var t=e.data,n=(0,l["default"])(e,["data"]);return p["default"].createElement(f["default"],(0,o["default"])({},n,{data:t,nodeType:"Object",nodeTypeIndicator:"Error"===n.nodeType?"Error()":"{}",createItemString:r,expandable:(0,d["default"])(t).length>0}))};m.propTypes={data:c.PropTypes.object,nodeType:c.PropTypes.string},t["default"]=m},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}t.__esModule=!0;var r=n(2),s=a(r),o=function(e){var t=e.nodeType,n=e.styling,a=e.labelRenderer,r=e.keyPath,o=e.valueRenderer,i=e.value,l=e.valueGetter;return s["default"].createElement("li",n("value",t,r),s["default"].createElement("label",n(["label","valueLabel"],t,r),a(r,t,!1,!1)),s["default"].createElement("span",n("valueText",t,r),o.apply(void 0,[l(i),i].concat(r))))};o.propTypes={nodeType:r.PropTypes.string.isRequired,styling:r.PropTypes.func.isRequired,labelRenderer:r.PropTypes.func.isRequired,keyPath:r.PropTypes.arrayOf(r.PropTypes.oneOfType([r.PropTypes.string,r.PropTypes.number])).isRequired,valueRenderer:r.PropTypes.func.isRequired,value:r.PropTypes.any,valueGetter:r.PropTypes.func},o.defaultProps={valueGetter:function(e){return e}},t["default"]=o},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}t.__esModule=!0;var r=n(12),s=a(r),o=n(1128),i=a(o),l=n(711),u=function(e){return{BACKGROUND_COLOR:e.base00,TEXT_COLOR:e.base07,STRING_COLOR:e.base0B,DATE_COLOR:e.base0B,NUMBER_COLOR:e.base09,BOOLEAN_COLOR:e.base09,NULL_COLOR:e.base08,UNDEFINED_COLOR:e.base08,FUNCTION_COLOR:e.base08,SYMBOL_COLOR:e.base08,LABEL_COLOR:e.base0D,ARROW_COLOR:e.base0D,ITEM_STRING_COLOR:e.base0B,ITEM_STRING_EXPANDED_COLOR:e.base03}},d=function(e){return{String:e.STRING_COLOR,Date:e.DATE_COLOR,Number:e.NUMBER_COLOR,Boolean:e.BOOLEAN_COLOR,Null:e.NULL_COLOR,Undefined:e.UNDEFINED_COLOR,Function:e.FUNCTION_COLOR,Symbol:e.SYMBOL_COLOR}},c=function(e){var t=u(e);return{tree:{border:0,padding:0,marginTop:"0.5em",marginBottom:"0.5em",marginLeft:"0.125em",marginRight:0,listStyle:"none",MozUserSelect:"none",WebkitUserSelect:"none",backgroundColor:t.BACKGROUND_COLOR},value:function(e,t,n){var a=e.style;return{style:(0,s["default"])({},a,{paddingTop:"0.25em",paddingRight:0,marginLeft:"0.875em",WebkitUserSelect:"text",MozUserSelect:"text",wordWrap:"break-word",paddingLeft:n.length>1?"2.125em":"1.25em",textIndent:"-0.5em",wordBreak:"break-all"})}},label:{display:"inline-block",color:t.LABEL_COLOR},valueLabel:{margin:"0 0.5em 0 0"},valueText:function(e,n){var a=e.style;return{style:(0,s["default"])({},a,{color:d(t)[n]})}},itemRange:function(e,n){e.style;return{style:{paddingTop:n?0:"0.25em",cursor:"pointer",color:t.LABEL_COLOR}}},arrow:function(e,t,n){var a=e.style;return{style:(0,s["default"])({},a,{marginLeft:0,transition:"150ms",WebkitTransition:"150ms",MozTransition:"150ms",WebkitTransform:n?"rotateZ(90deg)":"rotateZ(0deg)",MozTransform:n?"rotateZ(90deg)":"rotateZ(0deg)",transform:n?"rotateZ(90deg)":"rotateZ(0deg)",transformOrigin:"45% 50%",WebkitTransformOrigin:"45% 50%",MozTransformOrigin:"45% 50%",position:"relative",lineHeight:"1.1em",fontSize:"0.75em"})}},arrowContainer:function(e,t){var n=e.style;return{style:(0,s["default"])({},n,{display:"inline-block",paddingRight:"0.5em",paddingLeft:"double"===t?"1em":0,cursor:"pointer"})}},arrowSign:{color:t.ARROW_COLOR},arrowSignInner:{position:"absolute",top:0,left:"-0.4em"},nestedNode:function(e,t,n,a,r){var o=e.style;return{style:(0,s["default"])({},o,{position:"relative",paddingTop:"0.25em",marginLeft:t.length>1?"0.875em":0,paddingLeft:r?0:"1.125em"})}},rootNode:{padding:0,margin:0},nestedNodeLabel:function(e,t,n,a,r){var o=e.style;return{style:(0,s["default"])({},o,{margin:0,padding:0,WebkitUserSelect:r?"inherit":"text",MozUserSelect:r?"inherit":"text",cursor:r?"pointer":"default"})}},nestedNodeItemString:function(e,n,a,r){var o=e.style;return{style:(0,s["default"])({},o,{paddingLeft:"0.5em",cursor:"default",color:r?t.ITEM_STRING_EXPANDED_COLOR:t.ITEM_STRING_COLOR})}},nestedNodeItemType:{marginLeft:"0.3em",marginRight:"0.3em"},nestedNodeChildren:function(e,t,n){var a=e.style;return{style:(0,s["default"])({},a,{padding:0,margin:0,listStyle:"none",display:n?"block":"none"})}},rootNodeChildren:{padding:0,margin:0,listStyle:"none"}}};t["default"]=(0,l.createStyling)(c,{defaultBase16:i["default"]})},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){return"Object"===e?(0,f["default"])(t).length:"Array"===e?t.length:1/0}function s(e){return"function"==typeof e.set}function o(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1/0,o=void 0;if("Object"===e){var i=(0,p["default"])(t);"undefined"!=typeof n&&i.sort(n),i=i.slice(a,r+1),o={entries:i.map(function(e){return{key:e,value:t[e]}})}}else if("Array"===e)o={entries:t.slice(a,r+1).map(function(e,t){return{key:t+a,value:e}})};else{for(var l=0,u=[],c=!0,_=s(t),f=t,m=Array.isArray(f),h=0,f=m?f:(0,d["default"])(f);;){var y;if(m){if(h>=f.length)break;y=f[h++]}else{if(h=f.next(),h.done)break;y=h.value}var g=y;if(l>r){c=!1;break}a<=l&&(_&&Array.isArray(g)?"string"==typeof g[0]||"number"==typeof g[0]?u.push({key:g[0],value:g[1]}):u.push({key:"[entry "+l+"]",value:{"[key]":g[0],"[value]":g[1]}}):u.push({key:l,value:g})),l++}o={hasMore:!c,entries:u}}return o}function i(e,t,n){for(var a=[];t-e>n*n;)n*=n;for(var r=e;r<=t;r+=n)a.push({from:r,to:Math.min(t,r+n-1)});return a}function l(e,t,n,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:1/0,u=o.bind(null,e,t,n);if(!a)return u().entries;var d=l<1/0,c=Math.min(l-s,r(e,t));if("Iterable"!==e){if(c<=a||a<7)return u(s,l).entries}else if(c<=a&&!d)return u(s,l).entries;var p=void 0;if("Iterable"===e){var _=u(s,s+a-1),f=_.hasMore,m=_.entries;p=f?[].concat(m,i(s+a,s+2*a-1,a)):m}else p=d?i(s,l,a):[].concat(u(0,a-5).entries,i(a-4,c-5,a),u(c-4,c-1).entries);return p}t.__esModule=!0;var u=n(563),d=a(u),c=n(679),p=a(c),_=n(118),f=a(_);t["default"]=l},function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){var n={getArrowStyle:"arrow",getListStyle:"nestedNodeChildren",getItemStringStyle:"nestedNodeItemString",getLabelStyle:"label",getValueStyle:"valueText"},a=(0,b["default"])(n).filter(function(e){return t[e]});return a.length>0&&(e="string"==typeof e?{extend:e}:(0,y["default"])({},e),a.forEach(function(a){console.error('Styling method "'+a+'" is deprecated, use "theme" property instead'),e[n[a]]=function(e){for(var n=arguments.length,r=Array(n>1?n-1:0),s=1;s0&&void 0!==arguments[0]?arguments[0]:f,t=arguments[1],a=c[t.type];return a?a(e,t):e}Object.defineProperty(t,"__esModule",{value:!0});var o,r=a(49),s=l(r),u=a(12),d=l(u);t.logsReducer=n;var i=a(561),c=(o={},(0,s["default"])(o,i.UPLOADING_LOGS,function(e){return(0,d["default"])({},e,{uploading:!0})}),(0,s["default"])(o,i.LOADING_LOGS,function(e){return(0,d["default"])({},e,{loading:!0})}),(0,s["default"])(o,i.LOADING_LOGS_SUCCEEDED,function(e,t){return(0,d["default"])({},e,{loading:!1,latest:t.latest,older:t.older})}),o),f={loading:!1,uploading:!1,latest:"",older:[]}},978:973});ooniprobe-2.2.0/ooni/ui/web/client/vendor.c8637e95835a4a051245.js0000644000175000017500000025423613071152212021525 0ustar irlirl!function(t){function e(n){if(r[n])return r[n].exports;var o=r[n]={exports:{},id:n,loaded:!1};return t[n].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n=window.webpackJsonp;window.webpackJsonp=function(i,u){for(var a,c,s=0,f=[];s0?void 0:(0,p["default"])(!1),null!=l&&(i+=encodeURI(l));else if("("===s)c[o]="",o+=1;else if(")"===s){var v=c.pop();o-=1,o?c[o-1]+=v:i+=v}else if(":"===s.charAt(0))if(f=s.substring(1),l=e[f],null!=l||o>0?void 0:(0,p["default"])(!1),null==l){if(o){c[o-1]="";for(var y=r.indexOf(s),m=r.slice(y,r.length),g=-1,b=0;b0?void 0:(0,p["default"])(!1),d=y+g-1}}else o?c[o-1]+=encodeURIComponent(l):i+=encodeURIComponent(l);else o?c[o-1]+=s:i+=s;return o<=0?void 0:(0,p["default"])(!1),i.replace(/\/+/g,"/")}e.__esModule=!0,e.compilePattern=u,e.matchPattern=a,e.getParamNames=c,e.getParams=s,e.formatPattern=f;var l=n(16),p=r(l),d=Object.create(null)},148:function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(e.indexOf("deprecated")!==-1){if(c[e])return;c[e]=!0}e="[react-router] "+e;for(var n=arguments.length,r=Array(n>2?n-2:0),o=2;o1){for(var y=Array(v),m=0;m1){for(var b=Array(g),P=0;P should not have a "'+e+'" prop')}e.__esModule=!0,e.routes=e.route=e.components=e.component=e.history=void 0,e.falsy=r;var o=n(2),i=o.PropTypes.func,u=o.PropTypes.object,a=o.PropTypes.arrayOf,c=o.PropTypes.oneOfType,s=o.PropTypes.element,f=o.PropTypes.shape,l=o.PropTypes.string,p=(e.history=f({listen:i.isRequired,push:i.isRequired,replace:i.isRequired,go:i.isRequired,goBack:i.isRequired,goForward:i.isRequired}),e.component=c([i,l])),d=(e.components=c([p,u]),e.route=c([u,s]));e.routes=c([d,a(d)])},333:function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}e.__esModule=!0,e.createMemoryHistory=e.hashHistory=e.browserHistory=e.applyRouterMiddleware=e.formatPattern=e.useRouterHistory=e.match=e.routerShape=e.locationShape=e.RouterContext=e.createRoutes=e.Route=e.Redirect=e.IndexRoute=e.IndexRedirect=e.withRouter=e.IndexLink=e.Link=e.Router=void 0;var o=n(82);Object.defineProperty(e,"createRoutes",{enumerable:!0,get:function(){return o.createRoutes}});var i=n(641);Object.defineProperty(e,"locationShape",{enumerable:!0,get:function(){return i.locationShape}}),Object.defineProperty(e,"routerShape",{enumerable:!0,get:function(){return i.routerShape}});var u=n(147);Object.defineProperty(e,"formatPattern",{enumerable:!0,get:function(){return u.formatPattern}});var a=n(1151),c=r(a),s=n(746),f=r(s),l=n(1147),p=r(l),d=n(1162),h=r(d),v=n(1148),y=r(v),m=n(1149),g=r(m),b=n(748),P=r(b),_=n(1150),w=r(_),O=n(642),E=r(O),x=n(1160),R=r(x),S=n(753),M=r(S),j=n(1153),C=r(j),A=n(1154),T=r(A),k=n(1158),I=r(k),N=n(750),L=r(N);e.Router=c["default"],e.Link=f["default"],e.IndexLink=p["default"],e.withRouter=h["default"],e.IndexRedirect=y["default"],e.IndexRoute=g["default"],e.Redirect=P["default"],e.Route=w["default"],e.RouterContext=E["default"],e.match=R["default"],e.useRouterHistory=M["default"],e.applyRouterMiddleware=C["default"],e.browserHistory=T["default"],e.hashHistory=I["default"],e.createMemoryHistory=L["default"]},353:function(t,e){"use strict";e.__esModule=!0;e.canUseDOM=!("undefined"==typeof window||!window.document||!window.document.createElement)},354:function(t,e){"use strict";var n={childContextTypes:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,mixins:!0,propTypes:!0,type:!0},r={name:!0,length:!0,prototype:!0,caller:!0,arguments:!0,arity:!0},o="function"==typeof Object.getOwnPropertySymbols;t.exports=function(t,e,i){if("string"!=typeof e){var u=Object.getOwnPropertyNames(e);o&&(u=u.concat(Object.getOwnPropertySymbols(e)));for(var a=0;a1?e-1:0),o=1;o1?e-1:0),o=1;o=t&&c&&(u=!0,n()))}}var i=0,u=!1,a=!1,c=!1,s=void 0;o()}function r(t,e,n){function r(t,e,r){u||(e?(u=!0,n(e)):(i[t]=r,u=++a===o,u&&n(null,i)))}var o=t.length,i=[];if(0===o)return n(null,i);var u=!1,a=0;t.forEach(function(t,n){e(t,n,function(t,e){r(n,t,e)})})}e.__esModule=!0,e.loopAsync=n,e.mapAsync=r},640:function(t,e,n){"use strict";function r(t){return"@@contextSubscriber/"+t}function o(t){var e,n,o=r(t),i=o+"/listeners",u=o+"/eventIndex",c=o+"/subscribe";return n={childContextTypes:(e={},e[o]=a.isRequired,e),getChildContext:function(){var t;return t={},t[o]={eventIndex:this[u],subscribe:this[c]},t},componentWillMount:function(){this[i]=[],this[u]=0},componentWillReceiveProps:function(){this[u]++},componentDidUpdate:function(){var t=this;this[i].forEach(function(e){return e(t[u])})}},n[c]=function(t){var e=this;return this[i].push(t),function(){e[i]=e[i].filter(function(e){return e!==t})}},n}function i(t){var e,n,o=r(t),i=o+"/lastRenderedEventIndex",u=o+"/handleContextUpdate",c=o+"/unsubscribe";return n={contextTypes:(e={},e[o]=a,e),getInitialState:function(){var t;return this.context[o]?(t={},t[i]=this.context[o].eventIndex,t):{}},componentDidMount:function(){this.context[o]&&(this[c]=this.context[o].subscribe(this[u]))},componentWillReceiveProps:function(){var t;this.context[o]&&this.setState((t={},t[i]=this.context[o].eventIndex,t))},componentWillUnmount:function(){this[c]&&(this[c](),this[c]=null)}},n[u]=function(t){if(t!==this.state[i]){var e;this.setState((e={},e[i]=t,e))}},n}e.__esModule=!0,e.ContextProvider=o,e.ContextSubscriber=i;var u=n(2),a=u.PropTypes.shape({subscribe:u.PropTypes.func.isRequired,eventIndex:u.PropTypes.number.isRequired})},641:function(t,e,n){"use strict";e.__esModule=!0,e.locationShape=e.routerShape=void 0;var r=n(2),o=r.PropTypes.func,i=r.PropTypes.object,u=r.PropTypes.shape,a=r.PropTypes.string;e.routerShape=u({push:o.isRequired,replace:o.isRequired,go:o.isRequired,goBack:o.isRequired,goForward:o.isRequired,setRouteLeaveHook:o.isRequired,isActive:o.isRequired}),e.locationShape=u({pathname:a.isRequired,search:a.isRequired,state:i,action:a.isRequired,key:a})},642:function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}e.__esModule=!0;var o=Object.assign||function(t){for(var e=1;e=0&&e=0&&y=0||Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n}function i(t){return 0===t.button}function u(t){return!!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}function a(t){for(var e in t)if(Object.prototype.hasOwnProperty.call(t,e))return!1;return!0}function c(t,e){return"function"==typeof t?t(e.location):t}e.__esModule=!0;var s=Object.assign||function(t){for(var e=1;e=0;r--){var o=t[r],i=o.path||"";if(n=i.replace(/\/*$/,"/")+n,0===i.indexOf("/"))break}return"/"+n}},propTypes:{path:p,from:p,to:p.isRequired,query:d,state:d,onEnter:f.falsy,children:f.falsy},render:function(){(0,a["default"])(!1)}});e["default"]=h,t.exports=e["default"]},749:function(t,e){"use strict";function n(t,e,n){var i=o({},t,{setRouteLeaveHook:e.listenBeforeLeavingRoute,isActive:e.isActive});return r(i,n)}function r(t,e){var n=e.location,r=e.params,o=e.routes;return t.location=n,t.params=r,t.routes=o,t}e.__esModule=!0;var o=Object.assign||function(t){for(var e=1;e1&&void 0!==arguments[1]&&arguments[1];return t.__id__||e&&(t.__id__=_++)}function c(t){return t.map(function(t){return w[a(t)]}).filter(function(t){return t})}function l(t,n){(0,y["default"])(e,t,function(e,r){if(null==r)return void n();P=u({},r,{location:t});for(var o=c((0,s["default"])(b,P).leaveRoutes),i=void 0,a=0,f=o.length;null==i&&a=t&&u&&(o=!0,n()))}};s()}},994:function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}e.__esModule=!0,e.replaceLocation=e.pushLocation=e.startListener=e.getCurrentLocation=e.go=e.getUserConfirmation=void 0;var o=n(590);Object.defineProperty(e,"getUserConfirmation",{enumerable:!0,get:function(){return o.getUserConfirmation}}),Object.defineProperty(e,"go",{enumerable:!0,get:function(){return o.go}});var i=n(79),u=(r(i),n(124)),a=n(211),c=n(695),s=n(81),f="hashchange",l=function(){var t=window.location.href,e=t.indexOf("#");return e===-1?"":t.substring(e+1)},p=function(t){return window.location.hash=t},d=function(t){var e=window.location.href.indexOf("#");window.location.replace(window.location.href.slice(0,e>=0?e:0)+"#"+t)},h=e.getCurrentLocation=function(t,e){var n=t.decodePath(l()),r=(0,s.getQueryStringValueFromPath)(n,e),o=void 0;r&&(n=(0,s.stripQueryStringValueFromPath)(n,e),o=(0,c.readState)(r));var i=(0,s.parsePath)(n);return i.state=o,(0,u.createLocation)(i,void 0,r)},v=void 0,y=(e.startListener=function(t,e,n){var r=function(){var r=l(),o=e.encodePath(r);if(r!==o)d(o);else{var i=h(e,n);if(v&&i.key&&v.key===i.key)return;v=i,t(i)}},o=l(),i=e.encodePath(o);return o!==i&&d(i),(0,a.addEventListener)(window,f,r),function(){return(0,a.removeEventListener)(window,f,r)}},function(t,e,n,r){var o=t.state,i=t.key,u=e.encodePath((0,s.createPath)(t));void 0!==o&&(u=(0,s.addQueryStringValueToPath)(u,n,i),(0,c.saveState)(i,o)),v=t,r(u)});e.pushLocation=function(t,e,n){return y(t,e,n,function(t){l()!==t&&p(t)})},e.replaceLocation=function(t,e,n){return y(t,e,n,function(t){l()!==t&&d(t)})}},995:function(t,e,n){"use strict";e.__esModule=!0,e.replaceLocation=e.pushLocation=e.getCurrentLocation=e.go=e.getUserConfirmation=void 0;var r=n(590);Object.defineProperty(e,"getUserConfirmation",{enumerable:!0,get:function(){return r.getUserConfirmation}}),Object.defineProperty(e,"go",{enumerable:!0,get:function(){return r.go}});var o=n(124),i=n(81);e.getCurrentLocation=function(){return(0,o.createLocation)(window.location)},e.pushLocation=function(t){return window.location.href=(0,i.createPath)(t),!1},e.replaceLocation=function(t){return window.location.replace((0,i.createPath)(t)),!1}},1029:function(t,e,n){"use strict";function r(t,e){return e.encode?e.strict?o(t):encodeURIComponent(t):t}var o=n(1440),i=n(5);e.extract=function(t){return t.split("?")[1]||""},e.parse=function(t){var e=Object.create(null);return"string"!=typeof t?e:(t=t.trim().replace(/^(\?|#|&)/,""))?(t.split("&").forEach(function(t){var n=t.replace(/\+/g," ").split("="),r=n.shift(),o=n.length>0?n.join("="):void 0;r=decodeURIComponent(r),o=void 0===o?null:decodeURIComponent(o),void 0===e[r]?e[r]=o:Array.isArray(e[r])?e[r].push(o):e[r]=[e[r],o]}),e):e},e.stringify=function(t,e){var n={encode:!0,strict:!0};return e=i(n,e),t?Object.keys(t).sort().map(function(n){var o=t[n];if(void 0===o)return"";if(null===o)return r(n,e);if(Array.isArray(o)){var i=[];return o.slice().forEach(function(t){void 0!==t&&(null===t?i.push(r(n,e)):i.push(r(n,e)+"="+r(t,e)))}),i.join("&")}return r(n,e)+"="+r(o,e)}).filter(function(t){return t.length>0}).join("&"):""}},1134:function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function u(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}e.__esModule=!0,e["default"]=void 0;var a=n(2),c=n(638),s=r(c),f=n(744),l=(r(f),function(t){function e(n,r){o(this,e);var u=i(this,t.call(this,n,r));return u.store=n.store,u}return u(e,t),e.prototype.getChildContext=function(){return{store:this.store}},e.prototype.render=function(){return a.Children.only(this.props.children)},e}(a.Component));e["default"]=l,l.propTypes={store:s["default"].isRequired,children:a.PropTypes.element.isRequired},l.childContextTypes={store:s["default"].isRequired}},1135:function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function u(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function a(t){return t.displayName||t.name||"Component"}function c(t,e){try{return t.apply(e)}catch(n){return S.value=n,S}}function s(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},s=Boolean(t),p=t||E,h=void 0;h="function"==typeof e?e:e?(0,m["default"])(e):x;var y=n||R,g=r.pure,b=void 0===g||g,P=r.withRef,w=void 0!==P&&P,j=b&&y!==R,C=M++;return function(t){function e(t,e,n){var r=y(t,e,n);return r}var n="Connect("+a(t)+")",r=function(r){function a(t,e){o(this,a);var u=i(this,r.call(this,t,e));u.version=C,u.store=t.store||e.store,(0,O["default"])(u.store,'Could not find "store" in either the context or '+('props of "'+n+'". ')+"Either wrap the root component in a , "+('or explicitly pass "store" as a prop to "'+n+'".'));var c=u.store.getState();return u.state={storeState:c},u.clearCache(),u}return u(a,r),a.prototype.shouldComponentUpdate=function(){return!b||this.haveOwnPropsChanged||this.hasStoreStateChanged},a.prototype.computeStateProps=function(t,e){if(!this.finalMapStateToProps)return this.configureFinalMapState(t,e);var n=t.getState(),r=this.doStatePropsDependOnOwnProps?this.finalMapStateToProps(n,e):this.finalMapStateToProps(n);return r},a.prototype.configureFinalMapState=function(t,e){var n=p(t.getState(),e),r="function"==typeof n;return this.finalMapStateToProps=r?n:p,this.doStatePropsDependOnOwnProps=1!==this.finalMapStateToProps.length,r?this.computeStateProps(t,e):n},a.prototype.computeDispatchProps=function(t,e){if(!this.finalMapDispatchToProps)return this.configureFinalMapDispatch(t,e);var n=t.dispatch,r=this.doDispatchPropsDependOnOwnProps?this.finalMapDispatchToProps(n,e):this.finalMapDispatchToProps(n);return r},a.prototype.configureFinalMapDispatch=function(t,e){var n=h(t.dispatch,e),r="function"==typeof n;return this.finalMapDispatchToProps=r?n:h,this.doDispatchPropsDependOnOwnProps=1!==this.finalMapDispatchToProps.length,r?this.computeDispatchProps(t,e):n},a.prototype.updateStatePropsIfNeeded=function(){var t=this.computeStateProps(this.store,this.props);return(!this.stateProps||!(0,v["default"])(t,this.stateProps))&&(this.stateProps=t,!0)},a.prototype.updateDispatchPropsIfNeeded=function(){var t=this.computeDispatchProps(this.store,this.props);return(!this.dispatchProps||!(0,v["default"])(t,this.dispatchProps))&&(this.dispatchProps=t,!0)},a.prototype.updateMergedPropsIfNeeded=function(){var t=e(this.stateProps,this.dispatchProps,this.props);return!(this.mergedProps&&j&&(0,v["default"])(t,this.mergedProps))&&(this.mergedProps=t,!0)},a.prototype.isSubscribed=function(){return"function"==typeof this.unsubscribe},a.prototype.trySubscribe=function(){s&&!this.unsubscribe&&(this.unsubscribe=this.store.subscribe(this.handleChange.bind(this)),this.handleChange())},a.prototype.tryUnsubscribe=function(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null)},a.prototype.componentDidMount=function(){this.trySubscribe()},a.prototype.componentWillReceiveProps=function(t){b&&(0,v["default"])(t,this.props)||(this.haveOwnPropsChanged=!0)},a.prototype.componentWillUnmount=function(){this.tryUnsubscribe(),this.clearCache()},a.prototype.clearCache=function(){this.dispatchProps=null,this.stateProps=null,this.mergedProps=null,this.haveOwnPropsChanged=!0,this.hasStoreStateChanged=!0,this.haveStatePropsBeenPrecalculated=!1,this.statePropsPrecalculationError=null,this.renderedElement=null,this.finalMapDispatchToProps=null,this.finalMapStateToProps=null},a.prototype.handleChange=function(){if(this.unsubscribe){var t=this.store.getState(),e=this.state.storeState;if(!b||e!==t){if(b&&!this.doStatePropsDependOnOwnProps){var n=c(this.updateStatePropsIfNeeded,this);if(!n)return;n===S&&(this.statePropsPrecalculationError=S.value),this.haveStatePropsBeenPrecalculated=!0}this.hasStoreStateChanged=!0,this.setState({storeState:t})}}},a.prototype.getWrappedInstance=function(){return(0,O["default"])(w,"To access the wrapped instance, you need to specify { withRef: true } as the fourth argument of the connect() call."),this.refs.wrappedInstance},a.prototype.render=function(){var e=this.haveOwnPropsChanged,n=this.hasStoreStateChanged,r=this.haveStatePropsBeenPrecalculated,o=this.statePropsPrecalculationError,i=this.renderedElement;if(this.haveOwnPropsChanged=!1,this.hasStoreStateChanged=!1,this.haveStatePropsBeenPrecalculated=!1,this.statePropsPrecalculationError=null,o)throw o;var u=!0,a=!0;b&&i&&(u=n||e&&this.doStatePropsDependOnOwnProps,a=e&&this.doDispatchPropsDependOnOwnProps);var c=!1,s=!1;r?c=!0:u&&(c=this.updateStatePropsIfNeeded()),a&&(s=this.updateDispatchPropsIfNeeded());var p=!0;return p=!!(c||s||e)&&this.updateMergedPropsIfNeeded(),!p&&i?i:(w?this.renderedElement=(0,l.createElement)(t,f({},this.mergedProps,{ref:"wrappedInstance"})):this.renderedElement=(0,l.createElement)(t,this.mergedProps),this.renderedElement)},a}(l.Component);return r.displayName=n,r.WrappedComponent=t,r.contextTypes={store:d["default"]},r.propTypes={store:d["default"]},(0,_["default"])(r,t)}}e.__esModule=!0;var f=Object.assign||function(t){for(var e=1;e=0||Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n}e.__esModule=!0;var i=Object.assign||function(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:i.createElement;return function(e,n){return a.reduceRight(function(t,e){return e(t,n)},t(e,n))}};return function(t){return r.reduceRight(function(e,n){return n(e,t)},u["default"].createElement(c["default"],o({},t,{createElement:s(t.createElement)})))}},t.exports=e["default"]},1154:function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}e.__esModule=!0;var o=n(696),i=r(o),u=n(751),a=r(u);e["default"]=(0,a["default"])(i["default"]),t.exports=e["default"]},1155:function(t,e,n){"use strict";function r(t,e,n){if(!t.path)return!1;var r=(0,i.getParamNames)(t.path);return r.some(function(t){return e.params[t]!==n.params[t]})}function o(t,e){var n=t&&t.routes,o=e.routes,i=void 0,u=void 0,a=void 0;return n?!function(){var c=!1;i=n.filter(function(n){if(c)return!0;var i=o.indexOf(n)===-1||r(n,t,e);return i&&(c=!0),i}),i.reverse(),a=[],u=[],o.forEach(function(t){var e=n.indexOf(t)===-1,r=i.indexOf(t)!==-1;e||r?a.push(t):u.push(t)})}():(i=[],u=[],a=o),{leaveRoutes:i,changeRoutes:u,enterRoutes:a}}e.__esModule=!0;var i=n(147);e["default"]=o,t.exports=e["default"]},1156:function(t,e,n){"use strict";function r(t,e,n){if(e.component||e.components)return void n(null,e.component||e.components);var r=e.getComponent||e.getComponents;if(r){var o=r.call(e,t,n);(0,u.isPromise)(o)&&o.then(function(t){return n(null,t)},n)}else n()}function o(t,e){(0,i.mapAsync)(t.routes,function(e,n,o){r(t,e,o)},e)}e.__esModule=!0;var i=n(639),u=n(747);e["default"]=o,t.exports=e["default"]},1157:function(t,e,n){"use strict";function r(t,e){var n={}; return t.path?((0,o.getParamNames)(t.path).forEach(function(t){Object.prototype.hasOwnProperty.call(e,t)&&(n[t]=e[t])}),n):n}e.__esModule=!0;var o=n(147);e["default"]=r,t.exports=e["default"]},1158:function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}e.__esModule=!0;var o=n(697),i=r(o),u=n(751),a=r(u);e["default"]=(0,a["default"])(i["default"]),t.exports=e["default"]},1159:function(t,e,n){"use strict";function r(t,e){if(t==e)return!0;if(null==t||null==e)return!1;if(Array.isArray(t))return Array.isArray(e)&&t.length===e.length&&t.every(function(t,n){return r(t,e[n])});if("object"===("undefined"==typeof t?"undefined":c(t))){for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n))if(void 0===t[n]){if(void 0!==e[n])return!1}else{if(!Object.prototype.hasOwnProperty.call(e,n))return!1;if(!r(t[n],e[n]))return!1}return!0}return String(t)===String(e)}function o(t,e){return"/"!==e.charAt(0)&&(e="/"+e),"/"!==t.charAt(t.length-1)&&(t+="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e===t}function i(t,e,n){for(var r=t,o=[],i=[],u=0,a=e.length;u=0||Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r]);return n}function i(t,e){var n=t.history,r=t.routes,i=t.location,c=o(t,["history","routes","location"]);n||i?void 0:(0,s["default"])(!1),n=n?n:(0,l["default"])(c);var f=(0,d["default"])(n,(0,h.createRoutes)(r));i=i?n.createLocation(i):n.getCurrentLocation(),f.match(i,function(t,r,o){var i=void 0;if(o){var c=(0,v.createRouterObject)(n,f,o);i=u({},o,{router:c,matchContext:{transitionManager:f,router:c}})}e(t,r&&n.createLocation(r,a.REPLACE),i)})}e.__esModule=!0;var u=Object.assign||function(t){for(var e=1;e4&&void 0!==arguments[4]?arguments[4]:[],i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[];void 0===r&&("/"!==e.pathname.charAt(0)&&(e=f({},e,{pathname:"/"+e.pathname})),r=e.pathname),(0,p.loopAsync)(t.length,function(n,u,a){c(t[n],e,r,o,i,function(t,e){t||e?a(t,e):u()})},n)}e.__esModule=!0;var f=Object.assign||function(t){for(var e=1;e>"),S={array:u("array"),bool:u("boolean"),func:u("function"),number:u("number"),object:u("object"),string:u("string"),symbol:u("symbol"),any:a(),arrayOf:c,element:s(),instanceOf:f,node:h(),objectOf:p,oneOf:l,oneOfType:d,shape:v};o.prototype=Error.prototype,t.exports=S},1278:function(t,e){"use strict";var n="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";t.exports=n},1279:function(t,e,n){"use strict";function r(t,e,n){this.props=t,this.context=e,this.refs=c,this.updater=n||a}function o(){}var i=n(5),u=n(652),a=n(654),c=n(29);o.prototype=u.prototype,r.prototype=new o,r.prototype.constructor=r,i(r.prototype,u.prototype),r.prototype.isPureReactComponent=!0,t.exports=r},1282:function(t,e){"use strict";t.exports="15.4.1"},1429:function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(){for(var t=arguments.length,e=Array(t),n=0;n0)for(n=0;n0?"future":"past"];return w(n)?n(t):n.replace(/%s/i,t)}function N(e,t){var n=e.toLowerCase();Hr[n]=Hr[n+"s"]=Hr[t]=e}function j(e){return"string"==typeof e?Hr[e]||Hr[e.toLowerCase()]:void 0}function I(e){var t,n,r={};for(n in e)c(e,n)&&(t=j(n),t&&(r[t]=e[n]));return r}function F(e,t){Nr[e]=t}function W(e){var t=[];for(var n in e)t.push({unit:n,priority:Nr[n]});return t.sort(function(e,t){return e.priority-t.priority}),t}function U(e,n){return function(r){return null!=r?(V(this,e,r),t.updateOffset(this,n),this):z(this,e)}}function z(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function V(e,t,n){e.isValid()&&e._d["set"+(e._isUTC?"UTC":"")+t](n)}function B(e){return e=j(e),w(this[e])?this[e]():this}function G(e,t){if("object"==typeof e){e=I(e);for(var n=W(e),r=0;r=0;return(o?n?"+":"":"-")+Math.pow(10,Math.max(0,a)).toString().substr(1)+r}function J(e,t,n,r){var a=r;"string"==typeof r&&(a=function(){return this[r]()}),e&&(Wr[e]=a),t&&(Wr[t[0]]=function(){return K(a.apply(this,arguments),t[1],t[2])}),n&&(Wr[n]=function(){return this.localeData().ordinal(a.apply(this,arguments),e)})}function q(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function X(e){var t,n,r=e.match(jr);for(t=0,n=r.length;t=0&&Ir.test(e);)e=e.replace(Ir,n),Ir.lastIndex=0,r-=1;return e}function Q(e,t,n){oa[e]=w(t)?t:function(e,r){return e&&n?n:t}}function ee(e,t){return c(oa,e)?oa[e](t._strict,t._locale):new RegExp(te(e))}function te(e){return ne(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,r,a){return t||n||r||a}))}function ne(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function re(e,t){var n,r=t;for("string"==typeof e&&(e=[e]),l(t)&&(r=function(e,n){n[t]=L(e)}),n=0;n=0&&isFinite(i.getFullYear())&&i.setFullYear(e),i}function Te(e){var t=new Date(Date.UTC.apply(null,arguments));return e<100&&e>=0&&isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e),t}function Le(e,t,n){var r=7+t-n,a=(7+Te(e,0,r).getUTCDay()-t)%7;return-a+r-1}function be(e,t,n,r,a){var o,s,i=(7+n-r)%7,l=Le(e,r,a),u=1+7*(t-1)+i+l;return u<=0?(o=e-1,s=ye(o)+u):u>ye(e)?(o=e+1,s=u-ye(e)):(o=e,s=u),{year:o,dayOfYear:s}}function ke(e,t,n){var r,a,o=Le(e.year(),t,n),s=Math.floor((e.dayOfYear()-o-1)/7)+1;return s<1?(a=e.year()-1,r=s+Ee(a,t,n)):s>Ee(e.year(),t,n)?(r=s-Ee(e.year(),t,n),a=e.year()+1):(a=e.year(),r=s),{week:r,year:a}}function Ee(e,t,n){var r=Le(e,t,n),a=Le(e+1,t,n);return(ye(e)-r+a)/7}function De(e){return ke(e,this._week.dow,this._week.doy).week}function we(){return this._week.dow}function Ye(){return this._week.doy}function Se(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")}function Ce(e){var t=ke(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")}function Pe(e,t){return"string"!=typeof e?e:isNaN(e)?(e=t.weekdaysParse(e),"number"==typeof e?e:null):parseInt(e,10)}function Oe(e,t){return"string"==typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}function Re(e,t){return e?a(this._weekdays)?this._weekdays[e.day()]:this._weekdays[this._weekdays.isFormat.test(t)?"format":"standalone"][e.day()]:a(this._weekdays)?this._weekdays:this._weekdays.standalone}function xe(e){return e?this._weekdaysShort[e.day()]:this._weekdaysShort}function Ae(e){return e?this._weekdaysMin[e.day()]:this._weekdaysMin}function He(e,t,n){var r,a,o,s=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;r<7;++r)o=p([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(o,"").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(o,"").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(o,"").toLocaleLowerCase();return n?"dddd"===t?(a=ha.call(this._weekdaysParse,s),a!==-1?a:null):"ddd"===t?(a=ha.call(this._shortWeekdaysParse,s),a!==-1?a:null):(a=ha.call(this._minWeekdaysParse,s),a!==-1?a:null):"dddd"===t?(a=ha.call(this._weekdaysParse,s),a!==-1?a:(a=ha.call(this._shortWeekdaysParse,s),a!==-1?a:(a=ha.call(this._minWeekdaysParse,s),a!==-1?a:null))):"ddd"===t?(a=ha.call(this._shortWeekdaysParse,s),a!==-1?a:(a=ha.call(this._weekdaysParse,s),a!==-1?a:(a=ha.call(this._minWeekdaysParse,s),a!==-1?a:null))):(a=ha.call(this._minWeekdaysParse,s),a!==-1?a:(a=ha.call(this._weekdaysParse,s),a!==-1?a:(a=ha.call(this._shortWeekdaysParse,s),a!==-1?a:null)))}function Ne(e,t,n){var r,a,o;if(this._weekdaysParseExact)return He.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){if(a=p([2e3,1]).day(r),n&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp("^"+this.weekdays(a,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[r]=new RegExp("^"+this.weekdaysShort(a,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[r]=new RegExp("^"+this.weekdaysMin(a,"").replace(".",".?")+"$","i")),this._weekdaysParse[r]||(o="^"+this.weekdays(a,"")+"|^"+this.weekdaysShort(a,"")+"|^"+this.weekdaysMin(a,""),this._weekdaysParse[r]=new RegExp(o.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[r].test(e))return r;if(n&&"ddd"===t&&this._shortWeekdaysParse[r].test(e))return r;if(n&&"dd"===t&&this._minWeekdaysParse[r].test(e))return r;if(!n&&this._weekdaysParse[r].test(e))return r}}function je(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=Pe(e,this.localeData()),this.add(e-t,"d")):t}function Ie(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")}function Fe(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=Oe(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7}function We(e){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||Ve.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(c(this,"_weekdaysRegex")||(this._weekdaysRegex=wa),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)}function Ue(e){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||Ve.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(c(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Ya),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function ze(e){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")||Ve.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(c(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Sa),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Ve(){function e(e,t){return t.length-e.length}var t,n,r,a,o,s=[],i=[],l=[],u=[];for(t=0;t<7;t++)n=p([2e3,1]).day(t),r=this.weekdaysMin(n,""),a=this.weekdaysShort(n,""),o=this.weekdays(n,""),s.push(r),i.push(a),l.push(o),u.push(r),u.push(a),u.push(o);for(s.sort(e),i.sort(e),l.sort(e),u.sort(e),t=0;t<7;t++)i[t]=ne(i[t]),l[t]=ne(l[t]),u[t]=ne(u[t]);this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+s.join("|")+")","i")}function Be(){return this.hours()%12||12}function Ge(){return this.hours()||24}function Ke(e,t){J(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function Je(e,t){return t._meridiemParse}function qe(e){return"p"===(e+"").toLowerCase().charAt(0)}function Xe(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"}function $e(e){return e?e.toLowerCase().replace("_","-"):e}function Ze(e){for(var t,n,r,a,o=0;o0;){if(r=Qe(a.slice(0,t).join("-")))return r;if(n&&n.length>=t&&b(a,n,!0)>=t-1)break;t--}o++}return null}function Qe(t){var r=null;if(!xa[t]&&"undefined"!=typeof e&&e&&e.exports)try{r=Ca._abbr,n(596)("./"+t),et(r)}catch(a){}return xa[t]}function et(e,t){var n;return e&&(n=i(t)?rt(e):tt(e,t),n&&(Ca=n)),Ca._abbr}function tt(e,t){if(null!==t){var n=Ra;if(t.abbr=e,null!=xa[e])D("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),n=xa[e]._config;else if(null!=t.parentLocale){if(null==xa[t.parentLocale])return Aa[t.parentLocale]||(Aa[t.parentLocale]=[]),Aa[t.parentLocale].push({name:e,config:t}),null;n=xa[t.parentLocale]._config}return xa[e]=new C(S(n,t)),Aa[e]&&Aa[e].forEach(function(e){tt(e.name,e.config)}),et(e),xa[e]}return delete xa[e],null}function nt(e,t){if(null!=t){var n,r=Ra;null!=xa[e]&&(r=xa[e]._config),t=S(r,t),n=new C(t),n.parentLocale=xa[e],xa[e]=n,et(e)}else null!=xa[e]&&(null!=xa[e].parentLocale?xa[e]=xa[e].parentLocale:null!=xa[e]&&delete xa[e]);return xa[e]}function rt(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return Ca;if(!a(e)){if(t=Qe(e))return t;e=[e]}return Ze(e)}function at(){return Sr(xa)}function ot(e){var t,n=e._a;return n&&m(e).overflow===-2&&(t=n[la]<0||n[la]>11?la:n[ua]<1||n[ua]>se(n[ia],n[la])?ua:n[da]<0||n[da]>24||24===n[da]&&(0!==n[ca]||0!==n[_a]||0!==n[pa])?da:n[ca]<0||n[ca]>59?ca:n[_a]<0||n[_a]>59?_a:n[pa]<0||n[pa]>999?pa:-1,m(e)._overflowDayOfYear&&(tua)&&(t=ua),m(e)._overflowWeeks&&t===-1&&(t=fa),m(e)._overflowWeekday&&t===-1&&(t=ma),m(e).overflow=t),e}function st(e){var t,n,r,a,o,s,i=e._i,l=Ha.exec(i)||Na.exec(i);if(l){for(m(e).iso=!0,t=0,n=Ia.length;t10?"YYYY ":"YY "),o="HH:mm"+(n[4]?":ss":""),n[1]){var c=new Date(n[2]),_=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][c.getDay()];if(n[1].substr(0,3)!==_)return m(e).weekdayMismatch=!0,void(e._isValid=!1)}switch(n[5].length){case 2:0===l?i=" +0000":(l=d.indexOf(n[5][1].toUpperCase())-12,i=(l<0?" -":" +")+(""+l).replace(/^-?/,"0").match(/..$/)[0]+"00");break;case 4:i=u[n[5]];break;default:i=u[" GMT"]}n[5]=i,e._i=n.splice(1).join(""),s=" ZZ",e._f=r+a+o+s,pt(e),m(e).rfc2822=!0}else e._isValid=!1}function lt(e){var n=Wa.exec(e._i);return null!==n?void(e._d=new Date((+n[1]))):(st(e),void(e._isValid===!1&&(delete e._isValid,it(e),e._isValid===!1&&(delete e._isValid,t.createFromInputFallback(e)))))}function ut(e,t,n){return null!=e?e:null!=t?t:n}function dt(e){var n=new Date(t.now());return e._useUTC?[n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()]:[n.getFullYear(),n.getMonth(),n.getDate()]}function ct(e){var t,n,r,a,o=[];if(!e._d){for(r=dt(e),e._w&&null==e._a[ua]&&null==e._a[la]&&_t(e),null!=e._dayOfYear&&(a=ut(e._a[ia],r[ia]),(e._dayOfYear>ye(a)||0===e._dayOfYear)&&(m(e)._overflowDayOfYear=!0),n=Te(a,0,e._dayOfYear),e._a[la]=n.getUTCMonth(),e._a[ua]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=o[t]=r[t];for(;t<7;t++)e._a[t]=o[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[da]&&0===e._a[ca]&&0===e._a[_a]&&0===e._a[pa]&&(e._nextDay=!0,e._a[da]=0),e._d=(e._useUTC?Te:Me).apply(null,o),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[da]=24)}}function _t(e){var t,n,r,a,o,s,i,l;if(t=e._w,null!=t.GG||null!=t.W||null!=t.E)o=1,s=4,n=ut(t.GG,e._a[ia],ke(Tt(),1,4).year),r=ut(t.W,1),a=ut(t.E,1),(a<1||a>7)&&(l=!0);else{o=e._locale._week.dow,s=e._locale._week.doy;var u=ke(Tt(),o,s);n=ut(t.gg,e._a[ia],u.year),r=ut(t.w,u.week),null!=t.d?(a=t.d,(a<0||a>6)&&(l=!0)):null!=t.e?(a=t.e+o,(t.e<0||t.e>6)&&(l=!0)):a=o}r<1||r>Ee(n,o,s)?m(e)._overflowWeeks=!0:null!=l?m(e)._overflowWeekday=!0:(i=be(n,r,a,o,s),e._a[ia]=i.year,e._dayOfYear=i.dayOfYear)}function pt(e){if(e._f===t.ISO_8601)return void st(e);if(e._f===t.RFC_2822)return void it(e);e._a=[],m(e).empty=!0;var n,r,a,o,s,i=""+e._i,l=i.length,u=0;for(a=Z(e._f,e._locale).match(jr)||[],n=0;n0&&m(e).unusedInput.push(s),i=i.slice(i.indexOf(r)+r.length),u+=r.length),Wr[o]?(r?m(e).empty=!1:m(e).unusedTokens.push(o),oe(o,r,e)):e._strict&&!r&&m(e).unusedTokens.push(o);m(e).charsLeftOver=l-u,i.length>0&&m(e).unusedInput.push(i),e._a[da]<=12&&m(e).bigHour===!0&&e._a[da]>0&&(m(e).bigHour=void 0),m(e).parsedDateParts=e._a.slice(0),m(e).meridiem=e._meridiem,e._a[da]=ft(e._locale,e._a[da],e._meridiem),ct(e),ot(e)}function ft(e,t,n){var r;return null==n?t:null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?(r=e.isPM(n),r&&t<12&&(t+=12),r||12!==t||(t=0),t):t}function mt(e){var t,n,r,a,o;if(0===e._f.length)return m(e).invalidFormat=!0,void(e._d=new Date(NaN));for(a=0;athis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ut(){if(!i(this._isDSTShifted))return this._isDSTShifted;var e={};if(v(e,this),e=vt(e),e._a){var t=e._isUTC?p(e._a):Tt(e._a);this._isDSTShifted=this.isValid()&&b(e._a,t.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function zt(){return!!this.isValid()&&!this._isUTC}function Vt(){return!!this.isValid()&&this._isUTC}function Bt(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Gt(e,t){var n,r,a,o=e,s=null;return St(e)?o={ms:e._milliseconds,d:e._days,M:e._months}:l(e)?(o={},t?o[t]=e:o.milliseconds=e):(s=Ja.exec(e))?(n="-"===s[1]?-1:1,o={y:0,d:L(s[ua])*n,h:L(s[da])*n,m:L(s[ca])*n,s:L(s[_a])*n,ms:L(Ct(1e3*s[pa]))*n}):(s=qa.exec(e))?(n="-"===s[1]?-1:1,o={y:Kt(s[2],n),M:Kt(s[3],n),w:Kt(s[4],n),d:Kt(s[5],n),h:Kt(s[6],n),m:Kt(s[7],n),s:Kt(s[8],n)}):null==o?o={}:"object"==typeof o&&("from"in o||"to"in o)&&(a=qt(Tt(o.from),Tt(o.to)),o={},o.ms=a.milliseconds,o.M=a.months),r=new Yt(o),St(e)&&c(e,"_locale")&&(r._locale=e._locale),r}function Kt(e,t){var n=e&&parseFloat(e.replace(",","."));return(isNaN(n)?0:n)*t}function Jt(e,t){var n={milliseconds:0,months:0};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,"M").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,"M"),n}function qt(e,t){var n;return e.isValid()&&t.isValid()?(t=Rt(t,e),e.isBefore(t)?n=Jt(e,t):(n=Jt(t,e),n.milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function Xt(e,t){return function(n,r){var a,o;return null===r||isNaN(+r)||(D(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),o=n,n=r,r=o),n="string"==typeof n?+n:n,a=Gt(n,r),$t(this,a,e),this}}function $t(e,n,r,a){var o=n._milliseconds,s=Ct(n._days),i=Ct(n._months);e.isValid()&&(a=null==a||a,o&&e._d.setTime(e._d.valueOf()+o*r),s&&V(e,"Date",z(e,"Date")+s*r),i&&ce(e,z(e,"Month")+i*r),a&&t.updateOffset(e,s||i))}function Zt(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"}function Qt(e,n){var r=e||Tt(),a=Rt(r,this).startOf("day"),o=t.calendarFormat(this,a)||"sameElse",s=n&&(w(n[o])?n[o].call(this,r):n[o]);return this.format(s||this.localeData().calendar(o,this,Tt(r)))}function en(){return new g(this)}function tn(e,t){var n=M(e)?e:Tt(e);return!(!this.isValid()||!n.isValid())&&(t=j(i(t)?"millisecond":t),"millisecond"===t?this.valueOf()>n.valueOf():n.valueOf()9999?$(e,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):w(Date.prototype.toISOString)?this.toDate().toISOString():$(e,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}function _n(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="";this.isLocal()||(e=0===this.utcOffset()?"moment.utc":"moment.parseZone",t="Z");var n="["+e+'("]',r=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",a="-MM-DD[T]HH:mm:ss.SSS",o=t+'[")]';return this.format(n+r+a+o)}function pn(e){e||(e=this.isUtc()?t.defaultFormatUtc:t.defaultFormat);var n=$(this,e);return this.localeData().postformat(n)}function fn(e,t){return this.isValid()&&(M(e)&&e.isValid()||Tt(e).isValid())?Gt({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function mn(e){return this.from(Tt(),e)}function hn(e,t){return this.isValid()&&(M(e)&&e.isValid()||Tt(e).isValid())?Gt({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function yn(e){return this.to(Tt(),e)}function vn(e){var t;return void 0===e?this._locale._abbr:(t=rt(e),null!=t&&(this._locale=t),this)}function gn(){return this._locale}function Mn(e){switch(e=j(e)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===e&&this.weekday(0),"isoWeek"===e&&this.isoWeekday(1),"quarter"===e&&this.month(3*Math.floor(this.month()/3)),this}function Tn(e){return e=j(e),void 0===e||"millisecond"===e?this:("date"===e&&(e="day"),this.startOf(e).add(1,"isoWeek"===e?"week":e).subtract(1,"ms"))}function Ln(){return this._d.valueOf()-6e4*(this._offset||0)}function bn(){return Math.floor(this.valueOf()/1e3)}function kn(){return new Date(this.valueOf())}function En(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]}function Dn(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}}function wn(){return this.isValid()?this.toISOString():null}function Yn(){return h(this)}function Sn(){return _({},m(this))}function Cn(){return m(this).overflow}function Pn(){return{ input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function On(e,t){J(0,[e,e.length],0,t)}function Rn(e){return Nn.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function xn(e){return Nn.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)}function An(){return Ee(this.year(),1,4)}function Hn(){var e=this.localeData()._week;return Ee(this.year(),e.dow,e.doy)}function Nn(e,t,n,r,a){var o;return null==e?ke(this,r,a).year:(o=Ee(e,r,a),t>o&&(t=o),jn.call(this,e,t,n,r,a))}function jn(e,t,n,r,a){var o=be(e,t,n,r,a),s=Te(o.year,0,o.dayOfYear);return this.year(s.getUTCFullYear()),this.month(s.getUTCMonth()),this.date(s.getUTCDate()),this}function In(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)}function Fn(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")}function Wn(e,t){t[pa]=L(1e3*("0."+e))}function Un(){return this._isUTC?"UTC":""}function zn(){return this._isUTC?"Coordinated Universal Time":""}function Vn(e){return Tt(1e3*e)}function Bn(){return Tt.apply(null,arguments).parseZone()}function Gn(e){return e}function Kn(e,t,n,r){var a=rt(),o=p().set(r,t);return a[n](o,e)}function Jn(e,t,n){if(l(e)&&(t=e,e=void 0),e=e||"",null!=t)return Kn(e,t,n,"month");var r,a=[];for(r=0;r<12;r++)a[r]=Kn(e,r,n,"month");return a}function qn(e,t,n,r){"boolean"==typeof e?(l(t)&&(n=t,t=void 0),t=t||""):(t=e,n=t,e=!1,l(t)&&(n=t,t=void 0),t=t||"");var a=rt(),o=e?a._week.dow:0;if(null!=n)return Kn(t,(n+o)%7,r,"day");var s,i=[];for(s=0;s<7;s++)i[s]=Kn(t,(s+o)%7,r,"day");return i}function Xn(e,t){return Jn(e,t,"months")}function $n(e,t){return Jn(e,t,"monthsShort")}function Zn(e,t,n){return qn(e,t,n,"weekdays")}function Qn(e,t,n){return qn(e,t,n,"weekdaysShort")}function er(e,t,n){return qn(e,t,n,"weekdaysMin")}function tr(){var e=this._data;return this._milliseconds=so(this._milliseconds),this._days=so(this._days),this._months=so(this._months),e.milliseconds=so(e.milliseconds),e.seconds=so(e.seconds),e.minutes=so(e.minutes),e.hours=so(e.hours),e.months=so(e.months),e.years=so(e.years),this}function nr(e,t,n,r){var a=Gt(t,n);return e._milliseconds+=r*a._milliseconds,e._days+=r*a._days,e._months+=r*a._months,e._bubble()}function rr(e,t){return nr(this,e,t,1)}function ar(e,t){return nr(this,e,t,-1)}function or(e){return e<0?Math.floor(e):Math.ceil(e)}function sr(){var e,t,n,r,a,o=this._milliseconds,s=this._days,i=this._months,l=this._data;return o>=0&&s>=0&&i>=0||o<=0&&s<=0&&i<=0||(o+=864e5*or(lr(i)+s),s=0,i=0),l.milliseconds=o%1e3,e=T(o/1e3),l.seconds=e%60,t=T(e/60),l.minutes=t%60,n=T(t/60),l.hours=n%24,s+=T(n/24),a=T(ir(s)),i+=a,s-=or(lr(a)),r=T(i/12),i%=12,l.days=s,l.months=i,l.years=r,this}function ir(e){return 4800*e/146097}function lr(e){return 146097*e/4800}function ur(e){if(!this.isValid())return NaN;var t,n,r=this._milliseconds;if(e=j(e),"month"===e||"year"===e)return t=this._days+r/864e5,n=this._months+ir(t),"month"===e?n:n/12;switch(t=this._days+Math.round(lr(this._months)),e){case"week":return t/7+r/6048e5;case"day":return t+r/864e5;case"hour":return 24*t+r/36e5;case"minute":return 1440*t+r/6e4;case"second":return 86400*t+r/1e3;case"millisecond":return Math.floor(864e5*t)+r;default:throw new Error("Unknown unit "+e)}}function dr(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*L(this._months/12):NaN}function cr(e){return function(){return this.as(e)}}function _r(e){return e=j(e),this.isValid()?this[e+"s"]():NaN}function pr(e){return function(){return this.isValid()?this._data[e]:NaN}}function fr(){return T(this.days()/7)}function mr(e,t,n,r,a){return a.relativeTime(t||1,!!n,e,r)}function hr(e,t,n){var r=Gt(e).abs(),a=bo(r.as("s")),o=bo(r.as("m")),s=bo(r.as("h")),i=bo(r.as("d")),l=bo(r.as("M")),u=bo(r.as("y")),d=a<=ko.ss&&["s",a]||a0,d[4]=n,mr.apply(null,d)}function yr(e){return void 0===e?bo:"function"==typeof e&&(bo=e,!0)}function vr(e,t){return void 0!==ko[e]&&(void 0===t?ko[e]:(ko[e]=t,"s"===e&&(ko.ss=t-1),!0))}function gr(e){if(!this.isValid())return this.localeData().invalidDate();var t=this.localeData(),n=hr(this,!e,t);return e&&(n=t.pastFuture(+this,n)),t.postformat(n)}function Mr(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n,r=Eo(this._milliseconds)/1e3,a=Eo(this._days),o=Eo(this._months);e=T(r/60),t=T(e/60),r%=60,e%=60,n=T(o/12),o%=12;var s=n,i=o,l=a,u=t,d=e,c=r,_=this.asSeconds();return _?(_<0?"-":"")+"P"+(s?s+"Y":"")+(i?i+"M":"")+(l?l+"D":"")+(u||d||c?"T":"")+(u?u+"H":"")+(d?d+"M":"")+(c?c+"S":""):"P0D"}var Tr,Lr;Lr=Array.prototype.some?Array.prototype.some:function(e){for(var t=Object(this),n=t.length>>>0,r=0;r68?1900:2e3)};var La=U("FullYear",!0);J("w",["ww",2],"wo","week"),J("W",["WW",2],"Wo","isoWeek"),N("week","w"),N("isoWeek","W"),F("week",5),F("isoWeek",5),Q("w",Kr),Q("ww",Kr,zr),Q("W",Kr),Q("WW",Kr,zr),ae(["w","ww","W","WW"],function(e,t,n,r){t[r.substr(0,1)]=L(e)});var ba={dow:0,doy:6};J("d",0,"do","day"),J("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),J("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),J("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),J("e",0,0,"weekday"),J("E",0,0,"isoWeekday"),N("day","d"),N("weekday","e"),N("isoWeekday","E"),F("day",11),F("weekday",11),F("isoWeekday",11),Q("d",Kr),Q("e",Kr),Q("E",Kr),Q("dd",function(e,t){return t.weekdaysMinRegex(e)}),Q("ddd",function(e,t){return t.weekdaysShortRegex(e)}),Q("dddd",function(e,t){return t.weekdaysRegex(e)}),ae(["dd","ddd","dddd"],function(e,t,n,r){var a=n._locale.weekdaysParse(e,r,n._strict);null!=a?t.d=a:m(n).invalidWeekday=e}),ae(["d","e","E"],function(e,t,n,r){t[r]=L(e)});var ka="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Ea="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Da="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),wa=aa,Ya=aa,Sa=aa;J("H",["HH",2],0,"hour"),J("h",["hh",2],0,Be),J("k",["kk",2],0,Ge),J("hmm",0,0,function(){return""+Be.apply(this)+K(this.minutes(),2)}),J("hmmss",0,0,function(){return""+Be.apply(this)+K(this.minutes(),2)+K(this.seconds(),2)}),J("Hmm",0,0,function(){return""+this.hours()+K(this.minutes(),2)}),J("Hmmss",0,0,function(){return""+this.hours()+K(this.minutes(),2)+K(this.seconds(),2)}),Ke("a",!0),Ke("A",!1),N("hour","h"),F("hour",13),Q("a",Je),Q("A",Je),Q("H",Kr),Q("h",Kr),Q("k",Kr),Q("HH",Kr,zr),Q("hh",Kr,zr),Q("kk",Kr,zr),Q("hmm",Jr),Q("hmmss",qr),Q("Hmm",Jr),Q("Hmmss",qr),re(["H","HH"],da),re(["k","kk"],function(e,t,n){var r=L(e);t[da]=24===r?0:r}),re(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),re(["h","hh"],function(e,t,n){t[da]=L(e),m(n).bigHour=!0}),re("hmm",function(e,t,n){var r=e.length-2;t[da]=L(e.substr(0,r)),t[ca]=L(e.substr(r)),m(n).bigHour=!0}),re("hmmss",function(e,t,n){var r=e.length-4,a=e.length-2;t[da]=L(e.substr(0,r)),t[ca]=L(e.substr(r,2)),t[_a]=L(e.substr(a)),m(n).bigHour=!0}),re("Hmm",function(e,t,n){var r=e.length-2;t[da]=L(e.substr(0,r)),t[ca]=L(e.substr(r))}),re("Hmmss",function(e,t,n){var r=e.length-4,a=e.length-2;t[da]=L(e.substr(0,r)),t[ca]=L(e.substr(r,2)),t[_a]=L(e.substr(a))});var Ca,Pa=/[ap]\.?m?\.?/i,Oa=U("Hours",!0),Ra={calendar:Cr,longDateFormat:Pr,invalidDate:Or,ordinal:Rr,dayOfMonthOrdinalParse:xr,relativeTime:Ar,months:va,monthsShort:ga,week:ba,weekdays:ka,weekdaysMin:Da,weekdaysShort:Ea,meridiemParse:Pa},xa={},Aa={},Ha=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Na=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ja=/Z|[+-]\d\d(?::?\d\d)?/,Ia=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Fa=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Wa=/^\/?Date\((\-?\d+)/i,Ua=/^((?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d?\d\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(?:\d\d)?\d\d\s)(\d\d:\d\d)(\:\d\d)?(\s(?:UT|GMT|[ECMP][SD]T|[A-IK-Za-ik-z]|[+-]\d{4}))$/;t.createFromInputFallback=E("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),t.ISO_8601=function(){},t.RFC_2822=function(){};var za=E("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=Tt.apply(null,arguments);return this.isValid()&&e.isValid()?ethis?this:e:y()}),Ba=function(){return Date.now?Date.now():+new Date},Ga=["year","quarter","month","week","day","hour","minute","second","millisecond"];Pt("Z",":"),Pt("ZZ",""),Q("Z",na),Q("ZZ",na),re(["Z","ZZ"],function(e,t,n){n._useUTC=!0,n._tzm=Ot(na,e)});var Ka=/([\+\-]|\d\d)/gi;t.updateOffset=function(){};var Ja=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,qa=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Gt.fn=Yt.prototype,Gt.invalid=wt;var Xa=Xt(1,"add"),$a=Xt(-1,"subtract");t.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",t.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Za=E("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)});J(0,["gg",2],0,function(){return this.weekYear()%100}),J(0,["GG",2],0,function(){return this.isoWeekYear()%100}),On("gggg","weekYear"),On("ggggg","weekYear"),On("GGGG","isoWeekYear"),On("GGGGG","isoWeekYear"),N("weekYear","gg"),N("isoWeekYear","GG"),F("weekYear",1),F("isoWeekYear",1),Q("G",ea),Q("g",ea),Q("GG",Kr,zr),Q("gg",Kr,zr),Q("GGGG",$r,Br),Q("gggg",$r,Br),Q("GGGGG",Zr,Gr),Q("ggggg",Zr,Gr),ae(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,r){t[r.substr(0,2)]=L(e)}),ae(["gg","GG"],function(e,n,r,a){n[a]=t.parseTwoDigitYear(e)}),J("Q",0,"Qo","quarter"),N("quarter","Q"),F("quarter",7),Q("Q",Ur),re("Q",function(e,t){t[la]=3*(L(e)-1)}),J("D",["DD",2],"Do","date"),N("date","D"),F("date",9),Q("D",Kr),Q("DD",Kr,zr),Q("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),re(["D","DD"],ua),re("Do",function(e,t){t[ua]=L(e.match(Kr)[0],10)});var Qa=U("Date",!0);J("DDD",["DDDD",3],"DDDo","dayOfYear"),N("dayOfYear","DDD"),F("dayOfYear",4),Q("DDD",Xr),Q("DDDD",Vr),re(["DDD","DDDD"],function(e,t,n){n._dayOfYear=L(e)}),J("m",["mm",2],0,"minute"),N("minute","m"),F("minute",14),Q("m",Kr),Q("mm",Kr,zr),re(["m","mm"],ca);var eo=U("Minutes",!1);J("s",["ss",2],0,"second"),N("second","s"),F("second",15),Q("s",Kr),Q("ss",Kr,zr),re(["s","ss"],_a);var to=U("Seconds",!1);J("S",0,0,function(){return~~(this.millisecond()/100)}),J(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),J(0,["SSS",3],0,"millisecond"),J(0,["SSSS",4],0,function(){return 10*this.millisecond()}),J(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),J(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),J(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),J(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),J(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),N("millisecond","ms"),F("millisecond",16),Q("S",Xr,Ur),Q("SS",Xr,zr),Q("SSS",Xr,Vr);var no;for(no="SSSS";no.length<=9;no+="S")Q(no,Qr);for(no="S";no.length<=9;no+="S")re(no,Wn);var ro=U("Milliseconds",!1);J("z",0,0,"zoneAbbr"),J("zz",0,0,"zoneName");var ao=g.prototype;ao.add=Xa,ao.calendar=Qt,ao.clone=en,ao.diff=ln,ao.endOf=Tn,ao.format=pn,ao.from=fn,ao.fromNow=mn,ao.to=hn,ao.toNow=yn,ao.get=B,ao.invalidAt=Cn,ao.isAfter=tn,ao.isBefore=nn,ao.isBetween=rn,ao.isSame=an,ao.isSameOrAfter=on,ao.isSameOrBefore=sn,ao.isValid=Yn,ao.lang=Za,ao.locale=vn,ao.localeData=gn,ao.max=Va,ao.min=za,ao.parsingFlags=Sn,ao.set=G,ao.startOf=Mn,ao.subtract=$a,ao.toArray=En,ao.toObject=Dn,ao.toDate=kn,ao.toISOString=cn,ao.inspect=_n,ao.toJSON=wn,ao.toString=dn,ao.unix=bn,ao.valueOf=Ln,ao.creationData=Pn,ao.year=La,ao.isLeapYear=ge,ao.weekYear=Rn,ao.isoWeekYear=xn,ao.quarter=ao.quarters=In,ao.month=_e,ao.daysInMonth=pe,ao.week=ao.weeks=Se,ao.isoWeek=ao.isoWeeks=Ce,ao.weeksInYear=Hn,ao.isoWeeksInYear=An,ao.date=Qa,ao.day=ao.days=je,ao.weekday=Ie,ao.isoWeekday=Fe,ao.dayOfYear=Fn,ao.hour=ao.hours=Oa,ao.minute=ao.minutes=eo,ao.second=ao.seconds=to,ao.millisecond=ao.milliseconds=ro,ao.utcOffset=At,ao.utc=Nt,ao.local=jt,ao.parseZone=It,ao.hasAlignedHourOffset=Ft,ao.isDST=Wt,ao.isLocal=zt,ao.isUtcOffset=Vt,ao.isUtc=Bt,ao.isUTC=Bt,ao.zoneAbbr=Un,ao.zoneName=zn,ao.dates=E("dates accessor is deprecated. Use date instead.",Qa),ao.months=E("months accessor is deprecated. Use month instead",_e),ao.years=E("years accessor is deprecated. Use year instead",La),ao.zone=E("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Ht),ao.isDSTShifted=E("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Ut);var oo=C.prototype;oo.calendar=P,oo.longDateFormat=O,oo.invalidDate=R,oo.ordinal=x,oo.preparse=Gn,oo.postformat=Gn,oo.relativeTime=A,oo.pastFuture=H,oo.set=Y,oo.months=ie,oo.monthsShort=le,oo.monthsParse=de,oo.monthsRegex=me,oo.monthsShortRegex=fe,oo.week=De,oo.firstDayOfYear=Ye,oo.firstDayOfWeek=we,oo.weekdays=Re,oo.weekdaysMin=Ae,oo.weekdaysShort=xe,oo.weekdaysParse=Ne,oo.weekdaysRegex=We,oo.weekdaysShortRegex=Ue,oo.weekdaysMinRegex=ze,oo.isPM=qe,oo.meridiem=Xe,et("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,n=1===L(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n}}),t.lang=E("moment.lang is deprecated. Use moment.locale instead.",et),t.langData=E("moment.langData is deprecated. Use moment.localeData instead.",rt);var so=Math.abs,io=cr("ms"),lo=cr("s"),uo=cr("m"),co=cr("h"),_o=cr("d"),po=cr("w"),fo=cr("M"),mo=cr("y"),ho=pr("milliseconds"),yo=pr("seconds"),vo=pr("minutes"),go=pr("hours"),Mo=pr("days"),To=pr("months"),Lo=pr("years"),bo=Math.round,ko={ss:44,s:45,m:45,h:22,d:26,M:11},Eo=Math.abs,Do=Yt.prototype;return Do.isValid=Dt,Do.abs=tr,Do.add=rr,Do.subtract=ar,Do.as=ur,Do.asMilliseconds=io,Do.asSeconds=lo,Do.asMinutes=uo,Do.asHours=co,Do.asDays=_o,Do.asWeeks=po,Do.asMonths=fo,Do.asYears=mo,Do.valueOf=dr,Do._bubble=sr,Do.get=_r,Do.milliseconds=ho,Do.seconds=yo,Do.minutes=vo,Do.hours=go,Do.days=Mo,Do.weeks=fr,Do.months=To,Do.years=Lo,Do.humanize=gr,Do.toISOString=Mr,Do.toString=Mr,Do.toJSON=Mr,Do.locale=vn,Do.localeData=gn,Do.toIsoString=E("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Mr),Do.lang=Za,J("X",0,0,"unix"),J("x",0,0,"valueOf"),Q("x",ea),Q("X",ra),re("X",function(e,t,n){n._d=new Date(1e3*parseFloat(e,10))}),re("x",function(e,t,n){n._d=new Date(L(e))}),t.version="2.18.1",r(Tt),t.fn=ao,t.min=bt,t.max=kt,t.now=Ba,t.utc=p,t.unix=Vn,t.months=Xn,t.isDate=u,t.locale=et,t.invalid=y,t.duration=Gt,t.isMoment=M,t.weekdays=Zn,t.parseZone=Bn,t.localeData=rt,t.isDuration=St,t.monthsShort=$n,t.weekdaysMin=er,t.defineLocale=tt,t.updateLocale=nt,t.locales=at,t.weekdaysShort=Qn,t.normalizeUnits=j,t.relativeTimeRounding=yr,t.relativeTimeThreshold=vr,t.calendarFormat=Zt,t.prototype=ao,t})}).call(t,n(31)(e))},,,,,function(e,t){"use strict";function n(e){for(var t=arguments.length-1,n="Minified React error #"+e+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant="+e,r=0;r",LAST_PAGE:">>",PRE_PAGE:"<",FIRST_PAGE:"<<",PAGE_START_INDEX:1,ROW_SELECT_BG_COLOR:"",ROW_SELECT_NONE:"none",ROW_SELECT_SINGLE:"radio",ROW_SELECT_MULTI:"checkbox",CELL_EDIT_NONE:"none",CELL_EDIT_CLICK:"click",CELL_EDIT_DBCLICK:"dbclick",SIZE_PER_PAGE_LIST:[10,25,30,50],PAGINATION_SIZE:5,NO_DATA_TEXT:"There is no data to display",SHOW_ONLY_SELECT:"Show Selected Only",SHOW_ALL:"Show All",EXPORT_CSV_TEXT:"Export to CSV",INSERT_BTN_TEXT:"New",DELETE_BTN_TEXT:"Delete",SAVE_BTN_TEXT:"Save",CLOSE_BTN_TEXT:"Close",FILTER_DELAY:500,SCROLL_TOP:"Top",SCROLL_BOTTOM:"Bottom",FILTER_TYPE:{TEXT:"TextFilter",REGEX:"RegexFilter",SELECT:"SelectFilter",NUMBER:"NumberFilter",DATE:"DateFilter",CUSTOM:"CustomFilter"},FILTER_COND_EQ:"eq",FILTER_COND_LIKE:"like",EXPAND_BY_ROW:"row",EXPAND_BY_COL:"column",CANCEL_TOASTR:"Pressed ESC can cancel",REMOTE_SORT:"sort",REMOTE_PAGE:"pagination",REMOTE_CELL_EDIT:"cellEdit",REMOTE_INSERT_ROW:"insertRow",REMOTE_DROP_ROW:"dropRow",REMOTE_FILTER:"filter",REMOTE_SEARCH:"search",REMOTE_EXPORT_CSV:"exportCSV"};n.REMOTE={},n.REMOTE[n.REMOTE_SORT]=!1,n.REMOTE[n.REMOTE_PAGE]=!1,n.REMOTE[n.REMOTE_CELL_EDIT]=!1,n.REMOTE[n.REMOTE_INSERT_ROW]=!1,n.REMOTE[n.REMOTE_DROP_ROW]=!1,n.REMOTE[n.REMOTE_FILTER]=!1,n.REMOTE[n.REMOTE_SEARCH]=!1,n.REMOTE[n.REMOTE_EXPORT_CSV]=!1;var r=n;t["default"]=r;(function(){"undefined"!=typeof __REACT_HOT_LOADER__&&(__REACT_HOT_LOADER__.register(n,"CONST_VAR","/Users/allen/Node/react-bootstrap-table-new/react-bootstrap-table/src/Const.js"),__REACT_HOT_LOADER__.register(r,"default","/Users/allen/Node/react-bootstrap-table-new/react-bootstrap-table/src/Const.js"))})()},,,,,,function(e,t,n){"use strict";var r=null;e.exports={debugTool:r}},,[1458,163],function(e,t,n){"use strict";function r(e){return void 0!==e.ref}function a(e){return void 0!==e.key}var o=n(5),s=n(27),i=(n(4),n(196),Object.prototype.hasOwnProperty),l="function"==typeof Symbol&&Symbol["for"]&&Symbol["for"]("react.element")||60103,u={key:!0,ref:!0,__self:!0,__source:!0},d=function(e,t,n,r,a,o,s){var i={$$typeof:l,type:e,key:t,ref:n,props:s,_owner:o};return i};d.createElement=function(e,t,n){var o,l={},c=null,_=null,p=null,f=null;if(null!=t){r(t)&&(_=t.ref),a(t)&&(c=""+t.key),p=void 0===t.__self?null:t.__self,f=void 0===t.__source?null:t.__source;for(o in t)i.call(t,o)&&!u.hasOwnProperty(o)&&(l[o]=t[o])}var m=arguments.length-2;if(1===m)l.children=n;else if(m>1){for(var h=Array(m),y=0;y1){for(var g=Array(v),M=0;M]/;e.exports=r},function(e,t,n){"use strict";var r,a=n(8),o=n(96),s=/^[ \r\n\t\f]/,i=/<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/,l=n(110),u=l(function(e,t){if(e.namespaceURI!==o.svg||"innerHTML"in e)e.innerHTML=t;else{r=r||document.createElement("div"),r.innerHTML=""+t+"";for(var n=r.firstChild;n.firstChild;)e.appendChild(n.firstChild)}});if(a.canUseDOM){var d=document.createElement("div");d.innerHTML=" ",""===d.innerHTML&&(u=function(e,t){if(e.parentNode&&e.parentNode.replaceChild(e,e),s.test(t)||"<"===t[0]&&i.test(t)){e.innerHTML=String.fromCharCode(65279)+t;var n=e.firstChild;1===n.data.length?e.removeChild(n):n.deleteData(0,1)}else e.innerHTML=t}),d=null}e.exports=u},,function(e,t,n){"use strict";var r=n(3),a=function(e){var t,n={};e instanceof Object&&!Array.isArray(e)?void 0:r(!1);for(t in e)e.hasOwnProperty(t)&&(n[t]=t);return n};e.exports=a},,function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(2),o=r(a),s=n(9),i=r(s),l=n(10),u=r(l),d={renderReactSortCaret:function(e){var t=(0,u["default"])("order",{dropup:e===i["default"].SORT_ASC});return o["default"].createElement("span",{className:t},o["default"].createElement("span",{className:"caret",style:{margin:"10px 5px"}}))},getScrollBarWidth:function(){var e=document.createElement("p");e.style.width="100%",e.style.height="200px";var t=document.createElement("div");t.style.position="absolute",t.style.top="0px",t.style.left="0px",t.style.visibility="hidden",t.style.width="200px",t.style.height="150px",t.style.overflow="hidden",t.appendChild(e),document.body.appendChild(t);var n=e.getBoundingClientRect().width;t.style.overflow="scroll";var r=e.getBoundingClientRect().width;return n===r&&(r=t.clientWidth),document.body.removeChild(t),n-r},canUseDOM:function(){return"undefined"!=typeof window&&"undefined"!=typeof window.document},renderColGroup:function(e,t){var n=null,r=t.mode===i["default"].ROW_SELECT_SINGLE||t.mode===i["default"].ROW_SELECT_MULTI;if(r){var a={width:t.columnWidth||30,minWidth:t.columnWidth||30};t.hideSelectColumn||(n=o["default"].createElement("col",{style:a,key:-1}))}var s=e.map(function(e,t){var n={display:e.hidden?"none":null};return e.width&&(n.width=e.width,n.minWidth=e.width),o["default"].createElement("col",{style:n,key:t,className:e.className})});return o["default"].createElement("colgroup",null,n,s)}};t["default"]=d;(function(){"undefined"!=typeof __REACT_HOT_LOADER__&&__REACT_HOT_LOADER__.register(d,"default","/Users/allen/Node/react-bootstrap-table-new/react-bootstrap-table/src/util.js")})()},,,,,,,,,,,[1468,28,17],644,645,[1496,25,440,470,484],[1497,387],[1514,93,175],649,1143,[1549,172,173],function(e,t,n){"use strict";function r(e,t){return Array.isArray(t)&&(t=t[1]),t?t.nextSibling:e.firstChild}function a(e,t,n){d.insertTreeBefore(e,t,n)}function o(e,t,n){Array.isArray(t)?i(e,t[0],t[1],n):h(e,t,n)}function s(e,t){if(Array.isArray(t)){var n=t[1];t=t[0],l(e,t,n),e.removeChild(n)}e.removeChild(t)}function i(e,t,n,r){for(var a=t;;){var o=a.nextSibling;if(h(e,a,r),a===n)break;a=o}}function l(e,t,n){for(;;){var r=t.nextSibling;if(r===n)break;e.removeChild(r)}}function u(e,t,n){var r=e.parentNode,a=e.nextSibling;a===t?n&&h(r,document.createTextNode(n),a):n?(m(a,n),l(r,a,t)):l(r,e,t)}var d=n(35),c=n(490),_=n(190),p=(n(7),n(15),n(110)),f=n(71),m=n(204),h=p(function(e,t,n){e.insertBefore(t,n)}),y=c.dangerouslyReplaceNodeWithMarkup,v={dangerouslyReplaceNodeWithMarkup:y,replaceDelimitedText:u,processUpdates:function(e,t){for(var n=0;n-1?void 0:s("96",e),!u.plugins[n]){t.extractEvents?void 0:s("97",e),u.plugins[n]=t;var r=t.eventTypes;for(var o in r)a(r[o],t,o)?void 0:s("98",o,e)}}}function a(e,t,n){u.eventNameDispatchConfigs.hasOwnProperty(n)?s("99",n):void 0,u.eventNameDispatchConfigs[n]=e;var r=e.phasedRegistrationNames;if(r){for(var a in r)if(r.hasOwnProperty(a)){var i=r[a];o(i,t,n)}return!0}return!!e.registrationName&&(o(e.registrationName,t,n),!0)}function o(e,t,n){u.registrationNameModules[e]?s("100",e):void 0,u.registrationNameModules[e]=t,u.registrationNameDependencies[e]=t.eventTypes[n].dependencies}var s=n(6),i=(n(3),null),l={},u={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},possibleRegistrationNames:null,injectEventPluginOrder:function(e){i?s("101"):void 0,i=Array.prototype.slice.call(e),r()},injectEventPluginsByName:function(e){var t=!1;for(var n in e)if(e.hasOwnProperty(n)){var a=e[n];l.hasOwnProperty(n)&&l[n]===a||(l[n]?s("102",n):void 0,l[n]=a,t=!0)}t&&r()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return u.registrationNameModules[t.registrationName]||null;for(var n in t.phasedRegistrationNames)if(t.phasedRegistrationNames.hasOwnProperty(n)){var r=u.registrationNameModules[t.phasedRegistrationNames[n]];if(r)return r}return null},_resetEventPlugins:function(){i=null;for(var e in l)l.hasOwnProperty(e)&&delete l[e];u.plugins.length=0;var t=u.eventNameDispatchConfigs;for(var n in t)t.hasOwnProperty(n)&&delete t[n];var r=u.registrationNameModules;for(var a in r)r.hasOwnProperty(a)&&delete r[a]}};e.exports=u},function(e,t,n){"use strict";function r(e){return e===v.topMouseUp||e===v.topTouchEnd||e===v.topTouchCancel}function a(e){return e===v.topMouseMove||e===v.topTouchMove}function o(e){return e===v.topMouseDown||e===v.topTouchStart}function s(e,t,n,r){var a=e.type||"unknown-event";e.currentTarget=g.getNodeFromInstance(r),t?h.invokeGuardedCallbackWithCatch(a,n,e):h.invokeGuardedCallback(a,n,e),e.currentTarget=null}function i(e,t){var n=e._dispatchListeners,r=e._dispatchInstances;if(Array.isArray(n))for(var a=0;a0&&r.length<20?n+" (keys: "+r.join(", ")+")":n}function o(e,t){var n=i.get(e);if(!n){return null}return n}var s=n(6),i=(n(27),n(45)),l=(n(15),n(19)),u=(n(3),n(4),{isMounted:function(e){var t=i.get(e);return!!t&&!!t._renderedComponent},enqueueCallback:function(e,t,n){u.validateCallback(t,n);var a=o(e);return a?(a._pendingCallbacks?a._pendingCallbacks.push(t):a._pendingCallbacks=[t],void r(a)):null},enqueueCallbackInternal:function(e,t){e._pendingCallbacks?e._pendingCallbacks.push(t):e._pendingCallbacks=[t],r(e)},enqueueForceUpdate:function(e){var t=o(e,"forceUpdate");t&&(t._pendingForceUpdate=!0,r(t))},enqueueReplaceState:function(e,t){var n=o(e,"replaceState");n&&(n._pendingStateQueue=[t],n._pendingReplaceState=!0,r(n))},enqueueSetState:function(e,t){var n=o(e,"setState");if(n){var a=n._pendingStateQueue||(n._pendingStateQueue=[]);a.push(t),r(n)}},enqueueElementInternal:function(e,t,n){e._pendingElement=t,e._context=n,r(e)},validateCallback:function(e,t){e&&"function"!=typeof e?s("122",t,a(e)):void 0}});e.exports=u},function(e,t){"use strict";var n=function(e){return"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,r,a){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,a)})}:e};e.exports=n},function(e,t){"use strict";function n(e){var t,n=e.keyCode;return"charCode"in e?(t=e.charCode,0===t&&13===n&&(t=13)):t=n,t>=32||13===t?t:0}e.exports=n},function(e,t){"use strict";function n(e){var t=this,n=t.nativeEvent;if(n.getModifierState)return n.getModifierState(e);var r=a[e];return!!r&&!!n[r]}function r(e){return n}var a={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};e.exports=r},function(e,t){"use strict";function n(e){var t=e.target||e.srcElement||window;return t.correspondingUseElement&&(t=t.correspondingUseElement),3===t.nodeType?t.parentNode:t}e.exports=n},function(e,t,n){"use strict";/** * Checks if an event is supported in the current execution environment. * * NOTE: This will not work correctly for non-generic events such as `change`, * `reset`, `load`, `error`, and `select`. * * Borrows from Modernizr. * * @param {string} eventNameSuffix Event name, e.g. "click". * @param {?boolean} capture Check if the capture phase is supported. * @return {boolean} True if the event is supported. * @internal * @license Modernizr 3.0.0pre (Custom Build) | MIT */ function r(e,t){if(!o.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,r=n in document;if(!r){var s=document.createElement("div");s.setAttribute(n,"return;"),r="function"==typeof s[n]}return!r&&a&&"wheel"===e&&(r=document.implementation.hasFeature("Events.wheel","3.0")),r}var a,o=n(8);o.canUseDOM&&(a=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0),e.exports=r},function(e,t){"use strict";function n(e,t){var n=null===e||e===!1,r=null===t||t===!1;if(n||r)return n===r;var a=typeof e,o=typeof t;return"string"===a||"number"===a?"string"===o||"number"===o:"object"===o&&e.type===t.type&&e.key===t.key}e.exports=n},function(e,t,n){"use strict";function r(e,t){return e&&"object"==typeof e&&null!=e.key?u.escape(e.key):t.toString(36)}function a(e,t,n,o){var _=typeof e;if("undefined"!==_&&"boolean"!==_||(e=null),null===e||"string"===_||"number"===_||i.isValidElement(e))return n(o,e,""===t?d+r(e,0):t),1;var p,f,m=0,h=""===t?d:t+c;if(Array.isArray(e))for(var y=0;y=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var l=Object.assign||function(e){for(var t=1;tthis.startX&&(this.setState({checked:!0}),this.startX=t,this.activated=tn?this.previouslyChecked!==this.state.checked&&(this.setState({checked:!1}),this.previouslyChecked=this.state.checked,t.click()):this.startX-4.":"function"==typeof t?" Instead of passing a class like Foo, pass React.createElement(Foo) or .":null!=t&&void 0!==t.props?" This may be caused by unintentionally loading two independent copies of React.":"");var s,i=M(j,null,null,null,null,null,t);if(e){var l=L.get(e);s=l._processChildContext(l._context)}else s=w;var d=_(n);if(d){var c=d._currentElement,f=c.props;if(C(f,t)){var m=d._renderedComponent.getPublicInstance(),h=r&&function(){r.call(m)};return I._updateRootComponent(d,i,s,n,h),m}I.unmountComponentAtNode(n)}var y=a(n),v=y&&!!o(y),g=u(n),T=v&&!d&&!g,b=I._renderNewRootComponent(i,n,T,s)._renderedComponent.getPublicInstance();return r&&r.call(b),b},render:function(e,t,n){return I._renderSubtreeIntoContainer(null,e,t,n)},unmountComponentAtNode:function(e){d(e)?void 0:p("40");var t=_(e);if(!t){u(e),1===e.nodeType&&e.hasAttribute(O);return!1}return delete H[t._instance.rootID],D.batchedUpdates(l,t,e,!1),!0},_mountImageIntoNode:function(e,t,n,o,s){if(d(t)?void 0:p("41"),o){var i=a(t);if(b.canReuseMarkup(e,i))return void y.precacheNode(n,i);var l=i.getAttribute(b.CHECKSUM_ATTR_NAME);i.removeAttribute(b.CHECKSUM_ATTR_NAME);var u=i.outerHTML;i.setAttribute(b.CHECKSUM_ATTR_NAME,l);var c=e,_=r(c,u),m=" (client) "+c.substring(_-20,_+20)+"\n (server) "+u.substring(_-20,_+20);t.nodeType===x?p("42",m):void 0}if(t.nodeType===x?p("43"):void 0,s.useCreateElement){for(;t.lastChild;)t.removeChild(t.lastChild);f.insertTreeBefore(t,e,null)}else S(t,e),y.precacheNode(n,t.firstChild)}};e.exports=I},function(e,t,n){"use strict";var r=n(73),a=r({INSERT_MARKUP:null,MOVE_EXISTING:null,REMOVE_NODE:null,SET_MARKUP:null,TEXT_CONTENT:null});e.exports=a},function(e,t,n){"use strict";var r=n(6),a=n(18),o=(n(3),{HOST:0,COMPOSITE:1,EMPTY:2,getType:function(e){return null===e||e===!1?o.EMPTY:a.isValidElement(e)?"function"==typeof e.type?o.COMPOSITE:o.HOST:void r("26",e)}});e.exports=o},function(e,t,n){"use strict";function r(e,t){return e===t?0!==e||1/e===1/t:e!==e&&t!==t}function a(e){this.message=e,this.stack=""}function o(e){function t(t,n,r,o,s,i,l){o=o||D,i=i||r;if(null==n[r]){var u=L[s];return t?new a("Required "+u+" `"+i+"` was not specified in "+("`"+o+"`.")):null}return e(n,r,o,s,i)}var n=t.bind(null,!1);return n.isRequired=t.bind(null,!0),n}function s(e){function t(t,n,r,o,s,i){var l=t[n],u=v(l);if(u!==e){var d=L[o],c=g(l);return new a("Invalid "+d+" `"+s+"` of type "+("`"+c+"` supplied to `"+r+"`, expected ")+("`"+e+"`."))}return null}return o(t)}function i(){return o(k.thatReturns(null))}function l(e){function t(t,n,r,o,s){if("function"!=typeof e)return new a("Property `"+s+"` of component `"+r+"` has invalid PropType notation inside arrayOf.");var i=t[n];if(!Array.isArray(i)){var l=L[o],u=v(i);return new a("Invalid "+l+" `"+s+"` of type "+("`"+u+"` supplied to `"+r+"`, expected an array."))}for(var d=0;d>"),w={array:s("array"),bool:s("boolean"),func:s("function"),number:s("number"),object:s("object"),string:s("string"),symbol:s("symbol"),any:i(),arrayOf:l,element:u(),instanceOf:d,node:f(),objectOf:_,oneOf:c,oneOfType:p,shape:m};a.prototype=Error.prototype,e.exports=w},function(e,t){"use strict";e.exports="15.3.2"},function(e,t){"use strict";var n={currentScrollLeft:0,currentScrollTop:0,refreshScrollValues:function(e){n.currentScrollLeft=e.x,n.currentScrollTop=e.y}};e.exports=n},function(e,t,n){"use strict";function r(e,t){return null==t?a("30"):void 0,null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}var a=n(6);n(3);e.exports=r},function(e,t,n){"use strict";var r=!1;e.exports=r},function(e,t){"use strict";function n(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}e.exports=n},function(e,t,n){"use strict";function r(e){for(var t;(t=e._renderedNodeType)===a.COMPOSITE;)e=e._renderedComponent;return t===a.HOST?e._renderedComponent:t===a.EMPTY?null:void 0}var a=n(191);e.exports=r},function(e,t){"use strict";function n(e){var t=e&&(r&&e[r]||e[a]);if("function"==typeof t)return t}var r="function"==typeof Symbol&&Symbol.iterator,a="@@iterator";e.exports=n},function(e,t,n){"use strict";function r(){return!o&&a.canUseDOM&&(o="textContent"in document.documentElement?"textContent":"innerText"),o}var a=n(8),o=null;e.exports=r},function(e,t,n){"use strict";function r(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n["ms"+e]="MS"+t,n["O"+e]="o"+t.toLowerCase(),n}function a(e){if(i[e])return i[e];if(!s[e])return e;var t=s[e];for(var n in t)if(t.hasOwnProperty(n)&&n in l)return i[e]=t[n];return""}var o=n(8),s={animationend:r("Animation","AnimationEnd"),animationiteration:r("Animation","AnimationIteration"),animationstart:r("Animation","AnimationStart"),transitionend:r("Transition","TransitionEnd")},i={},l={};o.canUseDOM&&(l=document.createElement("div").style, "AnimationEvent"in window||(delete s.animationend.animation,delete s.animationiteration.animation,delete s.animationstart.animation),"TransitionEvent"in window||delete s.transitionend.transition),e.exports=a},function(e,t,n){"use strict";function r(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}function a(e){return"function"==typeof e&&"undefined"!=typeof e.prototype&&"function"==typeof e.prototype.mountComponent&&"function"==typeof e.prototype.receiveComponent}function o(e,t){var n;if(null===e||e===!1)n=u.create(o);else if("object"==typeof e){var i=e;!i||"function"!=typeof i.type&&"string"!=typeof i.type?s("130",null==i.type?i.type:typeof i.type,r(i._owner)):void 0,"string"==typeof i.type?n=d.createInternalComponent(i):a(i.type)?(n=new i.type(i),n.getHostNode||(n.getHostNode=n.getNativeNode)):n=new c(i)}else"string"==typeof e||"number"==typeof e?n=d.createInstanceForText(e):s("131",typeof e);return n._mountIndex=0,n._mountImage=null,n}var s=n(6),i=n(5),l=n(498),u=n(185),d=n(187),c=(n(3),n(4),function(e){this.construct(e)});i(c.prototype,l.Mixin,{_instantiateReactComponent:o});e.exports=o},function(e,t){"use strict";function n(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!r[e.type]:"textarea"===t}var r={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};e.exports=n},function(e,t,n){"use strict";var r=n(8),a=n(70),o=n(71),s=function(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t};r.canUseDOM&&("textContent"in document.documentElement||(s=function(e,t){o(e,a(t))})),e.exports=s},[1565,495],function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.load=t.loadingFailed=t.loadingSucceeded=t.loading=t.LOADING_MEASUREMENTS_SUCCEEDED=t.LOADING_MEASUREMENTS_FAILED=t.LOADING_MEASUREMENTS=void 0;var r=n(52),a=t.LOADING_MEASUREMENTS="LOADING_MEASUREMENTS",o=t.LOADING_MEASUREMENTS_FAILED="LOADING_MEASUREMENTS_FAILED",s=t.LOADING_MEASUREMENTS_SUCCEEDED="LOADING_MEASUREMENTS_SUCCEEDED",i=t.loading=function(){return{type:a}},l=t.loadingSucceeded=function(e){return{type:s,measurements:e}},u=t.loadingFailed=function(e){return{type:o,exception:e}};t.load=function(){return function(e,t){return e(i()),(0,r.fetch)("/api/measurement").then(function(e){return e.json()}).then(function(t){return e(l(t.measurements))})["catch"](function(t){e(u(t))})}}},,,,,,function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(e){return/^nm$/i.test(e)},meridiem:function(e,t,n){return e<12?n?"vm":"VM":n?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[Môre om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("ar-dz",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"أح_إث_ثلا_أر_خم_جم_سب".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("ar-kw",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:12}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},n=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},r={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},a=function(e){return function(t,a,o,s){var i=n(t),l=r[e][n(t)];return 2===i&&(l=l[a?0:1]),l.replace(/%d/i,t)}},o=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],s=e.defineLocale("ar-ly",{months:o,monthsShort:o,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,t,n){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:a("s"),m:a("m"),mm:a("m"),h:a("h"),hh:a("h"),d:a("d"),dd:a("d"),M:a("M"),MM:a("M"),y:a("y"),yy:a("y")},preparse:function(e){return e.replace(/\u200f/g,"").replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]}).replace(/,/g,"،")},week:{dow:6,doy:12}});return s})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("ar-ma",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:6,doy:12}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},r=e.defineLocale("ar-sa",{months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,t,n){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:function(e){return e.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(e){return n[e]}).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]}).replace(/,/g,"،")},week:{dow:0,doy:6}});return r})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("ar-tn",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},r=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},a={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},o=function(e){return function(t,n,o,s){var i=r(t),l=a[e][r(t)];return 2===i&&(l=l[n?0:1]),l.replace(/%d/i,t)}},s=["كانون الثاني يناير","شباط فبراير","آذار مارس","نيسان أبريل","أيار مايو","حزيران يونيو","تموز يوليو","آب أغسطس","أيلول سبتمبر","تشرين الأول أكتوبر","تشرين الثاني نوفمبر","كانون الأول ديسمبر"],i=e.defineLocale("ar",{months:s,monthsShort:s,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,t,n){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:o("s"),m:o("m"),mm:o("m"),h:o("h"),hh:o("h"),d:o("d"),dd:o("d"),M:o("M"),MM:o("M"),y:o("y"),yy:o("y")},preparse:function(e){return e.replace(/\u200f/g,"").replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(e){return n[e]}).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]}).replace(/,/g,"،")},week:{dow:6,doy:12}});return i})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-üncü",4:"-üncü",100:"-üncü",6:"-ncı",9:"-uncu",10:"-uncu",30:"-uncu",60:"-ıncı",90:"-ıncı"},n=e.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə".split("_"),weekdaysShort:"Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən".split("_"),weekdaysMin:"Bz_BE_ÇA_Çə_CA_Cü_Şə".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[gələn həftə] dddd [saat] LT",lastDay:"[dünən] LT",lastWeek:"[keçən həftə] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s əvvəl",s:"birneçə saniyyə",m:"bir dəqiqə",mm:"%d dəqiqə",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gecə|səhər|gündüz|axşam/,isPM:function(e){return/^(gündüz|axşam)$/.test(e)},meridiem:function(e,t,n){return e<4?"gecə":e<12?"səhər":e<17?"gündüz":"axşam"},dayOfMonthOrdinalParse:/\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,ordinal:function(e){if(0===e)return e+"-ıncı";var n=e%10,r=e%100-n,a=e>=100?100:null;return e+(t[n]||t[r]||t[a])},week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t){var n=e.split("_");return t%10===1&&t%100!==11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function n(e,n,r){var a={mm:n?"хвіліна_хвіліны_хвілін":"хвіліну_хвіліны_хвілін",hh:n?"гадзіна_гадзіны_гадзін":"гадзіну_гадзіны_гадзін",dd:"дзень_дні_дзён",MM:"месяц_месяцы_месяцаў",yy:"год_гады_гадоў"};return"m"===r?n?"хвіліна":"хвіліну":"h"===r?n?"гадзіна":"гадзіну":e+" "+t(a[r],+e)}var r=e.defineLocale("be",{months:{format:"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня".split("_"),standalone:"студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань".split("_")},monthsShort:"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж".split("_"),weekdays:{format:"нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу".split("_"),standalone:"нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота".split("_"),isFormat:/\[ ?[Вв] ?(?:мінулую|наступную)? ?\] ?dddd/},weekdaysShort:"нд_пн_ат_ср_чц_пт_сб".split("_"),weekdaysMin:"нд_пн_ат_ср_чц_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сёння ў] LT",nextDay:"[Заўтра ў] LT",lastDay:"[Учора ў] LT",nextWeek:function(){return"[У] dddd [ў] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[У мінулую] dddd [ў] LT";case 1:case 2:case 4:return"[У мінулы] dddd [ў] LT"}},sameElse:"L"},relativeTime:{future:"праз %s",past:"%s таму",s:"некалькі секунд",m:n,mm:n,h:n,hh:n,d:"дзень",dd:n,M:"месяц",MM:n,y:"год",yy:n},meridiemParse:/ночы|раніцы|дня|вечара/,isPM:function(e){return/^(дня|вечара)$/.test(e)},meridiem:function(e,t,n){return e<4?"ночы":e<12?"раніцы":e<17?"дня":"вечара"},dayOfMonthOrdinalParse:/\d{1,2}-(і|ы|га)/,ordinal:function(e,t){switch(t){case"M":case"d":case"DDD":case"w":case"W":return e%10!==2&&e%10!==3||e%100===12||e%100===13?e+"-ы":e+"-і";case"D":return e+"-га";default:return e}},week:{dow:1,doy:7}});return r})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Днес в] LT",nextDay:"[Утре в] LT",nextWeek:"dddd [в] LT",lastDay:"[Вчера в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[В изминалата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[В изминалия] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дни",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(e){var t=e%10,n=e%100;return 0===e?e+"-ев":0===n?e+"-ен":n>10&&n<20?e+"-ти":1===t?e+"-ви":2===t?e+"-ри":7===t||8===t?e+"-ми":e+"-ти"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={1:"১",2:"২",3:"৩",4:"৪",5:"৫",6:"৬",7:"৭",8:"৮",9:"৯",0:"০"},n={"১":"1","২":"2","৩":"3","৪":"4","৫":"5","৬":"6","৭":"7","৮":"8","৯":"9","০":"0"},r=e.defineLocale("bn",{months:"জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর".split("_"),monthsShort:"জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে".split("_"),weekdays:"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার".split("_"),weekdaysShort:"রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি".split("_"),weekdaysMin:"রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি".split("_"),longDateFormat:{LT:"A h:mm সময়",LTS:"A h:mm:ss সময়",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm সময়",LLLL:"dddd, D MMMM YYYY, A h:mm সময়"},calendar:{sameDay:"[আজ] LT",nextDay:"[আগামীকাল] LT",nextWeek:"dddd, LT",lastDay:"[গতকাল] LT",lastWeek:"[গত] dddd, LT",sameElse:"L"},relativeTime:{future:"%s পরে",past:"%s আগে",s:"কয়েক সেকেন্ড",m:"এক মিনিট",mm:"%d মিনিট",h:"এক ঘন্টা",hh:"%d ঘন্টা",d:"এক দিন",dd:"%d দিন",M:"এক মাস",MM:"%d মাস",y:"এক বছর",yy:"%d বছর"},preparse:function(e){return e.replace(/[১২৩৪৫৬৭৮৯০]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/রাত|সকাল|দুপুর|বিকাল|রাত/,meridiemHour:function(e,t){return 12===e&&(e=0),"রাত"===t&&e>=4||"দুপুর"===t&&e<5||"বিকাল"===t?e+12:e},meridiem:function(e,t,n){return e<4?"রাত":e<10?"সকাল":e<17?"দুপুর":e<20?"বিকাল":"রাত"},week:{dow:0,doy:6}});return r})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={1:"༡",2:"༢",3:"༣",4:"༤",5:"༥",6:"༦",7:"༧",8:"༨",9:"༩",0:"༠"},n={"༡":"1","༢":"2","༣":"3","༤":"4","༥":"5","༦":"6","༧":"7","༨":"8","༩":"9","༠":"0"},r=e.defineLocale("bo",{months:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),monthsShort:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),weekdays:"གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་".split("_"),weekdaysShort:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),weekdaysMin:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[དི་རིང] LT",nextDay:"[སང་ཉིན] LT",nextWeek:"[བདུན་ཕྲག་རྗེས་མ], LT",lastDay:"[ཁ་སང] LT",lastWeek:"[བདུན་ཕྲག་མཐའ་མ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ལ་",past:"%s སྔན་ལ",s:"ལམ་སང",m:"སྐར་མ་གཅིག",mm:"%d སྐར་མ",h:"ཆུ་ཚོད་གཅིག",hh:"%d ཆུ་ཚོད",d:"ཉིན་གཅིག",dd:"%d ཉིན་",M:"ཟླ་བ་གཅིག",MM:"%d ཟླ་བ",y:"ལོ་གཅིག",yy:"%d ལོ"},preparse:function(e){return e.replace(/[༡༢༣༤༥༦༧༨༩༠]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,meridiemHour:function(e,t){return 12===e&&(e=0),"མཚན་མོ"===t&&e>=4||"ཉིན་གུང"===t&&e<5||"དགོང་དག"===t?e+12:e},meridiem:function(e,t,n){return e<4?"མཚན་མོ":e<10?"ཞོགས་ཀས":e<17?"ཉིན་གུང":e<20?"དགོང་དག":"མཚན་མོ"},week:{dow:0,doy:6}});return r})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n){var r={mm:"munutenn",MM:"miz",dd:"devezh"};return e+" "+a(r[n],e)}function n(e){switch(r(e)){case 1:case 3:case 4:case 5:case 9:return e+" bloaz";default:return e+" vloaz"}}function r(e){return e>9?r(e%10):e}function a(e,t){return 2===t?o(e):e}function o(e){var t={m:"v",b:"v",d:"z"};return void 0===t[e.charAt(0)]?e:t[e.charAt(0)]+e.substring(1)}var s=e.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondennoù",m:"ur vunutenn",mm:t,h:"un eur",hh:"%d eur",d:"un devezh",dd:t,M:"ur miz",MM:t,y:"ur bloaz",yy:n},dayOfMonthOrdinalParse:/\d{1,2}(añ|vet)/,ordinal:function(e){var t=1===e?"añ":"vet";return e+t},week:{dow:1,doy:4}});return s})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n){var r=e+" ";switch(n){case"m":return t?"jedna minuta":"jedne minute";case"mm":return r+=1===e?"minuta":2===e||3===e||4===e?"minute":"minuta";case"h":return t?"jedan sat":"jednog sata";case"hh":return r+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return r+=1===e?"dan":"dana";case"MM":return r+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return r+=1===e?"godina":2===e||3===e||4===e?"godine":"godina"}}var n=e.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:t,mm:t,h:t,hh:t,d:"dan",dd:t,M:"mjesec",MM:t,y:"godinu",yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("ca",{months:{standalone:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"Dg_Dl_Dt_Dc_Dj_Dv_Ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"[el] D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"[el] D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"[el] dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aquí %s",past:"fa %s",s:"uns segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(e,t){var n=1===e?"r":2===e?"n":3===e?"r":4===e?"t":"è";return"w"!==t&&"W"!==t||(n="a"),e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e){return e>1&&e<5&&1!==~~(e/10)}function n(e,n,r,a){var o=e+" ";switch(r){case"s":return n||a?"pár sekund":"pár sekundami";case"m":return n?"minuta":a?"minutu":"minutou";case"mm":return n||a?o+(t(e)?"minuty":"minut"):o+"minutami";case"h":return n?"hodina":a?"hodinu":"hodinou";case"hh":return n||a?o+(t(e)?"hodiny":"hodin"):o+"hodinami";case"d":return n||a?"den":"dnem";case"dd":return n||a?o+(t(e)?"dny":"dní"):o+"dny";case"M":return n||a?"měsíc":"měsícem";case"MM":return n||a?o+(t(e)?"měsíce":"měsíců"):o+"měsíci";case"y":return n||a?"rok":"rokem";case"yy":return n||a?o+(t(e)?"roky":"let"):o+"lety"}}var r="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),a="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_"),o=e.defineLocale("cs",{months:r,monthsShort:a,monthsParse:function(e,t){var n,r=[];for(n=0;n<12;n++)r[n]=new RegExp("^"+e[n]+"$|^"+t[n]+"$","i");return r}(r,a),shortMonthsParse:function(e){var t,n=[];for(t=0;t<12;t++)n[t]=new RegExp("^"+e[t]+"$","i");return n}(a),longMonthsParse:function(e){var t,n=[];for(t=0;t<12;t++)n[t]=new RegExp("^"+e[t]+"$","i");return n}(r),weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return o})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("cv",{months:"кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав".split("_"),monthsShort:"кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш".split("_"),weekdays:"вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун".split("_"),weekdaysShort:"выр_тун_ытл_юн_кӗҫ_эрн_шӑм".split("_"),weekdaysMin:"вр_тн_ыт_юн_кҫ_эр_шм".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]",LLL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm",LLLL:"dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm"},calendar:{sameDay:"[Паян] LT [сехетре]",nextDay:"[Ыран] LT [сехетре]",lastDay:"[Ӗнер] LT [сехетре]",nextWeek:"[Ҫитес] dddd LT [сехетре]",lastWeek:"[Иртнӗ] dddd LT [сехетре]",sameElse:"L"},relativeTime:{future:function(e){var t=/сехет$/i.exec(e)?"рен":/ҫул$/i.exec(e)?"тан":"ран";return e+t},past:"%s каялла",s:"пӗр-ик ҫеккунт",m:"пӗр минут",mm:"%d минут",h:"пӗр сехет",hh:"%d сехет",d:"пӗр кун",dd:"%d кун",M:"пӗр уйӑх",MM:"%d уйӑх",y:"пӗр ҫул",yy:"%d ҫул"},dayOfMonthOrdinalParse:/\d{1,2}-мӗш/,ordinal:"%d-мӗш",week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn ôl",s:"ychydig eiliadau",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(e){var t=e,n="",r=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"];return t>20?n=40===t||50===t||60===t||80===t||100===t?"fed":"ain":t>0&&(n=r[t]),e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"på dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer", d:"en dag",dd:"%d dage",M:"en måned",MM:"%d måneder",y:"et år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n,r){var a={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return t?a[n][0]:a[n][1]}var n=e.defineLocale("de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:t,mm:"%d Minuten",h:t,hh:"%d Stunden",d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n,r){var a={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return t?a[n][0]:a[n][1]}var n=e.defineLocale("de-ch",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._März_April_Mai_Juni_Juli_Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH.mm",LLLL:"dddd, D. MMMM YYYY HH.mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:t,mm:"%d Minuten",h:t,hh:"%d Stunden",d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n,r){var a={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return t?a[n][0]:a[n][1]}var n=e.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:t,mm:"%d Minuten",h:t,hh:"%d Stunden",d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=["ޖެނުއަރީ","ފެބްރުއަރީ","މާރިޗު","އޭޕްރީލު","މޭ","ޖޫން","ޖުލައި","އޯގަސްޓު","ސެޕްޓެމްބަރު","އޮކްޓޯބަރު","ނޮވެމްބަރު","ޑިސެމްބަރު"],n=["އާދިއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"],r=e.defineLocale("dv",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:"އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/މކ|މފ/,isPM:function(e){return"މފ"===e},meridiem:function(e,t,n){return e<12?"މކ":"މފ"},calendar:{sameDay:"[މިއަދު] LT",nextDay:"[މާދަމާ] LT",nextWeek:"dddd LT",lastDay:"[އިއްޔެ] LT",lastWeek:"[ފާއިތުވި] dddd LT",sameElse:"L"},relativeTime:{future:"ތެރޭގައި %s",past:"ކުރިން %s",s:"ސިކުންތުކޮޅެއް",m:"މިނިޓެއް",mm:"މިނިޓު %d",h:"ގަޑިއިރެއް",hh:"ގަޑިއިރު %d",d:"ދުވަހެއް",dd:"ދުވަސް %d",M:"މަހެއް",MM:"މަސް %d",y:"އަހަރެއް",yy:"އަހަރު %d"},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:7,doy:12}});return r})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e){return e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}var n=e.defineLocale("el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsGenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(e,t){return e?/D/.test(t.substring(0,t.indexOf("MMMM")))?this._monthsGenitiveEl[e.month()]:this._monthsNominativeEl[e.month()]:this._monthsNominativeEl},monthsShort:"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(e,t,n){return e>11?n?"μμ":"ΜΜ":n?"πμ":"ΠΜ"},isPM:function(e){return"μ"===(e+"").toLowerCase()[0]},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[Σήμερα {}] LT",nextDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[το προηγούμενο] dddd [{}] LT";default:return"[την προηγούμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(e,n){var r=this._calendarEl[e],a=n&&n.hours();return t(r)&&(r=r.apply(n)),r.replace("{}",a%12===1?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s πριν",s:"λίγα δευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",dd:"%d μέρες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χρόνος",yy:"%d χρόνια"},dayOfMonthOrdinalParse:/\d{1,2}η/,ordinal:"%dη",week:{dow:1,doy:4}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec".split("_"),weekdays:"dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_ĵaŭ_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_ĵa_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-a de] MMMM, YYYY",LLL:"D[-a de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-a de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(e){return"p"===e.charAt(0).toLowerCase()},meridiem:function(e,t,n){return e>11?n?"p.t.m.":"P.T.M.":n?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodiaŭ je] LT",nextDay:"[Morgaŭ je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hieraŭ je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"antaŭ %s",s:"sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),r=e.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,r){return e?/-MMM-/.test(r)?n[e.month()]:t[e.month()]:t},monthsParseExact:!0,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});return r})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),r=e.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,r){return e?/-MMM-/.test(r)?n[e.month()]:t[e.month()]:t},monthsParseExact:!0,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});return r})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n,r){var a={s:["mõne sekundi","mõni sekund","paar sekundit"],m:["ühe minuti","üks minut"],mm:[e+" minuti",e+" minutit"],h:["ühe tunni","tund aega","üks tund"],hh:[e+" tunni",e+" tundi"],d:["ühe päeva","üks päev"],M:["kuu aja","kuu aega","üks kuu"],MM:[e+" kuu",e+" kuud"],y:["ühe aasta","aasta","üks aasta"],yy:[e+" aasta",e+" aastat"]};return t?a[n][2]?a[n][2]:a[n][1]:r?a[n][0]:a[n][1]}var n=e.defineLocale("et",{months:"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[Täna,] LT",nextDay:"[Homme,] LT",nextWeek:"[Järgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s pärast",past:"%s tagasi",s:t,m:t,mm:t,h:t,hh:t,d:t,dd:"%d päeva",M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},n={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"},r=e.defineLocale("fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(e){return/بعد از ظهر/.test(e)},meridiem:function(e,t,n){return e<12?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay:"[امروز ساعت] LT",nextDay:"[فردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s پیش",s:"چند ثانیه",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"},preparse:function(e){return e.replace(/[۰-۹]/g,function(e){return n[e]}).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]}).replace(/,/g,"،")},dayOfMonthOrdinalParse:/\d{1,2}م/,ordinal:"%dم",week:{dow:6,doy:12}});return r})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,r,a){var o="";switch(r){case"s":return a?"muutaman sekunnin":"muutama sekunti";case"m":return a?"minuutin":"minuutti";case"mm":o=a?"minuutin":"minuuttia";break;case"h":return a?"tunnin":"tunti";case"hh":o=a?"tunnin":"tuntia";break;case"d":return a?"päivän":"päivä";case"dd":o=a?"päivän":"päivää";break;case"M":return a?"kuukauden":"kuukausi";case"MM":o=a?"kuukauden":"kuukautta";break;case"y":return a?"vuoden":"vuosi";case"yy":o=a?"vuoden":"vuotta"}return o=n(e,a)+" "+o}function n(e,t){return e<10?t?a[e]:r[e]:e}var r="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),a=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",r[7],r[8],r[9]],o=e.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return o})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("fo",{months:"januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"),weekdaysShort:"sun_mán_týs_mik_hós_frí_ley".split("_"),weekdaysMin:"su_má_tý_mi_hó_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[Í dag kl.] LT",nextDay:"[Í morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[Í gjár kl.] LT",lastWeek:"[síðstu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s síðani",s:"fá sekund",m:"ein minutt",mm:"%d minuttir",h:"ein tími",hh:"%d tímar",d:"ein dagur",dd:"%d dagar",M:"ein mánaði",MM:"%d mánaðir",y:"eitt ár",yy:"%d ár"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("fr-ca",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,t){switch(t){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("fr-ch",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,t){switch(t){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(e,t){switch(t){case"D":return e+(1===e?"er":"");default:case"M":case"Q":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),n="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),r=e.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(e,r){return e?/-MMM-/.test(r)?n[e.month()]:t[e.month()]:t},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[ôfrûne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",m:"ien minút",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}});return r})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=["Am Faoilleach","An Gearran","Am Màrt","An Giblean","An Cèitean","An t-Ògmhios","An t-Iuchar","An Lùnastal","An t-Sultain","An Dàmhair","An t-Samhain","An Dùbhlachd"],n=["Faoi","Gear","Màrt","Gibl","Cèit","Ògmh","Iuch","Lùn","Sult","Dàmh","Samh","Dùbh"],r=["Didòmhnaich","Diluain","Dimàirt","Diciadain","Diardaoin","Dihaoine","Disathairne"],a=["Did","Dil","Dim","Dic","Dia","Dih","Dis"],o=["Dò","Lu","Mà","Ci","Ar","Ha","Sa"],s=e.defineLocale("gd",{months:t,monthsShort:n,monthsParseExact:!0,weekdays:r,weekdaysShort:a,weekdaysMin:o,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-màireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-dè aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"mìos",MM:"%d mìosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){var t=1===e?"d":e%10===2?"na":"mh";return e+t},week:{dow:1,doy:4}});return s})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_mércores_xoves_venres_sábado".split("_"),weekdaysShort:"dom._lun._mar._mér._xov._ven._sáb.".split("_"),weekdaysMin:"do_lu_ma_mé_xo_ve_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"ás":"á")+"] LT"},nextDay:function(){return"[mañá "+(1!==this.hours()?"ás":"á")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"ás":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"á":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"ás":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(e){return 0===e.indexOf("un")?"n"+e:"en "+e},past:"hai %s",s:"uns segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n,r){var a={s:["thodde secondanim","thodde second"],m:["eka mintan","ek minute"],mm:[e+" mintanim",e+" mintam"],h:["eka horan","ek hor"],hh:[e+" horanim",e+" hor"],d:["eka disan","ek dis"],dd:[e+" disanim",e+" dis"],M:["eka mhoinean","ek mhoino"],MM:[e+" mhoineanim",e+" mhoine"],y:["eka vorsan","ek voros"],yy:[e+" vorsanim",e+" vorsam"]};return t?a[n][0]:a[n][1]}var n=e.defineLocale("gom-latn",{months:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"), monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Ieta to] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fatlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(e,t){switch(t){case"D":return e+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return e}},week:{dow:1,doy:4},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function(e,t){return 12===e&&(e=0),"rati"===t?e<4?e:e+12:"sokalli"===t?e:"donparam"===t?e>12?e:e+12:"sanje"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"rati":e<12?"sokalli":e<16?"donparam":e<20?"sanje":"rati"}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("he",{months:"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"),monthsShort:"ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳".split("_"),weekdays:"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),weekdaysShort:"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),weekdaysMin:"א_ב_ג_ד_ה_ו_ש".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[היום ב־]LT",nextDay:"[מחר ב־]LT",nextWeek:"dddd [בשעה] LT",lastDay:"[אתמול ב־]LT",lastWeek:"[ביום] dddd [האחרון בשעה] LT",sameElse:"L"},relativeTime:{future:"בעוד %s",past:"לפני %s",s:"מספר שניות",m:"דקה",mm:"%d דקות",h:"שעה",hh:function(e){return 2===e?"שעתיים":e+" שעות"},d:"יום",dd:function(e){return 2===e?"יומיים":e+" ימים"},M:"חודש",MM:function(e){return 2===e?"חודשיים":e+" חודשים"},y:"שנה",yy:function(e){return 2===e?"שנתיים":e%10===0&&10!==e?e+" שנה":e+" שנים"}},meridiemParse:/אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,isPM:function(e){return/^(אחה"צ|אחרי הצהריים|בערב)$/.test(e)},meridiem:function(e,t,n){return e<5?"לפנות בוקר":e<10?"בבוקר":e<12?n?'לפנה"צ':"לפני הצהריים":e<18?n?'אחה"צ':"אחרי הצהריים":"בערב"}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"},r=e.defineLocale("hi",{months:"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),monthsShort:"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm बजे",LTS:"A h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm बजे",LLLL:"dddd, D MMMM YYYY, A h:mm बजे"},calendar:{sameDay:"[आज] LT",nextDay:"[कल] LT",nextWeek:"dddd, LT",lastDay:"[कल] LT",lastWeek:"[पिछले] dddd, LT",sameElse:"L"},relativeTime:{future:"%s में",past:"%s पहले",s:"कुछ ही क्षण",m:"एक मिनट",mm:"%d मिनट",h:"एक घंटा",hh:"%d घंटे",d:"एक दिन",dd:"%d दिन",M:"एक महीने",MM:"%d महीने",y:"एक वर्ष",yy:"%d वर्ष"},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function(e,t){return 12===e&&(e=0),"रात"===t?e<4?e:e+12:"सुबह"===t?e:"दोपहर"===t?e>=10?e:e+12:"शाम"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"रात":e<10?"सुबह":e<17?"दोपहर":e<20?"शाम":"रात"},week:{dow:0,doy:6}});return r})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n){var r=e+" ";switch(n){case"m":return t?"jedna minuta":"jedne minute";case"mm":return r+=1===e?"minuta":2===e||3===e||4===e?"minute":"minuta";case"h":return t?"jedan sat":"jednog sata";case"hh":return r+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return r+=1===e?"dan":"dana";case"MM":return r+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return r+=1===e?"godina":2===e||3===e||4===e?"godine":"godina"}}var n=e.defineLocale("hr",{months:{format:"siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:t,mm:t,h:t,hh:t,d:"dan",dd:t,M:"mjesec",MM:t,y:"godinu",yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n,r){var a=e;switch(n){case"s":return r||t?"néhány másodperc":"néhány másodperce";case"m":return"egy"+(r||t?" perc":" perce");case"mm":return a+(r||t?" perc":" perce");case"h":return"egy"+(r||t?" óra":" órája");case"hh":return a+(r||t?" óra":" órája");case"d":return"egy"+(r||t?" nap":" napja");case"dd":return a+(r||t?" nap":" napja");case"M":return"egy"+(r||t?" hónap":" hónapja");case"MM":return a+(r||t?" hónap":" hónapja");case"y":return"egy"+(r||t?" év":" éve");case"yy":return a+(r||t?" év":" éve")}return""}function n(e){return(e?"":"[múlt] ")+"["+r[this.day()]+"] LT[-kor]"}var r="vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" "),a=e.defineLocale("hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(e){return"u"===e.charAt(1).toLowerCase()},meridiem:function(e,t,n){return e<12?n===!0?"de":"DE":n===!0?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return n.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return n.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return a})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("hy-am",{months:{format:"հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի".split("_"),standalone:"հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր".split("_")},monthsShort:"հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ".split("_"),weekdays:"կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ".split("_"),weekdaysShort:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),weekdaysMin:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY թ.",LLL:"D MMMM YYYY թ., HH:mm",LLLL:"dddd, D MMMM YYYY թ., HH:mm"},calendar:{sameDay:"[այսօր] LT",nextDay:"[վաղը] LT",lastDay:"[երեկ] LT",nextWeek:function(){return"dddd [օրը ժամը] LT"},lastWeek:function(){return"[անցած] dddd [օրը ժամը] LT"},sameElse:"L"},relativeTime:{future:"%s հետո",past:"%s առաջ",s:"մի քանի վայրկյան",m:"րոպե",mm:"%d րոպե",h:"ժամ",hh:"%d ժամ",d:"օր",dd:"%d օր",M:"ամիս",MM:"%d ամիս",y:"տարի",yy:"%d տարի"},meridiemParse:/գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,isPM:function(e){return/^(ցերեկվա|երեկոյան)$/.test(e)},meridiem:function(e){return e<4?"գիշերվա":e<12?"առավոտվա":e<17?"ցերեկվա":"երեկոյան"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(ին|րդ)/,ordinal:function(e,t){switch(t){case"DDD":case"w":case"W":case"DDDo":return 1===e?e+"-ին":e+"-րդ";default:return e}},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(e,t){return 12===e&&(e=0),"pagi"===t?e:"siang"===t?e>=11?e:e+12:"sore"===t||"malam"===t?e+12:void 0},meridiem:function(e,t,n){return e<11?"pagi":e<15?"siang":e<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e){return e%100===11||e%10!==1}function n(e,n,r,a){var o=e+" ";switch(r){case"s":return n||a?"nokkrar sekúndur":"nokkrum sekúndum";case"m":return n?"mínúta":"mínútu";case"mm":return t(e)?o+(n||a?"mínútur":"mínútum"):n?o+"mínúta":o+"mínútu";case"hh":return t(e)?o+(n||a?"klukkustundir":"klukkustundum"):o+"klukkustund";case"d":return n?"dagur":a?"dag":"degi";case"dd":return t(e)?n?o+"dagar":o+(a?"daga":"dögum"):n?o+"dagur":o+(a?"dag":"degi");case"M":return n?"mánuður":a?"mánuð":"mánuði";case"MM":return t(e)?n?o+"mánuðir":o+(a?"mánuði":"mánuðum"):n?o+"mánuður":o+(a?"mánuð":"mánuði");case"y":return n||a?"ár":"ári";case"yy":return t(e)?o+(n||a?"ár":"árum"):o+(n||a?"ár":"ári")}}var r=e.defineLocale("is",{months:"janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember".split("_"),monthsShort:"jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des".split("_"),weekdays:"sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"),weekdaysShort:"sun_mán_þri_mið_fim_fös_lau".split("_"),weekdaysMin:"Su_Má_Þr_Mi_Fi_Fö_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[í dag kl.] LT",nextDay:"[á morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[í gær kl.] LT",lastWeek:"[síðasta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s síðan",s:n,m:n,mm:n,h:"klukkustund",hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return r})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(e){return(/^[0-9].+$/.test(e)?"tra":"in")+" "+e},past:"%s fa",s:"alcuni secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("ja",{months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日 HH:mm dddd",l:"YYYY/MM/DD",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日 HH:mm dddd"},meridiemParse:/午前|午後/i,isPM:function(e){return"午後"===e},meridiem:function(e,t,n){return e<12?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:"[来週]dddd LT",lastDay:"[昨日] LT",lastWeek:"[前週]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}日/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"日";default:return e}},relativeTime:{future:"%s後",past:"%s前",s:"数秒",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(e,t){return 12===e&&(e=0),"enjing"===t?e:"siyang"===t?e>=11?e:e+12:"sonten"===t||"ndalu"===t?e+12:void 0},meridiem:function(e,t,n){return e<11?"enjing":e<15?"siyang":e<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("ka",{months:{standalone:"იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი".split("_"),format:"იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს".split("_")},monthsShort:"იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ".split("_"),weekdays:{standalone:"კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი".split("_"),format:"კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს".split("_"),isFormat:/(წინა|შემდეგ)/},weekdaysShort:"კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ".split("_"),weekdaysMin:"კვ_ორ_სა_ოთ_ხუ_პა_შა".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[დღეს] LT[-ზე]",nextDay:"[ხვალ] LT[-ზე]",lastDay:"[გუშინ] LT[-ზე]",nextWeek:"[შემდეგ] dddd LT[-ზე]",lastWeek:"[წინა] dddd LT-ზე",sameElse:"L"},relativeTime:{future:function(e){return/(წამი|წუთი|საათი|წელი)/.test(e)?e.replace(/ი$/,"ში"):e+"ში"},past:function(e){return/(წამი|წუთი|საათი|დღე|თვე)/.test(e)?e.replace(/(ი|ე)$/,"ის უკან"):/წელი/.test(e)?e.replace(/წელი$/,"წლის უკან"):void 0},s:"რამდენიმე წამი",m:"წუთი",mm:"%d წუთი",h:"საათი",hh:"%d საათი",d:"დღე",dd:"%d დღე",M:"თვე",MM:"%d თვე",y:"წელი",yy:"%d წელი"},dayOfMonthOrdinalParse:/0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,ordinal:function(e){return 0===e?e:1===e?e+"-ლი":e<20||e<=100&&e%20===0||e%100===0?"მე-"+e:e+"-ე"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={0:"-ші",1:"-ші",2:"-ші",3:"-ші",4:"-ші",5:"-ші",6:"-шы",7:"-ші",8:"-ші",9:"-шы",10:"-шы",20:"-шы",30:"-шы",40:"-шы",50:"-ші",60:"-шы",70:"-ші",80:"-ші",90:"-шы",100:"-ші"},n=e.defineLocale("kk",{months:"қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан".split("_"),monthsShort:"қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел".split("_"),weekdays:"жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі".split("_"),weekdaysShort:"жек_дүй_сей_сәр_бей_жұм_сен".split("_"),weekdaysMin:"жк_дй_сй_ср_бй_жм_сн".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгін сағат] LT",nextDay:"[Ертең сағат] LT",nextWeek:"dddd [сағат] LT",lastDay:"[Кеше сағат] LT",lastWeek:"[Өткен аптаның] dddd [сағат] LT",sameElse:"L"},relativeTime:{future:"%s ішінде",past:"%s бұрын",s:"бірнеше секунд",m:"бір минут",mm:"%d минут",h:"бір сағат",hh:"%d сағат",d:"бір күн",dd:"%d күн",M:"бір ай",MM:"%d ай",y:"бір жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(ші|шы)/,ordinal:function(e){var n=e%10,r=e>=100?100:null;return e+(t[e]||t[n]||t[r])},week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("km",{months:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),monthsShort:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),weekdays:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysShort:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysMin:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[ថ្ងៃនេះ ម៉ោង] LT",nextDay:"[ស្អែក ម៉ោង] LT",nextWeek:"dddd [ម៉ោង] LT",lastDay:"[ម្សិលមិញ ម៉ោង] LT",lastWeek:"dddd [សប្តាហ៍មុន] [ម៉ោង] LT",sameElse:"L"},relativeTime:{future:"%sទៀត",past:"%sមុន",s:"ប៉ុន្មានវិនាទី",m:"មួយនាទី",mm:"%d នាទី",h:"មួយម៉ោង",hh:"%d ម៉ោង",d:"មួយថ្ងៃ",dd:"%d ថ្ងៃ",M:"មួយខែ",MM:"%d ខែ",y:"មួយឆ្នាំ",yy:"%d ឆ្នាំ"},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={1:"೧",2:"೨",3:"೩",4:"೪",5:"೫",6:"೬",7:"೭",8:"೮",9:"೯",0:"೦"},n={"೧":"1","೨":"2","೩":"3","೪":"4","೫":"5","೬":"6","೭":"7","೮":"8","೯":"9","೦":"0"},r=e.defineLocale("kn",{months:"ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್".split("_"),monthsShort:"ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬ_ಅಕ್ಟೋಬ_ನವೆಂಬ_ಡಿಸೆಂಬ".split("_"),monthsParseExact:!0,weekdays:"ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ".split("_"),weekdaysShort:"ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ".split("_"),weekdaysMin:"ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[ಇಂದು] LT",nextDay:"[ನಾಳೆ] LT",nextWeek:"dddd, LT",lastDay:"[ನಿನ್ನೆ] LT",lastWeek:"[ಕೊನೆಯ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ನಂತರ",past:"%s ಹಿಂದೆ",s:"ಕೆಲವು ಕ್ಷಣಗಳು",m:"ಒಂದು ನಿಮಿಷ",mm:"%d ನಿಮಿಷ",h:"ಒಂದು ಗಂಟೆ",hh:"%d ಗಂಟೆ",d:"ಒಂದು ದಿನ",dd:"%d ದಿನ",M:"ಒಂದು ತಿಂಗಳು",MM:"%d ತಿಂಗಳು",y:"ಒಂದು ವರ್ಷ",yy:"%d ವರ್ಷ"},preparse:function(e){return e.replace(/[೧೨೩೪೫೬೭೮೯೦]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,meridiemHour:function(e,t){return 12===e&&(e=0),"ರಾತ್ರಿ"===t?e<4?e:e+12:"ಬೆಳಿಗ್ಗೆ"===t?e:"ಮಧ್ಯಾಹ್ನ"===t?e>=10?e:e+12:"ಸಂಜೆ"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"ರಾತ್ರಿ":e<10?"ಬೆಳಿಗ್ಗೆ":e<17?"ಮಧ್ಯಾಹ್ನ":e<20?"ಸಂಜೆ":"ರಾತ್ರಿ"},dayOfMonthOrdinalParse:/\d{1,2}(ನೇ)/,ordinal:function(e){return e+"ನೇ"},week:{dow:0,doy:6}});return r})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("ko",{months:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShort:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 A h:mm",LLLL:"YYYY년 MMMM D일 dddd A h:mm",l:"YYYY.MM.DD",ll:"YYYY년 MMMM D일",lll:"YYYY년 MMMM D일 A h:mm",llll:"YYYY년 MMMM D일 dddd A h:mm"},calendar:{sameDay:"오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇 초",ss:"%d초",m:"1분",mm:"%d분",h:"한 시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한 달",MM:"%d달",y:"일 년",yy:"%d년"},dayOfMonthOrdinalParse:/\d{1,2}일/,ordinal:"%d일",meridiemParse:/오전|오후/,isPM:function(e){return"오후"===e},meridiem:function(e,t,n){return e<12?"오전":"오후"}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={0:"-чү",1:"-чи",2:"-чи",3:"-чү",4:"-чү",5:"-чи",6:"-чы",7:"-чи",8:"-чи",9:"-чу",10:"-чу",20:"-чы",30:"-чу",40:"-чы",50:"-чү",60:"-чы",70:"-чи",80:"-чи",90:"-чу",100:"-чү"},n=e.defineLocale("ky",{months:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),monthsShort:"янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек".split("_"),weekdays:"Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби".split("_"),weekdaysShort:"Жек_Дүй_Шей_Шар_Бей_Жум_Ише".split("_"),weekdaysMin:"Жк_Дй_Шй_Шр_Бй_Жм_Иш".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгүн саат] LT",nextDay:"[Эртең саат] LT",nextWeek:"dddd [саат] LT",lastDay:"[Кече саат] LT",lastWeek:"[Өткен аптанын] dddd [күнү] [саат] LT",sameElse:"L"},relativeTime:{future:"%s ичинде",past:"%s мурун",s:"бирнече секунд",m:"бир мүнөт",mm:"%d мүнөт",h:"бир саат",hh:"%d саат",d:"бир күн",dd:"%d күн",M:"бир ай",MM:"%d ай",y:"бир жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(чи|чы|чү|чу)/,ordinal:function(e){var n=e%10,r=e>=100?100:null;return e+(t[e]||t[n]||t[r])},week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n,r){var a={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return t?a[n][0]:a[n][1]}function n(e){var t=e.substr(0,e.indexOf(" "));return a(t)?"a "+e:"an "+e}function r(e){var t=e.substr(0,e.indexOf(" "));return a(t)?"viru "+e:"virun "+e}function a(e){if(e=parseInt(e,10),isNaN(e))return!1;if(e<0)return!0;if(e<10)return 4<=e&&e<=7;if(e<100){var t=e%10,n=e/10;return a(0===t?n:t)}if(e<1e4){for(;e>=10;)e/=10;return a(e)}return e/=1e3,a(e)}var o=e.defineLocale("lb",{months:"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mé_Dë_Më_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gëschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:n,past:r,s:"e puer Sekonnen",m:t,mm:"%d Minutten",h:t,hh:"%d Stonnen",d:t,dd:"%d Deeg",M:t,MM:"%d Méint",y:t,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return o})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("lo",{months:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),monthsShort:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),weekdays:"ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysShort:"ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysMin:"ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"ວັນdddd D MMMM YYYY HH:mm"},meridiemParse:/ຕອນເຊົ້າ|ຕອນແລງ/,isPM:function(e){return"ຕອນແລງ"===e},meridiem:function(e,t,n){return e<12?"ຕອນເຊົ້າ":"ຕອນແລງ"},calendar:{sameDay:"[ມື້ນີ້ເວລາ] LT",nextDay:"[ມື້ອື່ນເວລາ] LT",nextWeek:"[ວັນ]dddd[ໜ້າເວລາ] LT",lastDay:"[ມື້ວານນີ້ເວລາ] LT",lastWeek:"[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT",sameElse:"L"},relativeTime:{future:"ອີກ %s",past:"%sຜ່ານມາ",s:"ບໍ່ເທົ່າໃດວິນາທີ",m:"1 ນາທີ",mm:"%d ນາທີ",h:"1 ຊົ່ວໂມງ",hh:"%d ຊົ່ວໂມງ",d:"1 ມື້",dd:"%d ມື້",M:"1 ເດືອນ",MM:"%d ເດືອນ",y:"1 ປີ",yy:"%d ປີ"},dayOfMonthOrdinalParse:/(ທີ່)\d{1,2}/,ordinal:function(e){return"ທີ່"+e}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n,r){return t?"kelios sekundės":r?"kelių sekundžių":"kelias sekundes"}function n(e,t,n,r){return t?a(n)[0]:r?a(n)[1]:a(n)[2]}function r(e){return e%10===0||e>10&&e<20}function a(e){return s[e].split("_")}function o(e,t,o,s){var i=e+" ";return 1===e?i+n(e,t,o[0],s):t?i+(r(e)?a(o)[1]:a(o)[0]):s?i+a(o)[1]:i+(r(e)?a(o)[1]:a(o)[2])}var s={m:"minutė_minutės_minutę",mm:"minutės_minučių_minutes",h:"valanda_valandos_valandą",hh:"valandos_valandų_valandas",d:"diena_dienos_dieną",dd:"dienos_dienų_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesių_mėnesius",y:"metai_metų_metus",yy:"metai_metų_metus"},i=e.defineLocale("lt",{months:{format:"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[Šiandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieš %s",s:t,m:n,mm:o,h:n,hh:o,d:n,dd:o,M:n,MM:o,y:n,yy:o},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(e){return e+"-oji"},week:{dow:1,doy:4}});return i})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n){return n?t%10===1&&t%100!==11?e[2]:e[3]:t%10===1&&t%100!==11?e[0]:e[1]}function n(e,n,r){return e+" "+t(o[r],e,n)}function r(e,n,r){return t(o[r],e,n)}function a(e,t){return t?"dažas sekundes":"dažām sekundēm"}var o={m:"minūtes_minūtēm_minūte_minūtes".split("_"),mm:"minūtes_minūtēm_minūte_minūtes".split("_"),h:"stundas_stundām_stunda_stundas".split("_"),hh:"stundas_stundām_stunda_stundas".split("_"),d:"dienas_dienām_diena_dienas".split("_"),dd:"dienas_dienām_diena_dienas".split("_"),M:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),MM:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")},s=e.defineLocale("lv",{months:"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),weekdays:"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[Šodien pulksten] LT",nextDay:"[Rīt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pagājušā] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"pēc %s",past:"pirms %s",s:a,m:r,mm:n,h:r,hh:n,d:r,dd:n,M:r,MM:n,y:r,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return s})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={words:{m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,t){return 1===e?t[0]:e>=2&&e<=4?t[1]:t[2]},translate:function(e,n,r){var a=t.words[r];return 1===r.length?n?a[0]:a[1]:e+" "+t.correctGrammaticalCase(e,a)}},n=e.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){var e=["[prošle] [nedjelje] [u] LT","[prošlog] [ponedjeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srijede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"];return e[this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",m:t.translate, mm:t.translate,h:t.translate,hh:t.translate,d:"dan",dd:t.translate,M:"mjesec",MM:t.translate,y:"godinu",yy:t.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("mi",{months:"Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei".split("_"),weekdaysShort:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),weekdaysMin:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te hēkona ruarua",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("mk",{months:"јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември".split("_"),monthsShort:"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек".split("_"),weekdays:"недела_понеделник_вторник_среда_четврток_петок_сабота".split("_"),weekdaysShort:"нед_пон_вто_сре_чет_пет_саб".split("_"),weekdaysMin:"нe_пo_вт_ср_че_пе_сa".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Денес во] LT",nextDay:"[Утре во] LT",nextWeek:"[Во] dddd [во] LT",lastDay:"[Вчера во] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[Изминатата] dddd [во] LT";case 1:case 2:case 4:case 5:return"[Изминатиот] dddd [во] LT"}},sameElse:"L"},relativeTime:{future:"после %s",past:"пред %s",s:"неколку секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дена",M:"месец",MM:"%d месеци",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(e){var t=e%10,n=e%100;return 0===e?e+"-ев":0===n?e+"-ен":n>10&&n<20?e+"-ти":1===t?e+"-ви":2===t?e+"-ри":7===t||8===t?e+"-ми":e+"-ти"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("ml",{months:"ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ".split("_"),monthsShort:"ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.".split("_"),monthsParseExact:!0,weekdays:"ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച".split("_"),weekdaysShort:"ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി".split("_"),weekdaysMin:"ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ".split("_"),longDateFormat:{LT:"A h:mm -നു",LTS:"A h:mm:ss -നു",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -നു",LLLL:"dddd, D MMMM YYYY, A h:mm -നു"},calendar:{sameDay:"[ഇന്ന്] LT",nextDay:"[നാളെ] LT",nextWeek:"dddd, LT",lastDay:"[ഇന്നലെ] LT",lastWeek:"[കഴിഞ്ഞ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s കഴിഞ്ഞ്",past:"%s മുൻപ്",s:"അൽപ നിമിഷങ്ങൾ",m:"ഒരു മിനിറ്റ്",mm:"%d മിനിറ്റ്",h:"ഒരു മണിക്കൂർ",hh:"%d മണിക്കൂർ",d:"ഒരു ദിവസം",dd:"%d ദിവസം",M:"ഒരു മാസം",MM:"%d മാസം",y:"ഒരു വർഷം",yy:"%d വർഷം"},meridiemParse:/രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,meridiemHour:function(e,t){return 12===e&&(e=0),"രാത്രി"===t&&e>=4||"ഉച്ച കഴിഞ്ഞ്"===t||"വൈകുന്നേരം"===t?e+12:e},meridiem:function(e,t,n){return e<4?"രാത്രി":e<12?"രാവിലെ":e<17?"ഉച്ച കഴിഞ്ഞ്":e<20?"വൈകുന്നേരം":"രാത്രി"}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n,r){var a="";if(t)switch(n){case"s":a="काही सेकंद";break;case"m":a="एक मिनिट";break;case"mm":a="%d मिनिटे";break;case"h":a="एक तास";break;case"hh":a="%d तास";break;case"d":a="एक दिवस";break;case"dd":a="%d दिवस";break;case"M":a="एक महिना";break;case"MM":a="%d महिने";break;case"y":a="एक वर्ष";break;case"yy":a="%d वर्षे"}else switch(n){case"s":a="काही सेकंदां";break;case"m":a="एका मिनिटा";break;case"mm":a="%d मिनिटां";break;case"h":a="एका तासा";break;case"hh":a="%d तासां";break;case"d":a="एका दिवसा";break;case"dd":a="%d दिवसां";break;case"M":a="एका महिन्या";break;case"MM":a="%d महिन्यां";break;case"y":a="एका वर्षा";break;case"yy":a="%d वर्षां"}return a.replace(/%d/i,e)}var n={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},r={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"},a=e.defineLocale("mr",{months:"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),monthsShort:"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm वाजता",LTS:"A h:mm:ss वाजता",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm वाजता",LLLL:"dddd, D MMMM YYYY, A h:mm वाजता"},calendar:{sameDay:"[आज] LT",nextDay:"[उद्या] LT",nextWeek:"dddd, LT",lastDay:"[काल] LT",lastWeek:"[मागील] dddd, LT",sameElse:"L"},relativeTime:{future:"%sमध्ये",past:"%sपूर्वी",s:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,function(e){return r[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return n[e]})},meridiemParse:/रात्री|सकाळी|दुपारी|सायंकाळी/,meridiemHour:function(e,t){return 12===e&&(e=0),"रात्री"===t?e<4?e:e+12:"सकाळी"===t?e:"दुपारी"===t?e>=10?e:e+12:"सायंकाळी"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"रात्री":e<10?"सकाळी":e<17?"दुपारी":e<20?"सायंकाळी":"रात्री"},week:{dow:0,doy:6}});return a})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,t){return 12===e&&(e=0),"pagi"===t?e:"tengahari"===t?e>=11?e:e+12:"petang"===t||"malam"===t?e+12:void 0},meridiem:function(e,t,n){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,t){return 12===e&&(e=0),"pagi"===t?e:"tengahari"===t?e>=11?e:e+12:"petang"===t||"malam"===t?e+12:void 0},meridiem:function(e,t,n){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={1:"၁",2:"၂",3:"၃",4:"၄",5:"၅",6:"၆",7:"၇",8:"၈",9:"၉",0:"၀"},n={"၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","၀":"0"},r=e.defineLocale("my",{months:"ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ".split("_"),monthsShort:"ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ".split("_"),weekdays:"တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ".split("_"),weekdaysShort:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),weekdaysMin:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ယနေ.] LT [မှာ]",nextDay:"[မနက်ဖြန်] LT [မှာ]",nextWeek:"dddd LT [မှာ]",lastDay:"[မနေ.က] LT [မှာ]",lastWeek:"[ပြီးခဲ့သော] dddd LT [မှာ]",sameElse:"L"},relativeTime:{future:"လာမည့် %s မှာ",past:"လွန်ခဲ့သော %s က",s:"စက္ကန်.အနည်းငယ်",m:"တစ်မိနစ်",mm:"%d မိနစ်",h:"တစ်နာရီ",hh:"%d နာရီ",d:"တစ်ရက်",dd:"%d ရက်",M:"တစ်လ",MM:"%d လ",y:"တစ်နှစ်",yy:"%d နှစ်"},preparse:function(e){return e.replace(/[၁၂၃၄၅၆၇၈၉၀]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},week:{dow:1,doy:4}});return r})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"sø._ma._ti._on._to._fr._lø.".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en måned",MM:"%d måneder",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"},r=e.defineLocale("ne",{months:"जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर".split("_"),monthsShort:"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.".split("_"),monthsParseExact:!0,weekdays:"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार".split("_"),weekdaysShort:"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.".split("_"),weekdaysMin:"आ._सो._मं._बु._बि._शु._श.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"Aको h:mm बजे",LTS:"Aको h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, Aको h:mm बजे",LLLL:"dddd, D MMMM YYYY, Aको h:mm बजे"},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/राति|बिहान|दिउँसो|साँझ/,meridiemHour:function(e,t){return 12===e&&(e=0),"राति"===t?e<4?e:e+12:"बिहान"===t?e:"दिउँसो"===t?e>=10?e:e+12:"साँझ"===t?e+12:void 0},meridiem:function(e,t,n){return e<3?"राति":e<12?"बिहान":e<16?"दिउँसो":e<20?"साँझ":"राति"},calendar:{sameDay:"[आज] LT",nextDay:"[भोलि] LT",nextWeek:"[आउँदो] dddd[,] LT",lastDay:"[हिजो] LT",lastWeek:"[गएको] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%sमा",past:"%s अगाडि",s:"केही क्षण",m:"एक मिनेट",mm:"%d मिनेट",h:"एक घण्टा",hh:"%d घण्टा",d:"एक दिन",dd:"%d दिन",M:"एक महिना",MM:"%d महिना",y:"एक बर्ष",yy:"%d बर्ष"},week:{dow:0,doy:6}});return r})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),r=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],a=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,o=e.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,r){return e?/-MMM-/.test(r)?n[e.month()]:t[e.month()]:t},monthsRegex:a,monthsShortRegex:a,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"Zo_Ma_Di_Wo_Do_Vr_Za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}});return o})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),r=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],a=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,o=e.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,r){return e?/-MMM-/.test(r)?n[e.month()]:t[e.month()]:t},monthsRegex:a,monthsShortRegex:a,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"Zo_Ma_Di_Wo_Do_Vr_Za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}});return o})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_mån_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_må_ty_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I går klokka] LT",lastWeek:"[Føregåande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein månad",MM:"%d månader",y:"eit år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={1:"੧",2:"੨",3:"੩",4:"੪",5:"੫",6:"੬",7:"੭",8:"੮",9:"੯",0:"੦"},n={"੧":"1","੨":"2","੩":"3","੪":"4","੫":"5","੬":"6","੭":"7","੮":"8","੯":"9","੦":"0"},r=e.defineLocale("pa-in",{months:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),monthsShort:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),weekdays:"ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ".split("_"),weekdaysShort:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),weekdaysMin:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),longDateFormat:{LT:"A h:mm ਵਜੇ",LTS:"A h:mm:ss ਵਜੇ",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm ਵਜੇ",LLLL:"dddd, D MMMM YYYY, A h:mm ਵਜੇ"},calendar:{sameDay:"[ਅਜ] LT",nextDay:"[ਕਲ] LT",nextWeek:"dddd, LT",lastDay:"[ਕਲ] LT",lastWeek:"[ਪਿਛਲੇ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ਵਿੱਚ",past:"%s ਪਿਛਲੇ",s:"ਕੁਝ ਸਕਿੰਟ",m:"ਇਕ ਮਿੰਟ",mm:"%d ਮਿੰਟ",h:"ਇੱਕ ਘੰਟਾ",hh:"%d ਘੰਟੇ",d:"ਇੱਕ ਦਿਨ",dd:"%d ਦਿਨ",M:"ਇੱਕ ਮਹੀਨਾ",MM:"%d ਮਹੀਨੇ",y:"ਇੱਕ ਸਾਲ",yy:"%d ਸਾਲ"},preparse:function(e){return e.replace(/[੧੨੩੪੫੬੭੮੯੦]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,meridiemHour:function(e,t){return 12===e&&(e=0),"ਰਾਤ"===t?e<4?e:e+12:"ਸਵੇਰ"===t?e:"ਦੁਪਹਿਰ"===t?e>=10?e:e+12:"ਸ਼ਾਮ"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"ਰਾਤ":e<10?"ਸਵੇਰ":e<17?"ਦੁਪਹਿਰ":e<20?"ਸ਼ਾਮ":"ਰਾਤ"},week:{dow:0,doy:6}});return r})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e){return e%10<5&&e%10>1&&~~(e/10)%10!==1}function n(e,n,r){var a=e+" ";switch(r){case"m":return n?"minuta":"minutę";case"mm":return a+(t(e)?"minuty":"minut");case"h":return n?"godzina":"godzinę";case"hh":return a+(t(e)?"godziny":"godzin");case"MM":return a+(t(e)?"miesiące":"miesięcy");case"yy":return a+(t(e)?"lata":"lat")}}var r="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),a="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_"),o=e.defineLocale("pl",{months:function(e,t){return e?""===t?"("+a[e.month()]+"|"+r[e.month()]+")":/D MMMM/.test(t)?a[e.month()]:r[e.month()]:r},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_śr_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:"[W] dddd [o] LT",lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",m:n,mm:n,h:n,hh:n,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:n,y:"rok",yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return o})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("pt-br",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"%s atrás",s:"poucos segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº"});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("pt",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-Feira_Terça-Feira_Quarta-Feira_Quinta-Feira_Sexta-Feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n){var r={mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"},a=" ";return(e%100>=20||e>=100&&e%100===0)&&(a=" de "),e+a+r[n]}var n=e.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminică_luni_marți_miercuri_joi_vineri_sâmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mâine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s în urmă",s:"câteva secunde",m:"un minut",mm:t,h:"o oră",hh:t,d:"o zi",dd:t,M:"o lună",MM:t,y:"un an",yy:t},week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t){var n=e.split("_");return t%10===1&&t%100!==11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function n(e,n,r){var a={mm:n?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"};return"m"===r?n?"минута":"минуту":e+" "+t(a[r],+e)}var r=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i],a=e.defineLocale("ru",{months:{format:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),standalone:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_")},monthsShort:{format:"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")},weekdays:{standalone:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),format:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/},weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:r,longMonthsParse:r,shortMonthsParse:r,monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сегодня в] LT",nextDay:"[Завтра в] LT",lastDay:"[Вчера в] LT",nextWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В следующее] dddd [в] LT";case 1:case 2:case 4:return"[В следующий] dddd [в] LT";case 3:case 5:case 6:return"[В следующую] dddd [в] LT"}},lastWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В прошлое] dddd [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",m:n,mm:n,h:"час",hh:n,d:"день",dd:n,M:"месяц",MM:n,y:"год",yy:n},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(e){return/^(дня|вечера)$/.test(e)},meridiem:function(e,t,n){return e<4?"ночи":e<12?"утра":e<17?"дня":"вечера"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(e,t){switch(t){case"M":case"d":case"DDD":return e+"-й";case"D":return e+"-го";case"w":case"W":return e+"-я";default:return e}},week:{dow:1,doy:7}});return a})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=["جنوري","فيبروري","مارچ","اپريل","مئي","جون","جولاءِ","آگسٽ","سيپٽمبر","آڪٽوبر","نومبر","ڊسمبر"],n=["آچر","سومر","اڱارو","اربع","خميس","جمع","ڇنڇر"],r=e.defineLocale("sd",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar:{sameDay:"[اڄ] LT",nextDay:"[سڀاڻي] LT",nextWeek:"dddd [اڳين هفتي تي] LT",lastDay:"[ڪالهه] LT",lastWeek:"[گزريل هفتي] dddd [تي] LT",sameElse:"L"},relativeTime:{future:"%s پوء",past:"%s اڳ",s:"چند سيڪنڊ",m:"هڪ منٽ",mm:"%d منٽ",h:"هڪ ڪلاڪ",hh:"%d ڪلاڪ",d:"هڪ ڏينهن",dd:"%d ڏينهن",M:"هڪ مهينو",MM:"%d مهينا",y:"هڪ سال",yy:"%d سال"},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:1,doy:4}});return r})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("se",{months:"ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu".split("_"),monthsShort:"ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov".split("_"),weekdays:"sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat".split("_"),weekdaysShort:"sotn_vuos_maŋ_gask_duor_bear_láv".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s geažes",past:"maŋit %s",s:"moadde sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta mánnu",MM:"%d mánut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("si",{months:"ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්".split("_"),monthsShort:"ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ".split("_"),weekdays:"ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා".split("_"),weekdaysShort:"ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන".split("_"),weekdaysMin:"ඉ_ස_අ_බ_බ්‍ර_සි_සෙ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [වැනි] dddd, a h:mm:ss"},calendar:{sameDay:"[අද] LT[ට]",nextDay:"[හෙට] LT[ට]",nextWeek:"dddd LT[ට]",lastDay:"[ඊයේ] LT[ට]",lastWeek:"[පසුගිය] dddd LT[ට]",sameElse:"L"},relativeTime:{future:"%sකින්",past:"%sකට පෙර",s:"තත්පර කිහිපය",m:"මිනිත්තුව",mm:"මිනිත්තු %d",h:"පැය",hh:"පැය %d",d:"දිනය",dd:"දින %d",M:"මාසය",MM:"මාස %d",y:"වසර",yy:"වසර %d"},dayOfMonthOrdinalParse:/\d{1,2} වැනි/,ordinal:function(e){return e+" වැනි"},meridiemParse:/පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,isPM:function(e){return"ප.ව."===e||"පස් වරු"===e},meridiem:function(e,t,n){return e>11?n?"ප.ව.":"පස් වරු":n?"පෙ.ව.":"පෙර වරු"}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e){return e>1&&e<5}function n(e,n,r,a){var o=e+" ";switch(r){case"s":return n||a?"pár sekúnd":"pár sekundami";case"m":return n?"minúta":a?"minútu":"minútou";case"mm":return n||a?o+(t(e)?"minúty":"minút"):o+"minútami";case"h":return n?"hodina":a?"hodinu":"hodinou";case"hh":return n||a?o+(t(e)?"hodiny":"hodín"):o+"hodinami";case"d":return n||a?"deň":"dňom";case"dd":return n||a?o+(t(e)?"dni":"dní"):o+"dňami";case"M":return n||a?"mesiac":"mesiacom";case"MM":return n||a?o+(t(e)?"mesiace":"mesiacov"):o+"mesiacmi";case"y":return n||a?"rok":"rokom";case"yy":return n||a?o+(t(e)?"roky":"rokov"):o+"rokmi"}}var r="január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),a="jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_"),o=e.defineLocale("sk",{months:r,monthsShort:a,weekdays:"nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_št_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_št_pi_so".split("_"),longDateFormat:{ LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedeľu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo štvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[včera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulú nedeľu o] LT";case 1:case 2:return"[minulý] dddd [o] LT";case 3:return"[minulú stredu o] LT";case 4:case 5:return"[minulý] dddd [o] LT";case 6:return"[minulú sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return o})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n,r){var a=e+" ";switch(n){case"s":return t||r?"nekaj sekund":"nekaj sekundami";case"m":return t?"ena minuta":"eno minuto";case"mm":return a+=1===e?t?"minuta":"minuto":2===e?t||r?"minuti":"minutama":e<5?t||r?"minute":"minutami":t||r?"minut":"minutami";case"h":return t?"ena ura":"eno uro";case"hh":return a+=1===e?t?"ura":"uro":2===e?t||r?"uri":"urama":e<5?t||r?"ure":"urami":t||r?"ur":"urami";case"d":return t||r?"en dan":"enim dnem";case"dd":return a+=1===e?t||r?"dan":"dnem":2===e?t||r?"dni":"dnevoma":t||r?"dni":"dnevi";case"M":return t||r?"en mesec":"enim mesecem";case"MM":return a+=1===e?t||r?"mesec":"mesecem":2===e?t||r?"meseca":"mesecema":e<5?t||r?"mesece":"meseci":t||r?"mesecev":"meseci";case"y":return t||r?"eno leto":"enim letom";case"yy":return a+=1===e?t||r?"leto":"letom":2===e?t||r?"leti":"letoma":e<5?t||r?"leta":"leti":t||r?"let":"leti"}}var n=e.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prejšnjo] [nedeljo] [ob] LT";case 3:return"[prejšnjo] [sredo] [ob] LT";case 6:return"[prejšnjo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prejšnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"pred %s",s:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),weekdays:"E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"),weekdaysShort:"Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_Më_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(e){return"M"===e.charAt(0)},meridiem:function(e,t,n){return e<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot në] LT",nextDay:"[Nesër në] LT",nextWeek:"dddd [në] LT",lastDay:"[Dje në] LT",lastWeek:"dddd [e kaluar në] LT",sameElse:"L"},relativeTime:{future:"në %s",past:"%s më parë",s:"disa sekonda",m:"një minutë",mm:"%d minuta",h:"një orë",hh:"%d orë",d:"një ditë",dd:"%d ditë",M:"një muaj",MM:"%d muaj",y:"një vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={words:{m:["један минут","једне минуте"],mm:["минут","минуте","минута"],h:["један сат","једног сата"],hh:["сат","сата","сати"],dd:["дан","дана","дана"],MM:["месец","месеца","месеци"],yy:["година","године","година"]},correctGrammaticalCase:function(e,t){return 1===e?t[0]:e>=2&&e<=4?t[1]:t[2]},translate:function(e,n,r){var a=t.words[r];return 1===r.length?n?a[0]:a[1]:e+" "+t.correctGrammaticalCase(e,a)}},n=e.defineLocale("sr-cyrl",{months:"јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар".split("_"),monthsShort:"јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.".split("_"),monthsParseExact:!0,weekdays:"недеља_понедељак_уторак_среда_четвртак_петак_субота".split("_"),weekdaysShort:"нед._пон._уто._сре._чет._пет._суб.".split("_"),weekdaysMin:"не_по_ут_ср_че_пе_су".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[данас у] LT",nextDay:"[сутра у] LT",nextWeek:function(){switch(this.day()){case 0:return"[у] [недељу] [у] LT";case 3:return"[у] [среду] [у] LT";case 6:return"[у] [суботу] [у] LT";case 1:case 2:case 4:case 5:return"[у] dddd [у] LT"}},lastDay:"[јуче у] LT",lastWeek:function(){var e=["[прошле] [недеље] [у] LT","[прошлог] [понедељка] [у] LT","[прошлог] [уторка] [у] LT","[прошле] [среде] [у] LT","[прошлог] [четвртка] [у] LT","[прошлог] [петка] [у] LT","[прошле] [суботе] [у] LT"];return e[this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пре %s",s:"неколико секунди",m:t.translate,mm:t.translate,h:t.translate,hh:t.translate,d:"дан",dd:t.translate,M:"месец",MM:t.translate,y:"годину",yy:t.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={words:{m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,t){return 1===e?t[0]:e>=2&&e<=4?t[1]:t[2]},translate:function(e,n,r){var a=t.words[r];return 1===r.length?n?a[0]:a[1]:e+" "+t.correctGrammaticalCase(e,a)}},n=e.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){var e=["[prošle] [nedelje] [u] LT","[prošlog] [ponedeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"];return e[this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",m:t.translate,mm:t.translate,h:t.translate,hh:t.translate,d:"dan",dd:t.translate,M:"mesec",MM:t.translate,y:"godinu",yy:t.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(e,t,n){return e<11?"ekuseni":e<15?"emini":e<19?"entsambama":"ebusuku"},meridiemHour:function(e,t){return 12===e&&(e=0),"ekuseni"===t?e:"emini"===t?e>=11?e:e+12:"entsambama"===t||"ebusuku"===t?0===e?0:e+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),weekdaysShort:"sön_mån_tis_ons_tor_fre_lör".split("_"),weekdaysMin:"sö_må_ti_on_to_fr_lö".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Igår] LT",nextWeek:"[På] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"för %s sedan",s:"några sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en månad",MM:"%d månader",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}(e|a)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?"e":1===t?"a":2===t?"a":"e";return e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={1:"௧",2:"௨",3:"௩",4:"௪",5:"௫",6:"௬",7:"௭",8:"௮",9:"௯",0:"௦"},n={"௧":"1","௨":"2","௩":"3","௪":"4","௫":"5","௬":"6","௭":"7","௮":"8","௯":"9","௦":"0"},r=e.defineLocale("ta",{months:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),monthsShort:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),weekdays:"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை".split("_"),weekdaysShort:"ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி".split("_"),weekdaysMin:"ஞா_தி_செ_பு_வி_வெ_ச".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[இன்று] LT",nextDay:"[நாளை] LT",nextWeek:"dddd, LT",lastDay:"[நேற்று] LT",lastWeek:"[கடந்த வாரம்] dddd, LT",sameElse:"L"},relativeTime:{future:"%s இல்",past:"%s முன்",s:"ஒரு சில விநாடிகள்",m:"ஒரு நிமிடம்",mm:"%d நிமிடங்கள்",h:"ஒரு மணி நேரம்",hh:"%d மணி நேரம்",d:"ஒரு நாள்",dd:"%d நாட்கள்",M:"ஒரு மாதம்",MM:"%d மாதங்கள்",y:"ஒரு வருடம்",yy:"%d ஆண்டுகள்"},dayOfMonthOrdinalParse:/\d{1,2}வது/,ordinal:function(e){return e+"வது"},preparse:function(e){return e.replace(/[௧௨௩௪௫௬௭௮௯௦]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,meridiem:function(e,t,n){return e<2?" யாமம்":e<6?" வைகறை":e<10?" காலை":e<14?" நண்பகல்":e<18?" எற்பாடு":e<22?" மாலை":" யாமம்"},meridiemHour:function(e,t){return 12===e&&(e=0),"யாமம்"===t?e<2?e:e+12:"வைகறை"===t||"காலை"===t?e:"நண்பகல்"===t&&e>=10?e:e+12},week:{dow:0,doy:6}});return r})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("te",{months:"జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్".split("_"),monthsShort:"జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.".split("_"),monthsParseExact:!0,weekdays:"ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం".split("_"),weekdaysShort:"ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని".split("_"),weekdaysMin:"ఆ_సో_మం_బు_గు_శు_శ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[నేడు] LT",nextDay:"[రేపు] LT",nextWeek:"dddd, LT",lastDay:"[నిన్న] LT",lastWeek:"[గత] dddd, LT",sameElse:"L"},relativeTime:{future:"%s లో",past:"%s క్రితం",s:"కొన్ని క్షణాలు",m:"ఒక నిమిషం",mm:"%d నిమిషాలు",h:"ఒక గంట",hh:"%d గంటలు",d:"ఒక రోజు",dd:"%d రోజులు",M:"ఒక నెల",MM:"%d నెలలు",y:"ఒక సంవత్సరం",yy:"%d సంవత్సరాలు"},dayOfMonthOrdinalParse:/\d{1,2}వ/,ordinal:"%dవ",meridiemParse:/రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,meridiemHour:function(e,t){return 12===e&&(e=0),"రాత్రి"===t?e<4?e:e+12:"ఉదయం"===t?e:"మధ్యాహ్నం"===t?e>=10?e:e+12:"సాయంత్రం"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"రాత్రి":e<10?"ఉదయం":e<17?"మధ్యాహ్నం":e<20?"సాయంత్రం":"రాత్రి"},week:{dow:0,doy:6}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Juniu_Juliu_Augustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Aug_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sexta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sext_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Sex_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"minutu balun",m:"minutu ida",mm:"minutus %d",h:"horas ida",hh:"horas %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("th",{months:"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),monthsShort:"ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.".split("_"),monthsParseExact:!0,weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY เวลา H:mm",LLLL:"วันddddที่ D MMMM YYYY เวลา H:mm"},meridiemParse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function(e){return"หลังเที่ยง"===e},meridiem:function(e,t,n){return e<12?"ก่อนเที่ยง":"หลังเที่ยง"},calendar:{sameDay:"[วันนี้ เวลา] LT",nextDay:"[พรุ่งนี้ เวลา] LT",nextWeek:"dddd[หน้า เวลา] LT",lastDay:"[เมื่อวานนี้ เวลา] LT",lastWeek:"[วัน]dddd[ที่แล้ว เวลา] LT",sameElse:"L"},relativeTime:{future:"อีก %s",past:"%sที่แล้ว",s:"ไม่กี่วินาที",m:"1 นาที",mm:"%d นาที",h:"1 ชั่วโมง",hh:"%d ชั่วโมง",d:"1 วัน",dd:"%d วัน",M:"1 เดือน",MM:"%d เดือน",y:"1 ปี",yy:"%d ปี"}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e){var t=e;return t=e.indexOf("jaj")!==-1?t.slice(0,-3)+"leS":e.indexOf("jar")!==-1?t.slice(0,-3)+"waQ":e.indexOf("DIS")!==-1?t.slice(0,-3)+"nem":t+" pIq"}function n(e){var t=e;return t=e.indexOf("jaj")!==-1?t.slice(0,-3)+"Hu’":e.indexOf("jar")!==-1?t.slice(0,-3)+"wen":e.indexOf("DIS")!==-1?t.slice(0,-3)+"ben":t+" ret"}function r(e,t,n,r){var o=a(e);switch(n){case"mm":return o+" tup";case"hh":return o+" rep";case"dd":return o+" jaj";case"MM":return o+" jar";case"yy":return o+" DIS"}}function a(e){var t=Math.floor(e%1e3/100),n=Math.floor(e%100/10),r=e%10,a="";return t>0&&(a+=o[t]+"vatlh"),n>0&&(a+=(""!==a?" ":"")+o[n]+"maH"),r>0&&(a+=(""!==a?" ":"")+o[r]),""===a?"pagh":a}var o="pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_"),s=e.defineLocale("tlh",{months:"tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’".split("_"),monthsShort:"jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa’leS] LT",nextWeek:"LLL",lastDay:"[wa’Hu’] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:t,past:n,s:"puS lup",m:"wa’ tup",mm:r,h:"wa’ rep",hh:r,d:"wa’ jaj",dd:r,M:"wa’ jar",MM:r,y:"wa’ DIS",yy:r},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return s})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"},n=e.defineLocale("tr",{months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[haftaya] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen hafta] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},dayOfMonthOrdinalParse:/\d{1,2}'(inci|nci|üncü|ncı|uncu|ıncı)/,ordinal:function(e){if(0===e)return e+"'ıncı";var n=e%10,r=e%100-n,a=e>=100?100:null;return e+(t[n]||t[r]||t[a])},week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t,n,r){var a={s:["viensas secunds","'iensas secunds"],m:["'n míut","'iens míut"],mm:[e+" míuts",""+e+" míuts"],h:["'n þora","'iensa þora"],hh:[e+" þoras",""+e+" þoras"],d:["'n ziua","'iensa ziua"],dd:[e+" ziuas",""+e+" ziuas"],M:["'n mes","'iens mes"],MM:[e+" mesen",""+e+" mesen"],y:["'n ar","'iens ar"],yy:[e+" ars",""+e+" ars"]};return r?a[n][0]:t?a[n][0]:a[n][1]}var n=e.defineLocale("tzl",{months:"Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi".split("_"),weekdaysShort:"Súl_Lún_Mai_Már_Xhú_Vié_Sát".split("_"),weekdaysMin:"Sú_Lú_Ma_Má_Xh_Vi_Sá".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(e){return"d'o"===e.toLowerCase()},meridiem:function(e,t,n){return e>11?n?"d'o":"D'O":n?"d'a":"D'A"},calendar:{sameDay:"[oxhi à] LT",nextDay:"[demà à] LT",nextWeek:"dddd [à] LT",lastDay:"[ieiri à] LT",lastWeek:"[sür el] dddd [lasteu à] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return n})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("tzm-latn",{months:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",m:"minuḍ",mm:"%d minuḍ",h:"saɛa",hh:"%d tassaɛin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("tzm",{months:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),monthsShort:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),weekdays:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysShort:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysMin:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ⴰⵙⴷⵅ ⴴ] LT",nextDay:"[ⴰⵙⴽⴰ ⴴ] LT",nextWeek:"dddd [ⴴ] LT",lastDay:"[ⴰⵚⴰⵏⵜ ⴴ] LT",lastWeek:"dddd [ⴴ] LT",sameElse:"L"},relativeTime:{future:"ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s",past:"ⵢⴰⵏ %s",s:"ⵉⵎⵉⴽ",m:"ⵎⵉⵏⵓⴺ",mm:"%d ⵎⵉⵏⵓⴺ",h:"ⵙⴰⵄⴰ",hh:"%d ⵜⴰⵙⵙⴰⵄⵉⵏ",d:"ⴰⵙⵙ",dd:"%d oⵙⵙⴰⵏ",M:"ⴰⵢoⵓⵔ",MM:"%d ⵉⵢⵢⵉⵔⵏ",y:"ⴰⵙⴳⴰⵙ",yy:"%d ⵉⵙⴳⴰⵙⵏ"},week:{dow:6,doy:12}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";function t(e,t){var n=e.split("_");return t%10===1&&t%100!==11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function n(e,n,r){var a={mm:n?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:n?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===r?n?"хвилина":"хвилину":"h"===r?n?"година":"годину":e+" "+t(a[r],+e)}function r(e,t){var n={nominative:"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),accusative:"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),genitive:"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_")};if(!e)return n.nominative;var r=/(\[[ВвУу]\]) ?dddd/.test(t)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(t)?"genitive":"nominative";return n[r][e.day()]}function a(e){return function(){return e+"о"+(11===this.hours()?"б":"")+"] LT"}}var o=e.defineLocale("uk",{months:{format:"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_"),standalone:"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_")},monthsShort:"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekdays:r,weekdaysShort:"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LLL:"D MMMM YYYY р., HH:mm",LLLL:"dddd, D MMMM YYYY р., HH:mm"},calendar:{sameDay:a("[Сьогодні "),nextDay:a("[Завтра "),lastDay:a("[Вчора "),nextWeek:a("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return a("[Минулої] dddd [").call(this);case 1:case 2:case 4:return a("[Минулого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s:"декілька секунд",m:n,mm:n,h:"годину",hh:n,d:"день",dd:n,M:"місяць",MM:n,y:"рік",yy:n},meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(e){return/^(дня|вечора)$/.test(e)},meridiem:function(e,t,n){return e<4?"ночі":e<12?"ранку":e<17?"дня":"вечора"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го)/,ordinal:function(e,t){switch(t){case"M":case"d":case"DDD":case"w":case"W":return e+"-й";case"D":return e+"-го";default:return e}},week:{dow:1,doy:7}});return o})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"],r=e.defineLocale("ur",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar:{sameDay:"[آج بوقت] LT",nextDay:"[کل بوقت] LT",nextWeek:"dddd [بوقت] LT",lastDay:"[گذشتہ روز بوقت] LT",lastWeek:"[گذشتہ] dddd [بوقت] LT",sameElse:"L"},relativeTime:{future:"%s بعد",past:"%s قبل",s:"چند سیکنڈ",m:"ایک منٹ",mm:"%d منٹ",h:"ایک گھنٹہ",hh:"%d گھنٹے",d:"ایک دن",dd:"%d دن",M:"ایک ماہ",MM:"%d ماہ",y:"ایک سال",yy:"%d سال"},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:1,doy:4}});return r})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("uz",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба".split("_"),weekdaysShort:"Якш_Душ_Сеш_Чор_Пай_Жум_Шан".split("_"),weekdaysMin:"Як_Ду_Се_Чо_Па_Жу_Ша".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Бугун соат] LT [да]",nextDay:"[Эртага] LT [да]",nextWeek:"dddd [куни соат] LT [да]",lastDay:"[Кеча соат] LT [да]",lastWeek:"[Утган] dddd [куни соат] LT [да]",sameElse:"L"},relativeTime:{future:"Якин %s ичида",past:"Бир неча %s олдин",s:"фурсат",m:"бир дакика",mm:"%d дакика",h:"бир соат",hh:"%d соат",d:"бир кун",dd:"%d кун",M:"бир ой",MM:"%d ой",y:"бир йил",yy:"%d йил"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("vi",{months:"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(e){return/^ch$/i.test(e)},meridiem:function(e,t,n){return e<12?n?"sa":"SA":n?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY HH:mm",LLLL:"dddd, D MMMM [năm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[Ngày mai lúc] LT",nextWeek:"dddd [tuần tới lúc] LT",lastDay:"[Hôm qua lúc] LT",lastWeek:"dddd [tuần rồi lúc] LT",sameElse:"L"},relativeTime:{future:"%s tới",past:"%s trước",s:"vài giây",m:"một phút",mm:"%d phút",h:"một giờ",hh:"%d giờ",d:"một ngày",dd:"%d ngày",M:"một tháng",MM:"%d tháng",y:"một năm",yy:"%d năm"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("x-pseudo",{months:"J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér".split("_"),monthsShort:"J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc".split("_"),monthsParseExact:!0,weekdays:"S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý".split("_"),weekdaysShort:"S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát".split("_"), weekdaysMin:"S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~ódá~ý át] LT",nextDay:"[T~ómó~rró~w át] LT",nextWeek:"dddd [át] LT",lastDay:"[Ý~ést~érdá~ý át] LT",lastWeek:"[L~ást] dddd [át] LT",sameElse:"L"},relativeTime:{future:"í~ñ %s",past:"%s á~gó",s:"á ~féw ~sécó~ñds",m:"á ~míñ~úté",mm:"%d m~íñú~tés",h:"á~ñ hó~úr",hh:"%d h~óúrs",d:"á ~dáý",dd:"%d d~áýs",M:"á ~móñ~th",MM:"%d m~óñt~hs",y:"á ~ýéár",yy:"%d ý~éárs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("yo",{months:"Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀".split("_"),monthsShort:"Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀".split("_"),weekdays:"Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta".split("_"),weekdaysShort:"Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá".split("_"),weekdaysMin:"Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Ònì ni] LT",nextDay:"[Ọ̀la ni] LT",nextWeek:"dddd [Ọsẹ̀ tón'bọ] [ni] LT",lastDay:"[Àna ni] LT",lastWeek:"dddd [Ọsẹ̀ tólọ́] [ni] LT",sameElse:"L"},relativeTime:{future:"ní %s",past:"%s kọjá",s:"ìsẹjú aayá die",m:"ìsẹjú kan",mm:"ìsẹjú %d",h:"wákati kan",hh:"wákati %d",d:"ọjọ́ kan",dd:"ọjọ́ %d",M:"osù kan",MM:"osù %d",y:"ọdún kan",yy:"ọdún %d"},dayOfMonthOrdinalParse:/ọjọ́\s\d{1,2}/,ordinal:"ọjọ́ %d",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY年MMMD日",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日Ah点mm分",LLLL:"YYYY年MMMD日ddddAh点mm分",l:"YYYY年MMMD日",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日 HH:mm",llll:"YYYY年MMMD日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return 12===e&&(e=0),"凌晨"===t||"早上"===t||"上午"===t?e:"下午"===t||"晚上"===t?e+12:e>=11?e:e+12},meridiem:function(e,t,n){var r=100*e+t;return r<600?"凌晨":r<900?"早上":r<1130?"上午":r<1230?"中午":r<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|周)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":return e+"周";default:return e}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("zh-hk",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY年MMMD日",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日 HH:mm",LLLL:"YYYY年MMMD日dddd HH:mm",l:"YYYY年MMMD日",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日 HH:mm",llll:"YYYY年MMMD日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return 12===e&&(e=0),"凌晨"===t||"早上"===t||"上午"===t?e:"中午"===t?e>=11?e:e+12:"下午"===t||"晚上"===t?e+12:void 0},meridiem:function(e,t,n){var r=100*e+t;return r<600?"凌晨":r<900?"早上":r<1130?"上午":r<1230?"中午":r<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":return e+"週";default:return e}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}});return t})},function(e,t,n){!function(e,t){t(n(1))}(this,function(e){"use strict";var t=e.defineLocale("zh-tw",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY年MMMD日",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日 HH:mm",LLLL:"YYYY年MMMD日dddd HH:mm",l:"YYYY年MMMD日",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日 HH:mm",llll:"YYYY年MMMD日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return 12===e&&(e=0),"凌晨"===t||"早上"===t||"上午"===t?e:"中午"===t?e>=11?e:e+12:"下午"===t||"晚上"===t?e+12:void 0},meridiem:function(e,t,n){var r=100*e+t;return r<600?"凌晨":r<900?"早上":r<1130?"上午":r<1230?"中午":r<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":return e+"週";default:return e}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}});return t})},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=Object.assign||function(e){for(var t=1;t0){var n=t[0];return{x:n.clientX,y:n.clientY}}var r=e.pageX;if(void 0!==r)return{x:r,y:e.pageY}}return{x:0,y:0}}Object.defineProperty(t,"__esModule",{value:!0}),t.pointerCoord=n},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(2),o=r(a);t["default"]=function(){return o["default"].createElement("svg",{width:"10",height:"10",viewBox:"0 0 10 10"},o["default"].createElement("title",null,"switch-x"),o["default"].createElement("path",{d:"M9.9 2.12L7.78 0 4.95 2.828 2.12 0 0 2.12l2.83 2.83L0 7.776 2.123 9.9 4.95 7.07 7.78 9.9 9.9 7.776 7.072 4.95 9.9 2.12",fill:"#fff",fillRule:"evenodd"}))}},,,function(e,t){"use strict";function n(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t1?t-1:0),a=1;a2?r-2:0),o=2;o1&&void 0!==arguments[1]?arguments[1]:"local";return"calendar"===t?(0,l["default"])(e).calendar():(0,l["default"])(e).format("lll")};t.renderCarret=function(e){return"asc"===e?o["default"].createElement("span",null," ",o["default"].createElement("i",{className:"fa fa-sort-amount-asc"})):"desc"===e?o["default"].createElement("span",null," ",o["default"].createElement("i",{className:"fa fa-sort-amount-desc"})):o["default"].createElement("span",null)},t.formatName=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return function(n,r){var a=e[r.deck_id],s=(0,u.getDeckIconClassName)(a);return t===!1?o["default"].createElement("span",null,o["default"].createElement("i",{className:s})):o["default"].createElement("span",null,o["default"].createElement("i",{className:s})," "+n)}},t.formatDeckName=function(e,t){return function(n,r){var a=e[r.deck_id],s=t[r.deck_id];if(void 0===s)return o["default"].createElement("span",null,o["default"].createElement("i",{className:"fa fa-square"}));var i=(0,u.getDeckIconClassName)(a);return o["default"].createElement("span",null,o["default"].createElement("i",{className:i}))}},t.formatTime=function(e){return function(t,n){return c(t,e)}},t.formatResult=function(e,t){var n=d(t);return"warning"===n?o["default"].createElement("i",{className:"icon-error fa fa-warning"}):"danger"===n?o["default"].createElement("i",{className:"icon-error fa fa-warning"}):"success"===n?o["default"].createElement("i",{className:"icon-ok fa fa-check-circle-o"}):o["default"].createElement("i",{className:"icon-error fa fa-warning"})},t.formatViewButton=function(e){return function(t,n){return n.running===!0?o["default"].createElement("div",null,n.progress.toFixed(1),"% ",o["default"].createElement("i",{className:"fa fa-spinner fa-pulse"})):n.stale===!0?o["default"].createElement("i",{className:"icon-warning fa fa-warning"}):o["default"].createElement("button",{className:"btn btn-secondary",onClick:function(){return e(n)}},o["default"].createElement(s.FormattedMessage,{id:"util.viewButton",defaultMessage:"View"}))}},t.rowClassNameFormat=function(e,t){var n="tr-row",r=d(e);return"warning"===r?n+=" tr-row-anomaly-warning":"danger"===r?n+=" tr-row-anomaly-danger":"success"===r&&(n+=" tr-row-normal"),n}},,,,,,,,,,function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.TableHeaderColumn=t.BootstrapTable=void 0;var a=n(598),o=r(a),s=n(607),i=r(s);"undefined"!=typeof window&&(window.BootstrapTable=o["default"],window.TableHeaderColumn=i["default"]),t.BootstrapTable=o["default"],t.TableHeaderColumn=i["default"];(function(){"undefined"==typeof __REACT_HOT_LOADER__})()},,,,,,,,,,,,,,,,,,,,,,,[1460,479,474,205,176,155],[1461,526,177],[1463,177],[1464,378,155],[1465,28,17],[1466,430,431,432,433,434],[1470,28,17],[1471,28,17],[1472,61,464,465,466,467,468],[1473,17],[1474,28,17],1174,1175,1176,1177,[1478,41,66],[1479,41,174],[1481,386,392,159,393,394,414,421,422,423,426,164,428,435,436,437,25,171,34,66],[1482,34],1182,[1483,88,438],[1484,89,167],[1486,397,402,469],[1487,33,42],1187,[1488,172,442,34,168],[1489,33,173,42],[1490,92,455],[1491,34,92,456],[1492,471,162,473],1193,1194,[1493,40,87,25,65],1196,[1494,89,477,460,167],[1495,87],[1498,17],[1499,90],[1500,389,158,453],1202,[1501,390,158,461],[1502,40],[1503,90],798,[1505,41,91],[1506,41,166],[1507,17],[1509,472,459,462],[1510,161,91,66],[1457,40],[1516,382,86,384,385,388,33,168],1214,[1517,64],1216,[1518,64],[1519,64],[1520,64],1220,[1521,90,415,416,417,418,419,420],[1522,396,165,92],[1523,40,170,25],663,[1524,25,65],1226,[1525,424],1228,[1526,62],[1527,62],[1528,62],[1529,62],[1530,383,61,86],[1531,63],[1532,63],[1533,63],[1534,63],1238,[1535,478],[1537,93],1241,[1538,163],1142,[1539,391],[1540,399,408],1246,[1541,407,463],1248,[1542,61],1250,1251,1252,[1543,61,86,156],1254,[1544,454],1256,[1546,398],666,[1547,400,94,475,482,485],[1552,33,25,42],[1554,404,411,457],1262,[1557,156],[1558,87,395,412,89,41,425,164],1265,[1559,483],[1560,481],[1561,34,65],[1562,410],[1563,413,66],function(e,t,n){"use strict";var r=n(7),a=n(140),o={focusDOMComponent:function(){a(r.getNodeFromInstance(this))}};e.exports=o},function(e,t,n){"use strict";function r(){var e=window.opera;return"object"==typeof e&&"function"==typeof e.version&&parseInt(e.version(),10)<=12}function a(e){return(e.ctrlKey||e.altKey||e.metaKey)&&!(e.ctrlKey&&e.altKey)}function o(e){switch(e){case Y.topCompositionStart:return S.compositionStart;case Y.topCompositionEnd:return S.compositionEnd;case Y.topCompositionUpdate:return S.compositionUpdate}}function s(e,t){return e===Y.topKeyDown&&t.keyCode===T}function i(e,t){switch(e){case Y.topKeyUp:return M.indexOf(t.keyCode)!==-1;case Y.topKeyDown:return t.keyCode!==T;case Y.topKeyPress:case Y.topMouseDown:case Y.topBlur:return!0;default:return!1}}function l(e){var t=e.detail;return"object"==typeof t&&"data"in t?t.data:null}function u(e,t,n,r){var a,u;if(L?a=o(e):P?i(e,n)&&(a=S.compositionEnd):s(e,n)&&(a=S.compositionStart),!a)return null;E&&(P||a!==S.compositionStart?a===S.compositionEnd&&P&&(u=P.getData()):P=h.getPooled(r));var d=y.getPooled(a,t,n,r);if(u)d.data=u;else{var c=l(n);null!==c&&(d.data=c)}return f.accumulateTwoPhaseDispatches(d),d}function d(e,t){switch(e){case Y.topCompositionEnd:return l(t);case Y.topKeyPress:var n=t.which;return n!==D?null:(C=!0,w);case Y.topTextInput:var r=t.data;return r===w&&C?null:r;default:return null}}function c(e,t){if(P){if(e===Y.topCompositionEnd||!L&&i(e,t)){var n=P.getData();return h.release(P),P=null,n}return null}switch(e){case Y.topPaste:return null;case Y.topKeyPress:return t.which&&!a(t)?String.fromCharCode(t.which):null;case Y.topCompositionEnd:return E?null:t.data;default:return null}}function _(e,t,n,r){var a;if(a=k?d(e,n):c(e,n),!a)return null;var o=v.getPooled(S.beforeInput,t,n,r);return o.data=a,f.accumulateTwoPhaseDispatches(o),o}var p=n(21),f=n(44),m=n(8),h=n(493),y=n(532),v=n(535),g=n(24),M=[9,13,27,32],T=229,L=m.canUseDOM&&"CompositionEvent"in window,b=null;m.canUseDOM&&"documentMode"in document&&(b=document.documentMode);var k=m.canUseDOM&&"TextEvent"in window&&!b&&!r(),E=m.canUseDOM&&(!L||b&&b>8&&b<=11),D=32,w=String.fromCharCode(D),Y=p.topLevelTypes,S={beforeInput:{phasedRegistrationNames:{bubbled:g({onBeforeInput:null}),captured:g({onBeforeInputCapture:null})},dependencies:[Y.topCompositionEnd,Y.topKeyPress,Y.topTextInput,Y.topPaste]},compositionEnd:{phasedRegistrationNames:{bubbled:g({onCompositionEnd:null}),captured:g({onCompositionEndCapture:null})},dependencies:[Y.topBlur,Y.topCompositionEnd,Y.topKeyDown,Y.topKeyPress,Y.topKeyUp,Y.topMouseDown]},compositionStart:{phasedRegistrationNames:{bubbled:g({onCompositionStart:null}),captured:g({onCompositionStartCapture:null})},dependencies:[Y.topBlur,Y.topCompositionStart,Y.topKeyDown,Y.topKeyPress,Y.topKeyUp,Y.topMouseDown]},compositionUpdate:{phasedRegistrationNames:{bubbled:g({onCompositionUpdate:null}),captured:g({onCompositionUpdateCapture:null})},dependencies:[Y.topBlur,Y.topCompositionUpdate,Y.topKeyDown,Y.topKeyPress,Y.topKeyUp,Y.topMouseDown]}},C=!1,P=null,O={eventTypes:S,extractEvents:function(e,t,n,r){return[u(e,t,n,r),_(e,t,n,r)]}};e.exports=O},function(e,t,n){"use strict";var r=n(178),a=n(8),o=(n(15),n(584),n(542)),s=n(588),i=n(589),l=(n(4),i(function(e){return s(e)})),u=!1,d="cssFloat";if(a.canUseDOM){var c=document.createElement("div").style;try{c.font=""}catch(_){u=!0}void 0===document.documentElement.style.cssFloat&&(d="styleFloat")}var p={createMarkupForStyles:function(e,t){var n="";for(var r in e)if(e.hasOwnProperty(r)){var a=e[r];null!=a&&(n+=l(r)+":",n+=o(r,a,t)+";")}return n||null},setValueForStyles:function(e,t,n){var a=e.style;for(var s in t)if(t.hasOwnProperty(s)){var i=o(s,t[s],n);if("float"!==s&&"cssFloat"!==s||(s=d),i)a[s]=i;else{var l=u&&r.shorthandPropertyExpansions[s];if(l)for(var c in l)a[c]="";else a[s]=""}}}};e.exports=p},function(e,t,n){"use strict";function r(e){var t=e.nodeName&&e.nodeName.toLowerCase();return"select"===t||"input"===t&&"file"===e.type}function a(e){var t=k.getPooled(C.change,O,e,E(e));M.accumulateTwoPhaseDispatches(t),b.batchedUpdates(o,t)}function o(e){g.enqueueEvents(e),g.processEventQueue(!1)}function s(e,t){P=e,O=t,P.attachEvent("onchange",a)}function i(){P&&(P.detachEvent("onchange",a),P=null,O=null)}function l(e,t){if(e===S.topChange)return t}function u(e,t,n){e===S.topFocus?(i(),s(t,n)):e===S.topBlur&&i()}function d(e,t){P=e,O=t,R=e.value,x=Object.getOwnPropertyDescriptor(e.constructor.prototype,"value"),Object.defineProperty(P,"value",N),P.attachEvent?P.attachEvent("onpropertychange",_):P.addEventListener("propertychange",_,!1)}function c(){P&&(delete P.value,P.detachEvent?P.detachEvent("onpropertychange",_):P.removeEventListener("propertychange",_,!1),P=null,O=null,R=null,x=null)}function _(e){if("value"===e.propertyName){var t=e.srcElement.value;t!==R&&(R=t,a(e))}}function p(e,t){if(e===S.topInput)return t}function f(e,t,n){e===S.topFocus?(c(),d(t,n)):e===S.topBlur&&c()}function m(e,t){if((e===S.topSelectionChange||e===S.topKeyUp||e===S.topKeyDown)&&P&&P.value!==R)return R=P.value,O}function h(e){return e.nodeName&&"input"===e.nodeName.toLowerCase()&&("checkbox"===e.type||"radio"===e.type)}function y(e,t){if(e===S.topClick)return t}var v=n(21),g=n(43),M=n(44),T=n(8),L=n(7),b=n(19),k=n(22),E=n(113),D=n(114),w=n(203),Y=n(24),S=v.topLevelTypes,C={change:{phasedRegistrationNames:{bubbled:Y({onChange:null}),captured:Y({onChangeCapture:null})},dependencies:[S.topBlur,S.topChange,S.topClick,S.topFocus,S.topInput,S.topKeyDown,S.topKeyUp,S.topSelectionChange]}},P=null,O=null,R=null,x=null,A=!1;T.canUseDOM&&(A=D("change")&&(!document.documentMode||document.documentMode>8));var H=!1;T.canUseDOM&&(H=D("input")&&(!document.documentMode||document.documentMode>11));var N={get:function(){return x.get.call(this)},set:function(e){R=""+e,x.set.call(this,e)}},j={eventTypes:C,extractEvents:function(e,t,n,a){var o,s,i=t?L.getNodeFromInstance(t):window;if(r(i)?A?o=l:s=u:w(i)?H?o=p:(o=m,s=f):h(i)&&(o=y),o){var d=o(e,t);if(d){var c=k.getPooled(C.change,d,n,a);return c.type="change",M.accumulateTwoPhaseDispatches(c),c}}s&&s(e,i,t)}};e.exports=j},function(e,t,n){"use strict";var r=n(6),a=n(35),o=n(8),s=n(586),i=n(13),l=(n(3),{dangerouslyReplaceNodeWithMarkup:function(e,t){if(o.canUseDOM?void 0:r("56"),t?void 0:r("57"),"HTML"===e.nodeName?r("58"):void 0,"string"==typeof t){var n=s(t,i)[0];e.parentNode.replaceChild(n,e)}else a.replaceChildWithTree(e,t)}});e.exports=l},function(e,t,n){"use strict";var r=n(24),a=[r({ResponderEventPlugin:null}),r({SimpleEventPlugin:null}),r({TapEventPlugin:null}),r({EnterLeaveEventPlugin:null}),r({ChangeEventPlugin:null}),r({SelectEventPlugin:null}),r({BeforeInputEventPlugin:null})];e.exports=a},function(e,t,n){"use strict";var r=n(21),a=n(44),o=n(7),s=n(69),i=n(24),l=r.topLevelTypes,u={mouseEnter:{registrationName:i({onMouseEnter:null}),dependencies:[l.topMouseOut,l.topMouseOver]},mouseLeave:{registrationName:i({onMouseLeave:null}),dependencies:[l.topMouseOut,l.topMouseOver]}},d={eventTypes:u,extractEvents:function(e,t,n,r){if(e===l.topMouseOver&&(n.relatedTarget||n.fromElement))return null;if(e!==l.topMouseOut&&e!==l.topMouseOver)return null;var i;if(r.window===r)i=r;else{var d=r.ownerDocument;i=d?d.defaultView||d.parentWindow:window}var c,_;if(e===l.topMouseOut){c=t;var p=n.relatedTarget||n.toElement;_=p?o.getClosestInstanceFromNode(p):null}else c=null,_=t;if(c===_)return null;var f=null==c?i:o.getNodeFromInstance(c),m=null==_?i:o.getNodeFromInstance(_),h=s.getPooled(u.mouseLeave,c,n,r);h.type="mouseleave",h.target=f,h.relatedTarget=m;var y=s.getPooled(u.mouseEnter,_,n,r);return y.type="mouseenter",y.target=m,y.relatedTarget=f,a.accumulateEnterLeaveDispatches(h,y,c,_),[h,y]}};e.exports=d},function(e,t,n){"use strict";function r(e){this._root=e,this._startText=this.getText(),this._fallbackText=null}var a=n(5),o=n(26),s=n(200);a(r.prototype,{destructor:function(){this._root=null,this._startText=null,this._fallbackText=null},getText:function(){return"value"in this._root?this._root.value:this._root[s()]},getData:function(){if(this._fallbackText)return this._fallbackText;var e,t,n=this._startText,r=n.length,a=this.getText(),o=a.length;for(e=0;e1?1-t:void 0;return this._fallbackText=a.slice(e,i),this._fallbackText}}),o.addPoolingTo(r),e.exports=r},function(e,t,n){"use strict";var r=n(36),a=r.injection.MUST_USE_PROPERTY,o=r.injection.HAS_BOOLEAN_VALUE,s=r.injection.HAS_NUMERIC_VALUE,i=r.injection.HAS_POSITIVE_NUMERIC_VALUE,l=r.injection.HAS_OVERLOADED_BOOLEAN_VALUE,u={isCustomAttribute:RegExp.prototype.test.bind(new RegExp("^(data|aria)-["+r.ATTRIBUTE_NAME_CHAR+"]*$")),Properties:{accept:0,acceptCharset:0,accessKey:0,action:0,allowFullScreen:o,allowTransparency:0,alt:0,as:0,async:o,autoComplete:0,autoPlay:o,capture:o,cellPadding:0,cellSpacing:0,charSet:0,challenge:0,checked:a|o,cite:0,classID:0,className:0,cols:i,colSpan:0,content:0,contentEditable:0,contextMenu:0,controls:o,coords:0,crossOrigin:0,data:0,dateTime:0,"default":o,defer:o,dir:0,disabled:o,download:l,draggable:0,encType:0,form:0,formAction:0,formEncType:0,formMethod:0,formNoValidate:o,formTarget:0,frameBorder:0,headers:0,height:0,hidden:o,high:0,href:0,hrefLang:0,htmlFor:0,httpEquiv:0,icon:0,id:0,inputMode:0,integrity:0,is:0,keyParams:0,keyType:0,kind:0,label:0,lang:0,list:0,loop:o,low:0,manifest:0,marginHeight:0,marginWidth:0,max:0,maxLength:0,media:0,mediaGroup:0,method:0,min:0,minLength:0,multiple:a|o,muted:a|o,name:0,nonce:0,noValidate:o,open:o,optimum:0,pattern:0,placeholder:0,playsInline:o,poster:0,preload:0,profile:0,radioGroup:0,readOnly:o,referrerPolicy:0,rel:0,required:o,reversed:o,role:0,rows:i,rowSpan:s,sandbox:0,scope:0,scoped:o,scrolling:0,seamless:o,selected:a|o,shape:0,size:i,sizes:0,span:i,spellCheck:0,src:0,srcDoc:0,srcLang:0,srcSet:0,start:s,step:0,style:0,summary:0,tabIndex:0,target:0,title:0,type:0,useMap:0,value:0,width:0,wmode:0,wrap:0,about:0,datatype:0,inlist:0,prefix:0,property:0,resource:0,"typeof":0,vocab:0,autoCapitalize:0,autoCorrect:0,autoSave:0,color:0,itemProp:0,itemScope:o,itemType:0,itemID:0,itemRef:0,results:0,security:0,unselectable:0},DOMAttributeNames:{acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMPropertyNames:{}};e.exports=u},function(e,t,n){"use strict";var r=n(5),a=n(181),o=n(101),s=n(521),i=n(182),l=n(504),u=n(18),d=n(192),c=n(193),_=n(547),p=(n(4),u.createElement),f=u.createFactory,m=u.cloneElement,h=r,y={Children:{map:a.map,forEach:a.forEach,count:a.count,toArray:a.toArray,only:_},Component:o,PureComponent:s,createElement:p,cloneElement:m,isValidElement:u.isValidElement,PropTypes:d,createClass:i.createClass,createFactory:f,createMixin:function(e){return e},DOM:l,version:c,__spread:h};e.exports=y},function(e,t,n){(function(t){"use strict";function r(e,t,n,r){var a=void 0===e[n];null!=t&&a&&(e[n]=o(t,!0))}var a=n(37),o=n(202),s=(n(99),n(115)),i=n(116),l=(n(4),{instantiateChildren:function(e,t,n,a){if(null==e)return null;var o={};return i(e,r,o),o},updateChildren:function(e,t,n,r,i,l,u,d,c){if(t||e){var _,p;for(_ in t)if(t.hasOwnProperty(_)){p=e&&e[_];var f=p&&p._currentElement,m=t[_];if(null!=p&&s(f,m))a.receiveComponent(p,m,i,d),t[_]=p;else{p&&(r[_]=a.getHostNode(p),a.unmountComponent(p,!1));var h=o(m,!0);t[_]=h;var y=a.mountComponent(h,i,l,u,d,c);n.push(y)}}for(_ in e)!e.hasOwnProperty(_)||t&&t.hasOwnProperty(_)||(p=e[_],r[_]=a.getHostNode(p),a.unmountComponent(p,!1))}},unmountChildren:function(e,t){for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];a.unmountComponent(r,t)}}});e.exports=l}).call(t,n(56))},function(e,t,n){"use strict";var r=n(95),a=n(506),o={processChildrenUpdates:a.dangerouslyProcessChildrenUpdates,replaceNodeWithMarkup:r.dangerouslyReplaceNodeWithMarkup};e.exports=o},function(e,t,n){"use strict";function r(e){}function a(e,t){}function o(e){return!(!e.prototype||!e.prototype.isReactComponent)}function s(e){return!(!e.prototype||!e.prototype.isPureReactComponent)}var i=n(6),l=n(5),u=n(102),d=n(27),c=n(18),_=n(104),p=n(45),f=(n(15),n(191)),m=(n(107),n(37)),h=n(541),y=n(29),v=(n(3),n(74)),g=n(115),M=(n(4),{ImpureClass:0,PureClass:1,StatelessFunctional:2});r.prototype.render=function(){var e=p.get(this)._currentElement.type,t=e(this.props,this.context,this.updater);return a(e,t),t};var T=1,L={construct:function(e){this._currentElement=e,this._rootNodeID=0,this._compositeType=null,this._instance=null,this._hostParent=null,this._hostContainerInfo=null,this._updateBatchNumber=null,this._pendingElement=null,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._renderedNodeType=null,this._renderedComponent=null,this._context=null,this._mountOrder=0,this._topLevelWrapper=null,this._pendingCallbacks=null,this._calledComponentWillUnmount=!1},mountComponent:function(e,t,n,l){this._context=l,this._mountOrder=T++,this._hostParent=t,this._hostContainerInfo=n;var u,d=this._currentElement.props,_=this._processContext(l),f=this._currentElement.type,m=e.getUpdateQueue(),h=o(f),v=this._constructComponent(h,d,_,m);h||null!=v&&null!=v.render?s(f)?this._compositeType=M.PureClass:this._compositeType=M.ImpureClass:(u=v, a(f,u),null===v||v===!1||c.isValidElement(v)?void 0:i("105",f.displayName||f.name||"Component"),v=new r(f),this._compositeType=M.StatelessFunctional);v.props=d,v.context=_,v.refs=y,v.updater=m,this._instance=v,p.set(v,this);var g=v.state;void 0===g&&(v.state=g=null),"object"!=typeof g||Array.isArray(g)?i("106",this.getName()||"ReactCompositeComponent"):void 0,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1;var L;return L=v.unstable_handleError?this.performInitialMountWithErrorHandling(u,t,n,e,l):this.performInitialMount(u,t,n,e,l),v.componentDidMount&&e.getReactMountReady().enqueue(v.componentDidMount,v),L},_constructComponent:function(e,t,n,r){return this._constructComponentWithoutOwner(e,t,n,r)},_constructComponentWithoutOwner:function(e,t,n,r){var a=this._currentElement.type;return e?new a(t,n,r):a(t,n,r)},performInitialMountWithErrorHandling:function(e,t,n,r,a){var o,s=r.checkpoint();try{o=this.performInitialMount(e,t,n,r,a)}catch(i){r.rollback(s),this._instance.unstable_handleError(i),this._pendingStateQueue&&(this._instance.state=this._processPendingState(this._instance.props,this._instance.context)),s=r.checkpoint(),this._renderedComponent.unmountComponent(!0),r.rollback(s),o=this.performInitialMount(e,t,n,r,a)}return o},performInitialMount:function(e,t,n,r,a){var o=this._instance,s=0;o.componentWillMount&&(o.componentWillMount(),this._pendingStateQueue&&(o.state=this._processPendingState(o.props,o.context))),void 0===e&&(e=this._renderValidatedComponent());var i=f.getType(e);this._renderedNodeType=i;var l=this._instantiateReactComponent(e,i!==f.EMPTY);this._renderedComponent=l;var u=m.mountComponent(l,r,t,n,this._processChildContext(a),s);return u},getHostNode:function(){return m.getHostNode(this._renderedComponent)},unmountComponent:function(e){if(this._renderedComponent){var t=this._instance;if(t.componentWillUnmount&&!t._calledComponentWillUnmount)if(t._calledComponentWillUnmount=!0,e){var n=this.getName()+".componentWillUnmount()";_.invokeGuardedCallback(n,t.componentWillUnmount.bind(t))}else t.componentWillUnmount();this._renderedComponent&&(m.unmountComponent(this._renderedComponent,e),this._renderedNodeType=null,this._renderedComponent=null,this._instance=null),this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._pendingCallbacks=null,this._pendingElement=null,this._context=null,this._rootNodeID=0,this._topLevelWrapper=null,p.remove(t)}},_maskContext:function(e){var t=this._currentElement.type,n=t.contextTypes;if(!n)return y;var r={};for(var a in n)r[a]=e[a];return r},_processContext:function(e){var t=this._maskContext(e);return t},_processChildContext:function(e){var t,n=this._currentElement.type,r=this._instance;if(r.getChildContext&&(t=r.getChildContext()),t){"object"!=typeof n.childContextTypes?i("107",this.getName()||"ReactCompositeComponent"):void 0;for(var a in t)a in n.childContextTypes?void 0:i("108",this.getName()||"ReactCompositeComponent",a);return l({},e,t)}return e},_checkContextTypes:function(e,t,n){h(e,t,n,this.getName(),null,this._debugID)},receiveComponent:function(e,t,n){var r=this._currentElement,a=this._context;this._pendingElement=null,this.updateComponent(t,r,e,a,n)},performUpdateIfNecessary:function(e){null!=this._pendingElement?m.receiveComponent(this,this._pendingElement,e,this._context):null!==this._pendingStateQueue||this._pendingForceUpdate?this.updateComponent(e,this._currentElement,this._currentElement,this._context,this._context):this._updateBatchNumber=null},updateComponent:function(e,t,n,r,a){var o=this._instance;null==o?i("136",this.getName()||"ReactCompositeComponent"):void 0;var s,l=!1;this._context===a?s=o.context:(s=this._processContext(a),l=!0);var u=t.props,d=n.props;t!==n&&(l=!0),l&&o.componentWillReceiveProps&&o.componentWillReceiveProps(d,s);var c=this._processPendingState(d,s),_=!0;this._pendingForceUpdate||(o.shouldComponentUpdate?_=o.shouldComponentUpdate(d,c,s):this._compositeType===M.PureClass&&(_=!v(u,d)||!v(o.state,c))),this._updateBatchNumber=null,_?(this._pendingForceUpdate=!1,this._performComponentUpdate(n,d,c,s,e,a)):(this._currentElement=n,this._context=a,o.props=d,o.state=c,o.context=s)},_processPendingState:function(e,t){var n=this._instance,r=this._pendingStateQueue,a=this._pendingReplaceState;if(this._pendingReplaceState=!1,this._pendingStateQueue=null,!r)return n.state;if(a&&1===r.length)return r[0];for(var o=l({},a?r[0]:n.state),s=a?1:0;s=0||null!=t.is}function f(e){var t=e.type;_(t),this._currentElement=e,this._tag=t.toLowerCase(),this._namespaceURI=null,this._renderedChildren=null,this._previousStyle=null,this._previousStyleCopy=null,this._hostNode=null,this._hostParent=null,this._rootNodeID=0,this._domID=0,this._hostContainerInfo=null,this._wrapperState=null,this._topLevelWrapper=null,this._flags=0}var m=n(6),h=n(5),y=n(486),v=n(488),g=n(35),M=n(96),T=n(36),L=n(180),b=n(21),k=n(43),E=n(97),D=n(68),w=n(500),Y=n(183),S=n(7),C=n(507),P=n(508),O=n(184),R=n(511),x=(n(15),n(519)),A=n(524),H=(n(13),n(70)),N=(n(3),n(114),n(24)),j=(n(74),n(117),n(4),Y),I=k.deleteListener,F=S.getNodeFromInstance,W=D.listenTo,U=E.registrationNameModules,z={string:!0,number:!0},V=N({style:null}),B=N({__html:null}),G={children:null,dangerouslySetInnerHTML:null,suppressContentEditableWarning:null},K=11,J={topAbort:"abort",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topSeeked:"seeked",topSeeking:"seeking",topStalled:"stalled",topSuspend:"suspend",topTimeUpdate:"timeupdate",topVolumeChange:"volumechange",topWaiting:"waiting"},q={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},X={listing:!0,pre:!0,textarea:!0},$=h({menuitem:!0},q),Z=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,Q={},ee={}.hasOwnProperty,te=1;f.displayName="ReactDOMComponent",f.Mixin={mountComponent:function(e,t,n,r){this._rootNodeID=te++,this._domID=n._idCounter++,this._hostParent=t,this._hostContainerInfo=n;var o=this._currentElement.props;switch(this._tag){case"audio":case"form":case"iframe":case"img":case"link":case"object":case"source":case"video":this._wrapperState={listeners:null},e.getReactMountReady().enqueue(d,this);break;case"button":o=w.getHostProps(this,o,t);break;case"input":C.mountWrapper(this,o,t),o=C.getHostProps(this,o),e.getReactMountReady().enqueue(d,this);break;case"option":P.mountWrapper(this,o,t),o=P.getHostProps(this,o);break;case"select":O.mountWrapper(this,o,t),o=O.getHostProps(this,o),e.getReactMountReady().enqueue(d,this);break;case"textarea":R.mountWrapper(this,o,t),o=R.getHostProps(this,o),e.getReactMountReady().enqueue(d,this)}a(this,o);var s,c;null!=t?(s=t._namespaceURI,c=t._tag):n._tag&&(s=n._namespaceURI,c=n._tag),(null==s||s===M.svg&&"foreignobject"===c)&&(s=M.html),s===M.html&&("svg"===this._tag?s=M.svg:"math"===this._tag&&(s=M.mathml)),this._namespaceURI=s;var _;if(e.useCreateElement){var p,f=n._ownerDocument;if(s===M.html)if("script"===this._tag){var m=f.createElement("div"),h=this._currentElement.type;m.innerHTML="<"+h+">",p=m.removeChild(m.firstChild)}else p=o.is?f.createElement(this._currentElement.type,o.is):f.createElement(this._currentElement.type);else p=f.createElementNS(s,this._currentElement.type);S.precacheNode(this,p),this._flags|=j.hasCachedChildNodes,this._hostParent||L.setAttributeForRoot(p),this._updateDOMProperties(null,o,e);var v=g(p);this._createInitialChildren(e,o,r,v),_=v}else{var T=this._createOpenTagMarkupAndPutListeners(e,o),b=this._createContentMarkup(e,o,r);_=!b&&q[this._tag]?T+"/>":T+">"+b+""}switch(this._tag){case"input":e.getReactMountReady().enqueue(i,this),o.autoFocus&&e.getReactMountReady().enqueue(y.focusDOMComponent,this);break;case"textarea":e.getReactMountReady().enqueue(l,this),o.autoFocus&&e.getReactMountReady().enqueue(y.focusDOMComponent,this);break;case"select":o.autoFocus&&e.getReactMountReady().enqueue(y.focusDOMComponent,this);break;case"button":o.autoFocus&&e.getReactMountReady().enqueue(y.focusDOMComponent,this);break;case"option":e.getReactMountReady().enqueue(u,this)}return _},_createOpenTagMarkupAndPutListeners:function(e,t){var n="<"+this._currentElement.type;for(var r in t)if(t.hasOwnProperty(r)){var a=t[r];if(null!=a)if(U.hasOwnProperty(r))a&&o(this,r,a,e);else{r===V&&(a&&(a=this._previousStyleCopy=h({},t.style)),a=v.createMarkupForStyles(a,this));var s=null;null!=this._tag&&p(this._tag,t)?G.hasOwnProperty(r)||(s=L.createMarkupForCustomAttribute(r,a)):s=L.createMarkupForProperty(r,a),s&&(n+=" "+s)}}return e.renderToStaticMarkup?n:(this._hostParent||(n+=" "+L.createMarkupForRoot()),n+=" "+L.createMarkupForID(this._domID))},_createContentMarkup:function(e,t,n){var r="",a=t.dangerouslySetInnerHTML;if(null!=a)null!=a.__html&&(r=a.__html);else{var o=z[typeof t.children]?t.children:null,s=null!=o?null:t.children;if(null!=o)r=H(o);else if(null!=s){var i=this.mountChildren(s,e,n);r=i.join("")}}return X[this._tag]&&"\n"===r.charAt(0)?"\n"+r:r},_createInitialChildren:function(e,t,n,r){var a=t.dangerouslySetInnerHTML;if(null!=a)null!=a.__html&&g.queueHTML(r,a.__html);else{var o=z[typeof t.children]?t.children:null,s=null!=o?null:t.children;if(null!=o)g.queueText(r,o);else if(null!=s)for(var i=this.mountChildren(s,e,n),l=0;l"},receiveComponent:function(){},getHostNode:function(){return o.getNodeFromInstance(this)},unmountComponent:function(){o.uncacheNode(this)}}),e.exports=s},function(e,t,n){"use strict";var r=n(18),a=r.createFactory,o={a:a("a"),abbr:a("abbr"),address:a("address"),area:a("area"),article:a("article"),aside:a("aside"),audio:a("audio"),b:a("b"),base:a("base"),bdi:a("bdi"),bdo:a("bdo"),big:a("big"),blockquote:a("blockquote"),body:a("body"),br:a("br"),button:a("button"),canvas:a("canvas"),caption:a("caption"),cite:a("cite"),code:a("code"),col:a("col"),colgroup:a("colgroup"),data:a("data"),datalist:a("datalist"),dd:a("dd"),del:a("del"),details:a("details"),dfn:a("dfn"),dialog:a("dialog"),div:a("div"),dl:a("dl"),dt:a("dt"),em:a("em"),embed:a("embed"),fieldset:a("fieldset"),figcaption:a("figcaption"),figure:a("figure"),footer:a("footer"),form:a("form"),h1:a("h1"),h2:a("h2"),h3:a("h3"),h4:a("h4"),h5:a("h5"),h6:a("h6"),head:a("head"),header:a("header"),hgroup:a("hgroup"),hr:a("hr"),html:a("html"),i:a("i"),iframe:a("iframe"),img:a("img"),input:a("input"),ins:a("ins"),kbd:a("kbd"),keygen:a("keygen"),label:a("label"),legend:a("legend"),li:a("li"),link:a("link"),main:a("main"),map:a("map"),mark:a("mark"),menu:a("menu"),menuitem:a("menuitem"),meta:a("meta"),meter:a("meter"),nav:a("nav"),noscript:a("noscript"),object:a("object"),ol:a("ol"),optgroup:a("optgroup"),option:a("option"),output:a("output"),p:a("p"),param:a("param"),picture:a("picture"),pre:a("pre"),progress:a("progress"),q:a("q"),rp:a("rp"),rt:a("rt"),ruby:a("ruby"),s:a("s"),samp:a("samp"),script:a("script"),section:a("section"),select:a("select"),small:a("small"),source:a("source"),span:a("span"),strong:a("strong"),style:a("style"),sub:a("sub"),summary:a("summary"),sup:a("sup"),table:a("table"),tbody:a("tbody"),td:a("td"),textarea:a("textarea"),tfoot:a("tfoot"),th:a("th"),thead:a("thead"),time:a("time"),title:a("title"),tr:a("tr"),track:a("track"),u:a("u"),ul:a("ul"),"var":a("var"),video:a("video"),wbr:a("wbr"),circle:a("circle"),clipPath:a("clipPath"),defs:a("defs"),ellipse:a("ellipse"),g:a("g"),image:a("image"),line:a("line"),linearGradient:a("linearGradient"),mask:a("mask"),path:a("path"),pattern:a("pattern"),polygon:a("polygon"),polyline:a("polyline"),radialGradient:a("radialGradient"),rect:a("rect"),stop:a("stop"),svg:a("svg"),text:a("text"),tspan:a("tspan")};e.exports=o},function(e,t){"use strict";var n={useCreateElement:!0};e.exports=n},function(e,t,n){"use strict";var r=n(95),a=n(7),o={dangerouslyProcessChildrenUpdates:function(e,t){var n=a.getNodeFromInstance(e);r.processUpdates(n,t)}};e.exports=o},function(e,t,n){"use strict";function r(){this._rootNodeID&&_.updateWrapper(this)}function a(e){var t=this._currentElement.props,n=u.executeOnChange(t,e);c.asap(r,this);var a=t.name;if("radio"===t.type&&null!=a){for(var s=d.getNodeFromInstance(this),i=s;i.parentNode;)i=i.parentNode;for(var l=i.querySelectorAll("input[name="+JSON.stringify(""+a)+'][type="radio"]'),_=0;_t.end?(n=t.end,r=t.start):(n=t.start,r=t.end),a.moveToElementText(e),a.moveStart("character",n),a.setEndPoint("EndToStart",a),a.moveEnd("character",r-n),a.select()}function i(e,t){if(window.getSelection){var n=window.getSelection(),r=e[d()].length,a=Math.min(t.start,r),o=void 0===t.end?a:Math.min(t.end,r);if(!n.extend&&a>o){var s=o;o=a,a=s}var i=u(e,a),l=u(e,o);if(i&&l){var c=document.createRange();c.setStart(i.node,i.offset),n.removeAllRanges(),a>o?(n.addRange(c),n.extend(l.node,l.offset)):(c.setEnd(l.node,l.offset),n.addRange(c))}}}var l=n(8),u=n(546),d=n(200),c=l.canUseDOM&&"selection"in document&&!("getSelection"in window),_={getOffsets:c?a:o,setOffsets:c?s:i};e.exports=_},function(e,t,n){"use strict";var r=n(6),a=n(5),o=n(95),s=n(35),i=n(7),l=n(70),u=(n(3),n(117),function(e){this._currentElement=e,this._stringText=""+e,this._hostNode=null,this._hostParent=null,this._domID=0,this._mountIndex=0,this._closingComment=null,this._commentNodes=null});a(u.prototype,{mountComponent:function(e,t,n,r){var a=n._idCounter++,o=" react-text: "+a+" ",u=" /react-text ";if(this._domID=a,this._hostParent=t,e.useCreateElement){var d=n._ownerDocument,c=d.createComment(o),_=d.createComment(u),p=s(d.createDocumentFragment());return s.queueChild(p,s(c)),this._stringText&&s.queueChild(p,s(d.createTextNode(this._stringText))),s.queueChild(p,s(_)),i.precacheNode(this,c),this._closingComment=_,p}var f=l(this._stringText);return e.renderToStaticMarkup?f:""+f+""},receiveComponent:function(e,t){if(e!==this._currentElement){this._currentElement=e;var n=""+e;if(n!==this._stringText){this._stringText=n;var r=this.getHostNode();o.replaceDelimitedText(r[0],r[1],n)}}},getHostNode:function(){var e=this._commentNodes;if(e)return e;if(!this._closingComment)for(var t=i.getNodeFromInstance(this),n=t.nextSibling;;){if(null==n?r("67",this._domID):void 0,8===n.nodeType&&" /react-text "===n.nodeValue){this._closingComment=n;break}n=n.nextSibling}return e=[this._hostNode,this._closingComment],this._commentNodes=e,e},unmountComponent:function(){this._closingComment=null,this._commentNodes=null,i.uncacheNode(this)}}),e.exports=u},function(e,t,n){"use strict";function r(){this._rootNodeID&&c.updateWrapper(this)}function a(e){var t=this._currentElement.props,n=l.executeOnChange(t,e);return d.asap(r,this),n}var o=n(6),s=n(5),i=n(67),l=n(100),u=n(7),d=n(19),c=(n(3),n(4),{getHostProps:function(e,t){null!=t.dangerouslySetInnerHTML?o("91"):void 0;var n=s({},i.getHostProps(e,t),{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue,onChange:e._wrapperState.onChange});return n},mountWrapper:function(e,t){var n=l.getValue(t),r=n;if(null==n){var s=t.defaultValue,i=t.children;null!=i&&(null!=s?o("92"):void 0,Array.isArray(i)&&(i.length<=1?void 0:o("93"),i=i[0]),s=""+i),null==s&&(s=""),r=s}e._wrapperState={initialValue:""+r,listeners:null,onChange:a.bind(e)}},updateWrapper:function(e){var t=e._currentElement.props,n=u.getNodeFromInstance(e),r=l.getValue(t);if(null!=r){var a=""+r;a!==n.value&&(n.value=a),null==t.defaultValue&&(n.defaultValue=a)}null!=t.defaultValue&&(n.defaultValue=t.defaultValue)},postMountWrapper:function(e){var t=u.getNodeFromInstance(e);t.value=t.textContent}});e.exports=c},function(e,t,n){"use strict";function r(e,t){"_hostNode"in e?void 0:l("33"),"_hostNode"in t?void 0:l("33");for(var n=0,r=e;r;r=r._hostParent)n++;for(var a=0,o=t;o;o=o._hostParent)a++;for(;n-a>0;)e=e._hostParent,n--;for(;a-n>0;)t=t._hostParent,a--;for(var s=n;s--;){if(e===t)return e;e=e._hostParent,t=t._hostParent}return null}function a(e,t){"_hostNode"in e?void 0:l("35"),"_hostNode"in t?void 0:l("35");for(;t;){if(t===e)return!0;t=t._hostParent}return!1}function o(e){return"_hostNode"in e?void 0:l("36"),e._hostParent}function s(e,t,n){for(var r=[];e;)r.push(e),e=e._hostParent;var a;for(a=r.length;a-- >0;)t(r[a],!1,n);for(a=0;a0;)n(l[u],!1,o)}var l=n(6);n(3);e.exports={isAncestor:a,getLowestCommonAncestor:r,getParentInstance:o,traverseTwoPhase:s,traverseEnterLeave:i}},function(e,t,n){"use strict";function r(){this.reinitializeTransaction()}var a=n(5),o=n(19),s=n(47),i=n(13),l={initialize:i,close:function(){_.isBatchingUpdates=!1}},u={initialize:i,close:o.flushBatchedUpdates.bind(o)},d=[u,l];a(r.prototype,s.Mixin,{getTransactionWrappers:function(){return d}});var c=new r,_={isBatchingUpdates:!1,batchedUpdates:function(e,t,n,r,a,o){var s=_.isBatchingUpdates;_.isBatchingUpdates=!0,s?e(t,n,r,a,o):c.perform(e,null,t,n,r,a,o)}};e.exports=_},function(e,t,n){"use strict";function r(){L||(L=!0,y.EventEmitter.injectReactEventListener(h),y.EventPluginHub.injectEventPluginOrder(s),y.EventPluginUtils.injectComponentTree(c),y.EventPluginUtils.injectTreeTraversal(p),y.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:T,EnterLeaveEventPlugin:i,ChangeEventPlugin:o,SelectEventPlugin:M,BeforeInputEventPlugin:a}),y.HostComponent.injectGenericComponentClass(d),y.HostComponent.injectTextComponentClass(f),y.DOMProperty.injectDOMPropertyConfig(l),y.DOMProperty.injectDOMPropertyConfig(g),y.EmptyComponent.injectEmptyComponentFactory(function(e){return new _(e)}),y.Updates.injectReconcileTransaction(v),y.Updates.injectBatchingStrategy(m),y.Component.injectEnvironment(u))}var a=n(487),o=n(489),s=n(491),i=n(492),l=n(494),u=n(497),d=n(501),c=n(7),_=n(503),p=n(512),f=n(510),m=n(513),h=n(516),y=n(517),v=n(522),g=n(527),M=n(528),T=n(529),L=!1;e.exports={inject:r}},function(e,t,n){"use strict";function r(e){a.enqueueEvents(e),a.processEventQueue(!1)}var a=n(43),o={handleTopLevel:function(e,t,n,o){var s=a.extractEvents(e,t,n,o);r(s)}};e.exports=o},function(e,t,n){"use strict";function r(e){for(;e._hostParent;)e=e._hostParent;var t=c.getNodeFromInstance(e),n=t.parentNode;return c.getClosestInstanceFromNode(n)}function a(e,t){this.topLevelType=e,this.nativeEvent=t,this.ancestors=[]}function o(e){var t=p(e.nativeEvent),n=c.getClosestInstanceFromNode(t),a=n;do e.ancestors.push(a),a=a&&r(a);while(a);for(var o=0;o/,o=/^<\!\-\-/,s={CHECKSUM_ATTR_NAME:"data-react-checksum",addChecksumToMarkup:function(e){var t=r(e);return o.test(e)?e:e.replace(a," "+s.CHECKSUM_ATTR_NAME+'="'+t+'"$&')},canReuseMarkup:function(e,t){var n=t.getAttribute(s.CHECKSUM_ATTR_NAME);n=n&&parseInt(n,10);var a=r(e);return a===n}};e.exports=s},function(e,t,n){"use strict";function r(e,t,n){return{type:_.INSERT_MARKUP,content:e,fromIndex:null,fromNode:null,toIndex:n,afterNode:t}}function a(e,t,n){return{type:_.MOVE_EXISTING,content:null,fromIndex:e._mountIndex,fromNode:p.getHostNode(e),toIndex:n,afterNode:t}}function o(e,t){return{type:_.REMOVE_NODE,content:null,fromIndex:e._mountIndex,fromNode:t,toIndex:null,afterNode:null}}function s(e){return{type:_.SET_MARKUP,content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function i(e){return{type:_.TEXT_CONTENT,content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function l(e,t){return t&&(e=e||[],e.push(t)),e}function u(e,t){c.processChildrenUpdates(e,t)}var d=n(6),c=n(102),_=(n(45),n(15),n(190)),p=(n(27),n(37)),f=n(496),m=(n(13),n(544)),h=(n(3),{Mixin:{_reconcilerInstantiateChildren:function(e,t,n){return f.instantiateChildren(e,t,n)},_reconcilerUpdateChildren:function(e,t,n,r,a,o){var s,i=0;return s=m(t,i),f.updateChildren(e,s,n,r,a,this,this._hostContainerInfo,o,i),s},mountChildren:function(e,t,n){var r=this._reconcilerInstantiateChildren(e,t,n);this._renderedChildren=r;var a=[],o=0;for(var s in r)if(r.hasOwnProperty(s)){var i=r[s],l=0,u=p.mountComponent(i,t,this,this._hostContainerInfo,n,l);i._mountIndex=o++,a.push(u)}return a},updateTextContent:function(e){var t=this._renderedChildren;f.unmountChildren(t,!1);for(var n in t)t.hasOwnProperty(n)&&d("118");var r=[i(e)];u(this,r)},updateMarkup:function(e){var t=this._renderedChildren;f.unmountChildren(t,!1);for(var n in t)t.hasOwnProperty(n)&&d("118");var r=[s(e)];u(this,r)},updateChildren:function(e,t,n){this._updateChildren(e,t,n)},_updateChildren:function(e,t,n){var r=this._renderedChildren,a={},o=[],s=this._reconcilerUpdateChildren(r,e,o,a,t,n);if(s||r){var i,d=null,c=0,_=0,f=0,m=null;for(i in s)if(s.hasOwnProperty(i)){var h=r&&r[i],y=s[i];h===y?(d=l(d,this.moveChild(h,m,c,_)),_=Math.max(h._mountIndex,_),h._mountIndex=c):(h&&(_=Math.max(h._mountIndex,_)),d=l(d,this._mountChildAtIndex(y,o[f],m,c,t,n)),f++),c++,m=p.getHostNode(y)}for(i in a)a.hasOwnProperty(i)&&(d=l(d,this._unmountChild(r[i],a[i])));d&&u(this,d),this._renderedChildren=s}},unmountChildren:function(e){var t=this._renderedChildren;f.unmountChildren(t,e),this._renderedChildren=null},moveChild:function(e,t,n,r){if(e._mountIndex=t)return{node:a,offset:t-o};o=s}a=n(r(a))}}e.exports=a},function(e,t,n){"use strict";function r(e){return o.isValidElement(e)?void 0:a("143"),e}var a=n(6),o=n(18);n(3);e.exports=r},function(e,t,n){"use strict";function r(e){return'"'+a(e)+'"'}var a=n(70);e.exports=r},function(e,t,n){"use strict";var r=n(189);e.exports=r.renderSubtreeIntoContainer},function(e,t,n){"use strict";function r(e){return Array.isArray(e)?e.concat():e&&"object"==typeof e?i(new e.constructor,e):e}function a(e,t,n){Array.isArray(e)?void 0:s("1",n,e);var r=t[n];Array.isArray(r)?void 0:s("2",n,r)}function o(e,t){if("object"!=typeof t?s("3",h.join(", "),p):void 0,u.call(t,p))return 1!==Object.keys(t).length?s("4",p):void 0,t[p];var n=r(e);if(u.call(t,f)){var l=t[f];l&&"object"==typeof l?void 0:s("5",f,l),n&&"object"==typeof n?void 0:s("6",f,n),i(n,t[f])}u.call(t,d)&&(a(e,t,d),t[d].forEach(function(e){n.push(e)})),u.call(t,c)&&(a(e,t,c),t[c].forEach(function(e){n.unshift(e)})),u.call(t,_)&&(Array.isArray(e)?void 0:s("7",_,e),Array.isArray(t[_])?void 0:s("8",_,t[_]),t[_].forEach(function(e){Array.isArray(e)?void 0:s("8",_,t[_]),n.splice.apply(n,e)})),u.call(t,m)&&("function"!=typeof t[m]?s("9",m,t[m]):void 0,n=t[m](n));for(var v in t)y.hasOwnProperty(v)&&y[v]||(n[v]=o(e[v],t[v]));return n}var s=n(6),i=n(5),l=n(24),u=(n(3),{}.hasOwnProperty),d=l({$push:null}),c=l({$unshift:null}),_=l({$splice:null}),p=l({$set:null}),f=l({$merge:null}),m=l({$apply:null}),h=[d,c,_,p,f,m],y={};h.forEach(function(e){y[e]=!0}),e.exports=o},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=t.CLICKED_RUN_DECK="CLICKED_RUN_DECK",r=t.CLOSED_RUN_DECK="CLOSED_RUN_DECK",a=t.CLICKED_RUN_TEST="CLICKED_RUN_TEST",o=t.CLOSED_RUN_TEST="CLOSED_RUN_TEST";t.clickedRunDeck=function(e){return{type:n,deckId:e}},t.closedRunDeck=function(){return{type:r}},t.clickedRunTest=function(e){return{type:a,nettestId:e}},t.closedRunTest=function(){return{type:o}}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.load=t.loadingNettestsFailed=t.loadingNettestsSucceeded=t.loadingNettests=t.runNettest=t.LOADING_NETTESTS_FAILED=t.LOADING_NETTESTS_SUCCEEDED=t.LOADING_NETTESTS=t.RUN_NETTEST=void 0;var a=n(564),o=r(a),s=n(52),i=n(132),l=(t.RUN_NETTEST="RUN_NETTEST",t.LOADING_NETTESTS="LOADING_NETTESTS"),u=t.LOADING_NETTESTS_SUCCEEDED="LOADING_NETTESTS_SUCCEEDED",d=t.LOADING_NETTESTS_FAILED="LOADING_NETTESTS_FAILED",c=(t.runNettest=function(e,t){return function(n){return(0,s.fetch)("/api/nettest/"+e+"/start",{method:"POST",headers:{"Content-Type":"application/json"},body:(0,o["default"])(t)})["catch"](function(e){n((0,i.receivedNotification)("Failed to start test",""+e.message,"error"))})}},t.loadingNettests=function(){return{type:l}}),_=t.loadingNettestsSucceeded=function(e){return{type:u,nettests:e}},p=t.loadingNettestsFailed=function(e){return function(t){return t((0,i.receivedNotification)("Failed to fetch tests",""+e.message,"error")),{type:d}}};t.load=function(){return function(e){e(c()),(0,s.fetch)("/api/nettest").then(function(e){return e.json()}).then(function(t){return e(_(t))})["catch"](function(t){e(p(t))})}}},,,function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Deck=void 0;var a=n(2),o=r(a),s=n(11),i=n(151),l=r(i),u=n(146),d=r(u),c=n(53);n(583);var _=function(e){var t=e.deckId,n=e.enabled,r=e.running,a=e.runningScheduled,s=e.directorStarted,i=e.openDeckInfo,l=e.onDeckToggled,u=e.onDeckRun,d=void 0,c=void 0; return a?d="fa fa-circle-o-notch fa-spin":n?d="icon-btn icon-btn-on fa fa-clock-o":n||(d="icon-btn icon-btn-off fa fa-clock-o"),c=r?"fa fa-spinner fa-pulse":"icon-btn fa fa-play",s||(d+=" icon-btn-disabled",c+=" icon-btn-disabled"),o["default"].createElement("div",{className:"row"},o["default"].createElement("div",{className:"col-xs-2 offset-xs-3",onClick:i},o["default"].createElement("i",{className:"icon-btn fa fa-info-circle"})),o["default"].createElement("div",{className:"col-xs-2"},a&&s&&o["default"].createElement("i",{className:d}),!a&&s&&o["default"].createElement("i",{className:d,onClick:function(){return l(t)}}),!s&&o["default"].createElement("i",{className:d})),o["default"].createElement("div",{className:"col-xs-2"},!s&&o["default"].createElement("i",{className:c}),r&&s&&o["default"].createElement("i",{className:c}),!r&&s&&o["default"].createElement("i",{className:c,onClick:function(){return u(t)}})))};_.propTypes={deckId:o["default"].PropTypes.string,enabled:o["default"].PropTypes.bool,running:o["default"].PropTypes.bool,runningScheduled:o["default"].PropTypes.bool,openDeckInfo:o["default"].PropTypes.func,directorStarted:o["default"].PropTypes.bool,onDeckToggled:o["default"].PropTypes.func,onDeckRun:o["default"].PropTypes.func};var p=function(e){var t=e.deckId,n=e.enabled,r=e.openDeckInfo,a=e.onDeckToggled;return o["default"].createElement("div",{className:"row"},o["default"].createElement("div",{className:"col-xs-3 offset-xs-3",onClick:r},o["default"].createElement("i",{className:"icon-btn fa fa-info-circle"})),o["default"].createElement("div",{className:"col-xs-3"},o["default"].createElement(l["default"],{icons:{checked:o["default"].createElement("i",{style:{color:"rgb(255, 255, 255)",fontSize:"1.2em",position:"absolute",top:"-4px",left:"0"},className:"fa fa-clock-o"}),unchecked:null},defaultChecked:n,onChange:function(){return a(t)}})))};p.propTypes={deckId:o["default"].PropTypes.string,enabled:o["default"].PropTypes.bool,openDeckInfo:o["default"].PropTypes.func,onDeckToggled:o["default"].PropTypes.func};var f=t.Deck=function(e){var t=e.deck,n=e.fullControls,r=e.directorStarted,a=e.openDeckInfo,i=e.closeDeckInfo,l=e.infoBoxOpen,u=e.onDeckToggled,f=e.onDeckRun;return o["default"].createElement("div",{key:t.id,className:"col-md-3 col-xs-6 text-xs-center"},o["default"].createElement("h6",null,t.name),(0,c.getDeckIcon)(t.icon),n?o["default"].createElement(_,{directorStarted:r,deckId:t.id,enabled:t.enabled,running:t.running,runningScheduled:t.running_scheduled,openDeckInfo:a,onDeckRun:f,onDeckToggled:u}):o["default"].createElement(p,{deckId:t.id,enabled:t.enabled,openDeckInfo:a,onDeckToggled:u}),o["default"].createElement(d["default"],{className:"Modal__Bootstrap modal-dialog",onRequestClose:i,contentLabel:t.name+" description",isOpen:l},o["default"].createElement("div",{className:"modal-content"},o["default"].createElement("div",{className:"modal-header text-xs-center"},o["default"].createElement("button",{type:"button",className:"close",onClick:i},o["default"].createElement("span",{"aria-hidden":"true"},"×"),o["default"].createElement("span",{className:"sr-only"},"Close")),o["default"].createElement("h1",{className:"modal-title"},t.name),(0,c.getDeckIcon)(t.icon)),o["default"].createElement("div",{className:"modal-body"},o["default"].createElement("p",null,t.description)),o["default"].createElement("div",{className:"modal-footer text-xs-center"},o["default"].createElement("button",{className:"btn btn-primary",onClick:i},o["default"].createElement(s.FormattedMessage,{id:"deck.gotIt",defaultMessage:"Got it!"}))))))};f.propTypes={deck:o["default"].PropTypes.shape({description:o["default"].PropTypes.string,id:o["default"].PropTypes.string,icon:o["default"].PropTypes.string,name:o["default"].PropTypes.string,enabled:o["default"].PropTypes.bool,running:o["default"].PropTypes.bool}).isRequired,directorStarted:o["default"].PropTypes.bool,fullControls:o["default"].PropTypes.bool,openDeckInfo:o["default"].PropTypes.func,closeDeckInfo:o["default"].PropTypes.func,infoBoxOpen:o["default"].PropTypes.bool,onDeckToggled:o["default"].PropTypes.func,onDeckRun:o["default"].PropTypes.func},t["default"]=f},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(12),o=r(a),s=n(54),i=r(s),l=n(32),u=r(l),d=n(48),c=r(d),_=n(39),p=r(_),f=n(38),m=r(f),h=n(2),y=r(h),v=n(555),g=r(v),M=function(e){function t(e){(0,u["default"])(this,t);var n=(0,p["default"])(this,(t.__proto__||(0,i["default"])(t)).call(this,e));return n.state={infoBoxOpen:!1},n}return(0,m["default"])(t,e),(0,c["default"])(t,[{key:"openDeckInfo",value:function(){this.setState((0,o["default"])({},this.state,{infoBoxOpen:!0}))}},{key:"closeDeckInfo",value:function(){this.setState((0,o["default"])({},this.state,{infoBoxOpen:!1}))}},{key:"render",value:function(){return y["default"].createElement(g["default"],{deck:this.props.deck,directorStarted:this.props.directorStarted,infoBoxOpen:this.state.infoBoxOpen,openDeckInfo:this.openDeckInfo.bind(this),closeDeckInfo:this.closeDeckInfo.bind(this),onDeckRun:this.props.onDeckRun,onDeckToggled:this.props.onDeckToggled,fullControls:this.props.fullControls})}}]),t}(y["default"].Component);M.propTypes={deck:y["default"].PropTypes.shape({description:y["default"].PropTypes.string,id:y["default"].PropTypes.string,icon:y["default"].PropTypes.string,name:y["default"].PropTypes.string,enabled:y["default"].PropTypes.bool,running:y["default"].PropTypes.bool}).isRequired,fullControls:y["default"].PropTypes.bool,directorStarted:y["default"].PropTypes.bool,onDeckToggled:y["default"].PropTypes.func,onDeckRun:y["default"].PropTypes.func},t["default"]=M},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(556),o=r(a);t["default"]=o["default"]},,function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function a(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_,t=arguments[1],n=c[t.type];return n?n(e,t):e}Object.defineProperty(t,"__esModule",{value:!0});var o,s=n(49),i=r(s),l=n(12),u=r(l);t.deckReducer=a;var d=n(131),c=(o={},(0,i["default"])(o,d.RUN_DECK_SUCCEEDED,function(e,t){return(0,u["default"])({},e,{decks:t.decks})}),(0,i["default"])(o,d.LOADING_DECKS,function(e,t){return(0,u["default"])({},e,{loading:!0,loadingFailed:!1})}),(0,i["default"])(o,d.LOADING_DECKS_SUCCEEDED,function(e,t){return(0,u["default"])({},e,{decks:t.decks,loading:!1,loadingFailed:!1})}),(0,i["default"])(o,d.RUN_DECK_FAILED,function(e,t){return e}),(0,i["default"])(o,d.LOADING_DECKS_FAILED,function(e,t){return(0,u["default"])({},e,{loadingFailed:!0})}),o),_={runningDecks:[],loading:!1,loadingFailed:!1,decks:[]}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function a(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_,t=arguments[1],n=c[t.type];return n?n(e,t):e}Object.defineProperty(t,"__esModule",{value:!0});var o,s=n(49),i=r(s),l=n(12),u=r(l);t.measurementReducer=a;var d=n(206),c=(o={},(0,i["default"])(o,d.LOADING_MEASUREMENTS_FAILED,function(e,t){return(0,u["default"])({},e,{failed:!0,loading:!1,failure:t.ex})}),(0,i["default"])(o,d.LOADING_MEASUREMENTS_SUCCEEDED,function(e,t){return(0,u["default"])({},e,{loading:!1,failed:!1,measurements:t.measurements})}),(0,i["default"])(o,d.LOADING_MEASUREMENTS,function(e){return(0,u["default"])({},e,{loading:!0,failed:!1,failure:null})}),o),_={failed:!1,failure:null,loading:!1,measurements:[]}},,,,,,function(e,t,n){n(580),e.exports=n(23).Object.keys},,,,,,,,,,,,,,function(e,t,n){var r=n(138),a=n(122);n(349)("keys",function(){return function(e){return a(r(e))}})},,function(e,t){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(e){return"function"==typeof e}function a(e){return"number"==typeof e}function o(e){return"object"==typeof e&&null!==e}function s(e){return void 0===e}e.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(e){if(!a(e)||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},n.prototype.emit=function(e){var t,n,a,i,l,u;if(this._events||(this._events={}),"error"===e&&(!this._events.error||o(this._events.error)&&!this._events.error.length)){if(t=arguments[1],t instanceof Error)throw t;var d=new Error('Uncaught, unspecified "error" event. ('+t+")");throw d.context=t,d}if(n=this._events[e],s(n))return!1;if(r(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:i=Array.prototype.slice.call(arguments,1),n.apply(this,i)}else if(o(n))for(i=Array.prototype.slice.call(arguments,1),u=n.slice(),a=u.length,l=0;l0&&this._events[e].length>a&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace())),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){function n(){this.removeListener(e,n),a||(a=!0,t.apply(this,arguments))}if(!r(t))throw TypeError("listener must be a function");var a=!1;return n.listener=t,this.on(e,n),this},n.prototype.removeListener=function(e,t){var n,a,s,i;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(n=this._events[e],s=n.length,a=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(o(n)){for(i=s;i-- >0;)if(n[i]===t||n[i].listener&&n[i].listener===t){a=i;break}if(a<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(a,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(n=this._events[e],r(n))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){var t;return t=this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},973,,,,,,,,,,,,,function(e,t,n){function r(e){return n(a(e))}function a(e){return o[e]||function(){throw new Error("Cannot find module '"+e+"'.")}()}var o={"./af":212,"./af.js":212,"./ar":219,"./ar-dz":213,"./ar-dz.js":213,"./ar-kw":214,"./ar-kw.js":214,"./ar-ly":215,"./ar-ly.js":215,"./ar-ma":216,"./ar-ma.js":216,"./ar-sa":217,"./ar-sa.js":217,"./ar-tn":218,"./ar-tn.js":218,"./ar.js":219,"./az":220,"./az.js":220,"./be":221,"./be.js":221,"./bg":222,"./bg.js":222,"./bn":223,"./bn.js":223,"./bo":224,"./bo.js":224,"./br":225,"./br.js":225,"./bs":226,"./bs.js":226,"./ca":227,"./ca.js":227,"./cs":228,"./cs.js":228,"./cv":229,"./cv.js":229,"./cy":230,"./cy.js":230,"./da":231,"./da.js":231,"./de":234,"./de-at":232,"./de-at.js":232,"./de-ch":233,"./de-ch.js":233,"./de.js":234,"./dv":235,"./dv.js":235,"./el":236,"./el.js":236,"./en-au":237,"./en-au.js":237,"./en-ca":238,"./en-ca.js":238,"./en-gb":239,"./en-gb.js":239,"./en-ie":240,"./en-ie.js":240,"./en-nz":241,"./en-nz.js":241,"./eo":242,"./eo.js":242,"./es":244,"./es-do":243,"./es-do.js":243,"./es.js":244,"./et":245,"./et.js":245,"./eu":246,"./eu.js":246,"./fa":247,"./fa.js":247,"./fi":248,"./fi.js":248,"./fo":249,"./fo.js":249,"./fr":252,"./fr-ca":250,"./fr-ca.js":250,"./fr-ch":251,"./fr-ch.js":251,"./fr.js":252,"./fy":253,"./fy.js":253,"./gd":254,"./gd.js":254,"./gl":255,"./gl.js":255,"./gom-latn":256,"./gom-latn.js":256,"./he":257,"./he.js":257,"./hi":258,"./hi.js":258,"./hr":259,"./hr.js":259,"./hu":260,"./hu.js":260,"./hy-am":261,"./hy-am.js":261,"./id":262,"./id.js":262,"./is":263,"./is.js":263,"./it":264,"./it.js":264,"./ja":265,"./ja.js":265,"./jv":266,"./jv.js":266,"./ka":267,"./ka.js":267,"./kk":268,"./kk.js":268,"./km":269,"./km.js":269,"./kn":270,"./kn.js":270,"./ko":271,"./ko.js":271,"./ky":272,"./ky.js":272,"./lb":273,"./lb.js":273,"./lo":274,"./lo.js":274,"./lt":275,"./lt.js":275,"./lv":276,"./lv.js":276,"./me":277,"./me.js":277,"./mi":278,"./mi.js":278,"./mk":279,"./mk.js":279,"./ml":280,"./ml.js":280,"./mr":281,"./mr.js":281,"./ms":283,"./ms-my":282,"./ms-my.js":282,"./ms.js":283,"./my":284,"./my.js":284,"./nb":285,"./nb.js":285,"./ne":286,"./ne.js":286,"./nl":288,"./nl-be":287,"./nl-be.js":287,"./nl.js":288,"./nn":289,"./nn.js":289,"./pa-in":290,"./pa-in.js":290,"./pl":291,"./pl.js":291,"./pt":293,"./pt-br":292,"./pt-br.js":292,"./pt.js":293,"./ro":294,"./ro.js":294,"./ru":295,"./ru.js":295,"./sd":296,"./sd.js":296,"./se":297,"./se.js":297,"./si":298,"./si.js":298,"./sk":299,"./sk.js":299,"./sl":300,"./sl.js":300,"./sq":301,"./sq.js":301,"./sr":303,"./sr-cyrl":302,"./sr-cyrl.js":302,"./sr.js":303,"./ss":304,"./ss.js":304,"./sv":305,"./sv.js":305,"./sw":306,"./sw.js":306,"./ta":307,"./ta.js":307,"./te":308,"./te.js":308,"./tet":309,"./tet.js":309,"./th":310,"./th.js":310,"./tl-ph":311,"./tl-ph.js":311,"./tlh":312,"./tlh.js":312,"./tr":313,"./tr.js":313,"./tzl":314,"./tzl.js":314,"./tzm":316,"./tzm-latn":315,"./tzm-latn.js":315,"./tzm.js":316,"./uk":317,"./uk.js":317,"./ur":318,"./ur.js":318,"./uz":320,"./uz-latn":319,"./uz-latn.js":319,"./uz.js":320,"./vi":321,"./vi.js":321,"./x-pseudo":322,"./x-pseudo.js":322,"./yo":323,"./yo.js":323,"./zh-cn":324,"./zh-cn.js":324,"./zh-hk":325,"./zh-hk.js":325,"./zh-tw":326,"./zh-tw.js":326};r.keys=function(){return Object.keys(o)},r.resolve=a,e.exports=r,r.id=596},,function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var i=Object.assign||function(e){for(var t=1;tn&&(n=Number(e.props.row))}),d["default"].Children.map(t,function(e,t){var r=e.props.row?Number(e.props.row):0,a=e.props.rowSpan?Number(e.props.rowSpan):1;if(a+r===n+1)return{name:e.props.dataField,align:e.props.dataAlign,sort:e.props.dataSort,format:e.props.dataFormat,formatExtraData:e.props.formatExtraData,filterFormatted:e.props.filterFormatted,filterValue:e.props.filterValue,editable:e.props.editable,customEditor:e.props.customEditor,hidden:e.props.hidden,hiddenOnInsert:e.props.hiddenOnInsert,searchable:e.props.searchable,className:e.props.columnClassName,editClassName:e.props.editColumnClassName,invalidEditColumnClassName:e.props.invalidEditColumnClassName,columnTitle:e.props.columnTitle,width:e.props.width,text:e.props.headerText||e.props.children,sortFunc:e.props.sortFunc,sortFuncExtraData:e.props.sortFuncExtraData,"export":e.props["export"],expandable:e.props.expandable,index:t,attrs:e.props.tdAttr,style:e.props.tdStyle}})}},{key:"reset",value:function(){this.store.clean(),this.setState({data:this.getTableData(),currPage:1,expanding:[],sizePerPage:f["default"].SIZE_PER_PAGE_LIST[0],selectedRowKeys:this.store.getSelectedRowKeys(),reset:!0})}},{key:"componentWillReceiveProps",value:function(e){this.initTable(e);var t=e.options,n=e.selectRow;this.store.setData(e.data.slice());var r=this.state.currPage;this.props.options.page!==t.page&&(r=t.page);var a=this.state.sizePerPage;if(this.props.options.sizePerPage!==t.sizePerPage&&(a=t.sizePerPage),this.isRemoteDataSource()){var o=e.data.slice();e.pagination&&!this.allowRemote(f["default"].REMOTE_PAGE)&&(o=this.store.page(r,a).get()),this.setState({data:o,currPage:r,sizePerPage:a,reset:!1})}else{r>Math.ceil(e.data.length/a)&&(r=1);var s=this.store.getSortInfo(),i=t.sortName,l=t.sortOrder;i&&l?(this.store.setSortInfo(l,i),this.store.sort()):s.length>0&&this.store.sort();var u=this.store.page(r,a).get();this.setState({data:u,currPage:r,sizePerPage:a,reset:!1})}if(n&&n.selected){var d=n.selected.slice();this.store.setSelectedRowKey(d),this.setState({selectedRowKeys:d,reset:!1})}}},{key:"componentDidMount",value:function(){this._adjustTable(),window.addEventListener("resize",this._adjustTable),this.refs.body.refs.container.addEventListener("scroll",this._scrollHeader),this.props.scrollTop&&this._scrollTop()}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this._adjustTable),this.refs.body.refs.container.removeEventListener("scroll",this._scrollHeader),this.filter&&this.filter.removeAllListeners("onFilterChange")}},{key:"componentDidUpdate",value:function(){this._adjustTable(),this._attachCellEditFunc(),this.props.options.afterTableComplete&&this.props.options.afterTableComplete()}},{key:"_attachCellEditFunc",value:function(){var e=this.props.cellEdit;e&&(this.props.cellEdit.__onCompleteEdit__=this.handleEditCell.bind(this),e.mode!==f["default"].CELL_EDIT_NONE&&(this.props.selectRow.clickToSelect=!1))}},{key:"isRemoteDataSource",value:function(e){var t=e||this.props,n=t.remote;return n===!0||"function"==typeof n}},{key:"allowRemote",value:function(e,t){var n=t||this.props,r=n.remote;if("function"==typeof r){var a=r(f["default"].REMOTE);return a[e]}return r}},{key:"render",value:function(){var e={height:this.props.height,maxHeight:this.props.maxHeight},t=this.getColumnsDescription(this.props),n=this.store.getSortInfo(),r=this.renderPagination(),a=this.renderToolBar(),o=this.renderTableFilter(t),s=this.isSelectAll(),l=w["default"].renderColGroup(t,this.props.selectRow),u=this.props.options.sortIndicator;return"undefined"==typeof this.props.options.sortIndicator&&(u=!0),d["default"].createElement("div",{className:(0,_["default"])("react-bs-table-container",this.props.containerClass),style:this.props.containerStyle},a,d["default"].createElement("div",{ref:"table",className:(0,_["default"])("react-bs-table",this.props.tableContainerClass),style:i({},e,this.props.tableStyle),onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave},d["default"].createElement(h["default"],{ref:"header",colGroups:l,headerContainerClass:this.props.headerContainerClass,tableHeaderClass:this.props.tableHeaderClass,style:this.props.headerStyle,rowSelectType:this.props.selectRow.mode,customComponent:this.props.selectRow.customComponent,hideSelectColumn:this.props.selectRow.hideSelectColumn,sortList:n,sortIndicator:u,onSort:this.handleSort,onSelectAllRow:this.handleSelectAllRow,bordered:this.props.bordered,condensed:this.props.condensed,isFiltered:!!this.filter,isSelectAll:s,reset:this.state.reset},this.props.children),d["default"].createElement(v["default"],{ref:"body",bodyContainerClass:this.props.bodyContainerClass,tableBodyClass:this.props.tableBodyClass,style:i({},e,this.props.bodyStyle),data:this.state.data,expandComponent:this.props.expandComponent,expandableRow:this.props.expandableRow,expandRowBgColor:this.props.options.expandRowBgColor,expandBy:this.props.options.expandBy||f["default"].EXPAND_BY_ROW,columns:t,trClassName:this.props.trClassName,striped:this.props.striped,bordered:this.props.bordered,hover:this.props.hover,keyField:this.store.getKeyField(),condensed:this.props.condensed,selectRow:this.props.selectRow,cellEdit:this.props.cellEdit,selectedRowKeys:this.state.selectedRowKeys,onRowClick:this.handleRowClick,onRowDoubleClick:this.handleRowDoubleClick,onRowMouseOver:this.handleRowMouseOver,onRowMouseOut:this.handleRowMouseOut,onSelectRow:this.handleSelectRow,noDataText:this.props.options.noDataText,withoutNoDataText:this.props.options.withoutNoDataText,expanding:this.state.expanding,onExpand:this.handleExpandRow,beforeShowError:this.props.options.beforeShowError})),o,r)}},{key:"isSelectAll",value:function(){if(this.store.isEmpty())return!1;var e=this.props.selectRow.unselectable,t=this.store.getSelectedRowKeys(),n=this.store.getAllRowkey();if(0===t.length)return!1;var r=0,a=0,o=0;return t.forEach(function(t){n.indexOf(t)!==-1?r++:a++,e&&e.indexOf(t)!==-1&&o++}),a!==t.length&&(r===n.length||!(e&&r<=o&&o===e.length)&&"indeterminate")}},{key:"cleanSelected",value:function(){this.store.setSelectedRowKey([]),this.setState({selectedRowKeys:[],reset:!1})}},{key:"__handleSort__REACT_HOT_LOADER__",value:function(e,t){if(this.props.options.onSortChange&&this.props.options.onSortChange(t,e,this.props),this.store.setSortInfo(e,t),!this.allowRemote(f["default"].REMOTE_SORT)){var n=this.store.sort().get();this.setState({data:n,reset:!1})}}},{key:"__handleExpandRow__REACT_HOT_LOADER__",value:function(e){var t=this;this.setState({expanding:e,reset:!1},function(){t._adjustHeaderWidth()})}},{key:"__handlePaginationData__REACT_HOT_LOADER__",value:function(e,t){var n=this.props.options,r=n.onPageChange,a=n.pageStartIndex;if(r&&r(e,t),this.setState({currPage:e,sizePerPage:t,reset:!1}),!this.allowRemote(f["default"].REMOTE_PAGE)){var o=void 0;if(void 0!==a){var s=Math.abs(f["default"].PAGE_START_INDEX-a);o=e+s}else o=e;var i=this.store.page(o,t).get();this.setState({data:i,reset:!1})}}},{key:"__handleMouseLeave__REACT_HOT_LOADER__",value:function(){this.props.options.onMouseLeave&&this.props.options.onMouseLeave()}},{key:"__handleMouseEnter__REACT_HOT_LOADER__",value:function(){this.props.options.onMouseEnter&&this.props.options.onMouseEnter()}},{key:"__handleRowMouseOut__REACT_HOT_LOADER__",value:function(e,t){this.props.options.onRowMouseOut&&this.props.options.onRowMouseOut(e,t)}},{key:"__handleRowMouseOver__REACT_HOT_LOADER__",value:function(e,t){this.props.options.onRowMouseOver&&this.props.options.onRowMouseOver(e,t)}},{key:"__handleRowClick__REACT_HOT_LOADER__",value:function(e){this.props.options.onRowClick&&this.props.options.onRowClick(e)}},{key:"__handleRowDoubleClick__REACT_HOT_LOADER__",value:function(e){this.props.options.onRowDoubleClick&&this.props.options.onRowDoubleClick(e)}},{key:"__handleSelectAllRow__REACT_HOT_LOADER__",value:function(e){var t=e.currentTarget.checked,n=this.store.getKeyField(),r=this.props.selectRow,a=r.onSelectAll,o=r.unselectable,s=r.selected,i=[],l=!0,u=t?this.store.get():this.store.getRowByKey(this.state.selectedRowKeys);o&&o.length>0&&(u=t?u.filter(function(e){return o.indexOf(e[n])===-1||s&&s.indexOf(e[n])!==-1}):u.filter(function(e){return o.indexOf(e[n])===-1})),a&&(l=this.props.selectRow.onSelectAll(t,u)),"undefined"!=typeof l&&l===!1||(t?i=Array.isArray(l)?l:u.map(function(e){return e[n]}):o&&s&&(i=s.filter(function(e){return o.indexOf(e)>-1})),this.store.setSelectedRowKey(i),this.setState({selectedRowKeys:i,reset:!1}))}},{key:"__handleShowOnlySelected__REACT_HOT_LOADER__",value:function(){this.store.ignoreNonSelected();var e=void 0;e=this.props.pagination?this.store.page(1,this.state.sizePerPage).get():this.store.get(),this.setState({data:e,reset:!1,currPage:this.props.options.pageStartIndex||f["default"].PAGE_START_INDEX})}},{key:"__handleSelectRow__REACT_HOT_LOADER__",value:function(e,t,n){var r=!0,a=this.store.getSelectedRowKeys(),o=e[this.store.getKeyField()],s=this.props.selectRow;s.onSelect&&(r=s.onSelect(e,t,n)),"undefined"!=typeof r&&r===!1||(s.mode===f["default"].ROW_SELECT_SINGLE?a=t?[o]:[]:t?a.push(o):a=a.filter(function(e){return o!==e}),this.store.setSelectedRowKey(a),this.setState({selectedRowKeys:a,reset:!1}))}},{key:"handleEditCell",value:function(e,t,n){var r=this.props.options.onCellEdit,a=this.props.cellEdit,o=a.beforeSaveCell,s=a.afterSaveCell,i=this.getColumnsDescription(this.props),l=i[n].name;if(o){var u=o(this.state.data[t],l,e);if(!u&&"undefined"!=typeof u)return void this.setState({data:this.store.get(),reset:!1})}if(r&&(e=r(this.state.data[t],l,e)),this.allowRemote(f["default"].REMOTE_CELL_EDIT))return void(s&&s(this.state.data[t],l,e));var d=this.store.edit(e,t,l).get();this.setState({data:d,reset:!1}),s&&s(this.state.data[t],l,e)}},{key:"handleAddRowAtBegin",value:function(e){try{this.store.addAtBegin(e)}catch(t){return t}this._handleAfterAddingRow(e,!0)}},{key:"__handleAddRow__REACT_HOT_LOADER__",value:function(e){var t=this.props.options.onAddRow;if(t){var n=this.store.getColInfos();t(e,n)}if(this.allowRemote(f["default"].REMOTE_INSERT_ROW))return this.props.options.afterInsertRow&&this.props.options.afterInsertRow(e),null;try{this.store.add(e)}catch(r){return r.message}this._handleAfterAddingRow(e,!1)}},{key:"getSizePerPage",value:function(){return this.state.sizePerPage}},{key:"getCurrentPage",value:function(){return this.state.currPage}},{key:"getTableDataIgnorePaging",value:function(){return this.store.getCurrentDisplayData()}},{key:"__getPageByRowKey__REACT_HOT_LOADER__",value:function(e){var t=this.state.sizePerPage,n=this.store.getCurrentDisplayData(),r=this.store.getKeyField(),a=n.findIndex(function(t){return t[r]===e});return a>-1?parseInt(a/t,10)+1:a}},{key:"__handleDropRow__REACT_HOT_LOADER__",value:function(e){var t=this,n=e?e:this.store.getSelectedRowKeys();n&&n.length>0&&(this.props.options.handleConfirmDeleteRow?this.props.options.handleConfirmDeleteRow(function(){t.deleteRow(n)},n):confirm("Are you sure you want to delete?")&&this.deleteRow(n))}},{key:"deleteRow",value:function(e){var t=this.props.options.onDeleteRow;if(t&&t(e),this.store.setSelectedRowKey([]),this.allowRemote(f["default"].REMOTE_DROP_ROW))return void(this.props.options.afterDeleteRow&&this.props.options.afterDeleteRow(e));this.store.remove(e);var n=void 0;if(this.props.pagination){var r=this.state.sizePerPage,a=Math.ceil(this.store.getDataNum()/r),o=this.state.currPage;o>a&&(o=a),n=this.store.page(o,r).get(),this.setState({data:n,selectedRowKeys:this.store.getSelectedRowKeys(),currPage:o,reset:!1})}else n=this.store.get(),this.setState({data:n,reset:!1,selectedRowKeys:this.store.getSelectedRowKeys()});this.props.options.afterDeleteRow&&this.props.options.afterDeleteRow(e); }},{key:"__handleFilterData__REACT_HOT_LOADER__",value:function(e){var t=this.props.options.onFilterChange;if(t){var n=this.store.getColInfos();t(e,n)}if(this.setState({currPage:this.props.options.pageStartIndex||f["default"].PAGE_START_INDEX,reset:!1}),this.allowRemote(f["default"].REMOTE_FILTER))return void(this.props.options.afterColumnFilter&&this.props.options.afterColumnFilter(e,this.store.getDataIgnoringPagination()));this.store.filter(e);var r=this.store.getSortInfo();r.length>0&&this.store.sort();var a=void 0;if(this.props.pagination){var o=this.state.sizePerPage;a=this.store.page(1,o).get()}else a=this.store.get();this.props.options.afterColumnFilter&&this.props.options.afterColumnFilter(e,this.store.getDataIgnoringPagination()),this.setState({data:a,reset:!1})}},{key:"__handleExportCSV__REACT_HOT_LOADER__",value:function(){var e={},t=this.props.csvFileName,n=this.props.options.onExportToCSV;e=n?n():this.store.getDataIgnoringPagination();var r=[];this.props.children.map(function(e){(e.props["export"]===!0||"undefined"==typeof e.props["export"]&&e.props.hidden===!1)&&r.push({field:e.props.dataField,format:e.props.csvFormat,header:e.props.csvHeader||e.props.dataField,row:Number(e.props.row)||0,rowSpan:Number(e.props.rowSpan)||1,colSpan:Number(e.props.colSpan)||1})}),"function"==typeof t&&(t=t()),(0,S["default"])(e,r,t)}},{key:"__handleSearch__REACT_HOT_LOADER__",value:function(e){this.refs.toolbar&&this.refs.toolbar.setSearchInput(e);var t=this.props.options.onSearchChange;if(t){var n=this.store.getColInfos();t(e,n,this.props.multiColumnSearch)}if(this.setState({currPage:this.props.options.pageStartIndex||f["default"].PAGE_START_INDEX,reset:!1}),this.allowRemote(f["default"].REMOTE_SEARCH))return void(this.props.options.afterSearch&&this.props.options.afterSearch(e,this.store.getDataIgnoringPagination()));this.store.search(e);var r=this.store.getSortInfo();r.length>0&&this.store.sort();var a=void 0;if(this.props.pagination){var o=this.state.sizePerPage;a=this.store.page(1,o).get()}else a=this.store.get();this.props.options.afterSearch&&this.props.options.afterSearch(e,this.store.getDataIgnoringPagination()),this.setState({data:a,reset:!1})}},{key:"renderPagination",value:function(){if(this.props.pagination){var e=void 0;e=this.allowRemote(f["default"].REMOTE_PAGE)?this.props.fetchInfo.dataTotalSize:this.store.getDataNum();var t=this.props.options;return Math.ceil(e/this.state.sizePerPage)<=1&&this.props.ignoreSinglePage?null:d["default"].createElement("div",{className:"react-bs-table-pagination"},d["default"].createElement(M["default"],{ref:"pagination",currPage:this.state.currPage,changePage:this.handlePaginationData,sizePerPage:this.state.sizePerPage,sizePerPageList:t.sizePerPageList||f["default"].SIZE_PER_PAGE_LIST,pageStartIndex:t.pageStartIndex,paginationShowsTotal:t.paginationShowsTotal,paginationSize:t.paginationSize||f["default"].PAGINATION_SIZE,dataSize:e,onSizePerPageList:t.onSizePerPageList,prePage:t.prePage||f["default"].PRE_PAGE,nextPage:t.nextPage||f["default"].NEXT_PAGE,firstPage:t.firstPage||f["default"].FIRST_PAGE,lastPage:t.lastPage||f["default"].LAST_PAGE,hideSizePerPage:t.hideSizePerPage}))}return null}},{key:"renderToolBar",value:function(){var e=this.props,t=e.selectRow,n=e.insertRow,r=e.deleteRow,a=e.search,o=e.children,s=t&&t.showOnlySelected;if(s||n||r||a||this.props.exportCSV){var i=void 0;return i=Array.isArray(o)?o.map(function(e,t){var n=e.props;return{name:n.headerText||n.children,field:n.dataField,hiddenOnInsert:n.hiddenOnInsert,autoValue:n.autoValue||!1,editable:n.editable&&"function"==typeof n.editable?n.editable():n.editable,format:!!n.dataFormat&&function(e){return n.dataFormat(e,null,n.formatExtraData,t).replace(/<.*?>/g,"")}}}):[{name:o.props.headerText||o.props.children,field:o.props.dataField,editable:o.props.editable,hiddenOnInsert:o.props.hiddenOnInsert}],d["default"].createElement("div",{className:"react-bs-table-tool-bar"},d["default"].createElement(L["default"],{ref:"toolbar",defaultSearch:this.props.options.defaultSearch,clearSearch:this.props.options.clearSearch,searchDelayTime:this.props.options.searchDelayTime,enableInsert:n,enableDelete:r,enableSearch:a,enableExportCSV:this.props.exportCSV,enableShowOnlySelected:s,columns:i,searchPlaceholder:this.props.searchPlaceholder,exportCSVText:this.props.options.exportCSVText,insertText:this.props.options.insertText,deleteText:this.props.options.deleteText,saveText:this.props.options.saveText,closeText:this.props.options.closeText,ignoreEditable:this.props.options.ignoreEditable,onAddRow:this.handleAddRow,onDropRow:this.handleDropRow,onSearch:this.handleSearch,onExportCSV:this.handleExportCSV,onShowOnlySelected:this.handleShowOnlySelected,reset:this.state.reset}))}return null}},{key:"renderTableFilter",value:function(e){return this.props.columnFilter?d["default"].createElement(k["default"],{columns:e,rowSelectType:this.props.selectRow.mode,onFilter:this.handleFilterData}):null}},{key:"___scrollTop__REACT_HOT_LOADER__",value:function(){var e=this.props.scrollTop;e===f["default"].SCROLL_TOP?this.refs.body.refs.container.scrollTop=0:e===f["default"].SCROLL_BOTTOM?this.refs.body.refs.container.scrollTop=this.refs.body.refs.container.scrollHeight:"number"!=typeof e||isNaN(e)||(this.refs.body.refs.container.scrollTop=e)}},{key:"___scrollHeader__REACT_HOT_LOADER__",value:function(e){this.refs.header.refs.container.scrollLeft=e.currentTarget.scrollLeft}},{key:"_adjustTable",value:function(){this._adjustHeight(),this.props.printable||this._adjustHeaderWidth()}},{key:"_adjustHeaderWidth",value:function(){var e=this.refs.header.getHeaderColGrouop(),t=this.refs.body.refs.tbody,n=this.refs.body.getHeaderColGrouop(),r=t.childNodes[0],a=t.parentNode.getBoundingClientRect().height>t.parentNode.parentNode.getBoundingClientRect().height,o=a?w["default"].getScrollBarWidth():0;if(r&&this.store.getDataNum()){if(a)for(var s=r.childNodes,i=0;i/g,"")};return k(o.editable)&&(l=o.editable(i,e,r,s)),u["default"].createElement(g["default"],{completeEdit:this.handleCompleteEditCell,editable:l,customEditor:o.customEditor,format:!!o.format&&d,key:s,blurToSave:t.blurToSave,rowIndex:r,colIndex:s,row:e,fieldValue:i,className:o.editClassName,invalidColumnClassName:o.invalidEditColumnClassName,beforeShowError:n})}var c=i&&i.toString(),_=null,p=o.className;if(k(o.className)&&(p=o.className(i,e,r,s)),"undefined"!=typeof o.format){var f=o.format(i,e,o.formatExtraData,r);u["default"].isValidElement(f)?(c=f,_=o.columnTitle&&f?f.toString():null):c=u["default"].createElement("div",{dangerouslySetInnerHTML:{__html:f}})}else _=o.columnTitle&&i?i.toString():null;return u["default"].createElement(y["default"],{key:s,rIndex:r,dataAlign:o.align,className:p,columnTitle:_,cellEdit:t,hidden:o.hidden,onEdit:this.handleEditCell,width:o.width,onClick:this.handleClickCell,attrs:o.attrs,style:o.style},c)},this),c=e[this.props.keyField],f=o.indexOf(c)!==-1,h=this.props.selectedRowKeys.indexOf(c)!==-1,v=s&&!this.props.selectRow.hideSelectColumn?this.renderSelectRowColumn(h,l,f,d,r,e):null,M=this.props.trClassName;k(this.props.trClassName)&&(M=this.props.trClassName(e,r));var T=[u["default"].createElement(m["default"],{isSelected:h,key:c,className:M,index:r,selectRow:s?this.props.selectRow:void 0,enableCellEdit:t.mode!==p["default"].CELL_EDIT_NONE,onRowClick:this.handleRowClick,onRowDoubleClick:this.handleRowDoubleClick,onRowMouseOver:this.handleRowMouseOver,onRowMouseOut:this.handleRowMouseOut,onSelectRow:this.handleSelectRow,onExpandRow:this.handleClickCell,unselectableRow:f},v,i)];return this.props.expandableRow&&this.props.expandableRow(e)&&T.push(u["default"].createElement(b["default"],{className:M,bgColor:this.props.expandRowBgColor||this.props.selectRow.bgColor||void 0,hidden:!(this.props.expanding.indexOf(c)>-1),colSpan:_,width:"100%"},this.props.expandComponent(e))),T},this);return 0!==f.length||this.props.withoutNoDataText||f.push(u["default"].createElement(m["default"],{key:"##table-empty##"},u["default"].createElement("td",{"data-toggle":"collapse",colSpan:this.props.columns.length+(s?1:0),className:"react-bs-table-no-data"},this.props.noDataText||p["default"].NO_DATA_TEXT))),u["default"].createElement("div",{ref:"container",className:(0,T["default"])("react-bs-container-body",this.props.bodyContainerClass),style:this.props.style},u["default"].createElement("table",{className:r},u["default"].cloneElement(i,{ref:"header"}),u["default"].createElement("tbody",{ref:"tbody"},f)))}},{key:"__handleRowMouseOut__REACT_HOT_LOADER__",value:function(e,t){var n=this.props.data[e];this.props.onRowMouseOut(n,t)}},{key:"__handleRowMouseOver__REACT_HOT_LOADER__",value:function(e,t){var n=this.props.data[e];this.props.onRowMouseOver(n,t)}},{key:"__handleRowClick__REACT_HOT_LOADER__",value:function(e){this.props.onRowClick(this.props.data[e-1])}},{key:"__handleRowDoubleClick__REACT_HOT_LOADER__",value:function(e){var t=this.props.onRowDoubleClick,n=this.props.data[e];t(n)}},{key:"__handleSelectRow__REACT_HOT_LOADER__",value:function(e,t,n){var r=void 0,a=this.props,o=a.data,s=a.onSelectRow;o.forEach(function(t,n){if(n===e-1)return r=t,!1}),s(r,t,n)}},{key:"__handleSelectRowColumChange__REACT_HOT_LOADER__",value:function(e,t){this.props.selectRow.clickToSelect&&this.props.selectRow.clickToSelectAndEditCell||this.handleSelectRow(t+1,e.currentTarget.checked,e)}},{key:"__handleClickCell__REACT_HOT_LOADER__",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1,r=this.props,a=r.columns,o=r.keyField,s=r.expandBy,i=r.expandableRow,l=r.selectRow.clickToExpand,u=!(this._isSelectRowDefined()&&!l);n=this._isSelectRowDefined()?n-1:n,i&&u&&(s===p["default"].EXPAND_BY_ROW||s===p["default"].EXPAND_BY_COL&&n<0||s===p["default"].EXPAND_BY_COL&&a[n].expandable)&&!function(){var n=t.props.data[e-1][o],r=t.props.expanding;r.indexOf(n)>-1?r=r.filter(function(e){return e!==n}):r.push(n),t.props.onExpand(r)}()}},{key:"__handleEditCell__REACT_HOT_LOADER__",value:function(e,t,n){this._isSelectRowDefined()&&(t--,this.props.selectRow.hideSelectColumn&&t++),e--;var r={currEditCell:{rid:e,cid:t}};if(this.props.selectRow.clickToSelectAndEditCell&&this.props.cellEdit.mode!==p["default"].CELL_EDIT_DBCLICK){var a=this.props.selectedRowKeys.indexOf(this.props.data[e][this.props.keyField])!==-1;this.handleSelectRow(e+1,!a,n)}this.setState(r)}},{key:"__handleCompleteEditCell__REACT_HOT_LOADER__",value:function(e,t,n){this.setState({currEditCell:null}),null!==e&&this.props.cellEdit.__onCompleteEdit__(e,t,n)}},{key:"__handleClickonSelectColumn__REACT_HOT_LOADER__",value:function(e,t,n,r){if(e.stopPropagation(),"TD"===e.target.tagName&&(this.props.selectRow.clickToSelect||this.props.selectRow.clickToSelectAndEditCell)){var a=this.props.selectRow.unselectable||[];a.indexOf(r[this.props.keyField])===-1&&(this.handleSelectRow(n+1,t,e),this.handleClickCell(n+1))}}},{key:"renderSelectRowColumn",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,a=this,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,s=arguments[5];return u["default"].createElement("td",{onClick:function(t){a.handleClickonSelectColumn(t,!e,o,s)},style:{textAlign:"center"}},r?u["default"].createElement(r,{type:t,checked:e,disabled:n,rowIndex:o,onChange:function(e){return a.handleSelectRowColumChange(e,o)}}):u["default"].createElement("input",{type:t,checked:e,disabled:n,onChange:function(e){return a.handleSelectRowColumChange(e,o)}}))}},{key:"_isSelectRowDefined",value:function(){return this.props.selectRow.mode===p["default"].ROW_SELECT_SINGLE||this.props.selectRow.mode===p["default"].ROW_SELECT_MULTI}},{key:"__getHeaderColGrouop__REACT_HOT_LOADER__",value:function(){return this.refs.header.childNodes}}]),t}(l.Component);E.propTypes={data:l.PropTypes.array,columns:l.PropTypes.array,striped:l.PropTypes.bool,bordered:l.PropTypes.bool,hover:l.PropTypes.bool,condensed:l.PropTypes.bool,keyField:l.PropTypes.string,selectedRowKeys:l.PropTypes.array,onRowClick:l.PropTypes.func,onRowDoubleClick:l.PropTypes.func,onSelectRow:l.PropTypes.func,noDataText:l.PropTypes.oneOfType([l.PropTypes.string,l.PropTypes.object]),withoutNoDataText:l.PropTypes.bool,style:l.PropTypes.object,tableBodyClass:l.PropTypes.string,bodyContainerClass:l.PropTypes.string,expandableRow:l.PropTypes.func,expandComponent:l.PropTypes.func,expandRowBgColor:l.PropTypes.string,expandBy:l.PropTypes.string,expanding:l.PropTypes.array,onExpand:l.PropTypes.func,beforeShowError:l.PropTypes.func};var D=E;t["default"]=D;(function(){"undefined"!=typeof __REACT_HOT_LOADER__&&(__REACT_HOT_LOADER__.register(k,"isFun","/Users/allen/Node/react-bootstrap-table-new/react-bootstrap-table/src/TableBody.js"),__REACT_HOT_LOADER__.register(E,"TableBody","/Users/allen/Node/react-bootstrap-table-new/react-bootstrap-table/src/TableBody.js"),__REACT_HOT_LOADER__.register(D,"default","/Users/allen/Node/react-bootstrap-table-new/react-bootstrap-table/src/TableBody.js"))})()},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var i=Object.assign||function(e){for(var t=1;t0?r[0].order:void 0}}Object.defineProperty(t,"__esModule",{value:!0});var u=function(){function e(e,t){for(var n=0;na&&(a=e.row);for(var t=0;t1?"":void 0}).filter(function(e){return"undefined"!=typeof e}).join(",")+"\n"},s=0;s<=a;s++)o(s);return t=t.filter(function(e){return void 0!==e.field}),e.map(function(e){t.map(function(r,a){var o=r.field,s=r.format,i="undefined"!=typeof s?s(e[o],e):e[o],l="undefined"!=typeof i?'"'+i+'"':"";n+=l,a+1",">=","<","<=","!="],f=function(e){function t(e){a(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.dateComparators=n.props.dateComparators||p,n.filter=n.filter.bind(n),n.onChangeComparator=n.onChangeComparator.bind(n),n}return s(t,e),l(t,[{key:"setDefaultDate",value:function(){var e="",t=this.props.defaultValue;return t&&t.date&&(e=i(new Date(t.date))),e}},{key:"onChangeComparator",value:function(e){var t=this.refs.inputDate.value,n=e.target.value;""!==t&&(t=new Date(t),this.props.filterHandler({date:t,comparator:n},_["default"].FILTER_TYPE.DATE))}},{key:"getComparatorOptions",value:function(){var e=[];e.push(d["default"].createElement("option",{key:"-1"}));for(var t=0;t",">=","<","<=","!="],m=function(e){function t(e){a(this,t);var n=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.numberComparators=n.props.numberComparators||f,n.timeout=null,n.state={isPlaceholderSelected:void 0===n.props.defaultValue||void 0===n.props.defaultValue.number||n.props.options&&n.props.options.indexOf(n.props.defaultValue.number)===-1},n.onChangeNumber=n.onChangeNumber.bind(n),n.onChangeNumberSet=n.onChangeNumberSet.bind(n),n.onChangeComparator=n.onChangeComparator.bind(n),n}return s(t,e),i(t,[{key:"onChangeNumber",value:function(e){var t=this,n=this.refs.numberFilterComparator.value;if(""!==n){this.timeout&&clearTimeout(this.timeout);var r=e.target.value;this.timeout=setTimeout(function(){t.props.filterHandler({number:r,comparator:n},p["default"].FILTER_TYPE.NUMBER)},this.props.delay)}}},{key:"onChangeNumberSet",value:function(e){var t=this.refs.numberFilterComparator.value,n=e.target.value;this.setState({isPlaceholderSelected:""===n}),""!==t&&this.props.filterHandler({number:n,comparator:t},p["default"].FILTER_TYPE.NUMBER)}},{key:"onChangeComparator",value:function(e){var t=this.refs.numberFilter.value,n=e.target.value;""!==t&&this.props.filterHandler({number:t,comparator:n},p["default"].FILTER_TYPE.NUMBER)}},{key:"cleanFiltered",value:function(){var e=this.props.defaultValue?this.props.defaultValue.number:"",t=this.props.defaultValue?this.props.defaultValue.comparator:"";this.setState({isPlaceholderSelected:""===e}),this.refs.numberFilterComparator.value=t,this.refs.numberFilter.value=e,this.props.filterHandler({number:e,comparator:t},p["default"].FILTER_TYPE.NUMBER)}},{key:"applyFilter",value:function(e){var t=e.number,n=e.comparator;this.setState({isPlaceholderSelected:""===t}),this.refs.numberFilterComparator.value=n,this.refs.numberFilter.value=t,this.props.filterHandler({number:t,comparator:n},p["default"].FILTER_TYPE.NUMBER)}},{key:"getComparatorOptions",value:function(){var e=[];e.push(u["default"].createElement("option",{key:"-1"}));for(var t=0;tthis.lastPage?this.lastPage:a+1:e===s?this.lastPage:e===i?n:parseInt(e,10),e!==a&&this.props.changePage(e,l)}},{key:"__changeSizePerPage__REACT_HOT_LOADER__",value:function(e){e.preventDefault();var t=parseInt(e.currentTarget.getAttribute("data-page"),10),n=this.props.currPage;t!==this.props.sizePerPage&&(this.totalPages=Math.ceil(this.props.dataSize/t),this.lastPage=this.props.pageStartIndex+this.totalPages-1,n>this.lastPage&&(n=this.lastPage),this.props.changePage(n,t),this.props.onSizePerPageList&&this.props.onSizePerPageList(t))}},{key:"render",value:function(){var e=this,t=this.props,n=t.currPage,r=t.dataSize,a=t.sizePerPage,o=t.sizePerPageList,s=t.paginationShowsTotal,i=t.pageStartIndex,l=t.hideSizePerPage,d="";this.totalPages=Math.ceil(r/a),this.lastPage=this.props.pageStartIndex+this.totalPages-1;var c=this.makePage(),_={"float":"right",marginTop:"0px"},f=o.map(function(t){var n=t.text||t,r=t.value||t;return a===r&&(d=n),u["default"].createElement("li",{key:n,role:"presentation"},u["default"].createElement("a",{role:"menuitem",tabIndex:"-1",href:"#","data-page":r,onClick:e.changeSizePerPage},n))}),m=Math.abs(p["default"].PAGE_START_INDEX-i),h=(n-i)*a;h=0===r?0:h+1;var y=Math.min(a*(n+m)-1,r);y>=r&&y--;var v=s?u["default"].createElement("span",null,"Showing rows ",h," to ",y+1," of ",r):null;"function"==typeof s&&(v=s(h,y+1,r));var g={visibility:l?"hidden":"visible"};return u["default"].createElement("div",{className:"row",style:{marginTop:15}},o.length>1?u["default"].createElement("div",null,u["default"].createElement("div",{className:"col-md-6"},v," ",u["default"].createElement("span",{className:"dropdown",style:g},u["default"].createElement("button",{className:"btn btn-default dropdown-toggle",type:"button",id:"pageDropDown","data-toggle":"dropdown","aria-expanded":"true"},d,u["default"].createElement("span",null," ",u["default"].createElement("span",{className:"caret"}))),u["default"].createElement("ul",{className:"dropdown-menu",role:"menu","aria-labelledby":"pageDropDown"},f))),u["default"].createElement("div",{className:"col-md-6"},u["default"].createElement("ul",{className:"pagination",style:_},c))):u["default"].createElement("div",null,u["default"].createElement("div",{className:"col-md-6"},v),u["default"].createElement("div",{className:"col-md-6"},u["default"].createElement("ul",{className:"pagination",style:_},c))))}},{key:"makePage",value:function(){var e=this.getPages();return e.map(function(e){var t=e===this.props.currPage,n=!1,r=!1;return this.props.currPage!==this.props.pageStartIndex||e!==this.props.firstPage&&e!==this.props.prePage||(n=!0,r=!0),this.props.currPage!==this.lastPage||e!==this.props.nextPage&&e!==this.props.lastPage||(n=!0,r=!0),u["default"].createElement(c["default"],{key:e,changePage:this.changePage,active:t,disable:n,hidden:r},e)},this)}},{key:"getPages",value:function(){var e=void 0,t=this.totalPages;if(t<=0)return[];var n=Math.max(this.props.currPage-Math.floor(this.props.paginationSize/2),this.props.pageStartIndex);t=n+this.props.paginationSize-1,t>this.lastPage&&(t=this.lastPage,n=t-this.props.paginationSize+1),e=n!==this.props.pageStartIndex&&this.totalPages>this.props.paginationSize?[this.props.firstPage,this.props.prePage]:this.totalPages>1?[this.props.prePage]:[];for(var r=n;r<=t;r++)r>=this.props.pageStartIndex&&e.push(r);return t1){for(var r=this.sortList.length-1,a=!1;r>=0;r--)if(this.sortList[r].sortField===t){a=!0;break}a&&(r>0?this.sortList=this.sortList.slice(0,r):this.sortList=this.sortList.slice(1)),this.sortList.unshift(n),this.sortList=this.sortList.slice(0,this.multiColumnSort)}else this.sortList=[n]}}},{key:"setSelectedRowKey",value:function(e){this.selected=e}},{key:"getRowByKey",value:function(e){var t=this;return e.map(function(e){ var n=t.data.filter(function(n){return n[t.keyField]===e});if(0!==n.length)return n[0]})}},{key:"getSelectedRowKeys",value:function(){return this.selected}},{key:"getCurrentDisplayData",value:function(){return this.isOnFilter?this.filteredData:this.data}},{key:"_refresh",value:function(e){this.isOnFilter&&(null!==this.filterObj&&this.filter(this.filterObj),null!==this.searchText&&this.search(this.searchText)),!e&&this.sortList.length>0&&this.sort()}},{key:"ignoreNonSelected",value:function(){var e=this;this.showOnlySelected=!this.showOnlySelected,this.showOnlySelected?(this.isOnFilter=!0,this.filteredData=this.data.filter(function(t){var n=e.selected.find(function(n){return t[e.keyField]===n});return"undefined"!=typeof n})):this.isOnFilter=!1}},{key:"sort",value:function(){var e=this.getCurrentDisplayData();return e=this._sort(e),this}},{key:"page",value:function(e,t){return this.pageObj.end=e*t-1,this.pageObj.start=this.pageObj.end-(t-1),this}},{key:"edit",value:function(e,t,n){var r=this.getCurrentDisplayData(),a=void 0;return this.enablePagination?(r[this.pageObj.start+t][n]=e,a=r[this.pageObj.start+t][this.keyField]):(r[t][n]=e,a=r[t][this.keyField]),this.isOnFilter&&(this.data.forEach(function(t){t[this.keyField]===a&&(t[n]=e)},this),null!==this.filterObj&&this.filter(this.filterObj),null!==this.searchText&&this.search(this.searchText)),this}},{key:"addAtBegin",value:function(e){if(!e[this.keyField]||""===e[this.keyField].toString())throw new Error(this.keyField+" can't be empty value.");var t=this.getCurrentDisplayData();t.forEach(function(t){if(t[this.keyField].toString()===e[this.keyField].toString())throw new Error(this.keyField+" "+e[this.keyField]+" already exists")},this),t.unshift(e),this.isOnFilter&&this.data.unshift(e),this._refresh(!1)}},{key:"add",value:function(e){if(!e[this.keyField]||""===e[this.keyField].toString())throw new Error(this.keyField+" can't be empty value.");var t=this.getCurrentDisplayData();t.forEach(function(t){if(t[this.keyField].toString()===e[this.keyField].toString())throw new Error(this.keyField+" "+e[this.keyField]+" already exists")},this),t.push(e),this.isOnFilter&&this.data.push(e),this._refresh(!1)}},{key:"remove",value:function(e){var t=this,n=this.getCurrentDisplayData(),r=n.filter(function(n){return e.indexOf(n[t.keyField])===-1});this.isOnFilter?(this.data=this.data.filter(function(n){return e.indexOf(n[t.keyField])===-1}),this.filteredData=r):this.data=r}},{key:"filter",value:function(e){if(0===Object.keys(e).length)this.filteredData=null,this.isOnFilter=!1,this.filterObj=null,this.searchText&&this._search(this.data);else{var t=this.data;this.filterObj=e,this.searchText&&(this._search(t),t=this.filteredData),this._filter(t)}}},{key:"filterNumber",value:function(e,t,n){var r=!0;switch(n){case"=":e!=t&&(r=!1);break;case">":e<=t&&(r=!1);break;case">=":e=t&&(r=!1);break;case"<=":e>t&&(r=!1);break;case"!=":e==t&&(r=!1);break;default:console.error("Number comparator provided is not supported")}return r}},{key:"filterDate",value:function(e,t,n){var r=!0;switch(n){case"=":e!=t&&(r=!1);break;case">":e<=t&&(r=!1);break;case">=":e=t&&(r=!1);break;case"<=":e>t&&(r=!1);break;case"!=":e==t&&(r=!1);break;default:console.error("Date comparator provided is not supported")}return r}},{key:"filterRegex",value:function(e,t){try{return new RegExp(t,"i").test(e)}catch(n){return!0}}},{key:"filterCustom",value:function(e,t,n,r){return null!==n&&"object"===("undefined"==typeof n?"undefined":o(n))?n.callback(e,n.callbackParameters):this.filterText(e,t,r)}},{key:"filterText",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:l["default"].FILTER_COND_LIKE;return e=e.toString(),t=t.toString(),n===l["default"].FILTER_COND_EQ?e===t:(e=e.toLowerCase(),t=t.toLowerCase(),!(e.indexOf(t)===-1))}},{key:"search",value:function(e){if(""===e.trim())this.filteredData=null,this.isOnFilter=!1,this.searchText=null,this.filterObj&&this._filter(this.data);else{var t=this.data;this.searchText=e,this.filterObj&&(this._filter(t),t=this.filteredData),this._search(t)}}},{key:"_filter",value:function(e){var t=this,n=this.filterObj;this.filteredData=e.filter(function(e,r){var a=!0,s=void 0;for(var i in n){var u=e[i];switch(null!==u&&void 0!==u||(u=""),n[i].type){case l["default"].FILTER_TYPE.NUMBER:s=n[i].value.number;break;case l["default"].FILTER_TYPE.CUSTOM:s="object"===o(n[i].value)?void 0:"string"==typeof n[i].value?n[i].value.toLowerCase():n[i].value;break;case l["default"].FILTER_TYPE.DATE:s=n[i].value.date;break;case l["default"].FILTER_TYPE.REGEX:s=n[i].value;break;default:s=n[i].value,void 0===s&&(s=n[i])}var d=void 0,c=void 0,_=void 0,p=void 0;switch(t.colInfos[i]&&(d=t.colInfos[i].format,c=t.colInfos[i].filterFormatted,_=t.colInfos[i].formatExtraData,p=t.colInfos[i].filterValue,c&&d?u=d(e[i],e,_,r):p&&(u=p(e[i],e))),n[i].type){case l["default"].FILTER_TYPE.NUMBER:a=t.filterNumber(u,s,n[i].value.comparator);break;case l["default"].FILTER_TYPE.DATE:a=t.filterDate(u,s,n[i].value.comparator);break;case l["default"].FILTER_TYPE.REGEX:a=t.filterRegex(u,s);break;case l["default"].FILTER_TYPE.CUSTOM:var f=n[i].props?n[i].props.cond:l["default"].FILTER_COND_LIKE;a=t.filterCustom(u,s,n[i].value,f);break;default:n[i].type===l["default"].FILTER_TYPE.SELECT&&c&&c&&d&&(s=d(s,e,_,r));var m=n[i].props?n[i].props.cond:l["default"].FILTER_COND_LIKE;a=t.filterText(u,s,m)}if(!a)break}return a}),this.isOnFilter=!0}},{key:"_search",value:function(e){var t=this,n=[];this.multiColumnSearch?n=this.searchText.split(" "):n.push(this.searchText),this.filteredData=e.filter(function(e,r){for(var a=Object.keys(e),o=!1,s=0,i=a.length;s_?-1:c<_?1:0:"string"==typeof c?c.localeCompare(_):c<_?-1:c>_?1:0}if(0!==r)return r}return r}),e)}},{key:"getDataIgnoringPagination",value:function(){return this.getCurrentDisplayData()}},{key:"get",value:function(){var e=this.getCurrentDisplayData();if(0===e.length)return e;var t="function"==typeof this.remote?this.remote(l["default"].REMOTE)[l["default"].REMOTE_PAGE]:this.remote;if(t||!this.enablePagination)return e;for(var n=[],r=this.pageObj.start;r<=this.pageObj.end&&(n.push(e[r]),r+1!==e.length);r++);return n}},{key:"getKeyField",value:function(){return this.keyField}},{key:"getDataNum",value:function(){return this.getCurrentDisplayData().length}},{key:"isChangedPage",value:function(){return!(!this.pageObj.start||!this.pageObj.end)}},{key:"isEmpty",value:function(){return 0===this.data.length||null===this.data||void 0===this.data}},{key:"getAllRowkey",value:function(){var e=this;return this.data.map(function(t){return t[e.keyField]})}}]),e}();t.TableDataStore=u;(function(){"undefined"!=typeof __REACT_HOT_LOADER__&&__REACT_HOT_LOADER__.register(u,"TableDataStore","/Users/allen/Node/react-bootstrap-table-new/react-bootstrap-table/src/store/TableDataStore.js")})()},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:_,t=arguments[1],n=c[t.type];return n?n(e,t):e}Object.defineProperty(t,"__esModule",{value:!0});var o,s=n(49),i=r(s),l=n(12),u=r(l);t.dashboardReducer=a;var d=n(551),c=(o={},(0,i["default"])(o,d.CLICKED_RUN_DECK,function(e,t){return(0,u["default"])({},e,{runOpen:!0,activeDeckId:t.deckId,activeNettestId:null})}),(0,i["default"])(o,d.CLOSED_RUN_DECK,function(e,t){return(0,u["default"])({},e,{runOpen:!1,activeDeckId:null,activeNettestId:null})}),(0,i["default"])(o,d.CLICKED_RUN_TEST,function(e,t){return(0,u["default"])({},e,{activeNettestId:t.nettestId})}),(0,i["default"])(o,d.CLOSED_RUN_TEST,function(e,t){return(0,u["default"])({},e,{activeNettestId:null})}),o),_={runOpen:!1,activeDeckId:null,activeNettestId:null}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function a(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_,t=arguments[1],n=c[t.type];return n?n(e,t):e}Object.defineProperty(t,"__esModule",{value:!0});var o,s=n(49),i=r(s),l=n(12),u=r(l);t.nettestReducer=a;var d=n(552),c=(o={},(0,i["default"])(o,d.RUN_NETTEST,function(e,t){return e}),(0,i["default"])(o,d.LOADING_NETTESTS,function(e,t){return(0,u["default"])({},e,{loading:!0})}),(0,i["default"])(o,d.LOADING_NETTESTS_SUCCEEDED,function(e,t){return(0,u["default"])({},e,{nettests:t.nettests,loading:!1})}),(0,i["default"])(o,d.LOADING_NETTESTS_FAILED,function(e,t){return(0,u["default"])({},e,{loading:!1})}),o),_={loading:!1,nettests:{}}},,,,function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Dashboard=void 0;var a=n(2),o=r(a),s=n(333),i=n(11),l=n(557),u=r(l),d=n(833),c=r(d),_=n(1445),p=r(_);n(976);var f=n(355),m=n(345),h=t.Dashboard=function(e){var t=e.softwareVersion,n=e.running,r=(e.quotaWarning,e.countryCode),a=e.asn,l=e.decks,d=e.deckIcons,_=e.recentResults,h=e.onDeckToggled,y=e.onDeckRun,v=e.onDeckRunClose,g=e.onDeckStart,M=e.onTestRun,T=e.onTestRunClose,L=e.onTestStart,b=e.runOpen,k=e.activeDeck,E=e.activeNettest,D=e.nettests,w=e.loadingDecks,Y=e.loadingDecksFailed,S=e.loadingRecentResults,C=e.loadingRecentResultsFailed;return o["default"].createElement("div",null,o["default"].createElement("div",{className:"row text-xs-center"},o["default"].createElement("h1",null,o["default"].createElement(i.FormattedMessage,{id:"dashboard.title",defaultMessage:"ooniprobe Dashboard"})),o["default"].createElement("div",{className:"status"},"ooniprobe ",t," ","| ",n===!0&&o["default"].createElement("span",{className:"status-running"},o["default"].createElement(i.FormattedMessage,{id:"dashboard.status.running",defaultMessage:"running {iconRunning}",values:{iconRunning:o["default"].createElement("i",{className:"fa fa-check-circle-o"})}})),n===!1&&o["default"].createElement("span",{className:"status-not-running"},o["default"].createElement(i.FormattedMessage,{id:"dashboard.status.notRunning",defaultMessage:"not running {iconNotRunning}",values:{iconNotRunning:o["default"].createElement("i",{className:"fa fa-close"})}}))," | ",o["default"].createElement(i.FormattedMessage,{id:"dashboard.status.location",defaultMessage:"Location: {countryCode} ({asNumber})",values:{countryCode:r,asNumber:a}}))),o["default"].createElement("div",{className:"row decks"},Y&&o["default"].createElement("div",{className:"text-xs-center",style:{marginTop:"2rem"}},o["default"].createElement("p",{className:"text-danger"},o["default"].createElement(i.FormattedMessage,{id:"dashboard.failedToLoadDecks",defaultMessage:"{iconFailure} failed to load decks",values:{iconFailure:o["default"].createElement("i",{className:"fa fa-exclamation-circle"})}})),o["default"].createElement("p",null,o["default"].createElement(i.FormattedMessage,{id:"dashboard.failedToLoadDecks.message",defaultMessage:"Try clicking on the reload {iconReload} button in the upper right corner",values:{iconReload:o["default"].createElement("strong",null,o["default"].createElement("i",{className:"fa fa-refresh"}))}}))),w&&!Y&&o["default"].createElement("div",{className:"text-xs-center",style:{marginTop:"2rem"}},o["default"].createElement(i.FormattedMessage,{id:"dashboard.loadingDecks",defaultMessage:"{iconSpinner} loading decks",values:{iconSpinner:o["default"].createElement("i",{className:"fa fa-spinner fa-pulse fa-3x fa-fw"})}})),!w&&!Y&&l.map(function(e){return o["default"].createElement(u["default"],{key:e.id,deck:e,directorStarted:n,onDeckToggled:h,onDeckRun:y,fullControls:!0})})),o["default"].createElement(c["default"],{onDeckStart:function(){return g(k.id)},onDeckClose:v,onTestStart:L,onTestRun:M,onTestRunClose:T,isOpen:b,activeNettest:E,nettests:D,deck:k}),S&&!C&&o["default"].createElement("div",{className:"text-xs-center",style:{marginTop:"2rem"}},o["default"].createElement(i.FormattedMessage,{id:"dashboard.loadingRecentResults",defaultMessage:"{iconSpinner} loading recent results",values:{iconSpinner:o["default"].createElement("i",{className:"fa fa-spinner fa-pulse fa-3x fa-fw"})}})),C&&!S&&o["default"].createElement("div",{className:"text-xs-center",style:{marginTop:"2rem"}},o["default"].createElement("p",{className:"text-danger"},o["default"].createElement(i.FormattedMessage,{id:"dashboard.loadingRecentResults.failed",defaultMessage:"{iconFailure} failed to load recent results",values:{iconFailure:o["default"].createElement("i",{className:"fa fa-exclamation-circle"})}})),o["default"].createElement("p",null,o["default"].createElement(i.FormattedMessage,{id:"dashboard.loadingRecentResults.failed.message",defaultMessage:"Try clicking on the reload {iconReload} button in the upper right corner",values:{iconReload:o["default"].createElement("strong",null,o["default"].createElement("i",{className:"fa fa-refresh"}))}}))),!S&&!C&&0===_.length&&o["default"].createElement("div",{className:"row recent-results"},o["default"].createElement("div",{className:"col-md-3 offset-md-3"},o["default"].createElement("img",{src:p["default"],width:"200px",height:"200px",className:"ooni-logo"})),o["default"].createElement("div",{className:"col-md-3"},o["default"].createElement("h2",null,o["default"].createElement(i.FormattedMessage,{id:"dashboard.recentResults.zeroState",defaultMessage:'Your recent test results will appear here once the tests have finished running! As you run more tests, you can view past results in the "Measurements" page.'})))),!S&&!C&&_.length>0&&o["default"].createElement("div",{className:"row recent-results text-xs-center"},o["default"].createElement("h2",null,o["default"].createElement(i.FormattedMessage,{id:"dashboard.recentResults.title",defaultMessage:"Last {numberResultCount} tests",values:{numberResultCount:_.length}})),o["default"].createElement("div",{className:"hidden-sm-up"},o["default"].createElement(f.BootstrapTable,{bordered:!1,headerStyle:{display:"none"},tableStyle:{border:"none"},containerStyle:{border:"none"},bodyStyle:{border:"none"},trClassName:m.rowClassNameFormat,data:_},o["default"].createElement(f.TableHeaderColumn,{dataField:"id",isKey:!0,hidden:!0},"ID"),o["default"].createElement(f.TableHeaderColumn,{width:"40",dataAlign:"center",dataField:"test_name",dataFormat:(0,m.formatName)(d,!1)}),o["default"].createElement(f.TableHeaderColumn,{dataAlign:"center",dataField:"test_start_time",dataFormat:(0,m.formatTime)("calendar")}),o["default"].createElement(f.TableHeaderColumn,{width:"100",dataAlign:"center",dataField:"asn"}),o["default"].createElement(f.TableHeaderColumn,{width:"60",dataAlign:"center",dataField:"country_code"}),o["default"].createElement(f.TableHeaderColumn,{width:"40",dataAlign:"center",dataField:"result",dataFormat:m.formatResult}))),o["default"].createElement("div",{className:"hidden-xs-down"},o["default"].createElement(f.BootstrapTable,{bordered:!1,headerStyle:{display:"none"},tableStyle:{border:"none"},containerStyle:{border:"none"},bodyStyle:{border:"none"},trClassName:m.rowClassNameFormat,data:_},o["default"].createElement(f.TableHeaderColumn,{dataField:"id",isKey:!0,hidden:!0},"ID"),o["default"].createElement(f.TableHeaderColumn,{dataAlign:"center",dataField:"test_name",dataFormat:(0,m.formatName)(d)}),o["default"].createElement(f.TableHeaderColumn,{dataAlign:"center",dataField:"test_start_time",dataFormat:(0,m.formatTime)()}),o["default"].createElement(f.TableHeaderColumn,{width:"100",dataAlign:"center",dataField:"asn"}),o["default"].createElement(f.TableHeaderColumn,{width:"60",dataAlign:"center",dataField:"country_code"}),o["default"].createElement(f.TableHeaderColumn,{width:"40",dataAlign:"center",dataField:"result",dataFormat:m.formatResult}))),o["default"].createElement(s.Link,{to:"/measurements",className:"btn btn-primary"},o["default"].createElement(i.FormattedMessage,{id:"dashboard.recentResults.viewButton",defaultMessage:"View your measurements"}))))};h.propTypes={softwareVersion:o["default"].PropTypes.string,running:o["default"].PropTypes.bool,quotaWarning:o["default"].PropTypes.bool,countryCode:o["default"].PropTypes.string,asn:o["default"].PropTypes.string,decks:o["default"].PropTypes.array,deckIcons:o["default"].PropTypes.object,recentResults:o["default"].PropTypes.array,loadingRecentResults:o["default"].PropTypes.bool,loadingRecentResultsFailed:o["default"].PropTypes.bool,onDeckStart:o["default"].PropTypes.func,onDeckToggled:o["default"].PropTypes.func,onDeckRun:o["default"].PropTypes.func,onDeckRunClose:o["default"].PropTypes.func,onTestStart:o["default"].PropTypes.func,onTestRun:o["default"].PropTypes.func,onTestRunClose:o["default"].PropTypes.func,nettests:o["default"].PropTypes.object,runOpen:o["default"].PropTypes.bool,activeDeck:o["default"].PropTypes.object,activeNettest:o["default"].PropTypes.object,loadingDecks:o["default"].PropTypes.bool,loadingDecksFailed:o["default"].PropTypes.bool},t["default"]=h},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.DeckRunner=void 0;var a=n(118),o=r(a),s=n(54),i=r(s),l=n(32),u=r(l),d=n(48),c=r(d),_=n(39),p=r(_),f=n(38),m=r(f),h=n(2),y=r(h),v=n(30),g=n(11),M=n(146),T=r(M),L=n(656),b=n(552),k=n(551),E=n(53);n(977);var D=function(e){function t(e){(0,u["default"])(this,t);var n=(0,p["default"])(this,(t.__proto__||(0,i["default"])(t)).call(this,e));return n.state={showAdvanced:!1},n}return(0,m["default"])(t,e),(0,c["default"])(t,[{key:"toggleAdvanced",value:function(){this.setState({showAdvanced:!this.state.showAdvanced})}},{key:"render",value:function(){var e=this,t=this.props,n=t.fields,r=t.handleSubmit,a=t.simpleOptions;return Array.isArray(a)||(a=[]),y["default"].createElement("div",null,y["default"].createElement("form",{onSubmit:r},this.state.showAdvanced?y["default"].createElement("div",null,(0,o["default"])(n).filter(function(e){return"file"!==n[e].type}).map(function(e){var t=n[e];return y["default"].createElement("div",{key:e,className:"form-group"},y["default"].createElement("label",null,e),y["default"].createElement(L.Field,{className:"form-control",name:e,component:"input",type:t.type}))})):y["default"].createElement("div",null,a.map(function(e){var t=e.name,r=n[t].type;if("file"!==r)return y["default"].createElement("div",{key:t,className:"form-group"},y["default"].createElement("label",null,t),y["default"].createElement(L.Field,{className:"form-control",name:t,component:"input",type:r}))}))),y["default"].createElement("button",{className:"btn btn-secondary",onClick:function(){return e.toggleAdvanced()}},this.state.showAdvanced?y["default"].createElement(g.FormattedMessage,{id:"dashboard.deckRunner.hideAdvanced",defaultMessage:"Hide advanced options"}):y["default"].createElement(g.FormattedMessage,{id:"dashboard.deckRunner.showAdvanced",defaultMessage:"Show advanced options"})))}}]),t}(y["default"].Component);D.propTypes={fields:y["default"].PropTypes.object,simpleOptions:y["default"].PropTypes.array,handleSubmit:y["default"].PropTypes.func};var w=(0,L.reduxForm)({form:"nettestRunnerOptions"})(D);w=(0,v.connect)(function(e,t){var n=t.fields,r={};return(0,o["default"])(n).forEach(function(e){n[e].value&&(r[e]=n[e].value)}),{onSubmit:function(e,n){n((0,b.runNettest)(t.nettestId,e)).then(function(){n((0,k.closedRunDeck)())})},initialValues:r}})(w);var Y=function(e){var t=e.nettest,n=e.onTestStart,r=e.onTestRunClose;return y["default"].createElement("div",null,y["default"].createElement("div",{className:"modal-body"},y["default"].createElement("h2",null,y["default"].createElement("a",{onClick:r,className:"btn"},y["default"].createElement("i",{className:"fa fa-arrow-left"}))," ",t.name),y["default"].createElement("p",null,t.description),y["default"].createElement(w,{nettestId:t.id,simpleOptions:t.simple_options,fields:t.arguments})),y["default"].createElement("div",{className:"modal-footer text-xs-center"},y["default"].createElement("button",{className:"btn btn-primary",onClick:n},y["default"].createElement(g.FormattedMessage,{id:"dashboard.deckRunner.runButton",defaultMessage:"{iconRun} Run",values:{iconRun:y["default"].createElement("i",{className:"fa fa-play"})}}))))};Y.propTypes={onTestStart:y["default"].PropTypes.func,onTestRunClose:y["default"].PropTypes.func,nettest:y["default"].PropTypes.object};var S=function(e){ var t=e.deck,n=e.nettests,r=e.onTestRun,a=e.onDeckStart;return y["default"].createElement("div",null,y["default"].createElement("div",{className:"modal-body"},t.nettests&&t.nettests.map(function(e){return y["default"].createElement("div",{key:e,className:"row text-xs-center",style:{marginTop:"2rem",marginBottom:"2rem"}},y["default"].createElement("div",{className:"col-xs-9"},y["default"].createElement("h2",null,n[e].name),y["default"].createElement("p",null,n[e].description)),y["default"].createElement("div",{className:"col-xs-3",style:{marginTop:"1rem"}},y["default"].createElement("button",{className:"btn btn-secondary",onClick:function(){return r(e)}},y["default"].createElement(g.FormattedMessage,{id:"dashboard.deckRunner.selectButton",defaultMessage:"Select {iconArrowRight}",values:{iconArrowRight:y["default"].createElement("i",{className:"fa fa-arrow-right"})}}))))})),y["default"].createElement("div",{className:"modal-footer text-xs-center"},y["default"].createElement("button",{className:"btn btn-primary",onClick:a},y["default"].createElement("i",{className:"fa fa-play"}),y["default"].createElement(g.FormattedMessage,{id:"dashboard.deckRunner.runAllButton",defaultMessage:"Run them all!"}))))};S.propTypes={deck:y["default"].PropTypes.object,onDeckStart:y["default"].PropTypes.func,onTestRun:y["default"].PropTypes.func,nettests:y["default"].PropTypes.object};var C=t.DeckRunner=function(e){var t=e.nettests,n=e.isOpen,r=e.deck,a=e.onDeckStart,o=e.onTestRun,s=e.onTestRunClose,i=e.onTestStart,l=e.onDeckClose,u=e.activeNettest;return y["default"].createElement(T["default"],{className:"Modal__Bootstrap modal-dialog",onRequestClose:l,contentLabel:r.name+" runner",isOpen:n},y["default"].createElement("div",{className:"modal-content"},y["default"].createElement("div",{className:"modal-header text-xs-center"},y["default"].createElement("button",{type:"button",className:"close",onClick:l},y["default"].createElement("span",{"aria-hidden":"true"},"×"),y["default"].createElement("span",{className:"sr-only"},"Close")),y["default"].createElement("h1",{className:"modal-title"},r.name),(0,E.getDeckIcon)(r.icon)),u?y["default"].createElement(Y,{onTestStart:i,onTestRunClose:s,nettest:u}):y["default"].createElement(S,{deck:r,nettests:t,onTestRun:o,onDeckStart:a})))};C.propTypes={isOpen:y["default"].PropTypes.bool,deck:y["default"].PropTypes.object,onDeckStart:y["default"].PropTypes.func,onDeckClose:y["default"].PropTypes.func,onTestRun:y["default"].PropTypes.func,onTestStart:y["default"].PropTypes.func,onTestRunClose:y["default"].PropTypes.func,activeNettest:y["default"].PropTypes.object,nettests:y["default"].PropTypes.object},t["default"]=C},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(30),o=n(85),s=n(656),i=n(131),l=n(551),u=n(870),d=n(343),c=n(832),_=r(c),p=function(e){return{onDeckStart:function(t){e((0,i.runDeck)(t)).then(function(){e((0,l.closedRunDeck)())})},onDeckToggled:(0,o.bindActionCreators)(i.toggleDeck,e),onTestStart:function(){e((0,s.submit)("nettestRunnerOptions"))},onDeckRun:(0,o.bindActionCreators)(l.clickedRunDeck,e),onDeckRunClose:(0,o.bindActionCreators)(l.closedRunDeck,e),onTestRun:(0,o.bindActionCreators)(l.clickedRunTest,e),onTestRunClose:(0,o.bindActionCreators)(l.closedRunTest,e)}},f=function(e){return{deckIcons:(0,d.getDeckIcons)(e),softwareVersion:e.status.softwareVersion,running:e.status.running,quotaWarning:e.status.quotaWarning,countryCode:e.status.countryCode,asn:e.status.asn,decks:e.deck.decks,loadingDecks:e.deck.loading,loadingDecksFailed:e.deck.loadingFailed,loadingRecentResults:e.measurement.loading,loadingRecentResultsFailed:e.measurement.failed,nettests:e.nettest.nettests,runOpen:e.dashboard.runOpen,activeDeck:(0,u.getActiveDeck)(e),activeNettest:(0,u.getActiveNettest)(e),recentResults:(0,u.getRecentMeasurements)(e)}};t["default"]=(0,a.connect)(f,p)(_["default"])},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.getRecentMeasurements=t.getMeasurements=t.getActiveNettest=t.getActiveDeck=t.getNettests=t.getActiveNettestId=t.getActiveDeckId=void 0;var a=n(12),o=r(a),s=n(342),i=n(343),l=t.getActiveDeckId=function(e){return e.dashboard.activeDeckId},u=t.getActiveNettestId=function(e){return e.dashboard.activeNettestId},d=t.getNettests=function(e){return e.nettest.nettests},c=(t.getActiveDeck=(0,s.createSelector)([l,i.getDecks,d],function(e,t){return e?t.find(function(t){return t.id===e}):{}}),t.getActiveNettest=(0,s.createSelector)([u,d],function(e,t){return e?(0,o["default"])({},t[e],{id:e}):null}),4),_=t.getMeasurements=function(e){return e.measurement.measurements};t.getRecentMeasurements=(0,s.createSelector)([_],function(e){return e.slice(0,c)})},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,973,973,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1444]);ooniprobe-2.2.0/ooni/ui/web/client/app.18387b22880f2afc1f16828000464498.css0000644000175000017500000073165213071152212022507 0ustar irlirl.core-layout__viewport{padding-top:4rem}@charset "UTF-8"; /*! * animate.css -http://daneden.me/animate * Version - 3.5.1 * Licensed under the MIT license - http://opensource.org/licenses/MIT * * Copyright (c) 2016 Daniel Eden */ .animated { -webkit-animation-duration: 1s; animation-duration: 1s; -webkit-animation-fill-mode: both; animation-fill-mode: both; } .animated.infinite { -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; } .animated.hinge { -webkit-animation-duration: 2s; animation-duration: 2s; } .animated.flipOutX, .animated.flipOutY, .animated.bounceIn, .animated.bounceOut { -webkit-animation-duration: .75s; animation-duration: .75s; } @-webkit-keyframes bounce { from, 20%, 53%, 80%, to { -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); } 40%, 43% { -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); -webkit-transform: translate3d(0, -30px, 0); transform: translate3d(0, -30px, 0); } 70% { -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); -webkit-transform: translate3d(0, -15px, 0); transform: translate3d(0, -15px, 0); } 90% { -webkit-transform: translate3d(0,-4px,0); transform: translate3d(0,-4px,0); } } @keyframes bounce { from, 20%, 53%, 80%, to { -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); } 40%, 43% { -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); -webkit-transform: translate3d(0, -30px, 0); transform: translate3d(0, -30px, 0); } 70% { -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060); -webkit-transform: translate3d(0, -15px, 0); transform: translate3d(0, -15px, 0); } 90% { -webkit-transform: translate3d(0,-4px,0); transform: translate3d(0,-4px,0); } } .bounce { -webkit-animation-name: bounce; animation-name: bounce; -webkit-transform-origin: center bottom; transform-origin: center bottom; } @-webkit-keyframes flash { from, 50%, to { opacity: 1; } 25%, 75% { opacity: 0; } } @keyframes flash { from, 50%, to { opacity: 1; } 25%, 75% { opacity: 0; } } .flash { -webkit-animation-name: flash; animation-name: flash; } /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ @-webkit-keyframes pulse { from { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } 50% { -webkit-transform: scale3d(1.05, 1.05, 1.05); transform: scale3d(1.05, 1.05, 1.05); } to { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } } @keyframes pulse { from { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } 50% { -webkit-transform: scale3d(1.05, 1.05, 1.05); transform: scale3d(1.05, 1.05, 1.05); } to { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } } .pulse { -webkit-animation-name: pulse; animation-name: pulse; } @-webkit-keyframes rubberBand { from { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } 30% { -webkit-transform: scale3d(1.25, 0.75, 1); transform: scale3d(1.25, 0.75, 1); } 40% { -webkit-transform: scale3d(0.75, 1.25, 1); transform: scale3d(0.75, 1.25, 1); } 50% { -webkit-transform: scale3d(1.15, 0.85, 1); transform: scale3d(1.15, 0.85, 1); } 65% { -webkit-transform: scale3d(.95, 1.05, 1); transform: scale3d(.95, 1.05, 1); } 75% { -webkit-transform: scale3d(1.05, .95, 1); transform: scale3d(1.05, .95, 1); } to { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } } @keyframes rubberBand { from { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } 30% { -webkit-transform: scale3d(1.25, 0.75, 1); transform: scale3d(1.25, 0.75, 1); } 40% { -webkit-transform: scale3d(0.75, 1.25, 1); transform: scale3d(0.75, 1.25, 1); } 50% { -webkit-transform: scale3d(1.15, 0.85, 1); transform: scale3d(1.15, 0.85, 1); } 65% { -webkit-transform: scale3d(.95, 1.05, 1); transform: scale3d(.95, 1.05, 1); } 75% { -webkit-transform: scale3d(1.05, .95, 1); transform: scale3d(1.05, .95, 1); } to { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } } .rubberBand { -webkit-animation-name: rubberBand; animation-name: rubberBand; } @-webkit-keyframes shake { from, to { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } 10%, 30%, 50%, 70%, 90% { -webkit-transform: translate3d(-10px, 0, 0); transform: translate3d(-10px, 0, 0); } 20%, 40%, 60%, 80% { -webkit-transform: translate3d(10px, 0, 0); transform: translate3d(10px, 0, 0); } } @keyframes shake { from, to { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } 10%, 30%, 50%, 70%, 90% { -webkit-transform: translate3d(-10px, 0, 0); transform: translate3d(-10px, 0, 0); } 20%, 40%, 60%, 80% { -webkit-transform: translate3d(10px, 0, 0); transform: translate3d(10px, 0, 0); } } .shake { -webkit-animation-name: shake; animation-name: shake; } @-webkit-keyframes headShake { 0% { -webkit-transform: translateX(0); transform: translateX(0); } 6.5% { -webkit-transform: translateX(-6px) rotateY(-9deg); transform: translateX(-6px) rotateY(-9deg); } 18.5% { -webkit-transform: translateX(5px) rotateY(7deg); transform: translateX(5px) rotateY(7deg); } 31.5% { -webkit-transform: translateX(-3px) rotateY(-5deg); transform: translateX(-3px) rotateY(-5deg); } 43.5% { -webkit-transform: translateX(2px) rotateY(3deg); transform: translateX(2px) rotateY(3deg); } 50% { -webkit-transform: translateX(0); transform: translateX(0); } } @keyframes headShake { 0% { -webkit-transform: translateX(0); transform: translateX(0); } 6.5% { -webkit-transform: translateX(-6px) rotateY(-9deg); transform: translateX(-6px) rotateY(-9deg); } 18.5% { -webkit-transform: translateX(5px) rotateY(7deg); transform: translateX(5px) rotateY(7deg); } 31.5% { -webkit-transform: translateX(-3px) rotateY(-5deg); transform: translateX(-3px) rotateY(-5deg); } 43.5% { -webkit-transform: translateX(2px) rotateY(3deg); transform: translateX(2px) rotateY(3deg); } 50% { -webkit-transform: translateX(0); transform: translateX(0); } } .headShake { -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; -webkit-animation-name: headShake; animation-name: headShake; } @-webkit-keyframes swing { 20% { -webkit-transform: rotate3d(0, 0, 1, 15deg); transform: rotate3d(0, 0, 1, 15deg); } 40% { -webkit-transform: rotate3d(0, 0, 1, -10deg); transform: rotate3d(0, 0, 1, -10deg); } 60% { -webkit-transform: rotate3d(0, 0, 1, 5deg); transform: rotate3d(0, 0, 1, 5deg); } 80% { -webkit-transform: rotate3d(0, 0, 1, -5deg); transform: rotate3d(0, 0, 1, -5deg); } to { -webkit-transform: rotate3d(0, 0, 1, 0deg); transform: rotate3d(0, 0, 1, 0deg); } } @keyframes swing { 20% { -webkit-transform: rotate3d(0, 0, 1, 15deg); transform: rotate3d(0, 0, 1, 15deg); } 40% { -webkit-transform: rotate3d(0, 0, 1, -10deg); transform: rotate3d(0, 0, 1, -10deg); } 60% { -webkit-transform: rotate3d(0, 0, 1, 5deg); transform: rotate3d(0, 0, 1, 5deg); } 80% { -webkit-transform: rotate3d(0, 0, 1, -5deg); transform: rotate3d(0, 0, 1, -5deg); } to { -webkit-transform: rotate3d(0, 0, 1, 0deg); transform: rotate3d(0, 0, 1, 0deg); } } .swing { -webkit-transform-origin: top center; transform-origin: top center; -webkit-animation-name: swing; animation-name: swing; } @-webkit-keyframes tada { from { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } 10%, 20% { -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); } 30%, 50%, 70%, 90% { -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); } 40%, 60%, 80% { -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); } to { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } } @keyframes tada { from { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } 10%, 20% { -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg); } 30%, 50%, 70%, 90% { -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); } 40%, 60%, 80% { -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); } to { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } } .tada { -webkit-animation-name: tada; animation-name: tada; } /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ @-webkit-keyframes wobble { from { -webkit-transform: none; transform: none; } 15% { -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); } 30% { -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); } 45% { -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); } 60% { -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); } 75% { -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); } to { -webkit-transform: none; transform: none; } } @keyframes wobble { from { -webkit-transform: none; transform: none; } 15% { -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); } 30% { -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); } 45% { -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); } 60% { -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); } 75% { -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); } to { -webkit-transform: none; transform: none; } } .wobble { -webkit-animation-name: wobble; animation-name: wobble; } @-webkit-keyframes jello { from, 11.1%, to { -webkit-transform: none; transform: none; } 22.2% { -webkit-transform: skewX(-12.5deg) skewY(-12.5deg); transform: skewX(-12.5deg) skewY(-12.5deg); } 33.3% { -webkit-transform: skewX(6.25deg) skewY(6.25deg); transform: skewX(6.25deg) skewY(6.25deg); } 44.4% { -webkit-transform: skewX(-3.125deg) skewY(-3.125deg); transform: skewX(-3.125deg) skewY(-3.125deg); } 55.5% { -webkit-transform: skewX(1.5625deg) skewY(1.5625deg); transform: skewX(1.5625deg) skewY(1.5625deg); } 66.6% { -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg); transform: skewX(-0.78125deg) skewY(-0.78125deg); } 77.7% { -webkit-transform: skewX(0.390625deg) skewY(0.390625deg); transform: skewX(0.390625deg) skewY(0.390625deg); } 88.8% { -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg); transform: skewX(-0.1953125deg) skewY(-0.1953125deg); } } @keyframes jello { from, 11.1%, to { -webkit-transform: none; transform: none; } 22.2% { -webkit-transform: skewX(-12.5deg) skewY(-12.5deg); transform: skewX(-12.5deg) skewY(-12.5deg); } 33.3% { -webkit-transform: skewX(6.25deg) skewY(6.25deg); transform: skewX(6.25deg) skewY(6.25deg); } 44.4% { -webkit-transform: skewX(-3.125deg) skewY(-3.125deg); transform: skewX(-3.125deg) skewY(-3.125deg); } 55.5% { -webkit-transform: skewX(1.5625deg) skewY(1.5625deg); transform: skewX(1.5625deg) skewY(1.5625deg); } 66.6% { -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg); transform: skewX(-0.78125deg) skewY(-0.78125deg); } 77.7% { -webkit-transform: skewX(0.390625deg) skewY(0.390625deg); transform: skewX(0.390625deg) skewY(0.390625deg); } 88.8% { -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg); transform: skewX(-0.1953125deg) skewY(-0.1953125deg); } } .jello { -webkit-animation-name: jello; animation-name: jello; -webkit-transform-origin: center; transform-origin: center; } @-webkit-keyframes bounceIn { from, 20%, 40%, 60%, 80%, to { -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); } 0% { opacity: 0; -webkit-transform: scale3d(.3, .3, .3); transform: scale3d(.3, .3, .3); } 20% { -webkit-transform: scale3d(1.1, 1.1, 1.1); transform: scale3d(1.1, 1.1, 1.1); } 40% { -webkit-transform: scale3d(.9, .9, .9); transform: scale3d(.9, .9, .9); } 60% { opacity: 1; -webkit-transform: scale3d(1.03, 1.03, 1.03); transform: scale3d(1.03, 1.03, 1.03); } 80% { -webkit-transform: scale3d(.97, .97, .97); transform: scale3d(.97, .97, .97); } to { opacity: 1; -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } } @keyframes bounceIn { from, 20%, 40%, 60%, 80%, to { -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); } 0% { opacity: 0; -webkit-transform: scale3d(.3, .3, .3); transform: scale3d(.3, .3, .3); } 20% { -webkit-transform: scale3d(1.1, 1.1, 1.1); transform: scale3d(1.1, 1.1, 1.1); } 40% { -webkit-transform: scale3d(.9, .9, .9); transform: scale3d(.9, .9, .9); } 60% { opacity: 1; -webkit-transform: scale3d(1.03, 1.03, 1.03); transform: scale3d(1.03, 1.03, 1.03); } 80% { -webkit-transform: scale3d(.97, .97, .97); transform: scale3d(.97, .97, .97); } to { opacity: 1; -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } } .bounceIn { -webkit-animation-name: bounceIn; animation-name: bounceIn; } @-webkit-keyframes bounceInDown { from, 60%, 75%, 90%, to { -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); } 0% { opacity: 0; -webkit-transform: translate3d(0, -3000px, 0); transform: translate3d(0, -3000px, 0); } 60% { opacity: 1; -webkit-transform: translate3d(0, 25px, 0); transform: translate3d(0, 25px, 0); } 75% { -webkit-transform: translate3d(0, -10px, 0); transform: translate3d(0, -10px, 0); } 90% { -webkit-transform: translate3d(0, 5px, 0); transform: translate3d(0, 5px, 0); } to { -webkit-transform: none; transform: none; } } @keyframes bounceInDown { from, 60%, 75%, 90%, to { -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); } 0% { opacity: 0; -webkit-transform: translate3d(0, -3000px, 0); transform: translate3d(0, -3000px, 0); } 60% { opacity: 1; -webkit-transform: translate3d(0, 25px, 0); transform: translate3d(0, 25px, 0); } 75% { -webkit-transform: translate3d(0, -10px, 0); transform: translate3d(0, -10px, 0); } 90% { -webkit-transform: translate3d(0, 5px, 0); transform: translate3d(0, 5px, 0); } to { -webkit-transform: none; transform: none; } } .bounceInDown { -webkit-animation-name: bounceInDown; animation-name: bounceInDown; } @-webkit-keyframes bounceInLeft { from, 60%, 75%, 90%, to { -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); } 0% { opacity: 0; -webkit-transform: translate3d(-3000px, 0, 0); transform: translate3d(-3000px, 0, 0); } 60% { opacity: 1; -webkit-transform: translate3d(25px, 0, 0); transform: translate3d(25px, 0, 0); } 75% { -webkit-transform: translate3d(-10px, 0, 0); transform: translate3d(-10px, 0, 0); } 90% { -webkit-transform: translate3d(5px, 0, 0); transform: translate3d(5px, 0, 0); } to { -webkit-transform: none; transform: none; } } @keyframes bounceInLeft { from, 60%, 75%, 90%, to { -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); } 0% { opacity: 0; -webkit-transform: translate3d(-3000px, 0, 0); transform: translate3d(-3000px, 0, 0); } 60% { opacity: 1; -webkit-transform: translate3d(25px, 0, 0); transform: translate3d(25px, 0, 0); } 75% { -webkit-transform: translate3d(-10px, 0, 0); transform: translate3d(-10px, 0, 0); } 90% { -webkit-transform: translate3d(5px, 0, 0); transform: translate3d(5px, 0, 0); } to { -webkit-transform: none; transform: none; } } .bounceInLeft { -webkit-animation-name: bounceInLeft; animation-name: bounceInLeft; } @-webkit-keyframes bounceInRight { from, 60%, 75%, 90%, to { -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); } from { opacity: 0; -webkit-transform: translate3d(3000px, 0, 0); transform: translate3d(3000px, 0, 0); } 60% { opacity: 1; -webkit-transform: translate3d(-25px, 0, 0); transform: translate3d(-25px, 0, 0); } 75% { -webkit-transform: translate3d(10px, 0, 0); transform: translate3d(10px, 0, 0); } 90% { -webkit-transform: translate3d(-5px, 0, 0); transform: translate3d(-5px, 0, 0); } to { -webkit-transform: none; transform: none; } } @keyframes bounceInRight { from, 60%, 75%, 90%, to { -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); } from { opacity: 0; -webkit-transform: translate3d(3000px, 0, 0); transform: translate3d(3000px, 0, 0); } 60% { opacity: 1; -webkit-transform: translate3d(-25px, 0, 0); transform: translate3d(-25px, 0, 0); } 75% { -webkit-transform: translate3d(10px, 0, 0); transform: translate3d(10px, 0, 0); } 90% { -webkit-transform: translate3d(-5px, 0, 0); transform: translate3d(-5px, 0, 0); } to { -webkit-transform: none; transform: none; } } .bounceInRight { -webkit-animation-name: bounceInRight; animation-name: bounceInRight; } @-webkit-keyframes bounceInUp { from, 60%, 75%, 90%, to { -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); } from { opacity: 0; -webkit-transform: translate3d(0, 3000px, 0); transform: translate3d(0, 3000px, 0); } 60% { opacity: 1; -webkit-transform: translate3d(0, -20px, 0); transform: translate3d(0, -20px, 0); } 75% { -webkit-transform: translate3d(0, 10px, 0); transform: translate3d(0, 10px, 0); } 90% { -webkit-transform: translate3d(0, -5px, 0); transform: translate3d(0, -5px, 0); } to { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } @keyframes bounceInUp { from, 60%, 75%, 90%, to { -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000); } from { opacity: 0; -webkit-transform: translate3d(0, 3000px, 0); transform: translate3d(0, 3000px, 0); } 60% { opacity: 1; -webkit-transform: translate3d(0, -20px, 0); transform: translate3d(0, -20px, 0); } 75% { -webkit-transform: translate3d(0, 10px, 0); transform: translate3d(0, 10px, 0); } 90% { -webkit-transform: translate3d(0, -5px, 0); transform: translate3d(0, -5px, 0); } to { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } .bounceInUp { -webkit-animation-name: bounceInUp; animation-name: bounceInUp; } @-webkit-keyframes bounceOut { 20% { -webkit-transform: scale3d(.9, .9, .9); transform: scale3d(.9, .9, .9); } 50%, 55% { opacity: 1; -webkit-transform: scale3d(1.1, 1.1, 1.1); transform: scale3d(1.1, 1.1, 1.1); } to { opacity: 0; -webkit-transform: scale3d(.3, .3, .3); transform: scale3d(.3, .3, .3); } } @keyframes bounceOut { 20% { -webkit-transform: scale3d(.9, .9, .9); transform: scale3d(.9, .9, .9); } 50%, 55% { opacity: 1; -webkit-transform: scale3d(1.1, 1.1, 1.1); transform: scale3d(1.1, 1.1, 1.1); } to { opacity: 0; -webkit-transform: scale3d(.3, .3, .3); transform: scale3d(.3, .3, .3); } } .bounceOut { -webkit-animation-name: bounceOut; animation-name: bounceOut; } @-webkit-keyframes bounceOutDown { 20% { -webkit-transform: translate3d(0, 10px, 0); transform: translate3d(0, 10px, 0); } 40%, 45% { opacity: 1; -webkit-transform: translate3d(0, -20px, 0); transform: translate3d(0, -20px, 0); } to { opacity: 0; -webkit-transform: translate3d(0, 2000px, 0); transform: translate3d(0, 2000px, 0); } } @keyframes bounceOutDown { 20% { -webkit-transform: translate3d(0, 10px, 0); transform: translate3d(0, 10px, 0); } 40%, 45% { opacity: 1; -webkit-transform: translate3d(0, -20px, 0); transform: translate3d(0, -20px, 0); } to { opacity: 0; -webkit-transform: translate3d(0, 2000px, 0); transform: translate3d(0, 2000px, 0); } } .bounceOutDown { -webkit-animation-name: bounceOutDown; animation-name: bounceOutDown; } @-webkit-keyframes bounceOutLeft { 20% { opacity: 1; -webkit-transform: translate3d(20px, 0, 0); transform: translate3d(20px, 0, 0); } to { opacity: 0; -webkit-transform: translate3d(-2000px, 0, 0); transform: translate3d(-2000px, 0, 0); } } @keyframes bounceOutLeft { 20% { opacity: 1; -webkit-transform: translate3d(20px, 0, 0); transform: translate3d(20px, 0, 0); } to { opacity: 0; -webkit-transform: translate3d(-2000px, 0, 0); transform: translate3d(-2000px, 0, 0); } } .bounceOutLeft { -webkit-animation-name: bounceOutLeft; animation-name: bounceOutLeft; } @-webkit-keyframes bounceOutRight { 20% { opacity: 1; -webkit-transform: translate3d(-20px, 0, 0); transform: translate3d(-20px, 0, 0); } to { opacity: 0; -webkit-transform: translate3d(2000px, 0, 0); transform: translate3d(2000px, 0, 0); } } @keyframes bounceOutRight { 20% { opacity: 1; -webkit-transform: translate3d(-20px, 0, 0); transform: translate3d(-20px, 0, 0); } to { opacity: 0; -webkit-transform: translate3d(2000px, 0, 0); transform: translate3d(2000px, 0, 0); } } .bounceOutRight { -webkit-animation-name: bounceOutRight; animation-name: bounceOutRight; } @-webkit-keyframes bounceOutUp { 20% { -webkit-transform: translate3d(0, -10px, 0); transform: translate3d(0, -10px, 0); } 40%, 45% { opacity: 1; -webkit-transform: translate3d(0, 20px, 0); transform: translate3d(0, 20px, 0); } to { opacity: 0; -webkit-transform: translate3d(0, -2000px, 0); transform: translate3d(0, -2000px, 0); } } @keyframes bounceOutUp { 20% { -webkit-transform: translate3d(0, -10px, 0); transform: translate3d(0, -10px, 0); } 40%, 45% { opacity: 1; -webkit-transform: translate3d(0, 20px, 0); transform: translate3d(0, 20px, 0); } to { opacity: 0; -webkit-transform: translate3d(0, -2000px, 0); transform: translate3d(0, -2000px, 0); } } .bounceOutUp { -webkit-animation-name: bounceOutUp; animation-name: bounceOutUp; } @-webkit-keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } .fadeIn { -webkit-animation-name: fadeIn; animation-name: fadeIn; } @-webkit-keyframes fadeInDown { from { opacity: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); } to { opacity: 1; -webkit-transform: none; transform: none; } } @keyframes fadeInDown { from { opacity: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); } to { opacity: 1; -webkit-transform: none; transform: none; } } .fadeInDown { -webkit-animation-name: fadeInDown; animation-name: fadeInDown; } @-webkit-keyframes fadeInDownBig { from { opacity: 0; -webkit-transform: translate3d(0, -2000px, 0); transform: translate3d(0, -2000px, 0); } to { opacity: 1; -webkit-transform: none; transform: none; } } @keyframes fadeInDownBig { from { opacity: 0; -webkit-transform: translate3d(0, -2000px, 0); transform: translate3d(0, -2000px, 0); } to { opacity: 1; -webkit-transform: none; transform: none; } } .fadeInDownBig { -webkit-animation-name: fadeInDownBig; animation-name: fadeInDownBig; } @-webkit-keyframes fadeInLeft { from { opacity: 0; -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); } to { opacity: 1; -webkit-transform: none; transform: none; } } @keyframes fadeInLeft { from { opacity: 0; -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); } to { opacity: 1; -webkit-transform: none; transform: none; } } .fadeInLeft { -webkit-animation-name: fadeInLeft; animation-name: fadeInLeft; } @-webkit-keyframes fadeInLeftBig { from { opacity: 0; -webkit-transform: translate3d(-2000px, 0, 0); transform: translate3d(-2000px, 0, 0); } to { opacity: 1; -webkit-transform: none; transform: none; } } @keyframes fadeInLeftBig { from { opacity: 0; -webkit-transform: translate3d(-2000px, 0, 0); transform: translate3d(-2000px, 0, 0); } to { opacity: 1; -webkit-transform: none; transform: none; } } .fadeInLeftBig { -webkit-animation-name: fadeInLeftBig; animation-name: fadeInLeftBig; } @-webkit-keyframes fadeInRight { from { opacity: 0; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); } to { opacity: 1; -webkit-transform: none; transform: none; } } @keyframes fadeInRight { from { opacity: 0; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); } to { opacity: 1; -webkit-transform: none; transform: none; } } .fadeInRight { -webkit-animation-name: fadeInRight; animation-name: fadeInRight; } @-webkit-keyframes fadeInRightBig { from { opacity: 0; -webkit-transform: translate3d(2000px, 0, 0); transform: translate3d(2000px, 0, 0); } to { opacity: 1; -webkit-transform: none; transform: none; } } @keyframes fadeInRightBig { from { opacity: 0; -webkit-transform: translate3d(2000px, 0, 0); transform: translate3d(2000px, 0, 0); } to { opacity: 1; -webkit-transform: none; transform: none; } } .fadeInRightBig { -webkit-animation-name: fadeInRightBig; animation-name: fadeInRightBig; } @-webkit-keyframes fadeInUp { from { opacity: 0; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } to { opacity: 1; -webkit-transform: none; transform: none; } } @keyframes fadeInUp { from { opacity: 0; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } to { opacity: 1; -webkit-transform: none; transform: none; } } .fadeInUp { -webkit-animation-name: fadeInUp; animation-name: fadeInUp; } @-webkit-keyframes fadeInUpBig { from { opacity: 0; -webkit-transform: translate3d(0, 2000px, 0); transform: translate3d(0, 2000px, 0); } to { opacity: 1; -webkit-transform: none; transform: none; } } @keyframes fadeInUpBig { from { opacity: 0; -webkit-transform: translate3d(0, 2000px, 0); transform: translate3d(0, 2000px, 0); } to { opacity: 1; -webkit-transform: none; transform: none; } } .fadeInUpBig { -webkit-animation-name: fadeInUpBig; animation-name: fadeInUpBig; } @-webkit-keyframes fadeOut { from { opacity: 1; } to { opacity: 0; } } @keyframes fadeOut { from { opacity: 1; } to { opacity: 0; } } .fadeOut { -webkit-animation-name: fadeOut; animation-name: fadeOut; } @-webkit-keyframes fadeOutDown { from { opacity: 1; } to { opacity: 0; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } } @keyframes fadeOutDown { from { opacity: 1; } to { opacity: 0; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } } .fadeOutDown { -webkit-animation-name: fadeOutDown; animation-name: fadeOutDown; } @-webkit-keyframes fadeOutDownBig { from { opacity: 1; } to { opacity: 0; -webkit-transform: translate3d(0, 2000px, 0); transform: translate3d(0, 2000px, 0); } } @keyframes fadeOutDownBig { from { opacity: 1; } to { opacity: 0; -webkit-transform: translate3d(0, 2000px, 0); transform: translate3d(0, 2000px, 0); } } .fadeOutDownBig { -webkit-animation-name: fadeOutDownBig; animation-name: fadeOutDownBig; } @-webkit-keyframes fadeOutLeft { from { opacity: 1; } to { opacity: 0; -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); } } @keyframes fadeOutLeft { from { opacity: 1; } to { opacity: 0; -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); } } .fadeOutLeft { -webkit-animation-name: fadeOutLeft; animation-name: fadeOutLeft; } @-webkit-keyframes fadeOutLeftBig { from { opacity: 1; } to { opacity: 0; -webkit-transform: translate3d(-2000px, 0, 0); transform: translate3d(-2000px, 0, 0); } } @keyframes fadeOutLeftBig { from { opacity: 1; } to { opacity: 0; -webkit-transform: translate3d(-2000px, 0, 0); transform: translate3d(-2000px, 0, 0); } } .fadeOutLeftBig { -webkit-animation-name: fadeOutLeftBig; animation-name: fadeOutLeftBig; } @-webkit-keyframes fadeOutRight { from { opacity: 1; } to { opacity: 0; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); } } @keyframes fadeOutRight { from { opacity: 1; } to { opacity: 0; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); } } .fadeOutRight { -webkit-animation-name: fadeOutRight; animation-name: fadeOutRight; } @-webkit-keyframes fadeOutRightBig { from { opacity: 1; } to { opacity: 0; -webkit-transform: translate3d(2000px, 0, 0); transform: translate3d(2000px, 0, 0); } } @keyframes fadeOutRightBig { from { opacity: 1; } to { opacity: 0; -webkit-transform: translate3d(2000px, 0, 0); transform: translate3d(2000px, 0, 0); } } .fadeOutRightBig { -webkit-animation-name: fadeOutRightBig; animation-name: fadeOutRightBig; } @-webkit-keyframes fadeOutUp { from { opacity: 1; } to { opacity: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); } } @keyframes fadeOutUp { from { opacity: 1; } to { opacity: 0; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); } } .fadeOutUp { -webkit-animation-name: fadeOutUp; animation-name: fadeOutUp; } @-webkit-keyframes fadeOutUpBig { from { opacity: 1; } to { opacity: 0; -webkit-transform: translate3d(0, -2000px, 0); transform: translate3d(0, -2000px, 0); } } @keyframes fadeOutUpBig { from { opacity: 1; } to { opacity: 0; -webkit-transform: translate3d(0, -2000px, 0); transform: translate3d(0, -2000px, 0); } } .fadeOutUpBig { -webkit-animation-name: fadeOutUpBig; animation-name: fadeOutUpBig; } @-webkit-keyframes flip { from { -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg); transform: perspective(400px) rotate3d(0, 1, 0, -360deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 40% { -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 50% { -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } 80% { -webkit-transform: perspective(400px) scale3d(.95, .95, .95); transform: perspective(400px) scale3d(.95, .95, .95); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } to { -webkit-transform: perspective(400px); transform: perspective(400px); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } } @keyframes flip { from { -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg); transform: perspective(400px) rotate3d(0, 1, 0, -360deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 40% { -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 50% { -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } 80% { -webkit-transform: perspective(400px) scale3d(.95, .95, .95); transform: perspective(400px) scale3d(.95, .95, .95); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } to { -webkit-transform: perspective(400px); transform: perspective(400px); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } } .animated.flip { -webkit-backface-visibility: visible; backface-visibility: visible; -webkit-animation-name: flip; animation-name: flip; } @-webkit-keyframes flipInX { from { -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); transform: perspective(400px) rotate3d(1, 0, 0, 90deg); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; opacity: 0; } 40% { -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); transform: perspective(400px) rotate3d(1, 0, 0, -20deg); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } 60% { -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); transform: perspective(400px) rotate3d(1, 0, 0, 10deg); opacity: 1; } 80% { -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); transform: perspective(400px) rotate3d(1, 0, 0, -5deg); } to { -webkit-transform: perspective(400px); transform: perspective(400px); } } @keyframes flipInX { from { -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); transform: perspective(400px) rotate3d(1, 0, 0, 90deg); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; opacity: 0; } 40% { -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); transform: perspective(400px) rotate3d(1, 0, 0, -20deg); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } 60% { -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); transform: perspective(400px) rotate3d(1, 0, 0, 10deg); opacity: 1; } 80% { -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); transform: perspective(400px) rotate3d(1, 0, 0, -5deg); } to { -webkit-transform: perspective(400px); transform: perspective(400px); } } .flipInX { -webkit-backface-visibility: visible !important; backface-visibility: visible !important; -webkit-animation-name: flipInX; animation-name: flipInX; } @-webkit-keyframes flipInY { from { -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); transform: perspective(400px) rotate3d(0, 1, 0, 90deg); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; opacity: 0; } 40% { -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); transform: perspective(400px) rotate3d(0, 1, 0, -20deg); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } 60% { -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); transform: perspective(400px) rotate3d(0, 1, 0, 10deg); opacity: 1; } 80% { -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); transform: perspective(400px) rotate3d(0, 1, 0, -5deg); } to { -webkit-transform: perspective(400px); transform: perspective(400px); } } @keyframes flipInY { from { -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); transform: perspective(400px) rotate3d(0, 1, 0, 90deg); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; opacity: 0; } 40% { -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); transform: perspective(400px) rotate3d(0, 1, 0, -20deg); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } 60% { -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); transform: perspective(400px) rotate3d(0, 1, 0, 10deg); opacity: 1; } 80% { -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); transform: perspective(400px) rotate3d(0, 1, 0, -5deg); } to { -webkit-transform: perspective(400px); transform: perspective(400px); } } .flipInY { -webkit-backface-visibility: visible !important; backface-visibility: visible !important; -webkit-animation-name: flipInY; animation-name: flipInY; } @-webkit-keyframes flipOutX { from { -webkit-transform: perspective(400px); transform: perspective(400px); } 30% { -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); transform: perspective(400px) rotate3d(1, 0, 0, -20deg); opacity: 1; } to { -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); transform: perspective(400px) rotate3d(1, 0, 0, 90deg); opacity: 0; } } @keyframes flipOutX { from { -webkit-transform: perspective(400px); transform: perspective(400px); } 30% { -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); transform: perspective(400px) rotate3d(1, 0, 0, -20deg); opacity: 1; } to { -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); transform: perspective(400px) rotate3d(1, 0, 0, 90deg); opacity: 0; } } .flipOutX { -webkit-animation-name: flipOutX; animation-name: flipOutX; -webkit-backface-visibility: visible !important; backface-visibility: visible !important; } @-webkit-keyframes flipOutY { from { -webkit-transform: perspective(400px); transform: perspective(400px); } 30% { -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); transform: perspective(400px) rotate3d(0, 1, 0, -15deg); opacity: 1; } to { -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); transform: perspective(400px) rotate3d(0, 1, 0, 90deg); opacity: 0; } } @keyframes flipOutY { from { -webkit-transform: perspective(400px); transform: perspective(400px); } 30% { -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); transform: perspective(400px) rotate3d(0, 1, 0, -15deg); opacity: 1; } to { -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); transform: perspective(400px) rotate3d(0, 1, 0, 90deg); opacity: 0; } } .flipOutY { -webkit-backface-visibility: visible !important; backface-visibility: visible !important; -webkit-animation-name: flipOutY; animation-name: flipOutY; } @-webkit-keyframes lightSpeedIn { from { -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); transform: translate3d(100%, 0, 0) skewX(-30deg); opacity: 0; } 60% { -webkit-transform: skewX(20deg); transform: skewX(20deg); opacity: 1; } 80% { -webkit-transform: skewX(-5deg); transform: skewX(-5deg); opacity: 1; } to { -webkit-transform: none; transform: none; opacity: 1; } } @keyframes lightSpeedIn { from { -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); transform: translate3d(100%, 0, 0) skewX(-30deg); opacity: 0; } 60% { -webkit-transform: skewX(20deg); transform: skewX(20deg); opacity: 1; } 80% { -webkit-transform: skewX(-5deg); transform: skewX(-5deg); opacity: 1; } to { -webkit-transform: none; transform: none; opacity: 1; } } .lightSpeedIn { -webkit-animation-name: lightSpeedIn; animation-name: lightSpeedIn; -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } @-webkit-keyframes lightSpeedOut { from { opacity: 1; } to { -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); transform: translate3d(100%, 0, 0) skewX(30deg); opacity: 0; } } @keyframes lightSpeedOut { from { opacity: 1; } to { -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); transform: translate3d(100%, 0, 0) skewX(30deg); opacity: 0; } } .lightSpeedOut { -webkit-animation-name: lightSpeedOut; animation-name: lightSpeedOut; -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } @-webkit-keyframes rotateIn { from { -webkit-transform-origin: center; transform-origin: center; -webkit-transform: rotate3d(0, 0, 1, -200deg); transform: rotate3d(0, 0, 1, -200deg); opacity: 0; } to { -webkit-transform-origin: center; transform-origin: center; -webkit-transform: none; transform: none; opacity: 1; } } @keyframes rotateIn { from { -webkit-transform-origin: center; transform-origin: center; -webkit-transform: rotate3d(0, 0, 1, -200deg); transform: rotate3d(0, 0, 1, -200deg); opacity: 0; } to { -webkit-transform-origin: center; transform-origin: center; -webkit-transform: none; transform: none; opacity: 1; } } .rotateIn { -webkit-animation-name: rotateIn; animation-name: rotateIn; } @-webkit-keyframes rotateInDownLeft { from { -webkit-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate3d(0, 0, 1, -45deg); transform: rotate3d(0, 0, 1, -45deg); opacity: 0; } to { -webkit-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: none; transform: none; opacity: 1; } } @keyframes rotateInDownLeft { from { -webkit-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate3d(0, 0, 1, -45deg); transform: rotate3d(0, 0, 1, -45deg); opacity: 0; } to { -webkit-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: none; transform: none; opacity: 1; } } .rotateInDownLeft { -webkit-animation-name: rotateInDownLeft; animation-name: rotateInDownLeft; } @-webkit-keyframes rotateInDownRight { from { -webkit-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate3d(0, 0, 1, 45deg); transform: rotate3d(0, 0, 1, 45deg); opacity: 0; } to { -webkit-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: none; transform: none; opacity: 1; } } @keyframes rotateInDownRight { from { -webkit-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate3d(0, 0, 1, 45deg); transform: rotate3d(0, 0, 1, 45deg); opacity: 0; } to { -webkit-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: none; transform: none; opacity: 1; } } .rotateInDownRight { -webkit-animation-name: rotateInDownRight; animation-name: rotateInDownRight; } @-webkit-keyframes rotateInUpLeft { from { -webkit-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate3d(0, 0, 1, 45deg); transform: rotate3d(0, 0, 1, 45deg); opacity: 0; } to { -webkit-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: none; transform: none; opacity: 1; } } @keyframes rotateInUpLeft { from { -webkit-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate3d(0, 0, 1, 45deg); transform: rotate3d(0, 0, 1, 45deg); opacity: 0; } to { -webkit-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: none; transform: none; opacity: 1; } } .rotateInUpLeft { -webkit-animation-name: rotateInUpLeft; animation-name: rotateInUpLeft; } @-webkit-keyframes rotateInUpRight { from { -webkit-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate3d(0, 0, 1, -90deg); transform: rotate3d(0, 0, 1, -90deg); opacity: 0; } to { -webkit-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: none; transform: none; opacity: 1; } } @keyframes rotateInUpRight { from { -webkit-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate3d(0, 0, 1, -90deg); transform: rotate3d(0, 0, 1, -90deg); opacity: 0; } to { -webkit-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: none; transform: none; opacity: 1; } } .rotateInUpRight { -webkit-animation-name: rotateInUpRight; animation-name: rotateInUpRight; } @-webkit-keyframes rotateOut { from { -webkit-transform-origin: center; transform-origin: center; opacity: 1; } to { -webkit-transform-origin: center; transform-origin: center; -webkit-transform: rotate3d(0, 0, 1, 200deg); transform: rotate3d(0, 0, 1, 200deg); opacity: 0; } } @keyframes rotateOut { from { -webkit-transform-origin: center; transform-origin: center; opacity: 1; } to { -webkit-transform-origin: center; transform-origin: center; -webkit-transform: rotate3d(0, 0, 1, 200deg); transform: rotate3d(0, 0, 1, 200deg); opacity: 0; } } .rotateOut { -webkit-animation-name: rotateOut; animation-name: rotateOut; } @-webkit-keyframes rotateOutDownLeft { from { -webkit-transform-origin: left bottom; transform-origin: left bottom; opacity: 1; } to { -webkit-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate3d(0, 0, 1, 45deg); transform: rotate3d(0, 0, 1, 45deg); opacity: 0; } } @keyframes rotateOutDownLeft { from { -webkit-transform-origin: left bottom; transform-origin: left bottom; opacity: 1; } to { -webkit-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate3d(0, 0, 1, 45deg); transform: rotate3d(0, 0, 1, 45deg); opacity: 0; } } .rotateOutDownLeft { -webkit-animation-name: rotateOutDownLeft; animation-name: rotateOutDownLeft; } @-webkit-keyframes rotateOutDownRight { from { -webkit-transform-origin: right bottom; transform-origin: right bottom; opacity: 1; } to { -webkit-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate3d(0, 0, 1, -45deg); transform: rotate3d(0, 0, 1, -45deg); opacity: 0; } } @keyframes rotateOutDownRight { from { -webkit-transform-origin: right bottom; transform-origin: right bottom; opacity: 1; } to { -webkit-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate3d(0, 0, 1, -45deg); transform: rotate3d(0, 0, 1, -45deg); opacity: 0; } } .rotateOutDownRight { -webkit-animation-name: rotateOutDownRight; animation-name: rotateOutDownRight; } @-webkit-keyframes rotateOutUpLeft { from { -webkit-transform-origin: left bottom; transform-origin: left bottom; opacity: 1; } to { -webkit-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate3d(0, 0, 1, -45deg); transform: rotate3d(0, 0, 1, -45deg); opacity: 0; } } @keyframes rotateOutUpLeft { from { -webkit-transform-origin: left bottom; transform-origin: left bottom; opacity: 1; } to { -webkit-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate3d(0, 0, 1, -45deg); transform: rotate3d(0, 0, 1, -45deg); opacity: 0; } } .rotateOutUpLeft { -webkit-animation-name: rotateOutUpLeft; animation-name: rotateOutUpLeft; } @-webkit-keyframes rotateOutUpRight { from { -webkit-transform-origin: right bottom; transform-origin: right bottom; opacity: 1; } to { -webkit-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate3d(0, 0, 1, 90deg); transform: rotate3d(0, 0, 1, 90deg); opacity: 0; } } @keyframes rotateOutUpRight { from { -webkit-transform-origin: right bottom; transform-origin: right bottom; opacity: 1; } to { -webkit-transform-origin: right bottom; transform-origin: right bottom; -webkit-transform: rotate3d(0, 0, 1, 90deg); transform: rotate3d(0, 0, 1, 90deg); opacity: 0; } } .rotateOutUpRight { -webkit-animation-name: rotateOutUpRight; animation-name: rotateOutUpRight; } @-webkit-keyframes hinge { 0% { -webkit-transform-origin: top left; transform-origin: top left; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 20%, 60% { -webkit-transform: rotate3d(0, 0, 1, 80deg); transform: rotate3d(0, 0, 1, 80deg); -webkit-transform-origin: top left; transform-origin: top left; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 40%, 80% { -webkit-transform: rotate3d(0, 0, 1, 60deg); transform: rotate3d(0, 0, 1, 60deg); -webkit-transform-origin: top left; transform-origin: top left; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; opacity: 1; } to { -webkit-transform: translate3d(0, 700px, 0); transform: translate3d(0, 700px, 0); opacity: 0; } } @keyframes hinge { 0% { -webkit-transform-origin: top left; transform-origin: top left; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 20%, 60% { -webkit-transform: rotate3d(0, 0, 1, 80deg); transform: rotate3d(0, 0, 1, 80deg); -webkit-transform-origin: top left; transform-origin: top left; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; } 40%, 80% { -webkit-transform: rotate3d(0, 0, 1, 60deg); transform: rotate3d(0, 0, 1, 60deg); -webkit-transform-origin: top left; transform-origin: top left; -webkit-animation-timing-function: ease-in-out; animation-timing-function: ease-in-out; opacity: 1; } to { -webkit-transform: translate3d(0, 700px, 0); transform: translate3d(0, 700px, 0); opacity: 0; } } .hinge { -webkit-animation-name: hinge; animation-name: hinge; } /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ @-webkit-keyframes rollIn { from { opacity: 0; -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); } to { opacity: 1; -webkit-transform: none; transform: none; } } @keyframes rollIn { from { opacity: 0; -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); } to { opacity: 1; -webkit-transform: none; transform: none; } } .rollIn { -webkit-animation-name: rollIn; animation-name: rollIn; } /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ @-webkit-keyframes rollOut { from { opacity: 1; } to { opacity: 0; -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } } @keyframes rollOut { from { opacity: 1; } to { opacity: 0; -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } } .rollOut { -webkit-animation-name: rollOut; animation-name: rollOut; } @-webkit-keyframes zoomIn { from { opacity: 0; -webkit-transform: scale3d(.3, .3, .3); transform: scale3d(.3, .3, .3); } 50% { opacity: 1; } } @keyframes zoomIn { from { opacity: 0; -webkit-transform: scale3d(.3, .3, .3); transform: scale3d(.3, .3, .3); } 50% { opacity: 1; } } .zoomIn { -webkit-animation-name: zoomIn; animation-name: zoomIn; } @-webkit-keyframes zoomInDown { from { opacity: 0; -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); } 60% { opacity: 1; -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); } } @keyframes zoomInDown { from { opacity: 0; -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0); -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); } 60% { opacity: 1; -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); } } .zoomInDown { -webkit-animation-name: zoomInDown; animation-name: zoomInDown; } @-webkit-keyframes zoomInLeft { from { opacity: 0; -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); } 60% { opacity: 1; -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); } } @keyframes zoomInLeft { from { opacity: 0; -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0); -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); } 60% { opacity: 1; -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0); -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); } } .zoomInLeft { -webkit-animation-name: zoomInLeft; animation-name: zoomInLeft; } @-webkit-keyframes zoomInRight { from { opacity: 0; -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); } 60% { opacity: 1; -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); } } @keyframes zoomInRight { from { opacity: 0; -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0); -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); } 60% { opacity: 1; -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0); -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); } } .zoomInRight { -webkit-animation-name: zoomInRight; animation-name: zoomInRight; } @-webkit-keyframes zoomInUp { from { opacity: 0; -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); } 60% { opacity: 1; -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); } } @keyframes zoomInUp { from { opacity: 0; -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0); -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); } 60% { opacity: 1; -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); } } .zoomInUp { -webkit-animation-name: zoomInUp; animation-name: zoomInUp; } @-webkit-keyframes zoomOut { from { opacity: 1; } 50% { opacity: 0; -webkit-transform: scale3d(.3, .3, .3); transform: scale3d(.3, .3, .3); } to { opacity: 0; } } @keyframes zoomOut { from { opacity: 1; } 50% { opacity: 0; -webkit-transform: scale3d(.3, .3, .3); transform: scale3d(.3, .3, .3); } to { opacity: 0; } } .zoomOut { -webkit-animation-name: zoomOut; animation-name: zoomOut; } @-webkit-keyframes zoomOutDown { 40% { opacity: 1; -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); } to { opacity: 0; -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); -webkit-transform-origin: center bottom; transform-origin: center bottom; -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); } } @keyframes zoomOutDown { 40% { opacity: 1; -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0); -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); } to { opacity: 0; -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0); -webkit-transform-origin: center bottom; transform-origin: center bottom; -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); } } .zoomOutDown { -webkit-animation-name: zoomOutDown; animation-name: zoomOutDown; } @-webkit-keyframes zoomOutLeft { 40% { opacity: 1; -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); } to { opacity: 0; -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); transform: scale(.1) translate3d(-2000px, 0, 0); -webkit-transform-origin: left center; transform-origin: left center; } } @keyframes zoomOutLeft { 40% { opacity: 1; -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0); } to { opacity: 0; -webkit-transform: scale(.1) translate3d(-2000px, 0, 0); transform: scale(.1) translate3d(-2000px, 0, 0); -webkit-transform-origin: left center; transform-origin: left center; } } .zoomOutLeft { -webkit-animation-name: zoomOutLeft; animation-name: zoomOutLeft; } @-webkit-keyframes zoomOutRight { 40% { opacity: 1; -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); } to { opacity: 0; -webkit-transform: scale(.1) translate3d(2000px, 0, 0); transform: scale(.1) translate3d(2000px, 0, 0); -webkit-transform-origin: right center; transform-origin: right center; } } @keyframes zoomOutRight { 40% { opacity: 1; -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0); } to { opacity: 0; -webkit-transform: scale(.1) translate3d(2000px, 0, 0); transform: scale(.1) translate3d(2000px, 0, 0); -webkit-transform-origin: right center; transform-origin: right center; } } .zoomOutRight { -webkit-animation-name: zoomOutRight; animation-name: zoomOutRight; } @-webkit-keyframes zoomOutUp { 40% { opacity: 1; -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); } to { opacity: 0; -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); -webkit-transform-origin: center bottom; transform-origin: center bottom; -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); } } @keyframes zoomOutUp { 40% { opacity: 1; -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0); -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190); } to { opacity: 0; -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0); -webkit-transform-origin: center bottom; transform-origin: center bottom; -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); } } .zoomOutUp { -webkit-animation-name: zoomOutUp; animation-name: zoomOutUp; } @-webkit-keyframes slideInDown { from { -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); visibility: visible; } to { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } @keyframes slideInDown { from { -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); visibility: visible; } to { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } .slideInDown { -webkit-animation-name: slideInDown; animation-name: slideInDown; } @-webkit-keyframes slideInLeft { from { -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); visibility: visible; } to { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } @keyframes slideInLeft { from { -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); visibility: visible; } to { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } .slideInLeft { -webkit-animation-name: slideInLeft; animation-name: slideInLeft; } @-webkit-keyframes slideInRight { from { -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); visibility: visible; } to { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } @keyframes slideInRight { from { -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); visibility: visible; } to { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } .slideInRight { -webkit-animation-name: slideInRight; animation-name: slideInRight; } @-webkit-keyframes slideInUp { from { -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); visibility: visible; } to { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } @keyframes slideInUp { from { -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); visibility: visible; } to { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } .slideInUp { -webkit-animation-name: slideInUp; animation-name: slideInUp; } @-webkit-keyframes slideOutDown { from { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } to { visibility: hidden; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } } @keyframes slideOutDown { from { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } to { visibility: hidden; -webkit-transform: translate3d(0, 100%, 0); transform: translate3d(0, 100%, 0); } } .slideOutDown { -webkit-animation-name: slideOutDown; animation-name: slideOutDown; } @-webkit-keyframes slideOutLeft { from { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } to { visibility: hidden; -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); } } @keyframes slideOutLeft { from { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } to { visibility: hidden; -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); } } .slideOutLeft { -webkit-animation-name: slideOutLeft; animation-name: slideOutLeft; } @-webkit-keyframes slideOutRight { from { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } to { visibility: hidden; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); } } @keyframes slideOutRight { from { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } to { visibility: hidden; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); } } .slideOutRight { -webkit-animation-name: slideOutRight; animation-name: slideOutRight; } @-webkit-keyframes slideOutUp { from { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } to { visibility: hidden; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); } } @keyframes slideOutUp { from { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } to { visibility: hidden; -webkit-transform: translate3d(0, -100%, 0); transform: translate3d(0, -100%, 0); } } .slideOutUp { -webkit-animation-name: slideOutUp; animation-name: slideOutUp; } .react-toggle { display: inline-block; position: relative; cursor: pointer; background-color: transparent; border: 0; padding: 0; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-tap-highlight-color: rgba(0,0,0,0); -webkit-tap-highlight-color: transparent; } .react-toggle-screenreader-only { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; } .react-toggle--disabled { cursor: not-allowed; opacity: 0.5; -webkit-transition: opacity 0.25s; transition: opacity 0.25s; } .react-toggle-track { width: 50px; height: 24px; padding: 0; border-radius: 30px; background-color: #4D4D4D; -webkit-transition: all 0.2s ease; -moz-transition: all 0.2s ease; transition: all 0.2s ease; } .react-toggle:hover:not(.react-toggle--disabled) .react-toggle-track { background-color: #000000; } .react-toggle--checked .react-toggle-track { background-color: #19AB27; } .react-toggle--checked:hover:not(.react-toggle--disabled) .react-toggle-track { background-color: #128D15; } .react-toggle-track-check { position: absolute; width: 14px; height: 10px; top: 0px; bottom: 0px; margin-top: auto; margin-bottom: auto; line-height: 0; left: 8px; opacity: 0; -webkit-transition: opacity 0.25s ease; -moz-transition: opacity 0.25s ease; transition: opacity 0.25s ease; } .react-toggle--checked .react-toggle-track-check { opacity: 1; -webkit-transition: opacity 0.25s ease; -moz-transition: opacity 0.25s ease; transition: opacity 0.25s ease; } .react-toggle-track-x { position: absolute; width: 10px; height: 10px; top: 0px; bottom: 0px; margin-top: auto; margin-bottom: auto; line-height: 0; right: 10px; opacity: 1; -webkit-transition: opacity 0.25s ease; -moz-transition: opacity 0.25s ease; transition: opacity 0.25s ease; } .react-toggle--checked .react-toggle-track-x { opacity: 0; } .react-toggle-thumb { transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1) 0ms; position: absolute; top: 1px; left: 1px; width: 22px; height: 22px; border: 1px solid #4D4D4D; border-radius: 50%; background-color: #FAFAFA; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; -webkit-transition: all 0.25s ease; -moz-transition: all 0.25s ease; transition: all 0.25s ease; } .react-toggle--checked .react-toggle-thumb { left: 27px; border-color: #19AB27; } .react-toggle--focus .react-toggle-thumb { -webkit-box-shadow: 0px 0px 3px 2px #0099E0; -moz-box-shadow: 0px 0px 3px 2px #0099E0; box-shadow: 0px 0px 2px 3px #0099E0; } .react-toggle:active:not(.react-toggle--disabled) .react-toggle-thumb { -webkit-box-shadow: 0px 0px 5px 5px #0099E0; -moz-box-shadow: 0px 0px 5px 5px #0099E0; box-shadow: 0px 0px 5px 5px #0099E0; } .react-bs-table-container .react-bs-table-search-form{margin-bottom:0}.react-bs-table table{margin-bottom:0;table-layout:fixed}.react-bs-table table td,.react-bs-table table th{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.react-bs-table{border:1px solid #ddd;border-radius:5px;margin:5px 10px}.react-bs-table-pagination{margin:10px}.react-bs-table-tool-bar{margin:10px 10px 0}.react-bs-container-header{overflow:hidden;width:100%}.react-bs-container-body{overflow:auto;width:100%}.react-bs-table .table-bordered{border:0}.react-bs-table .table-bordered>thead>tr>td,.react-bs-table .table-bordered>thead>tr>th{border-bottom-width:2px}.react-bs-table .table-bordered>tfoot>tr>td,.react-bs-table .table-bordered>tfoot>tr>th{border-top-width:2px;border-bottom-width:0}.react-bs-table .table-bordered>tbody>tr>td:first-child,.react-bs-table .table-bordered>tbody>tr>th:first-child,.react-bs-table .table-bordered>tfoot>tr>td:first-child,.react-bs-table .table-bordered>tfoot>tr>th:first-child,.react-bs-table .table-bordered>thead>tr>td:first-child,.react-bs-table .table-bordered>thead>tr>th:first-child{border-left-width:0}.react-bs-table .table-bordered>tbody>tr>td:last-child,.react-bs-table .table-bordered>tbody>tr>th:last-child,.react-bs-table .table-bordered>tfoot>tr>td:last-child,.react-bs-table .table-bordered>tfoot>tr>th:last-child,.react-bs-table .table-bordered>thead>tr>td:last-child,.react-bs-table .table-bordered>thead>tr>th:last-child{border-right-width:0}.react-bs-table .table-bordered>thead>tr:first-child>td,.react-bs-table .table-bordered>thead>tr:first-child>th{border-top-width:0}.react-bs-table .table-bordered>tfoot>tr:last-child>td,.react-bs-table .table-bordered>tfoot>tr:last-child>th{border-bottom-width:0}.react-bs-table .react-bs-container-header>table>thead>tr>th{vertical-align:middle}.react-bs-table .react-bs-container-header>table>thead>tr>th .filter{font-weight:400}.react-bs-table .react-bs-container-header>table>thead>tr>th .filter::-webkit-input-placeholder,.react-bs-table .react-bs-container-header>table>thead>tr>th .number-filter-input::-webkit-input-placeholder,.react-bs-table .react-bs-container-header>table>thead>tr>th .select-filter option[value=''],.react-bs-table .react-bs-container-header>table>thead>tr>th .select-filter.placeholder-selected{color:#d3d3d3;font-style:italic}.react-bs-table .react-bs-container-header>table>thead>tr>th .select-filter.placeholder-selected option:not([value='']){color:initial;font-style:initial}.react-bs-table .react-bs-container-header>table>thead>tr>th .date-filter,.react-bs-table .react-bs-container-header>table>thead>tr>th .number-filter{display:flex}.react-bs-table .react-bs-container-header>table>thead>tr>th .date-filter-input,.react-bs-table .react-bs-container-header>table>thead>tr>th .number-filter-input{margin-left:5px;float:left;width:calc(100% - 67px - 5px)}.react-bs-table .react-bs-container-header>table>thead>tr>th .date-filter-comparator,.react-bs-table .react-bs-container-header>table>thead>tr>th .number-filter-comparator{width:67px;float:left}.react-bs-table .react-bs-container-header .sort-column{cursor:pointer}.react-bs-container .textarea-save-btn{position:absolute;z-index:100;right:0;top:-21px}.react-bs-table-no-data{text-align:center}.animated{animation-fill-mode:both}.animated.bounceIn,.animated.bounceOut{animation-duration:.75s}.animated.shake{animation-duration:.3s}@keyframes shake{from,to{transform:translate3d(0,0,0)}10%,50%,90%{transform:translate3d(-10px,0,0)}30%,70%{transform:translate3d(10px,0,0)}}.shake{animation-name:shake}@keyframes bounceIn{20%,40%,60%,80%,from,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:scale3d(.3,.3,.3)}20%{transform:scale3d(1.1,1.1,1.1)}40%{transform:scale3d(.9,.9,.9)}60%{opacity:1;transform:scale3d(1.03,1.03,1.03)}80%{transform:scale3d(.97,.97,.97)}to{opacity:1;transform:scale3d(1,1,1)}}.bounceIn{animation-name:bounceIn}@keyframes bounceOut{20%{transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;transform:scale3d(1.1,1.1,1.1)}to{opacity:0;transform:scale3d(.3,.3,.3)}}.bounceOut{animation-name:bounceOut}.toast-title{font-weight:700}.toast-message{-ms-word-wrap:break-word;word-wrap:break-word}.toast-message a,.toast-message label{color:#fff}.toast-message a:hover{color:#ccc;text-decoration:none}.toast-close-button{position:relative;right:-.3em;top:-.3em;float:right;font-size:20px;font-weight:700;color:#fff;-webkit-text-shadow:0 1px 0 #fff;text-shadow:0 1px 0 #fff;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80)}.toast-top-center,.toast-top-full-width{top:0;right:0;width:100%}.toast-close-button:focus,.toast-close-button:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}button.toast-close-button{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}#toast-container{position:fixed;z-index:999999}#toast-container *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#toast-container>div{position:relative;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;background-position:15px center;background-repeat:no-repeat;-moz-box-shadow:0 0 12px #999;-webkit-box-shadow:0 0 12px #999;box-shadow:0 0 12px #999;color:#fff;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80)}#toast-container>:hover{-moz-box-shadow:0 0 12px #000;-webkit-box-shadow:0 0 12px #000;box-shadow:0 0 12px #000;opacity:1;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);filter:alpha(opacity=100);cursor:pointer}#toast-container>.toast-info{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=)!important}#toast-container>.toast-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=)!important}#toast-container>.toast-success{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==)!important}#toast-container>.toast-warning{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=)!important}#toast-container.toast-bottom-center>div,#toast-container.toast-top-center>div{width:300px;margin:auto}#toast-container.toast-bottom-full-width>div,#toast-container.toast-top-full-width>div{width:96%;margin:auto}.toast{background-color:#030303}.toast-success{background-color:#51a351}.toast-error{background-color:#bd362f}.toast-info{background-color:#2f96b4}.toast-warning{background-color:#f89406}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}@media all and (max-width:240px){#toast-container>div{padding:8px 8px 8px 50px;width:11em}#toast-container .toast-close-button{right:-.2em;top:-.2em}}@media all and (min-width:241px) and (max-width:480px){#toast-container>div{padding:8px 8px 8px 50px;width:18em}#toast-container .toast-close-button{right:-.2em;top:-.2em}}@media all and (min-width:481px) and (max-width:768px){#toast-container>div{padding:15px 15px 15px 50px;width:25em}}@font-face{font-family:Charter;src:url(/client/fonts/charter-regular.0c4500a9d203a33bd879a9a0bee1190d.woff)}@font-face{font-family:Charter;src:url(/client/fonts/charter-bold.78342dfad83c591ee5e926f2ffbd0671.woff);font-weight:700}@font-face{font-family:Charter;src:url(/client/fonts/charter-italic.a043b97f0bac1546f96bc31abd6956bb.woff);font-style:italic}@font-face{font-family:Charter;src:url(/client/fonts/charter-bold-italic.e5c78e2789ec748d8c7f5adccad90e0b.woff);font-weight:700;font-style:italic}@font-face{font-family:Fira Sans;src:url(/client/fonts/fira-sans-bold.5310ca5fb41a915987df5663660da770.otf);font-weight:700}@font-face{font-family:Fira Sans;src:url(/client/fonts/fira-sans-semi-bold.3de79d2eb33e18bba8f5f5834a3d9d05.otf);font-weight:500}@font-face{font-family:Fira Sans;src:url(/client/fonts/fira-sans-light.7dd0ad25580893d980bbf0475f88aead.otf);font-weight:300}@font-face{font-family:Source Code Pro;src:url(/client/fonts/source-code-pro-regular.7e5b1b977ba8a582d81367d2940e8150.woff)}@font-face{font-family:Source Code Pro;src:url(/client/fonts/source-code-pro-bold.b78a2d32658068a52eab4b7f8f7d366e.woff);font-weight:700}@font-face{font-family:FontAwesome;src:url(/client/fonts/fontawesome-webfont.674f50d287a8c48dc19ba404d20fe713.eot);src:url(/client/fonts/fontawesome-webfont.674f50d287a8c48dc19ba404d20fe713.eot?#iefix&v=4.7.0) format("embedded-opentype"),url(/client/fonts/fontawesome-webfont.af7ae505a9eed503f8b8e6982036873e.woff2) format("woff2"),url(/client/fonts/fontawesome-webfont.fee66e712a8a08eef5805a46892932ad.woff) format("woff"),url(/client/fonts/fontawesome-webfont.b06871f281fee6b241d60582ae9369b9.ttf) format("truetype"),url(data:image/svg+xml;base64,PHN2Zy8+#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\F000"}.fa-music:before{content:"\F001"}.fa-search:before{content:"\F002"}.fa-envelope-o:before{content:"\F003"}.fa-heart:before{content:"\F004"}.fa-star:before{content:"\F005"}.fa-star-o:before{content:"\F006"}.fa-user:before{content:"\F007"}.fa-film:before{content:"\F008"}.fa-th-large:before{content:"\F009"}.fa-th:before{content:"\F00A"}.fa-th-list:before{content:"\F00B"}.fa-check:before{content:"\F00C"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\F00D"}.fa-search-plus:before{content:"\F00E"}.fa-search-minus:before{content:"\F010"}.fa-power-off:before{content:"\F011"}.fa-signal:before{content:"\F012"}.fa-cog:before,.fa-gear:before{content:"\F013"}.fa-trash-o:before{content:"\F014"}.fa-home:before{content:"\F015"}.fa-file-o:before{content:"\F016"}.fa-clock-o:before{content:"\F017"}.fa-road:before{content:"\F018"}.fa-download:before{content:"\F019"}.fa-arrow-circle-o-down:before{content:"\F01A"}.fa-arrow-circle-o-up:before{content:"\F01B"}.fa-inbox:before{content:"\F01C"}.fa-play-circle-o:before{content:"\F01D"}.fa-repeat:before,.fa-rotate-right:before{content:"\F01E"}.fa-refresh:before{content:"\F021"}.fa-list-alt:before{content:"\F022"}.fa-lock:before{content:"\F023"}.fa-flag:before{content:"\F024"}.fa-headphones:before{content:"\F025"}.fa-volume-off:before{content:"\F026"}.fa-volume-down:before{content:"\F027"}.fa-volume-up:before{content:"\F028"}.fa-qrcode:before{content:"\F029"}.fa-barcode:before{content:"\F02A"}.fa-tag:before{content:"\F02B"}.fa-tags:before{content:"\F02C"}.fa-book:before{content:"\F02D"}.fa-bookmark:before{content:"\F02E"}.fa-print:before{content:"\F02F"}.fa-camera:before{content:"\F030"}.fa-font:before{content:"\F031"}.fa-bold:before{content:"\F032"}.fa-italic:before{content:"\F033"}.fa-text-height:before{content:"\F034"}.fa-text-width:before{content:"\F035"}.fa-align-left:before{content:"\F036"}.fa-align-center:before{content:"\F037"}.fa-align-right:before{content:"\F038"}.fa-align-justify:before{content:"\F039"}.fa-list:before{content:"\F03A"}.fa-dedent:before,.fa-outdent:before{content:"\F03B"}.fa-indent:before{content:"\F03C"}.fa-video-camera:before{content:"\F03D"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\F03E"}.fa-pencil:before{content:"\F040"}.fa-map-marker:before{content:"\F041"}.fa-adjust:before{content:"\F042"}.fa-tint:before{content:"\F043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\F044"}.fa-share-square-o:before{content:"\F045"}.fa-check-square-o:before{content:"\F046"}.fa-arrows:before{content:"\F047"}.fa-step-backward:before{content:"\F048"}.fa-fast-backward:before{content:"\F049"}.fa-backward:before{content:"\F04A"}.fa-play:before{content:"\F04B"}.fa-pause:before{content:"\F04C"}.fa-stop:before{content:"\F04D"}.fa-forward:before{content:"\F04E"}.fa-fast-forward:before{content:"\F050"}.fa-step-forward:before{content:"\F051"}.fa-eject:before{content:"\F052"}.fa-chevron-left:before{content:"\F053"}.fa-chevron-right:before{content:"\F054"}.fa-plus-circle:before{content:"\F055"}.fa-minus-circle:before{content:"\F056"}.fa-times-circle:before{content:"\F057"}.fa-check-circle:before{content:"\F058"}.fa-question-circle:before{content:"\F059"}.fa-info-circle:before{content:"\F05A"}.fa-crosshairs:before{content:"\F05B"}.fa-times-circle-o:before{content:"\F05C"}.fa-check-circle-o:before{content:"\F05D"}.fa-ban:before{content:"\F05E"}.fa-arrow-left:before{content:"\F060"}.fa-arrow-right:before{content:"\F061"}.fa-arrow-up:before{content:"\F062"}.fa-arrow-down:before{content:"\F063"}.fa-mail-forward:before,.fa-share:before{content:"\F064"}.fa-expand:before{content:"\F065"}.fa-compress:before{content:"\F066"}.fa-plus:before{content:"\F067"}.fa-minus:before{content:"\F068"}.fa-asterisk:before{content:"\F069"}.fa-exclamation-circle:before{content:"\F06A"}.fa-gift:before{content:"\F06B"}.fa-leaf:before{content:"\F06C"}.fa-fire:before{content:"\F06D"}.fa-eye:before{content:"\F06E"}.fa-eye-slash:before{content:"\F070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\F071"}.fa-plane:before{content:"\F072"}.fa-calendar:before{content:"\F073"}.fa-random:before{content:"\F074"}.fa-comment:before{content:"\F075"}.fa-magnet:before{content:"\F076"}.fa-chevron-up:before{content:"\F077"}.fa-chevron-down:before{content:"\F078"}.fa-retweet:before{content:"\F079"}.fa-shopping-cart:before{content:"\F07A"}.fa-folder:before{content:"\F07B"}.fa-folder-open:before{content:"\F07C"}.fa-arrows-v:before{content:"\F07D"}.fa-arrows-h:before{content:"\F07E"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\F080"}.fa-twitter-square:before{content:"\F081"}.fa-facebook-square:before{content:"\F082"}.fa-camera-retro:before{content:"\F083"}.fa-key:before{content:"\F084"}.fa-cogs:before,.fa-gears:before{content:"\F085"}.fa-comments:before{content:"\F086"}.fa-thumbs-o-up:before{content:"\F087"}.fa-thumbs-o-down:before{content:"\F088"}.fa-star-half:before{content:"\F089"}.fa-heart-o:before{content:"\F08A"}.fa-sign-out:before{content:"\F08B"}.fa-linkedin-square:before{content:"\F08C"}.fa-thumb-tack:before{content:"\F08D"}.fa-external-link:before{content:"\F08E"}.fa-sign-in:before{content:"\F090"}.fa-trophy:before{content:"\F091"}.fa-github-square:before{content:"\F092"}.fa-upload:before{content:"\F093"}.fa-lemon-o:before{content:"\F094"}.fa-phone:before{content:"\F095"}.fa-square-o:before{content:"\F096"}.fa-bookmark-o:before{content:"\F097"}.fa-phone-square:before{content:"\F098"}.fa-twitter:before{content:"\F099"}.fa-facebook-f:before,.fa-facebook:before{content:"\F09A"}.fa-github:before{content:"\F09B"}.fa-unlock:before{content:"\F09C"}.fa-credit-card:before{content:"\F09D"}.fa-feed:before,.fa-rss:before{content:"\F09E"}.fa-hdd-o:before{content:"\F0A0"}.fa-bullhorn:before{content:"\F0A1"}.fa-bell:before{content:"\F0F3"}.fa-certificate:before{content:"\F0A3"}.fa-hand-o-right:before{content:"\F0A4"}.fa-hand-o-left:before{content:"\F0A5"}.fa-hand-o-up:before{content:"\F0A6"}.fa-hand-o-down:before{content:"\F0A7"}.fa-arrow-circle-left:before{content:"\F0A8"}.fa-arrow-circle-right:before{content:"\F0A9"}.fa-arrow-circle-up:before{content:"\F0AA"}.fa-arrow-circle-down:before{content:"\F0AB"}.fa-globe:before{content:"\F0AC"}.fa-wrench:before{content:"\F0AD"}.fa-tasks:before{content:"\F0AE"}.fa-filter:before{content:"\F0B0"}.fa-briefcase:before{content:"\F0B1"}.fa-arrows-alt:before{content:"\F0B2"}.fa-group:before,.fa-users:before{content:"\F0C0"}.fa-chain:before,.fa-link:before{content:"\F0C1"}.fa-cloud:before{content:"\F0C2"}.fa-flask:before{content:"\F0C3"}.fa-cut:before,.fa-scissors:before{content:"\F0C4"}.fa-copy:before,.fa-files-o:before{content:"\F0C5"}.fa-paperclip:before{content:"\F0C6"}.fa-floppy-o:before,.fa-save:before{content:"\F0C7"}.fa-square:before{content:"\F0C8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\F0C9"}.fa-list-ul:before{content:"\F0CA"}.fa-list-ol:before{content:"\F0CB"}.fa-strikethrough:before{content:"\F0CC"}.fa-underline:before{content:"\F0CD"}.fa-table:before{content:"\F0CE"}.fa-magic:before{content:"\F0D0"}.fa-truck:before{content:"\F0D1"}.fa-pinterest:before{content:"\F0D2"}.fa-pinterest-square:before{content:"\F0D3"}.fa-google-plus-square:before{content:"\F0D4"}.fa-google-plus:before{content:"\F0D5"}.fa-money:before{content:"\F0D6"}.fa-caret-down:before{content:"\F0D7"}.fa-caret-up:before{content:"\F0D8"}.fa-caret-left:before{content:"\F0D9"}.fa-caret-right:before{content:"\F0DA"}.fa-columns:before{content:"\F0DB"}.fa-sort:before,.fa-unsorted:before{content:"\F0DC"}.fa-sort-desc:before,.fa-sort-down:before{content:"\F0DD"}.fa-sort-asc:before,.fa-sort-up:before{content:"\F0DE"}.fa-envelope:before{content:"\F0E0"}.fa-linkedin:before{content:"\F0E1"}.fa-rotate-left:before,.fa-undo:before{content:"\F0E2"}.fa-gavel:before,.fa-legal:before{content:"\F0E3"}.fa-dashboard:before,.fa-tachometer:before{content:"\F0E4"}.fa-comment-o:before{content:"\F0E5"}.fa-comments-o:before{content:"\F0E6"}.fa-bolt:before,.fa-flash:before{content:"\F0E7"}.fa-sitemap:before{content:"\F0E8"}.fa-umbrella:before{content:"\F0E9"}.fa-clipboard:before,.fa-paste:before{content:"\F0EA"}.fa-lightbulb-o:before{content:"\F0EB"}.fa-exchange:before{content:"\F0EC"}.fa-cloud-download:before{content:"\F0ED"}.fa-cloud-upload:before{content:"\F0EE"}.fa-user-md:before{content:"\F0F0"}.fa-stethoscope:before{content:"\F0F1"}.fa-suitcase:before{content:"\F0F2"}.fa-bell-o:before{content:"\F0A2"}.fa-coffee:before{content:"\F0F4"}.fa-cutlery:before{content:"\F0F5"}.fa-file-text-o:before{content:"\F0F6"}.fa-building-o:before{content:"\F0F7"}.fa-hospital-o:before{content:"\F0F8"}.fa-ambulance:before{content:"\F0F9"}.fa-medkit:before{content:"\F0FA"}.fa-fighter-jet:before{content:"\F0FB"}.fa-beer:before{content:"\F0FC"}.fa-h-square:before{content:"\F0FD"}.fa-plus-square:before{content:"\F0FE"}.fa-angle-double-left:before{content:"\F100"}.fa-angle-double-right:before{content:"\F101"}.fa-angle-double-up:before{content:"\F102"}.fa-angle-double-down:before{content:"\F103"}.fa-angle-left:before{content:"\F104"}.fa-angle-right:before{content:"\F105"}.fa-angle-up:before{content:"\F106"}.fa-angle-down:before{content:"\F107"}.fa-desktop:before{content:"\F108"}.fa-laptop:before{content:"\F109"}.fa-tablet:before{content:"\F10A"}.fa-mobile-phone:before,.fa-mobile:before{content:"\F10B"}.fa-circle-o:before{content:"\F10C"}.fa-quote-left:before{content:"\F10D"}.fa-quote-right:before{content:"\F10E"}.fa-spinner:before{content:"\F110"}.fa-circle:before{content:"\F111"}.fa-mail-reply:before,.fa-reply:before{content:"\F112"}.fa-github-alt:before{content:"\F113"}.fa-folder-o:before{content:"\F114"}.fa-folder-open-o:before{content:"\F115"}.fa-smile-o:before{content:"\F118"}.fa-frown-o:before{content:"\F119"}.fa-meh-o:before{content:"\F11A"}.fa-gamepad:before{content:"\F11B"}.fa-keyboard-o:before{content:"\F11C"}.fa-flag-o:before{content:"\F11D"}.fa-flag-checkered:before{content:"\F11E"}.fa-terminal:before{content:"\F120"}.fa-code:before{content:"\F121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\F122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\F123"}.fa-location-arrow:before{content:"\F124"}.fa-crop:before{content:"\F125"}.fa-code-fork:before{content:"\F126"}.fa-chain-broken:before,.fa-unlink:before{content:"\F127"}.fa-question:before{content:"\F128"}.fa-info:before{content:"\F129"}.fa-exclamation:before{content:"\F12A"}.fa-superscript:before{content:"\F12B"}.fa-subscript:before{content:"\F12C"}.fa-eraser:before{content:"\F12D"}.fa-puzzle-piece:before{content:"\F12E"}.fa-microphone:before{content:"\F130"}.fa-microphone-slash:before{content:"\F131"}.fa-shield:before{content:"\F132"}.fa-calendar-o:before{content:"\F133"}.fa-fire-extinguisher:before{content:"\F134"}.fa-rocket:before{content:"\F135"}.fa-maxcdn:before{content:"\F136"}.fa-chevron-circle-left:before{content:"\F137"}.fa-chevron-circle-right:before{content:"\F138"}.fa-chevron-circle-up:before{content:"\F139"}.fa-chevron-circle-down:before{content:"\F13A"}.fa-html5:before{content:"\F13B"}.fa-css3:before{content:"\F13C"}.fa-anchor:before{content:"\F13D"}.fa-unlock-alt:before{content:"\F13E"}.fa-bullseye:before{content:"\F140"}.fa-ellipsis-h:before{content:"\F141"}.fa-ellipsis-v:before{content:"\F142"}.fa-rss-square:before{content:"\F143"}.fa-play-circle:before{content:"\F144"}.fa-ticket:before{content:"\F145"}.fa-minus-square:before{content:"\F146"}.fa-minus-square-o:before{content:"\F147"}.fa-level-up:before{content:"\F148"}.fa-level-down:before{content:"\F149"}.fa-check-square:before{content:"\F14A"}.fa-pencil-square:before{content:"\F14B"}.fa-external-link-square:before{content:"\F14C"}.fa-share-square:before{content:"\F14D"}.fa-compass:before{content:"\F14E"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\F150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\F151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\F152"}.fa-eur:before,.fa-euro:before{content:"\F153"}.fa-gbp:before{content:"\F154"}.fa-dollar:before,.fa-usd:before{content:"\F155"}.fa-inr:before,.fa-rupee:before{content:"\F156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\F157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\F158"}.fa-krw:before,.fa-won:before{content:"\F159"}.fa-bitcoin:before,.fa-btc:before{content:"\F15A"}.fa-file:before{content:"\F15B"}.fa-file-text:before{content:"\F15C"}.fa-sort-alpha-asc:before{content:"\F15D"}.fa-sort-alpha-desc:before{content:"\F15E"}.fa-sort-amount-asc:before{content:"\F160"}.fa-sort-amount-desc:before{content:"\F161"}.fa-sort-numeric-asc:before{content:"\F162"}.fa-sort-numeric-desc:before{content:"\F163"}.fa-thumbs-up:before{content:"\F164"}.fa-thumbs-down:before{content:"\F165"}.fa-youtube-square:before{content:"\F166"}.fa-youtube:before{content:"\F167"}.fa-xing:before{content:"\F168"}.fa-xing-square:before{content:"\F169"}.fa-youtube-play:before{content:"\F16A"}.fa-dropbox:before{content:"\F16B"}.fa-stack-overflow:before{content:"\F16C"}.fa-instagram:before{content:"\F16D"}.fa-flickr:before{content:"\F16E"}.fa-adn:before{content:"\F170"}.fa-bitbucket:before{content:"\F171"}.fa-bitbucket-square:before{content:"\F172"}.fa-tumblr:before{content:"\F173"}.fa-tumblr-square:before{content:"\F174"}.fa-long-arrow-down:before{content:"\F175"}.fa-long-arrow-up:before{content:"\F176"}.fa-long-arrow-left:before{content:"\F177"}.fa-long-arrow-right:before{content:"\F178"}.fa-apple:before{content:"\F179"}.fa-windows:before{content:"\F17A"}.fa-android:before{content:"\F17B"}.fa-linux:before{content:"\F17C"}.fa-dribbble:before{content:"\F17D"}.fa-skype:before{content:"\F17E"}.fa-foursquare:before{content:"\F180"}.fa-trello:before{content:"\F181"}.fa-female:before{content:"\F182"}.fa-male:before{content:"\F183"}.fa-gittip:before,.fa-gratipay:before{content:"\F184"}.fa-sun-o:before{content:"\F185"}.fa-moon-o:before{content:"\F186"}.fa-archive:before{content:"\F187"}.fa-bug:before{content:"\F188"}.fa-vk:before{content:"\F189"}.fa-weibo:before{content:"\F18A"}.fa-renren:before{content:"\F18B"}.fa-pagelines:before{content:"\F18C"}.fa-stack-exchange:before{content:"\F18D"}.fa-arrow-circle-o-right:before{content:"\F18E"}.fa-arrow-circle-o-left:before{content:"\F190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\F191"}.fa-dot-circle-o:before{content:"\F192"}.fa-wheelchair:before{content:"\F193"}.fa-vimeo-square:before{content:"\F194"}.fa-try:before,.fa-turkish-lira:before{content:"\F195"}.fa-plus-square-o:before{content:"\F196"}.fa-space-shuttle:before{content:"\F197"}.fa-slack:before{content:"\F198"}.fa-envelope-square:before{content:"\F199"}.fa-wordpress:before{content:"\F19A"}.fa-openid:before{content:"\F19B"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\F19C"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\F19D"}.fa-yahoo:before{content:"\F19E"}.fa-google:before{content:"\F1A0"}.fa-reddit:before{content:"\F1A1"}.fa-reddit-square:before{content:"\F1A2"}.fa-stumbleupon-circle:before{content:"\F1A3"}.fa-stumbleupon:before{content:"\F1A4"}.fa-delicious:before{content:"\F1A5"}.fa-digg:before{content:"\F1A6"}.fa-pied-piper-pp:before{content:"\F1A7"}.fa-pied-piper-alt:before{content:"\F1A8"}.fa-drupal:before{content:"\F1A9"}.fa-joomla:before{content:"\F1AA"}.fa-language:before{content:"\F1AB"}.fa-fax:before{content:"\F1AC"}.fa-building:before{content:"\F1AD"}.fa-child:before{content:"\F1AE"}.fa-paw:before{content:"\F1B0"}.fa-spoon:before{content:"\F1B1"}.fa-cube:before{content:"\F1B2"}.fa-cubes:before{content:"\F1B3"}.fa-behance:before{content:"\F1B4"}.fa-behance-square:before{content:"\F1B5"}.fa-steam:before{content:"\F1B6"}.fa-steam-square:before{content:"\F1B7"}.fa-recycle:before{content:"\F1B8"}.fa-automobile:before,.fa-car:before{content:"\F1B9"}.fa-cab:before,.fa-taxi:before{content:"\F1BA"}.fa-tree:before{content:"\F1BB"}.fa-spotify:before{content:"\F1BC"}.fa-deviantart:before{content:"\F1BD"}.fa-soundcloud:before{content:"\F1BE"}.fa-database:before{content:"\F1C0"}.fa-file-pdf-o:before{content:"\F1C1"}.fa-file-word-o:before{content:"\F1C2"}.fa-file-excel-o:before{content:"\F1C3"}.fa-file-powerpoint-o:before{content:"\F1C4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\F1C5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\F1C6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\F1C7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\F1C8"}.fa-file-code-o:before{content:"\F1C9"}.fa-vine:before{content:"\F1CA"}.fa-codepen:before{content:"\F1CB"}.fa-jsfiddle:before{content:"\F1CC"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\F1CD"}.fa-circle-o-notch:before{content:"\F1CE"}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:"\F1D0"}.fa-empire:before,.fa-ge:before{content:"\F1D1"}.fa-git-square:before{content:"\F1D2"}.fa-git:before{content:"\F1D3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\F1D4"}.fa-tencent-weibo:before{content:"\F1D5"}.fa-qq:before{content:"\F1D6"}.fa-wechat:before,.fa-weixin:before{content:"\F1D7"}.fa-paper-plane:before,.fa-send:before{content:"\F1D8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\F1D9"}.fa-history:before{content:"\F1DA"}.fa-circle-thin:before{content:"\F1DB"}.fa-header:before{content:"\F1DC"}.fa-paragraph:before{content:"\F1DD"}.fa-sliders:before{content:"\F1DE"}.fa-share-alt:before{content:"\F1E0"}.fa-share-alt-square:before{content:"\F1E1"}.fa-bomb:before{content:"\F1E2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\F1E3"}.fa-tty:before{content:"\F1E4"}.fa-binoculars:before{content:"\F1E5"}.fa-plug:before{content:"\F1E6"}.fa-slideshare:before{content:"\F1E7"}.fa-twitch:before{content:"\F1E8"}.fa-yelp:before{content:"\F1E9"}.fa-newspaper-o:before{content:"\F1EA"}.fa-wifi:before{content:"\F1EB"}.fa-calculator:before{content:"\F1EC"}.fa-paypal:before{content:"\F1ED"}.fa-google-wallet:before{content:"\F1EE"}.fa-cc-visa:before{content:"\F1F0"}.fa-cc-mastercard:before{content:"\F1F1"}.fa-cc-discover:before{content:"\F1F2"}.fa-cc-amex:before{content:"\F1F3"}.fa-cc-paypal:before{content:"\F1F4"}.fa-cc-stripe:before{content:"\F1F5"}.fa-bell-slash:before{content:"\F1F6"}.fa-bell-slash-o:before{content:"\F1F7"}.fa-trash:before{content:"\F1F8"}.fa-copyright:before{content:"\F1F9"}.fa-at:before{content:"\F1FA"}.fa-eyedropper:before{content:"\F1FB"}.fa-paint-brush:before{content:"\F1FC"}.fa-birthday-cake:before{content:"\F1FD"}.fa-area-chart:before{content:"\F1FE"}.fa-pie-chart:before{content:"\F200"}.fa-line-chart:before{content:"\F201"}.fa-lastfm:before{content:"\F202"}.fa-lastfm-square:before{content:"\F203"}.fa-toggle-off:before{content:"\F204"}.fa-toggle-on:before{content:"\F205"}.fa-bicycle:before{content:"\F206"}.fa-bus:before{content:"\F207"}.fa-ioxhost:before{content:"\F208"}.fa-angellist:before{content:"\F209"}.fa-cc:before{content:"\F20A"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\F20B"}.fa-meanpath:before{content:"\F20C"}.fa-buysellads:before{content:"\F20D"}.fa-connectdevelop:before{content:"\F20E"}.fa-dashcube:before{content:"\F210"}.fa-forumbee:before{content:"\F211"}.fa-leanpub:before{content:"\F212"}.fa-sellsy:before{content:"\F213"}.fa-shirtsinbulk:before{content:"\F214"}.fa-simplybuilt:before{content:"\F215"}.fa-skyatlas:before{content:"\F216"}.fa-cart-plus:before{content:"\F217"}.fa-cart-arrow-down:before{content:"\F218"}.fa-diamond:before{content:"\F219"}.fa-ship:before{content:"\F21A"}.fa-user-secret:before{content:"\F21B"}.fa-motorcycle:before{content:"\F21C"}.fa-street-view:before{content:"\F21D"}.fa-heartbeat:before{content:"\F21E"}.fa-venus:before{content:"\F221"}.fa-mars:before{content:"\F222"}.fa-mercury:before{content:"\F223"}.fa-intersex:before,.fa-transgender:before{content:"\F224"}.fa-transgender-alt:before{content:"\F225"}.fa-venus-double:before{content:"\F226"}.fa-mars-double:before{content:"\F227"}.fa-venus-mars:before{content:"\F228"}.fa-mars-stroke:before{content:"\F229"}.fa-mars-stroke-v:before{content:"\F22A"}.fa-mars-stroke-h:before{content:"\F22B"}.fa-neuter:before{content:"\F22C"}.fa-genderless:before{content:"\F22D"}.fa-facebook-official:before{content:"\F230"}.fa-pinterest-p:before{content:"\F231"}.fa-whatsapp:before{content:"\F232"}.fa-server:before{content:"\F233"}.fa-user-plus:before{content:"\F234"}.fa-user-times:before{content:"\F235"}.fa-bed:before,.fa-hotel:before{content:"\F236"}.fa-viacoin:before{content:"\F237"}.fa-train:before{content:"\F238"}.fa-subway:before{content:"\F239"}.fa-medium:before{content:"\F23A"}.fa-y-combinator:before,.fa-yc:before{content:"\F23B"}.fa-optin-monster:before{content:"\F23C"}.fa-opencart:before{content:"\F23D"}.fa-expeditedssl:before{content:"\F23E"}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:"\F240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\F241"}.fa-battery-2:before,.fa-battery-half:before{content:"\F242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\F243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\F244"}.fa-mouse-pointer:before{content:"\F245"}.fa-i-cursor:before{content:"\F246"}.fa-object-group:before{content:"\F247"}.fa-object-ungroup:before{content:"\F248"}.fa-sticky-note:before{content:"\F249"}.fa-sticky-note-o:before{content:"\F24A"}.fa-cc-jcb:before{content:"\F24B"}.fa-cc-diners-club:before{content:"\F24C"}.fa-clone:before{content:"\F24D"}.fa-balance-scale:before{content:"\F24E"}.fa-hourglass-o:before{content:"\F250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\F251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\F252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\F253"}.fa-hourglass:before{content:"\F254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\F255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\F256"}.fa-hand-scissors-o:before{content:"\F257"}.fa-hand-lizard-o:before{content:"\F258"}.fa-hand-spock-o:before{content:"\F259"}.fa-hand-pointer-o:before{content:"\F25A"}.fa-hand-peace-o:before{content:"\F25B"}.fa-trademark:before{content:"\F25C"}.fa-registered:before{content:"\F25D"}.fa-creative-commons:before{content:"\F25E"}.fa-gg:before{content:"\F260"}.fa-gg-circle:before{content:"\F261"}.fa-tripadvisor:before{content:"\F262"}.fa-odnoklassniki:before{content:"\F263"}.fa-odnoklassniki-square:before{content:"\F264"}.fa-get-pocket:before{content:"\F265"}.fa-wikipedia-w:before{content:"\F266"}.fa-safari:before{content:"\F267"}.fa-chrome:before{content:"\F268"}.fa-firefox:before{content:"\F269"}.fa-opera:before{content:"\F26A"}.fa-internet-explorer:before{content:"\F26B"}.fa-television:before,.fa-tv:before{content:"\F26C"}.fa-contao:before{content:"\F26D"}.fa-500px:before{content:"\F26E"}.fa-amazon:before{content:"\F270"}.fa-calendar-plus-o:before{content:"\F271"}.fa-calendar-minus-o:before{content:"\F272"}.fa-calendar-times-o:before{content:"\F273"}.fa-calendar-check-o:before{content:"\F274"}.fa-industry:before{content:"\F275"}.fa-map-pin:before{content:"\F276"}.fa-map-signs:before{content:"\F277"}.fa-map-o:before{content:"\F278"}.fa-map:before{content:"\F279"}.fa-commenting:before{content:"\F27A"}.fa-commenting-o:before{content:"\F27B"}.fa-houzz:before{content:"\F27C"}.fa-vimeo:before{content:"\F27D"}.fa-black-tie:before{content:"\F27E"}.fa-fonticons:before{content:"\F280"}.fa-reddit-alien:before{content:"\F281"}.fa-edge:before{content:"\F282"}.fa-credit-card-alt:before{content:"\F283"}.fa-codiepie:before{content:"\F284"}.fa-modx:before{content:"\F285"}.fa-fort-awesome:before{content:"\F286"}.fa-usb:before{content:"\F287"}.fa-product-hunt:before{content:"\F288"}.fa-mixcloud:before{content:"\F289"}.fa-scribd:before{content:"\F28A"}.fa-pause-circle:before{content:"\F28B"}.fa-pause-circle-o:before{content:"\F28C"}.fa-stop-circle:before{content:"\F28D"}.fa-stop-circle-o:before{content:"\F28E"}.fa-shopping-bag:before{content:"\F290"}.fa-shopping-basket:before{content:"\F291"}.fa-hashtag:before{content:"\F292"}.fa-bluetooth:before{content:"\F293"}.fa-bluetooth-b:before{content:"\F294"}.fa-percent:before{content:"\F295"}.fa-gitlab:before{content:"\F296"}.fa-wpbeginner:before{content:"\F297"}.fa-wpforms:before{content:"\F298"}.fa-envira:before{content:"\F299"}.fa-universal-access:before{content:"\F29A"}.fa-wheelchair-alt:before{content:"\F29B"}.fa-question-circle-o:before{content:"\F29C"}.fa-blind:before{content:"\F29D"}.fa-audio-description:before{content:"\F29E"}.fa-volume-control-phone:before{content:"\F2A0"}.fa-braille:before{content:"\F2A1"}.fa-assistive-listening-systems:before{content:"\F2A2"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:"\F2A3"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:"\F2A4"}.fa-glide:before{content:"\F2A5"}.fa-glide-g:before{content:"\F2A6"}.fa-sign-language:before,.fa-signing:before{content:"\F2A7"}.fa-low-vision:before{content:"\F2A8"}.fa-viadeo:before{content:"\F2A9"}.fa-viadeo-square:before{content:"\F2AA"}.fa-snapchat:before{content:"\F2AB"}.fa-snapchat-ghost:before{content:"\F2AC"}.fa-snapchat-square:before{content:"\F2AD"}.fa-pied-piper:before{content:"\F2AE"}.fa-first-order:before{content:"\F2B0"}.fa-yoast:before{content:"\F2B1"}.fa-themeisle:before{content:"\F2B2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\F2B3"}.fa-fa:before,.fa-font-awesome:before{content:"\F2B4"}.fa-handshake-o:before{content:"\F2B5"}.fa-envelope-open:before{content:"\F2B6"}.fa-envelope-open-o:before{content:"\F2B7"}.fa-linode:before{content:"\F2B8"}.fa-address-book:before{content:"\F2B9"}.fa-address-book-o:before{content:"\F2BA"}.fa-address-card:before,.fa-vcard:before{content:"\F2BB"}.fa-address-card-o:before,.fa-vcard-o:before{content:"\F2BC"}.fa-user-circle:before{content:"\F2BD"}.fa-user-circle-o:before{content:"\F2BE"}.fa-user-o:before{content:"\F2C0"}.fa-id-badge:before{content:"\F2C1"}.fa-drivers-license:before,.fa-id-card:before{content:"\F2C2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\F2C3"}.fa-quora:before{content:"\F2C4"}.fa-free-code-camp:before{content:"\F2C5"}.fa-telegram:before{content:"\F2C6"}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:"\F2C7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\F2C8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\F2C9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\F2CA"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\F2CB"}.fa-shower:before{content:"\F2CC"}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:"\F2CD"}.fa-podcast:before{content:"\F2CE"}.fa-window-maximize:before{content:"\F2D0"}.fa-window-minimize:before{content:"\F2D1"}.fa-window-restore:before{content:"\F2D2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\F2D3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\F2D4"}.fa-bandcamp:before{content:"\F2D5"}.fa-grav:before{content:"\F2D6"}.fa-etsy:before{content:"\F2D7"}.fa-imdb:before{content:"\F2D8"}.fa-ravelry:before{content:"\F2D9"}.fa-eercast:before{content:"\F2DA"}.fa-microchip:before{content:"\F2DB"}.fa-snowflake-o:before{content:"\F2DC"}.fa-superpowers:before{content:"\F2DD"}.fa-wpexplorer:before{content:"\F2DE"}.fa-meetup:before{content:"\F2E0"}.icon{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:20px}.icon-not-ok:before{content:"\F05C"}.icon-not-ok{color:#c00}.icon-ok:before{content:"\F05D"}.icon-ok{color:#4fd156}.icon-unknown:before{content:"\F29C"}.icon-unknown{color:#c1c1c1}@font-face{font-family:ooni-icons;src:url(/client/fonts/ooni-icons.7f721a571194837f629b6dd86a703ca5.eot);src:url(/client/fonts/ooni-icons.7f721a571194837f629b6dd86a703ca5.eot) format("embedded-opentype"),url(data:application/octet-stream;base64,AAEAAAALAIAAAwAwT1MvMg8SBhUAAAC8AAAAYGNtYXAXVtKUAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5ZuIwf/EAAAF4AAAa/GhlYWQJSWngAAAcdAAAADZoaGVhB8oDzAAAHKwAAAAkaG10eD4AAfAAABzQAAAASGxvY2E3LC+oAAAdGAAAACZtYXhwACMBKgAAHUAAAAAgbmFtZcXq298AAB1gAAABqnBvc3QAAwAAAAAfDAAAACAAAwPeAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpDQPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6Q3//f//AAAAAAAg6QD//f//AAH/4xcEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAAGABb/7AP0A4sAEwAvAEcAYQCBAJEAAAEUDgIjIi4CNTQ+AjMyHgIBMjY3PgE3PgEXHgEXNDYxMAYhICYxFTAeAjMVMjY3LgEnLgEnBiIjIi4CMRUwHgIzJQ4BIyIuAjEXMB4CMzI+AjEwNDUOAScFLwE+ATc2JicuAScmBgcGFhcyNjcfAR4BMzI2NTYmJycOAScuATc+ARceAQcOAQcDMT9skFJSkWw+PmyRUlKQbD/+ciMvBwIfKRZMQgcoFwFl/tj+12QMSqGVbkMmHyoVDA8GDCgjlaFKDQxKoZUBGwRitJWhSw0BDEqhlZShSw4fOBwBLk1MFRUBARgYGD4hRWYBAmFFHToYHk0GDgcSHQEFBM8QJxQqPAEBPiosPAEBEA8DJBUlHBAQHCUVFiUcEBAcJf6TAQEZUCEQJwcBBw0GdW9vlCw2LPEKDQ8lHBMlIwIoMSiqLzkvBwIzKzMrsjA5MC85L3EFDwkCE1EhFzgeID8aGRkBAmJFRWYCExNNUAUFGhMHDgaXDw4BAT4rKjwBAT4rFCUQAAAABAAC/7wEAgO8AFIAVgBrAIwAAAEyFhceARceARceARUUBgcOAQcOAQcOAQcOAQcOAQcOARUGFBUjNTQ2Nz4BNz4BNz4BNz4BNz4BNTQmJy4BIyIGBw4BFSc0Njc+ATc+ATc+ATMxEyM1MwMiDgIVFB4CMzI+AjU0LgIjBxUzNR4DFyMVMw4DBzUjFS4DJzM1Iz4DNwIcER0ODRgKCg8GBQYDAwMIBQULBgcNBwcNBwcMBgIDAV0CAwIGBAUKBQYMBw4SBQUFBgcHDwkKEQYHB2kGBgYRCwsaDw4fERRdXS5quotRUYu6amq7i1BQi7tqLF1PiWlABl1aC0NnhEtdTIVoRAtbXgVCaYtQArYGBQUPCQkWDg0dEA4XCQkPBgcLBAUJBQULBgYPCQQKBwMHBBQNFgkKEAcIDAUGCQQJDwYGDAYJDgUGBQYHBhAIGREcDAwVCAgMBAQF/gpdAp9Ri7pqaruLUFCLu2pquotRSmBgCUZsjFBdS4FkQAhYWQg/ZINLXVGNbEUIAAAAAwAA/8AEAAPAABMANAA6AAABIg4CFRQeAjMyPgI1NC4CBxUzNR4DFyMVMw4DBzUjFS4DJzM1Iz4DNwMnNxcBFwIAarqLUVGLumpquotRUYu6ll1OimhBBl1ZCkRmhEtdTIZnRQpbXwZBaotQG8JjawEQVwPAUYu6amq6i1FRi7pqarqLUUpgYAlFbI1PXkqCZEAIWVkHQGSCS15QjWxFCP1u1ldxAQJlAAAAAAQAI//ABAcDswC9AQ8BGwEnAAABDgEHHgEXDgExDgErASImPQE0JisBIiY9AQ4BBw4BBxceATsBMhYVFAYPAQYWOwEyFh0BFBY7ATIWFRQGKwEiBg8BDgEdARQGKwEiJj0BNCYrASIGHQEUFh8BHgE7ATIWHwEeAR0BFAYPAQ4BDwEGFjsBMhYVFAYrASImPQE0NjsBMjY9ATQmKwEiJj0BNCYrASImLwEuAS8BLgErASImLwEuAT0BMDQ1DgEjDgEVFB4CMzI+AjU0LgInNzA0MTgBMTQwMTA0MTgBMS4BJy4BJy4BJy4BBw4BBw4BBw4BBwYUFx4BFx4BFx4BNz4BNz4BNz4BNz4BNzgBMTA0MTA0MTgBMTQwNTA0MTQwNQUiJjU0NjMyFhUUBiciBhUUFjMyNjU0JgNDCRQJGjAVATQDCQMEAwUFBAwEBQwZDQIFAg0DCQQMBAUEAhIDAgMNAwUFAw4EBAQEKgMJAxEDBAUDAwMFBQMXBAUEAyICCQM5AwkERwMFAwEVAgYCRwIBAwkDBQUDIwMFBQMKAwUFAwoDBQUEDgQIAy4DBgIVAggDCgQHARkCAhAgDxMVLlBsPT5rUS4dNEgrTwEFBBUxGjd+RilRKSRHIjRfKQgPBwkJFTIaN35GKFIoJUchNF8qBw8HBAUB/kRHZGRHR2RkRxciIhcXIiIB/gcOBgcXEAIpAgMFAxwDBQUDIAgPBgICAQkCAwQDAwgCEwMDBQQeBAUDAwMEAgMNAggDMwMFBQMdBAUFBBcECAIbAgMCAiUCBwQDAwkELQMIA0EDAwQDAwUFBFoDBQUECQQFBQM1AwUDAiACBwMkAwUEAzQDCQQdAgECASBLKD5sUC4uUGw+MFdJNw/DAQEBBQoEGS0ULEUPCQEIBhoRG0gpBxAICxkLGS0VLEUPCAEHBxoRGkgpCBAIBAkFAQEBAQEBAa1kR0dkZEdHZOQhGBchIRcYIQAIAAMANAQAAzEAFwApAC0AMQA1AEsA3gD2AAABIS4BKwEiBgcjIgYVERQWMyEyNjURNCYDISImNRE0NjMhMhYVETEUBiMDMxUjEzMRIyczFSMBIg4CFRQeAjMyPgI1NC4CIzETFAYPAQ4BDwEGFjsBMhYVFAYrASImPQE0NjsBMjY9ATQmKwEiJj0BNCYrASImLwEuAS8BLgErASImLwEuAT0BNCYPAT4BNxUUFh8BHgE7ATIWFRQGDwEGFjsBMhYdARQWOwEyFhUUBisBIgYPAQ4BHQEUBisBIiY9ATQmKwEiBh0BFBYfAR4BOwEyFh8BHgEdATEnDgErASImPQE0JisBIiY9AR4BFxQGOQED2f18CxILrwwSCywQFhYQA7AQFxc//KoRGBgRA1YRFxcR1kdHakZG00ZG/t4uUj4jIz5SLi9SPSQkPVIvYAIBEQEEAjYCAgIGAwQEAxoDAwMDBwMEBAMHAwMEAwsCBwMiAgUCEAEGAwcDBQISAgEEAggZSi0DAgwCBwMJAwQDAg4BAQIKAgQEAgsDAwMDIAMGAg0DAwMDAgIEBAMRAwQDAhoCBwIrAwcCNwIEEQIHAgMDBAMDCQMEFyoSKAL4CTAwCRYP/YYPFhYPAnoPFv1yFxACAxAWFhD9/RAXATTTARn+542NAasjPFEuLlE8IyM8US4uUTwj/t4DBwIiAwYCMQICAwMCAwMDRAIEBAIHAwQEAigCBAICGAEGAhsCBAMCJwIHAxUDAwECISwDGgMGAQgCAgMCAgYCDgIDBAIXAwMDAgIDAgIKAQYDJgIEBAIWAwQEAxEDBgIUAgICARwBBgICvgICBAIVAwMEAyEEEw0CHwAAAAEAEP/MA/cDwADqAAABMjY1NCYjIgYPAS4BLwE+ATU0JiMiBhUUFh8BDgEHJzQ2NTQmIyIGFRQWMzI2NxccARUUFhcHLgEjIgYHJz4BNTQmIyIGFRQWMzI2NxcOARUUFhUHLgEjIgYVFBYzMjY/AR4BFxUOARUUFjMyNjU0Jic1PgE3FxQGFRQWMzI2MxcOARUUFhcHMCIxJgYHBhYXFjY3NiYnNx4BMzI2NxcOARUUFjMyNjU0JiMiBgcnNDY1NCYjKgExJz4BNTQmIyIGBycwNDE0Jic3HgEzMjY3Fw4BFRQWMzI2NTQmIyIGByc+ATU8ATU3HgEzA9AQFxcQDxUDwwcZEAMMDxoTEhsUDwMNFAegARcQERcXEQYLBaUDA/wJFgwKEwh3BAYhFhchIRcGCwZ5BQUBrAURCxAXFxAPFgKyCBYNDxQaExMaDwsOFwbkAR8WAwUDJQgKAwNMAQ8eBgUODxAdBgMCA0sECwYJEAeMAQEXEBAYGBAFCgSQARwTAQEnCAgeFgwVB+kEBPsJFw0KEwiDAgIaExIbGxIGCwWCBQXABRIMAuYYEBAYEg0nDRMDVgUXDhMaGhMQGQNVAw8KYQIFAhAYGBAQGAQDZAIFAwcOB/sHCAUGeAYQCRcgIBcWIQMDeggSCgQHBDoIChcQERcTDzsKDQJmAxkQEhsbEg4WBmkEEw4uAgQCFR8BXAYTCwYKBU8GDhAPHgUGDg8IEAhOAwMHBl8DBgMRFxcREBcDAmEDBAMTG2AHEwwVHwsILwEIDwf7CAkGBYIECgQTGxsTEhsDA4EIEgoBAQEnCQwAAAAOAAr/vQPrA70AVABkAHQAhACaAKoAugDHANQA4wDzAQYBEwEjAAABAz4BNTQmIyIGByc+ATU0JiMiBgcnLgEjIgYVFBYXByYiIyIGFRQWFwcqASMiBhUUFhcHDgEVFBYzMjY3JR4BMzI2NxceATMyNjU0JjU3PgE1NCYnJRcOAQclLgEnNx4BMzI2Nzc+ATclHgEXByoBIyIGByc3HgEzMjYzFw4BFQUuASc3JxccARUUFhcHLgEjJiIjKgEjJz4BNwcWMjMXDgEHHAEHMScuAScfAR4BFwcuASMqASMnPgE3BzI2MxcOAQcnLgEnNwMuASc3PgE3Fx4BFwclBTQmNTceATMyNjcXDgE3LgEjIgYHJz4BNwUeARcHFyc+ATU0Jic3HgEzMDIzFw4BBzcuAS8BPgE3Fx4BFwcTJy4BJzcmFjMwMjETDgEHA8UtCQobFAUJBIgJCiAXDhgI2QMWDhAXAgOtAQQCFB0NC1kCAwIVHREOAw8SHRUSHAMBmgUWDggOBcwFEgsRFwFlEBYWEP5MoAMFAv7KAQQCdAUJBggQBxQDAwEBJAEFA3cBAwEGCgWjeQcQCQMFA4wCBP7eAgUDe+zVAwJ+BQwGAgQDAQMBQwQGAi0BAwFECAsDAcwCCAYMzwIJB3MECQUBAQFoBQgCLQIDAmcHCwKjAQoHW2UDBwQDDRQEpQEDA8YBrv5lAccFCwUEBgO6AgQ+BAkFBQgDuAUGAQEyAQQCa9K5AQEDA2sGDgcBAUcGCgI4AgUDSAoNA4ADCwZcRn8DCwh0DBQDASwIDQIBPwELBxMMExwCAowIFQwXIA0LLw0SFxAGCQSzAR0UDhcG5h0UEBgG8AUZEBUdGRIbCw8FBUUJCxcRAgQC+QMZEREZAunOBQoFFQQGA7sCAQQEFQQJBRIECATjAgLT5gQGAZEDCAMTBwsFpF8uAQIBBgwFpwIEAdwCBwQSAeAFEAoBAQE7CA8FODoKEQe5AQL/AwoGHgH+BA4JEQkPBun9zgIDAesDEQwQBQgE8AYbAQEB8gIDAQHHBAccAgICAcQFCwcVBQkFtHM+AwYCBgwEtQME9gQLCBcBAgH7BRMLKAcLBOQBFigKEAXeBAX++gUPCgAACAAAAEUEAAMmAAYACgARACIALgA6AEYAVwAAEzc1BxUXNTcDFxMFNScVFwcVASEiBhURFBYzITI2NRE0JiMFMhYVFAYjIiY1NDYjMhYVFAYjIiY1NDYjMhYVFAYjIiY1NDYBFAYjISImNRE0NjMhMhYVEex61NSpgS+CAQHUenoBbfxOEBcXEAOyEBcXEP0TCw4OCwoPD0MKDw8KCw8PQwsPDwsKDw8DfBgR/LcQGBgQA0kRGAGVNTZVKlU3w/7pDQEWlypVNjUyNwH6FhD9bBAXFxAClBAWLg8LCg8PCgsPDwsKDw8KCw8PCwoPDwoLD/29ERcXEQG6EBgYEP5GAAcAAABFBAADJgAQABwAKAA0AEUAmgDvAAABISIGFREUFjMhMjY1ETQmIwUyFhUUBiMiJjU0NiMyFhUUBiMiJjU0NiMyFhUUBiMiJjU0NgEUBiMhIiY1ETQ2MyEyFhURAQYUHQEUBgcOAQcOASMOATEVMBYXMhYXHgEXHgEdARwBFx4BOwE1IyIGJyY2PQE0JicuAScuAScuATE1MDY3PgE3PgE3PgE9ATQmNz4BOwE1IyIGBwUuAScuAT0BPAEnLgErARUzMhYXFgYdARQWFx4BFx4BFx4BMRUwBgcOAQcOAQcOAR0BFBYHBiYrARUzMjY3NjQ9ATQ2Nz4BNz4BMz4BMTUwJiciJicD2fxOEBcXEAOyEBcXEP0TCw4OCwoPD0MKDw8KCw8PQwsPDwsKDw8DfBgR/LcQGBgQA0kRGP1sCAkCAQoCAgUCAwgJAgMGAgIJAQEJCAgODUIeBgUCAgIGAgMGAwMGAwQIBwMEBgMDCQICBQICAgUGHkINDggBpwIKAQEKCAgNDkIeBgUCAgEEAgIJAwMHAwQGCAQDBQMEBgICBgECAgUGHkIODQgICQECCAICBgMDCAgDAgUCAyYWEP1sEBcXEAKUEBYuDwsKDw8KCw8PCwoPDwoLDw8LCg8PCgsP/b0RFxcRAboQGBgQ/kYBgwgYD0oFBwMDBQIBAwEBLwEBAwECBQMDCAVJDxAJCAIsAgQEAwVGBwwFBQcDAwQBAQIBAgIBBAMDBwUECwZJBAsEBAUsCQmSAgUDAwcFSg8YCAkJLAUEBAsESQYLBAUHAwMEAgECAQIBAQQDAwcFBQwHRgUDBAQCLAIICRAPSQUIAwMFAgEDAQEvAQEDAQAABAAQ/+8D3wO7AIkA4wD8AREAABM2MjEwNjc2FhcyMDEyMDE4ATEeARUUBgcGJicwJicqAScOAR0BFBYfATEeATMyNjcxNz4BPQE0JicGIiMOATEOAScuATU0Njc4ATEwMjEwMjE+ARceATE4ARceAR0BFAYPAQ4BBxUUFjMyNj0BNDYzHgEjIgYdARQGIyImPQE0Ji8BLgE9ATQ2NwEuATc+ATM3LgEnLgE1JjYXPgE3MjYzJyImJyY2NzYWFxYGBxc2Fhc3JjY3NhYXFgYHBiYnBx4BBxc+ATc2FhcWBgcGJicuATUnDgEHBiYPAR4BFx4BBw4BJxM4ATEUBiMiJjU4ATE4ATE0NjMyFhU4ATETIgYVFBYXAwYWJxMeATMyNjU0JiNeAQEaBgQKBAEBCw4QDQUMBhQEAQEBHQEODBYmJzU1JycUDA4BHQEBAQQUBgwFDRAOCwEBBAoEBhsBMR4UEZwEBAEzJCUzTzkHBQwkNE85OFAEBZsSEx0xAewaCxILIhIZCxQHBQQRBBUEDggBAgEsCxMGCAgPDiEIBwQKLBAeC5IBDAwRJQoJChAPHwuRAxMGqAIDAw4hCAgIDw4hCAQCrgIEAgcjBxkECAQaCxIZPBe2OykpOjopKTtYIC0SD4IfPgWDBAkEIC4uIAOtAQsCAQECBBQMDRUDAgECCAIBBxsfeRI1DBUfIyMgFAw1EnkfGwcBAggCAQIDFA4MFAQCAQECCwEHNzR5G0US1AQKBqwkMzMkOThQCiczJDk4UFA4qQYMBdQSRRt5NDcH/EISPxoQEa0EEAsKFAoJGAYJDgUBwgoKDyAJCAkODRsKxQENDEANGQgJChARJQoIBQxADSwLXQIDAQkJDw4hCAkJDwUMBmACAwEEDgGvAgQDEj8aIQEPAXQpOjopKTo6KQIBLiATIQv+1hUXHgEsAQEtICAuABAAXv/BA+ADwQADAAcACwAPABMAFwAcACAAJAAoACwAMAA1ADoAPwBEAAAJAREBATM1IzUzNSM1MzUjNTM1IwMzNSM1MzUjFTUzNSM1MzUjNTM1IzczNSMjMzUjAzM1IxURMzUjFREzNSMVETM1IxUD4P5KAbb9kkhISEhISEhIj0dHR0dHR0dHR0ePSEiPR0eFR0dHR0dHR0cBzP71Agv/AP6jSFJIUkdcSP2QR1JISKRIUkdSSApIR/xSSEgBSEhIAT1ISAE0R0cAAAcAB//ABAADwAANABAAFQAaAB8APwBPAAABIRczESERIREnESERARM1FwUhFSE1FSEVITUVIRUhNRM+AScuAQcOARcUFhcPAQ4BFRQWNzI2PwIeATc+ATcnLgE1JjY3NhYXFgYHIiYnAt3+8DOuAQD9j1EDFP7dD4b+HQHD/j0Bw/49AcP+PSgZGAECbEhJZwIXFlBQBQQeEwgOB1EfGjwfIkIZzRERAj8tLEMBAj8tFSkQA8BS/wD9pAH0Cf2xAtIBLv7si4vYKCiPKSmPKSkByBpDI0hnAgJrSR88GSNWBg8IEx0BBQVWURUUAQEcHCoQKBYsQwEBPywuQwEPDwAHAHP/ygODA8oABAAJAA4AEgAWABoAHgAAAQUhJSEXEQERBQURIREhFyEVIRUhFSEVIRUhFSEVIQHD/swBsQEV/m6oARj+6P4IAcj+OFABIP7gASD+4AEg/uABIP7gA8qoqNT82wEJAtC0BPzYAyhYMDAwMDAwMAADALD/twNbA8EAqADjAR4AAAUUIjkBPgE3PgE1LgEnLgEnLgEnFAYXHgEXHgEHFAYHDgEHLgEnLgEnJjY3PgE3DgEHDgEXHgEXHgEXLgEnNCY1LgEnLgE3PgE3PgE3PgE3DgEHDgEHDgEHBhYXHgEXMBYxHgEXMS4BJy4BJyY2Nz4BNz4BJy4BJx8BHAE1BhYXHgEXHgEOAQcOAQc+ATc+AScuAScuAScuASceARceARceARcWBgcOAQcTPgM3DgEHPgE3DgEHNw4BBy4BMQcWBgcOAQcOARceAxceATMyNjc+ATU0JicuAScuATcwJicxAx4BFxYGFQ4BBy4BJy4BJy4BJyY2Nz4BNw4BBw4BFRQWFx4BFx4BFzgBMTIwMTU+ATc+ATc2JicuAScCGAELFAYJBwENCwcRBgcEAwEIBBgFBgwBBAgFGxcXMBAfMAMDNCkjGQgLGyIxMQMDKykMIxJAIxMGFzMKBAQEE0wqChQKGBEFChYSChYJLE4UBQUECzMYBgscEQ8cDURUAwZbNB5IGAQIBQIKBCQhAgcGBjINDQsCCwoDEQwEBwMSDgkBCAsRJQMFCwIBBggCIw8KCAEHDQsFGxEKFzI5QCM4YiUWRCg2Wx0cHigIFSUQJg4TJl8bNSQEAyE2SSolRyY+eC4xNzQvGT0gDzsPGQwgAQwDAwEBDAkJCQYHCgQEBwICBhQPDAUHDxASCgcEBQkGChUGAQsOAgMCAgIDBAURBCkBCyMWHkYZDjgcDx4LCywbHiUVDCERFi0PETwjHC8NBBENG1AmIFAYFDElIDURGU4oNEkcCBAGDhUWAQQBG1IpDh8OQ0MdBg4HEk4aIEUNCAwGHkVGEh0RK1UbBg0SBwQKBiF7OXRiKxglKwkjFgcjBg4OCRAEHyEWGUUoJ1hbWScOHg8IEQhBVEcHKhknQAcMViMeWxYHOygbLQggZjQXMxACtSFDQUAfEz4zLVouJ1o6bTNpNAkNC0NGDRo8HTVsQytNQTAODAciJihzPj9zKhYmEghBMQsF/mEUMRsTJhIUOxIECgcKFAsJFAsRMxsWEhkWERMUOBkKFgsMFQkOEAEBDBkMDx8RDycVGTISAAAAAAEAAAABAACUYZ/fXw889QALBAAAAAAA0xGSsQAAAADTEZKxAAD/twQHA8oAAAAIAAIAAAAAAAAAAQAAA8D/wAAABAAAAP/5BAcAAQAAAAAAAAAAAAAAAAAAABIEAAAAAAAAAAAAAAACAAAABAAAFgQAAAIEAAAABAAAIwQAAAMEAAAQBAAACgQAAAAEAAAABAAAEAQAAF4EAAAHBAAAcwQAALAAAAAAAAoAFAAeAOwBsgIIA3gEugXuB5QIFAlWCroLIAugC9wNfgAAAAEAAAASASgAEAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAKAAAAAQAAAAAAAgAHAHsAAQAAAAAAAwAKAD8AAQAAAAAABAAKAJAAAQAAAAAABQALAB4AAQAAAAAABgAKAF0AAQAAAAAACgAaAK4AAwABBAkAAQAUAAoAAwABBAkAAgAOAIIAAwABBAkAAwAUAEkAAwABBAkABAAUAJoAAwABBAkABQAWACkAAwABBAkABgAUAGcAAwABBAkACgA0AMhvb25pLWljb25zAG8AbwBuAGkALQBpAGMAbwBuAHNWZXJzaW9uIDEuMABWAGUAcgBzAGkAbwBuACAAMQAuADBvb25pLWljb25zAG8AbwBuAGkALQBpAGMAbwBuAHNvb25pLWljb25zAG8AbwBuAGkALQBpAGMAbwBuAHNSZWd1bGFyAFIAZQBnAHUAbABhAHJvb25pLWljb25zAG8AbwBuAGkALQBpAGMAbwBuAHNGb250IGdlbmVyYXRlZCBieSBJY29Nb29uLgBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format("truetype"),url(data:application/font-woff;base64,d09GRgABAAAAAB94AAsAAAAAHywAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABCAAAAGAAAABgDxIGFWNtYXAAAAFoAAAAVAAAAFQXVtKUZ2FzcAAAAbwAAAAIAAAACAAAABBnbHlmAAABxAAAGvwAABr84jB/8WhlYWQAABzAAAAANgAAADYJSWngaGhlYQAAHPgAAAAkAAAAJAfKA8xobXR4AAAdHAAAAEgAAABIPgAB8GxvY2EAAB1kAAAAJgAAACY3LC+obWF4cAAAHYwAAAAgAAAAIAAjASpuYW1lAAAdrAAAAaoAAAGqxerb33Bvc3QAAB9YAAAAIAAAACAAAwAAAAMD3gGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAA6Q0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADgAAAAKAAgAAgACAAEAIOkN//3//wAAAAAAIOkA//3//wAB/+MXBAADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAABgAW/+wD9AOLABMALwBHAGEAgQCRAAABFA4CIyIuAjU0PgIzMh4CATI2Nz4BNz4BFx4BFzQ2MTAGISAmMRUwHgIzFTI2Ny4BJy4BJwYiIyIuAjEVMB4CMyUOASMiLgIxFzAeAjMyPgIxMDQ1DgEnBS8BPgE3NiYnLgEnJgYHBhYXMjY3HwEeATMyNjU2JicnDgEnLgE3PgEXHgEHDgEHAzE/bJBSUpFsPj5skVJSkGw//nIjLwcCHykWTEIHKBcBZf7Y/tdkDEqhlW5DJh8qFQwPBgwoI5WhSg0MSqGVARsEYrSVoUsNAQxKoZWUoUsOHzgcAS5NTBUVAQEYGBg+IUVmAQJhRR06GB5NBg4HEh0BBQTPECcUKjwBAT4qLDwBARAPAyQVJRwQEBwlFRYlHBAQHCX+kwEBGVAhECcHAQcNBnVvb5QsNizxCg0PJRwTJSMCKDEoqi85LwcCMyszK7IwOTAvOS9xBQ8JAhNRIRc4HiA/GhkZAQJiRUVmAhMTTVAFBRoTBw4Glw8OAQE+Kyo8AQE+KxQlEAAAAAQAAv+8BAIDvABSAFYAawCMAAABMhYXHgEXHgEXHgEVFAYHDgEHDgEHDgEHDgEHDgEHDgEVBhQVIzU0Njc+ATc+ATc+ATc+ATc+ATU0JicuASMiBgcOARUnNDY3PgE3PgE3PgEzMRMjNTMDIg4CFRQeAjMyPgI1NC4CIwcVMzUeAxcjFTMOAwc1IxUuAyczNSM+AzcCHBEdDg0YCgoPBgUGAwMDCAUFCwYHDQcHDQcHDAYCAwFdAgMCBgQFCgUGDAcOEgUFBQYHBw8JChEGBwdpBgYGEQsLGg8OHxEUXV0uarqLUVGLumpqu4tQUIu7aixdT4lpQAZdWgtDZ4RLXUyFaEQLW14FQmmLUAK2BgUFDwkJFg4NHRAOFwkJDwYHCwQFCQUFCwYGDwkECgcDBwQUDRYJChAHCAwFBgkECQ8GBgwGCQ4FBgUGBwYQCBkRHAwMFQgIDAQEBf4KXQKfUYu6amq7i1BQi7tqarqLUUpgYAlGbIxQXUuBZEAIWFkIP2SDS11RjWxFCAAAAAMAAP/ABAADwAATADQAOgAAASIOAhUUHgIzMj4CNTQuAgcVMzUeAxcjFTMOAwc1IxUuAyczNSM+AzcDJzcXARcCAGq6i1FRi7pqarqLUVGLupZdTopoQQZdWQpEZoRLXUyGZ0UKW18GQWqLUBvCY2sBEFcDwFGLumpquotRUYu6amq6i1FKYGAJRWyNT15KgmRACFlZB0BkgkteUI1sRQj9btZXcQECZQAAAAAEACP/wAQHA7MAvQEPARsBJwAAAQ4BBx4BFw4BMQ4BKwEiJj0BNCYrASImPQEOAQcOAQcXHgE7ATIWFRQGDwEGFjsBMhYdARQWOwEyFhUUBisBIgYPAQ4BHQEUBisBIiY9ATQmKwEiBh0BFBYfAR4BOwEyFh8BHgEdARQGDwEOAQ8BBhY7ATIWFRQGKwEiJj0BNDY7ATI2PQE0JisBIiY9ATQmKwEiJi8BLgEvAS4BKwEiJi8BLgE9ATA0NQ4BIw4BFRQeAjMyPgI1NC4CJzcwNDE4ATE0MDEwNDE4ATEuAScuAScuAScuAQcOAQcOAQcOAQcGFBceARceARceATc+ATc+ATc+ATc+ATc4ATEwNDEwNDE4ATE0MDUwNDE0MDUFIiY1NDYzMhYVFAYnIgYVFBYzMjY1NCYDQwkUCRowFQE0AwkDBAMFBQQMBAUMGQ0CBQINAwkEDAQFBAISAwIDDQMFBQMOBAQEBCoDCQMRAwQFAwMDBQUDFwQFBAMiAgkDOQMJBEcDBQMBFQIGAkcCAQMJAwUFAyMDBQUDCgMFBQMKAwUFBA4ECAMuAwYCFQIIAwoEBwEZAgIQIA8TFS5QbD0+a1EuHTRIK08BBQQVMRo3fkYpUSkkRyI0XykIDwcJCRUyGjd+RihSKCVHITRfKgcPBwQFAf5ER2RkR0dkZEcXIiIXFyIiAf4HDgYHFxACKQIDBQMcAwUFAyAIDwYCAgEJAgMEAwMIAhMDAwUEHgQFAwMDBAIDDQIIAzMDBQUDHQQFBQQXBAgCGwIDAgIlAgcEAwMJBC0DCANBAwMEAwMFBQRaAwUFBAkEBQUDNQMFAwIgAgcDJAMFBAM0AwkEHQIBAgEgSyg+bFAuLlBsPjBXSTcPwwEBAQUKBBktFCxFDwkBCAYaERtIKQcQCAsZCxktFSxFDwgBBwcaERpIKQgQCAQJBQEBAQEBAQGtZEdHZGRHR2TkIRgXISEXGCEACAADADQEAAMxABcAKQAtADEANQBLAN4A9gAAASEuASsBIgYHIyIGFREUFjMhMjY1ETQmAyEiJjURNDYzITIWFRExFAYjAzMVIxMzESMnMxUjASIOAhUUHgIzMj4CNTQuAiMxExQGDwEOAQ8BBhY7ATIWFRQGKwEiJj0BNDY7ATI2PQE0JisBIiY9ATQmKwEiJi8BLgEvAS4BKwEiJi8BLgE9ATQmDwE+ATcVFBYfAR4BOwEyFhUUBg8BBhY7ATIWHQEUFjsBMhYVFAYrASIGDwEOAR0BFAYrASImPQE0JisBIgYdARQWHwEeATsBMhYfAR4BHQExJw4BKwEiJj0BNCYrASImPQEeARcUBjkBA9n9fAsSC68MEgssEBYWEAOwEBcXP/yqERgYEQNWERcXEdZHR2pGRtNGRv7eLlI+IyM+Ui4vUj0kJD1SL2ACAREBBAI2AgICBgMEBAMaAwMDAwcDBAQDBwMDBAMLAgcDIgIFAhABBgMHAwUCEgIBBAIIGUotAwIMAgcDCQMEAwIOAQECCgIEBAILAwMDAyADBgINAwMDAwICBAQDEQMEAwIaAgcCKwMHAjcCBBECBwIDAwQDAwkDBBcqEigC+AkwMAkWD/2GDxYWDwJ6Dxb9chcQAgMQFhYQ/f0QFwE00wEZ/ueNjQGrIzxRLi5RPCMjPFEuLlE8I/7eAwcCIgMGAjECAgMDAgMDA0QCBAQCBwMEBAIoAgQCAhgBBgIbAgQDAicCBwMVAwMBAiEsAxoDBgEIAgIDAgIGAg4CAwQCFwMDAwICAwICCgEGAyYCBAQCFgMEBAMRAwYCFAICAgEcAQYCAr4CAgQCFQMDBAMhBBMNAh8AAAABABD/zAP3A8AA6gAAATI2NTQmIyIGDwEuAS8BPgE1NCYjIgYVFBYfAQ4BByc0NjU0JiMiBhUUFjMyNjcXHAEVFBYXBy4BIyIGByc+ATU0JiMiBhUUFjMyNjcXDgEVFBYVBy4BIyIGFRQWMzI2PwEeARcVDgEVFBYzMjY1NCYnNT4BNxcUBhUUFjMyNjMXDgEVFBYXBzAiMSYGBwYWFxY2NzYmJzceATMyNjcXDgEVFBYzMjY1NCYjIgYHJzQ2NTQmIyoBMSc+ATU0JiMiBgcnMDQxNCYnNx4BMzI2NxcOARUUFjMyNjU0JiMiBgcnPgE1PAE1Nx4BMwPQEBcXEA8VA8MHGRADDA8aExIbFA8DDRQHoAEXEBEXFxEGCwWlAwP8CRYMChMIdwQGIRYXISEXBgsGeQUFAawFEQsQFxcQDxYCsggWDQ8UGhMTGg8LDhcG5AEfFgMFAyUICgMDTAEPHgYFDg8QHQYDAgNLBAsGCRAHjAEBFxAQGBgQBQoEkAEcEwEBJwgIHhYMFQfpBAT7CRcNChMIgwICGhMSGxsSBgsFggUFwAUSDALmGBAQGBINJw0TA1YFFw4TGhoTEBkDVQMPCmECBQIQGBgQEBgEA2QCBQMHDgf7BwgFBngGEAkXICAXFiEDA3oIEgoEBwQ6CAoXEBEXEw87Cg0CZgMZEBIbGxIOFgZpBBMOLgIEAhUfAVwGEwsGCgVPBg4QDx4FBg4PCBAITgMDBwZfAwYDERcXERAXAwJhAwQDExtgBxMMFR8LCC8BCA8H+wgJBgWCBAoEExsbExIbAwOBCBIKAQEBJwkMAAAADgAK/70D6wO9AFQAZAB0AIQAmgCqALoAxwDUAOMA8wEGARMBIwAAAQM+ATU0JiMiBgcnPgE1NCYjIgYHJy4BIyIGFRQWFwcmIiMiBhUUFhcHKgEjIgYVFBYXBw4BFRQWMzI2NyUeATMyNjcXHgEzMjY1NCY1Nz4BNTQmJyUXDgEHJS4BJzceATMyNjc3PgE3JR4BFwcqASMiBgcnNx4BMzI2MxcOARUFLgEnNycXHAEVFBYXBy4BIyYiIyoBIyc+ATcHFjIzFw4BBxwBBzEnLgEnHwEeARcHLgEjKgEjJz4BNwcyNjMXDgEHJy4BJzcDLgEnNz4BNxceARcHJQU0JjU3HgEzMjY3Fw4BNy4BIyIGByc+ATcFHgEXBxcnPgE1NCYnNx4BMzAyMxcOAQc3LgEvAT4BNxceARcHEycuASc3JhYzMDIxEw4BBwPFLQkKGxQFCQSICQogFw4YCNkDFg4QFwIDrQEEAhQdDQtZAgMCFR0RDgMPEh0VEhwDAZoFFg4IDgXMBRILERcBZRAWFhD+TKADBQL+ygEEAnQFCQYIEAcUAwMBASQBBQN3AQMBBgoFo3kHEAkDBQOMAgT+3gIFA3vs1QMCfgUMBgIEAwEDAUMEBgItAQMBRAgLAwHMAggGDM8CCQdzBAkFAQEBaAUIAi0CAwJnBwsCowEKB1tlAwcEAw0UBKUBAwPGAa7+ZQHHBQsFBAYDugIEPgQJBQUIA7gFBgEBMgEEAmvSuQEBAwNrBg4HAQFHBgoCOAIFA0gKDQOAAwsGXEZ/AwsIdAwUAwEsCA0CAT8BCwcTDBMcAgKMCBUMFyANCy8NEhcQBgkEswEdFA4XBuYdFBAYBvAFGRAVHRkSGwsPBQVFCQsXEQIEAvkDGRERGQLpzgUKBRUEBgO7AgEEBBUECQUSBAgE4wIC0+YEBgGRAwgDEwcLBaRfLgECAQYMBacCBAHcAgcEEgHgBRAKAQEBOwgPBTg6ChEHuQEC/wMKBh4B/gQOCREJDwbp/c4CAwHrAxEMEAUIBPAGGwEBAfICAwEBxwQHHAICAgHEBQsHFQUJBbRzPgMGAgYMBLUDBPYECwgXAQIB+wUTCygHCwTkARYoChAF3gQF/voFDwoAAAgAAABFBAADJgAGAAoAEQAiAC4AOgBGAFcAABM3NQcVFzU3AxcTBTUnFRcHFQEhIgYVERQWMyEyNjURNCYjBTIWFRQGIyImNTQ2IzIWFRQGIyImNTQ2IzIWFRQGIyImNTQ2ARQGIyEiJjURNDYzITIWFRHsetTUqYEvggEB1Hp6AW38ThAXFxADshAXFxD9EwsODgsKDw9DCg8PCgsPD0MLDw8LCg8PA3wYEfy3EBgYEANJERgBlTU2VSpVN8P+6Q0BFpcqVTY1MjcB+hYQ/WwQFxcQApQQFi4PCwoPDwoLDw8LCg8PCgsPDwsKDw8KCw/9vREXFxEBuhAYGBD+RgAHAAAARQQAAyYAEAAcACgANABFAJoA7wAAASEiBhURFBYzITI2NRE0JiMFMhYVFAYjIiY1NDYjMhYVFAYjIiY1NDYjMhYVFAYjIiY1NDYBFAYjISImNRE0NjMhMhYVEQEGFB0BFAYHDgEHDgEjDgExFTAWFzIWFx4BFx4BHQEcARceATsBNSMiBicmNj0BNCYnLgEnLgEnLgExNTA2Nz4BNz4BNz4BPQE0Jjc+ATsBNSMiBgcFLgEnLgE9ATwBJy4BKwEVMzIWFxYGHQEUFhceARceARceATEVMAYHDgEHDgEHDgEdARQWBwYmKwEVMzI2NzY0PQE0Njc+ATc+ATM+ATE1MCYnIiYnA9n8ThAXFxADshAXFxD9EwsODgsKDw9DCg8PCgsPD0MLDw8LCg8PA3wYEfy3EBgYEANJERj9bAgJAgEKAgIFAgMICQIDBgICCQEBCQgIDg1CHgYFAgICBgIDBgMDBgMECAcDBAYDAwkCAgUCAgIFBh5CDQ4IAacCCgEBCggIDQ5CHgYFAgIBBAICCQMDBwMEBggEAwUDBAYCAgYBAgIFBh5CDg0ICAkBAggCAgYDAwgIAwIFAgMmFhD9bBAXFxAClBAWLg8LCg8PCgsPDwsKDw8KCw8PCwoPDwoLD/29ERcXEQG6EBgYEP5GAYMIGA9KBQcDAwUCAQMBAS8BAQMBAgUDAwgFSQ8QCQgCLAIEBAMFRgcMBQUHAwMEAQECAQICAQQDAwcFBAsGSQQLBAQFLAkJkgIFAwMHBUoPGAgJCSwFBAQLBEkGCwQFBwMDBAIBAgECAQEEAwMHBQUMB0YFAwQEAiwCCAkQD0kFCAMDBQIBAwEBLwEBAwEAAAQAEP/vA98DuwCJAOMA/AERAAATNjIxMDY3NhYXMjAxMjAxOAExHgEVFAYHBiYnMCYnKgEnDgEdARQWHwExHgEzMjY3MTc+AT0BNCYnBiIjDgExDgEnLgE1NDY3OAExMDIxMDIxPgEXHgExOAEXHgEdARQGDwEOAQcVFBYzMjY9ATQ2Mx4BIyIGHQEUBiMiJj0BNCYvAS4BPQE0NjcBLgE3PgEzNy4BJy4BNSY2Fz4BNzI2MyciJicmNjc2FhcWBgcXNhYXNyY2NzYWFxYGBwYmJwceAQcXPgE3NhYXFgYHBiYnLgE1Jw4BBwYmDwEeARceAQcOAScTOAExFAYjIiY1OAExOAExNDYzMhYVOAExEyIGFRQWFwMGFicTHgEzMjY1NCYjXgEBGgYECgQBAQsOEA0FDAYUBAEBAR0BDgwWJic1NScnFAwOAR0BAQEEFAYMBQ0QDgsBAQQKBAYbATEeFBGcBAQBMyQlM085BwUMJDRPOThQBAWbEhMdMQHsGgsSCyISGQsUBwUEEQQVBA4IAQIBLAsTBggIDw4hCAcECiwQHguSAQwMESUKCQoQDx8LkQMTBqgCAwMOIQgICA8OIQgEAq4CBAIHIwcZBAgEGgsSGTwXtjspKTo6KSk7WCAtEg+CHz4FgwQJBCAuLiADrQELAgEBAgQUDA0VAwIBAggCAQcbH3kSNQwVHyMjIBQMNRJ5HxsHAQIIAgECAxQODBQEAgEBAgsBBzc0eRtFEtQECgasJDMzJDk4UAonMyQ5OFBQOKkGDAXUEkUbeTQ3B/xCEj8aEBGtBBALChQKCRgGCQ4FAcIKCg8gCQgJDg0bCsUBDQxADRkICQoQESUKCAUMQA0sC10CAwEJCQ8OIQgJCQ8FDAZgAgMBBA4BrwIEAxI/GiEBDwF0KTo6KSk6OikCAS4gEyEL/tYVFx4BLAEBLSAgLgAQAF7/wQPgA8EAAwAHAAsADwATABcAHAAgACQAKAAsADAANQA6AD8ARAAACQERAQEzNSM1MzUjNTM1IzUzNSMDMzUjNTM1IxU1MzUjNTM1IzUzNSM3MzUjIzM1IwMzNSMVETM1IxURMzUjFREzNSMVA+D+SgG2/ZJISEhISEhISI9HR0dHR0dHR0dHj0hIj0dHhUdHR0dHR0dHAcz+9QIL/wD+o0hSSFJHXEj9kEdSSEikSFJHUkgKSEf8UkhIAUhISAE9SEgBNEdHAAAHAAf/wAQAA8AADQAQABUAGgAfAD8ATwAAASEXMxEhESERJxEhEQETNRcFIRUhNRUhFSE1FSEVITUTPgEnLgEHDgEXFBYXDwEOARUUFjcyNj8CHgE3PgE3Jy4BNSY2NzYWFxYGByImJwLd/vAzrgEA/Y9RAxT+3Q+G/h0Bw/49AcP+PQHD/j0oGRgBAmxISWcCFxZQUAUEHhMIDgdRHxo8HyJCGc0REQI/LSxDAQI/LRUpEAPAUv8A/aQB9An9sQLSAS7+7IuL2CgojykpjykpAcgaQyNIZwICa0kfPBkjVgYPCBMdAQUFVlEVFAEBHBwqECgWLEMBAT8sLkMBDw8ABwBz/8oDgwPKAAQACQAOABIAFgAaAB4AAAEFISUhFxEBEQUFESERIRchFSEVIRUhFSEVIRUhFSEBw/7MAbEBFf5uqAEY/uj+CAHI/jhQASD+4AEg/uABIP7gASD+4APKqKjU/NsBCQLQtAT82AMoWDAwMDAwMDAAAwCw/7cDWwPBAKgA4wEeAAAFFCI5AT4BNz4BNS4BJy4BJy4BJxQGFx4BFx4BBxQGBw4BBy4BJy4BJyY2Nz4BNw4BBw4BFx4BFx4BFy4BJzQmNS4BJy4BNz4BNz4BNz4BNw4BBw4BBw4BBwYWFx4BFzAWMR4BFzEuAScuAScmNjc+ATc+AScuAScfARwBNQYWFx4BFx4BDgEHDgEHPgE3PgEnLgEnLgEnLgEnHgEXHgEXHgEXFgYHDgEHEz4DNw4BBz4BNw4BBzcOAQcuATEHFgYHDgEHDgEXHgMXHgEzMjY3PgE1NCYnLgEnLgE3MCYnMQMeARcWBhUOAQcuAScuAScuAScmNjc+ATcOAQcOARUUFhceARceARc4ATEyMDE1PgE3PgE3NiYnLgEnAhgBCxQGCQcBDQsHEQYHBAMBCAQYBQYMAQQIBRsXFzAQHzADAzQpIxkICxsiMTEDAyspDCMSQCMTBhczCgQEBBNMKgoUChgRBQoWEgoWCSxOFAUFBAszGAYLHBEPHA1EVAMGWzQeSBgECAUCCgQkIQIHBgYyDQ0LAgsKAxEMBAcDEg4JAQgLESUDBQsCAQYIAiMPCggBBw0LBRsRChcyOUAjOGIlFkQoNlsdHB4oCBUlECYOEyZfGzUkBAMhNkkqJUcmPnguMTc0Lxk9IA87DxkMIAEMAwMBAQwJCQkGBwoEBAcCAgYUDwwFBw8QEgoHBAUJBgoVBgELDgIDAgICAwQFEQQpAQsjFh5GGQ44HA8eCwssGx4lFQwhERYtDxE8IxwvDQQRDRtQJiBQGBQxJSA1ERlOKDRJHAgQBg4VFgEEARtSKQ4fDkNDHQYOBxJOGiBFDQgMBh5FRhIdEStVGwYNEgcECgYhezl0YisYJSsJIxYHIwYODgkQBB8hFhlFKCdYW1knDh4PCBEIQVRHByoZJ0AHDFYjHlsWBzsoGy0IIGY0FzMQArUhQ0FAHxM+My1aLidaOm0zaTQJDQtDRg0aPB01bEMrTUEwDgwHIiYocz4/cyoWJhIIQTELBf5hFDEbEyYSFDsSBAoHChQLCRQLETMbFhIZFhETFDgZChYLDBUJDhABAQwZDA8fEQ8nFRkyEgAAAAABAAAAAQAAlGGf318PPPUACwQAAAAAANMRkrEAAAAA0xGSsQAA/7cEBwPKAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAD/+QQHAAEAAAAAAAAAAAAAAAAAAAASBAAAAAAAAAAAAAAAAgAAAAQAABYEAAACBAAAAAQAACMEAAADBAAAEAQAAAoEAAAABAAAAAQAABAEAABeBAAABwQAAHMEAACwAAAAAAAKABQAHgDsAbICCAN4BLoF7geUCBQJVgq6CyALoAvcDX4AAAABAAAAEgEoABAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEACgAAAAEAAAAAAAIABwB7AAEAAAAAAAMACgA/AAEAAAAAAAQACgCQAAEAAAAAAAUACwAeAAEAAAAAAAYACgBdAAEAAAAAAAoAGgCuAAMAAQQJAAEAFAAKAAMAAQQJAAIADgCCAAMAAQQJAAMAFABJAAMAAQQJAAQAFACaAAMAAQQJAAUAFgApAAMAAQQJAAYAFABnAAMAAQQJAAoANADIb29uaS1pY29ucwBvAG8AbgBpAC0AaQBjAG8AbgBzVmVyc2lvbiAxLjAAVgBlAHIAcwBpAG8AbgAgADEALgAwb29uaS1pY29ucwBvAG8AbgBpAC0AaQBjAG8AbgBzb29uaS1pY29ucwBvAG8AbgBpAC0AaQBjAG8AbgBzUmVndWxhcgBSAGUAZwB1AGwAYQByb29uaS1pY29ucwBvAG8AbgBpAC0AaQBjAG8AbgBzRm9udCBnZW5lcmF0ZWQgYnkgSWNvTW9vbi4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format("woff"),url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLz4=) format("svg");font-weight:400;font-style:normal}.ooni{font-family:ooni-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:.9;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-analysis:before{content:"\E900"}.icon-censorship-tampering:before{content:"\E901"}.icon-censorship-vendor:before{content:"\E902"}.icon-censorship-confirmed:before{content:"\E903"}.icon-country-statistics:before{content:"\E904"}.icon-decentralization:before{content:"\E905"}.icon-distributed:before{content:"\E906"}.icon-http-body:before{content:"\E907"}.icon-http-headers:before{content:"\E908"}.icon-measurement:before{content:"\E909"}.icon-progress:before{content:"\E90A"}.icon-research:before{content:"\E90B"}.icon-server:before{content:"\E90C"}.icon-tor:before{content:"\E90D"}html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}[hidden],template{display:none}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,optgroup,select,textarea{font:inherit;margin:0}optgroup{font-weight:700}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}@media print{*,:after,:before,:first-letter,blockquote:first-line,div:first-line,li:first-line,p:first-line{text-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}abbr[title]:after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.tag{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@-ms-viewport{width:device-width}html{font-size:16px;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}body{font-family:Fira Sans;font-size:1rem;line-height:1.5;color:#777;background-color:#f2f2f2}[tabindex="-1"]:focus{outline:none!important}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #d9d9d9}address{font-style:normal;line-height:inherit}address,dl,ol,ul{margin-bottom:1rem}dl,ol,ul{margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}a{color:#0588cb;text-decoration:none}a:focus,a:hover{color:#035680;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:not([href]):not([tabindex]),a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:none}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle}[role=button]{cursor:pointer}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse;background-color:transparent}caption{padding-top:.75rem;padding-bottom:.75rem;color:#d9d9d9;caption-side:bottom}caption,th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,select,textarea{line-height:inherit}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}input[type=search]{-webkit-appearance:none}output{display:inline-block}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.1;color:#0588cb}.h1,h1{font-size:3rem}.h2,.h3,.h4,.h5,h2,h3,h4,h5{font-size:1.5rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300}.display-2{font-size:5.5rem;font-weight:300}.display-3{font-size:4.5rem;font-weight:300}.display-4{font-size:3.5rem;font-weight:300}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:5px}.initialism{font-size:90%;text-transform:uppercase}.blockquote{padding:.5rem 1rem;margin-bottom:1rem;font-size:1.25rem;border-left:.25rem solid #eceeef}.blockquote-footer{display:block;font-size:80%;color:#d9d9d9}.blockquote-footer:before{content:"\2014 \A0"}.blockquote-reverse{padding-right:1rem;padding-left:0;text-align:right;border-right:.25rem solid #eceeef;border-left:0}.blockquote-reverse .blockquote-footer:before{content:""}.blockquote-reverse .blockquote-footer:after{content:"\A0 \2014"}dl.row>dd+dt{clear:left}.carousel-inner>.carousel-item>a>img,.carousel-inner>.carousel-item>img,.img-fluid,.img-thumbnail{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#f2f2f2;border:1px solid #ddd;border-radius:3px;transition:all .2s ease-in-out}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#d9d9d9}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}code{color:#bd4147;background-color:#f7f7f9;border-radius:3px}code,kbd{padding:.2rem .4rem;font-size:90%}kbd{color:#fff;background-color:#333;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;margin-top:0;margin-bottom:1rem;font-size:90%;color:#777}pre code{padding:0;font-size:inherit;color:inherit;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}.container:after{content:"";display:table;clear:both}@media (min-width:576px){.container{width:540px;max-width:100%}}@media (min-width:768px){.container{width:720px;max-width:100%}}@media (min-width:992px){.container{width:960px;max-width:100%}}@media (min-width:1200px){.container{width:1140px;max-width:100%}}.container-fluid{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}.container-fluid:after{content:"";display:table;clear:both}.row{margin-right:-15px;margin-left:-15px}.row:after{content:"";display:table;clear:both}@media (min-width:576px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:768px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:992px){.row{margin-right:-15px;margin-left:-15px}}@media (min-width:1200px){.row{margin-right:-15px;margin-left:-15px}}.col-lg,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-md,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-sm,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-xl,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xs,.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:576px){.col-lg,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-md,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-sm,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-xl,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xs,.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{padding-right:15px;padding-left:15px}}@media (min-width:768px){.col-lg,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-md,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-sm,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-xl,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xs,.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{padding-right:15px;padding-left:15px}}@media (min-width:992px){.col-lg,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-md,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-sm,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-xl,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xs,.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{padding-right:15px;padding-left:15px}}@media (min-width:1200px){.col-lg,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-md,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-sm,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-xl,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xs,.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{padding-right:15px;padding-left:15px}}.col-xs-1{float:left;width:8.33333%}.col-xs-2{float:left;width:16.66667%}.col-xs-3{float:left;width:25%}.col-xs-4{float:left;width:33.33333%}.col-xs-5{float:left;width:41.66667%}.col-xs-6{float:left;width:50%}.col-xs-7{float:left;width:58.33333%}.col-xs-8{float:left;width:66.66667%}.col-xs-9{float:left;width:75%}.col-xs-10{float:left;width:83.33333%}.col-xs-11{float:left;width:91.66667%}.col-xs-12{float:left;width:100%}.pull-xs-0{right:auto}.pull-xs-1{right:8.33333%}.pull-xs-2{right:16.66667%}.pull-xs-3{right:25%}.pull-xs-4{right:33.33333%}.pull-xs-5{right:41.66667%}.pull-xs-6{right:50%}.pull-xs-7{right:58.33333%}.pull-xs-8{right:66.66667%}.pull-xs-9{right:75%}.pull-xs-10{right:83.33333%}.pull-xs-11{right:91.66667%}.pull-xs-12{right:100%}.push-xs-0{left:auto}.push-xs-1{left:8.33333%}.push-xs-2{left:16.66667%}.push-xs-3{left:25%}.push-xs-4{left:33.33333%}.push-xs-5{left:41.66667%}.push-xs-6{left:50%}.push-xs-7{left:58.33333%}.push-xs-8{left:66.66667%}.push-xs-9{left:75%}.push-xs-10{left:83.33333%}.push-xs-11{left:91.66667%}.push-xs-12{left:100%}.offset-xs-1{margin-left:8.33333%}.offset-xs-2{margin-left:16.66667%}.offset-xs-3{margin-left:25%}.offset-xs-4{margin-left:33.33333%}.offset-xs-5{margin-left:41.66667%}.offset-xs-6{margin-left:50%}.offset-xs-7{margin-left:58.33333%}.offset-xs-8{margin-left:66.66667%}.offset-xs-9{margin-left:75%}.offset-xs-10{margin-left:83.33333%}.offset-xs-11{margin-left:91.66667%}@media (min-width:576px){.col-sm-1{float:left;width:8.33333%}.col-sm-2{float:left;width:16.66667%}.col-sm-3{float:left;width:25%}.col-sm-4{float:left;width:33.33333%}.col-sm-5{float:left;width:41.66667%}.col-sm-6{float:left;width:50%}.col-sm-7{float:left;width:58.33333%}.col-sm-8{float:left;width:66.66667%}.col-sm-9{float:left;width:75%}.col-sm-10{float:left;width:83.33333%}.col-sm-11{float:left;width:91.66667%}.col-sm-12{float:left;width:100%}.pull-sm-0{right:auto}.pull-sm-1{right:8.33333%}.pull-sm-2{right:16.66667%}.pull-sm-3{right:25%}.pull-sm-4{right:33.33333%}.pull-sm-5{right:41.66667%}.pull-sm-6{right:50%}.pull-sm-7{right:58.33333%}.pull-sm-8{right:66.66667%}.pull-sm-9{right:75%}.pull-sm-10{right:83.33333%}.pull-sm-11{right:91.66667%}.pull-sm-12{right:100%}.push-sm-0{left:auto}.push-sm-1{left:8.33333%}.push-sm-2{left:16.66667%}.push-sm-3{left:25%}.push-sm-4{left:33.33333%}.push-sm-5{left:41.66667%}.push-sm-6{left:50%}.push-sm-7{left:58.33333%}.push-sm-8{left:66.66667%}.push-sm-9{left:75%}.push-sm-10{left:83.33333%}.push-sm-11{left:91.66667%}.push-sm-12{left:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}}@media (min-width:768px){.col-md-1{float:left;width:8.33333%}.col-md-2{float:left;width:16.66667%}.col-md-3{float:left;width:25%}.col-md-4{float:left;width:33.33333%}.col-md-5{float:left;width:41.66667%}.col-md-6{float:left;width:50%}.col-md-7{float:left;width:58.33333%}.col-md-8{float:left;width:66.66667%}.col-md-9{float:left;width:75%}.col-md-10{float:left;width:83.33333%}.col-md-11{float:left;width:91.66667%}.col-md-12{float:left;width:100%}.pull-md-0{right:auto}.pull-md-1{right:8.33333%}.pull-md-2{right:16.66667%}.pull-md-3{right:25%}.pull-md-4{right:33.33333%}.pull-md-5{right:41.66667%}.pull-md-6{right:50%}.pull-md-7{right:58.33333%}.pull-md-8{right:66.66667%}.pull-md-9{right:75%}.pull-md-10{right:83.33333%}.pull-md-11{right:91.66667%}.pull-md-12{right:100%}.push-md-0{left:auto}.push-md-1{left:8.33333%}.push-md-2{left:16.66667%}.push-md-3{left:25%}.push-md-4{left:33.33333%}.push-md-5{left:41.66667%}.push-md-6{left:50%}.push-md-7{left:58.33333%}.push-md-8{left:66.66667%}.push-md-9{left:75%}.push-md-10{left:83.33333%}.push-md-11{left:91.66667%}.push-md-12{left:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}}@media (min-width:992px){.col-lg-1{float:left;width:8.33333%}.col-lg-2{float:left;width:16.66667%}.col-lg-3{float:left;width:25%}.col-lg-4{float:left;width:33.33333%}.col-lg-5{float:left;width:41.66667%}.col-lg-6{float:left;width:50%}.col-lg-7{float:left;width:58.33333%}.col-lg-8{float:left;width:66.66667%}.col-lg-9{float:left;width:75%}.col-lg-10{float:left;width:83.33333%}.col-lg-11{float:left;width:91.66667%}.col-lg-12{float:left;width:100%}.pull-lg-0{right:auto}.pull-lg-1{right:8.33333%}.pull-lg-2{right:16.66667%}.pull-lg-3{right:25%}.pull-lg-4{right:33.33333%}.pull-lg-5{right:41.66667%}.pull-lg-6{right:50%}.pull-lg-7{right:58.33333%}.pull-lg-8{right:66.66667%}.pull-lg-9{right:75%}.pull-lg-10{right:83.33333%}.pull-lg-11{right:91.66667%}.pull-lg-12{right:100%}.push-lg-0{left:auto}.push-lg-1{left:8.33333%}.push-lg-2{left:16.66667%}.push-lg-3{left:25%}.push-lg-4{left:33.33333%}.push-lg-5{left:41.66667%}.push-lg-6{left:50%}.push-lg-7{left:58.33333%}.push-lg-8{left:66.66667%}.push-lg-9{left:75%}.push-lg-10{left:83.33333%}.push-lg-11{left:91.66667%}.push-lg-12{left:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}}@media (min-width:1200px){.col-xl-1{float:left;width:8.33333%}.col-xl-2{float:left;width:16.66667%}.col-xl-3{float:left;width:25%}.col-xl-4{float:left;width:33.33333%}.col-xl-5{float:left;width:41.66667%}.col-xl-6{float:left;width:50%}.col-xl-7{float:left;width:58.33333%}.col-xl-8{float:left;width:66.66667%}.col-xl-9{float:left;width:75%}.col-xl-10{float:left;width:83.33333%}.col-xl-11{float:left;width:91.66667%}.col-xl-12{float:left;width:100%}.pull-xl-0{right:auto}.pull-xl-1{right:8.33333%}.pull-xl-2{right:16.66667%}.pull-xl-3{right:25%}.pull-xl-4{right:33.33333%}.pull-xl-5{right:41.66667%}.pull-xl-6{right:50%}.pull-xl-7{right:58.33333%}.pull-xl-8{right:66.66667%}.pull-xl-9{right:75%}.pull-xl-10{right:83.33333%}.pull-xl-11{right:91.66667%}.pull-xl-12{right:100%}.push-xl-0{left:auto}.push-xl-1{left:8.33333%}.push-xl-2{left:16.66667%}.push-xl-3{left:25%}.push-xl-4{left:33.33333%}.push-xl-5{left:41.66667%}.push-xl-6{left:50%}.push-xl-7{left:58.33333%}.push-xl-8{left:66.66667%}.push-xl-9{left:75%}.push-xl-10{left:83.33333%}.push-xl-11{left:91.66667%}.push-xl-12{left:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}}.table{width:100%;max-width:100%;margin-bottom:1rem}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #0588cb}.table thead th{vertical-align:bottom;border-bottom:2px solid #0588cb}.table tbody+tbody{border-top:2px solid #0588cb}.table .table{background-color:#f2f2f2}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #0588cb}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th,.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-success,.table-success>td,.table-success>th{background-color:#dff0d8}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#d0e9c6}.table-info,.table-info>td,.table-info>th{background-color:#d9edf7}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#c4e3f3}.table-warning,.table-warning>td,.table-warning>th{background-color:#fcf8e3}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#faf2cc}.table-danger,.table-danger>td,.table-danger>th{background-color:#f2dede}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#ebcccc}.thead-inverse th{color:#fff;background-color:#777}.thead-default th{color:#c1c1c1;background-color:#eceeef}.table-inverse{color:#eceeef;background-color:#777}.table-inverse td,.table-inverse th,.table-inverse thead th{border-color:#c1c1c1}.table-inverse.table-bordered{border:0}.table-responsive{display:block;width:100%;min-height:0;overflow-x:auto}.table-reflow thead{float:left}.table-reflow tbody{display:block;white-space:nowrap}.table-reflow td,.table-reflow th{border-top:1px solid #0588cb;border-left:1px solid #0588cb}.table-reflow td:last-child,.table-reflow th:last-child{border-right:1px solid #0588cb}.table-reflow tbody:last-child tr:last-child td,.table-reflow tbody:last-child tr:last-child th,.table-reflow tfoot:last-child tr:last-child td,.table-reflow tfoot:last-child tr:last-child th,.table-reflow thead:last-child tr:last-child td,.table-reflow thead:last-child tr:last-child th{border-bottom:1px solid #0588cb}.table-reflow tr{float:left}.table-reflow tr td,.table-reflow tr th{display:block!important;border:1px solid #0588cb}.form-control{display:block;width:100%;padding:.5rem .75rem;font-size:1rem;line-height:1.25;color:#c1c1c1;background-color:#fff;background-image:none;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:3px}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#c1c1c1;background-color:#fff;border-color:#66afe9;outline:none}.form-control::-webkit-input-placeholder{color:#999;opacity:1}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999;opacity:1}.form-control::placeholder{color:#999;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#eceeef;opacity:1}.form-control:disabled{cursor:not-allowed}select.form-control:not([size]):not([multiple]){height:calc(2.5rem - 2px)}select.form-control:focus::-ms-value{color:#c1c1c1;background-color:#fff}.form-control-file,.form-control-range{display:block}.col-form-label{padding-top:.5rem;padding-bottom:.5rem;margin-bottom:0}.col-form-label-lg{padding-top:.75rem;padding-bottom:.75rem;font-size:1.25rem}.col-form-label-sm{padding-top:.25rem;padding-bottom:.25rem;font-size:.875rem}.col-form-legend{margin-bottom:0;font-size:1rem}.col-form-legend,.form-control-static{padding-top:.5rem;padding-bottom:.5rem}.form-control-static{line-height:1.25;border:solid transparent;border-width:1px 0}.form-control-static.form-control-lg,.form-control-static.form-control-sm,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-sm>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),.input-group-sm>select.input-group-addon:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:1.8125rem}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.input-group-lg>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),.input-group-lg>select.input-group-addon:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:3.16667rem}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-check{position:relative;display:block;margin-bottom:.75rem}.form-check+.form-check{margin-top:-.25rem}.form-check.disabled .form-check-label{color:#d9d9d9;cursor:not-allowed}.form-check-label{padding-left:1.25rem;margin-bottom:0;cursor:pointer}.form-check-input{position:absolute;margin-top:.25rem;margin-left:-1.25rem}.form-check-input:only-child{position:static}.form-check-inline{position:relative;display:inline-block;padding-left:1.25rem;margin-bottom:0;vertical-align:middle;cursor:pointer}.form-check-inline+.form-check-inline{margin-left:.75rem}.form-check-inline.disabled{color:#d9d9d9;cursor:not-allowed}.form-control-feedback{margin-top:.25rem}.form-control-danger,.form-control-success,.form-control-warning{padding-right:2.25rem;background-repeat:no-repeat;background-position:center right .625rem;background-size:1.25rem 1.25rem}.has-success .custom-control,.has-success .form-check-inline,.has-success .form-check-label,.has-success .form-control-feedback,.has-success .form-control-label{color:#4fd156}.has-success .form-control{border-color:#4fd156}.has-success .form-control:focus{box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #a0e6a4}.has-success .input-group-addon{color:#4fd156;border-color:#4fd156;background-color:#f1fbf1}.has-success .form-control-success{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#4FD156' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E")}.has-warning .custom-control,.has-warning .form-check-inline,.has-warning .form-check-label,.has-warning .form-control-feedback,.has-warning .form-control-label{color:orange}.has-warning .form-control{border-color:orange}.has-warning .form-control:focus{box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ffc966}.has-warning .input-group-addon{color:orange;border-color:orange;background-color:#ffedcc}.has-warning .form-control-warning{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='orange' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E")}.has-danger .custom-control,.has-danger .form-check-inline,.has-danger .form-check-label,.has-danger .form-control-feedback,.has-danger .form-control-label{color:#c00}.has-danger .form-control{border-color:#c00}.has-danger .form-control:focus{box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #f33}.has-danger .input-group-addon{color:#c00;border-color:#c00;background-color:#f99}.has-danger .form-control-danger{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#c00' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E")}@media (min-width:576px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;width:auto;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .form-check,.form-inline .form-control-label{margin-bottom:0;vertical-align:middle}.form-inline .form-check{display:inline-block;margin-top:0}.form-inline .form-check-label{padding-left:0}.form-inline .form-check-input{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.btn{display:inline-block;font-weight:400;line-height:1.25;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.5rem 1rem;font-size:1rem;border-radius:3px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0}.btn.disabled,.btn:disabled{cursor:not-allowed;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#0588cb;border-color:#0588cb}.btn-primary.focus,.btn-primary:focus,.btn-primary:hover{color:#fff;background-color:#046799;border-color:#04608f}.btn-primary.active,.btn-primary:active,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#046799;border-color:#04608f;background-image:none}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.btn-primary.dropdown-toggle.focus,.open>.btn-primary.dropdown-toggle:focus,.open>.btn-primary.dropdown-toggle:hover{color:#fff;background-color:#034f76;border-color:#02354f}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary:disabled.focus,.btn-primary:disabled:focus,.btn-primary:disabled:hover{background-color:#0588cb;border-color:#0588cb}.btn-secondary{color:#0588cb;background-color:#f2f2f2;border-color:#0588cb}.btn-secondary.focus,.btn-secondary:focus,.btn-secondary:hover{color:#0588cb;background-color:#d9d9d9;border-color:#04608f}.btn-secondary.active,.btn-secondary:active,.open>.btn-secondary.dropdown-toggle{color:#0588cb;background-color:#d9d9d9;border-color:#04608f;background-image:none}.btn-secondary.active.focus,.btn-secondary.active:focus,.btn-secondary.active:hover,.btn-secondary:active.focus,.btn-secondary:active:focus,.btn-secondary:active:hover,.open>.btn-secondary.dropdown-toggle.focus,.open>.btn-secondary.dropdown-toggle:focus,.open>.btn-secondary.dropdown-toggle:hover{color:#0588cb;background-color:#c7c7c7;border-color:#02354f}.btn-secondary.disabled.focus,.btn-secondary.disabled:focus,.btn-secondary.disabled:hover,.btn-secondary:disabled.focus,.btn-secondary:disabled:focus,.btn-secondary:disabled:hover{background-color:#f2f2f2;border-color:#0588cb}.btn-info{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-info.focus,.btn-info:focus,.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#2aabd2}.btn-info.active,.btn-info:active,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;border-color:#2aabd2;background-image:none}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.btn-info.dropdown-toggle.focus,.open>.btn-info.dropdown-toggle:focus,.open>.btn-info.dropdown-toggle:hover{color:#fff;background-color:#269abc;border-color:#1f7e9a}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info:disabled.focus,.btn-info:disabled:focus,.btn-info:disabled:hover{background-color:#5bc0de;border-color:#5bc0de}.btn-success{color:#fff;background-color:#4fd156;border-color:#4fd156}.btn-success.focus,.btn-success:focus,.btn-success:hover{color:#fff;background-color:#31bc39;border-color:#2fb436}.btn-success.active,.btn-success:active,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#31bc39;border-color:#2fb436;background-image:none}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.btn-success.dropdown-toggle.focus,.open>.btn-success.dropdown-toggle:focus,.open>.btn-success.dropdown-toggle:hover{color:#fff;background-color:#2aa030;border-color:#217f26}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success:disabled.focus,.btn-success:disabled:focus,.btn-success:disabled:hover{background-color:#4fd156;border-color:#4fd156}.btn-warning{color:#fff;background-color:orange;border-color:orange}.btn-warning.focus,.btn-warning:focus,.btn-warning:hover{color:#fff;background-color:#cc8400;border-color:#c27d00}.btn-warning.active,.btn-warning:active,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#cc8400;border-color:#c27d00;background-image:none}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.btn-warning.dropdown-toggle.focus,.open>.btn-warning.dropdown-toggle:focus,.open>.btn-warning.dropdown-toggle:hover{color:#fff;background-color:#a86d00;border-color:#805300}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning:disabled.focus,.btn-warning:disabled:focus,.btn-warning:disabled:hover{background-color:orange;border-color:orange}.btn-danger{color:#fff;background-color:#c00;border-color:#c00}.btn-danger.focus,.btn-danger:focus,.btn-danger:hover{color:#fff;background-color:#900;border-color:#8f0000}.btn-danger.active,.btn-danger:active,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#900;border-color:#8f0000;background-image:none}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.btn-danger.dropdown-toggle.focus,.open>.btn-danger.dropdown-toggle:focus,.open>.btn-danger.dropdown-toggle:hover{color:#fff;background-color:#750000;border-color:#4d0000}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger:disabled.focus,.btn-danger:disabled:focus,.btn-danger:disabled:hover{background-color:#c00;border-color:#c00}.btn-outline-primary{color:#0588cb;background-image:none;background-color:transparent;border-color:#0588cb}.btn-outline-primary.active,.btn-outline-primary.focus,.btn-outline-primary:active,.btn-outline-primary:focus,.btn-outline-primary:hover,.open>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#0588cb;border-color:#0588cb}.btn-outline-primary.active.focus,.btn-outline-primary.active:focus,.btn-outline-primary.active:hover,.btn-outline-primary:active.focus,.btn-outline-primary:active:focus,.btn-outline-primary:active:hover,.open>.btn-outline-primary.dropdown-toggle.focus,.open>.btn-outline-primary.dropdown-toggle:focus,.open>.btn-outline-primary.dropdown-toggle:hover{color:#fff;background-color:#034f76;border-color:#02354f}.btn-outline-primary.disabled.focus,.btn-outline-primary.disabled:focus,.btn-outline-primary.disabled:hover,.btn-outline-primary:disabled.focus,.btn-outline-primary:disabled:focus,.btn-outline-primary:disabled:hover{border-color:#3cbafa}.btn-outline-secondary{color:#0588cb;background-image:none;background-color:transparent;border-color:#0588cb}.btn-outline-secondary.active,.btn-outline-secondary.focus,.btn-outline-secondary:active,.btn-outline-secondary:focus,.btn-outline-secondary:hover,.open>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#0588cb;border-color:#0588cb}.btn-outline-secondary.active.focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.active:hover,.btn-outline-secondary:active.focus,.btn-outline-secondary:active:focus,.btn-outline-secondary:active:hover,.open>.btn-outline-secondary.dropdown-toggle.focus,.open>.btn-outline-secondary.dropdown-toggle:focus,.open>.btn-outline-secondary.dropdown-toggle:hover{color:#fff;background-color:#034f76;border-color:#02354f}.btn-outline-secondary.disabled.focus,.btn-outline-secondary.disabled:focus,.btn-outline-secondary.disabled:hover,.btn-outline-secondary:disabled.focus,.btn-outline-secondary:disabled:focus,.btn-outline-secondary:disabled:hover{border-color:#3cbafa}.btn-outline-info{color:#5bc0de;background-image:none;background-color:transparent;border-color:#5bc0de}.btn-outline-info.active,.btn-outline-info.focus,.btn-outline-info:active,.btn-outline-info:focus,.btn-outline-info:hover,.open>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.btn-outline-info.active.focus,.btn-outline-info.active:focus,.btn-outline-info.active:hover,.btn-outline-info:active.focus,.btn-outline-info:active:focus,.btn-outline-info:active:hover,.open>.btn-outline-info.dropdown-toggle.focus,.open>.btn-outline-info.dropdown-toggle:focus,.open>.btn-outline-info.dropdown-toggle:hover{color:#fff;background-color:#269abc;border-color:#1f7e9a}.btn-outline-info.disabled.focus,.btn-outline-info.disabled:focus,.btn-outline-info.disabled:hover,.btn-outline-info:disabled.focus,.btn-outline-info:disabled:focus,.btn-outline-info:disabled:hover{border-color:#b0e1ef}.btn-outline-success{color:#4fd156;background-image:none;background-color:transparent;border-color:#4fd156}.btn-outline-success.active,.btn-outline-success.focus,.btn-outline-success:active,.btn-outline-success:focus,.btn-outline-success:hover,.open>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#4fd156;border-color:#4fd156}.btn-outline-success.active.focus,.btn-outline-success.active:focus,.btn-outline-success.active:hover,.btn-outline-success:active.focus,.btn-outline-success:active:focus,.btn-outline-success:active:hover,.open>.btn-outline-success.dropdown-toggle.focus,.open>.btn-outline-success.dropdown-toggle:focus,.open>.btn-outline-success.dropdown-toggle:hover{color:#fff;background-color:#2aa030;border-color:#217f26}.btn-outline-success.disabled.focus,.btn-outline-success.disabled:focus,.btn-outline-success.disabled:hover,.btn-outline-success:disabled.focus,.btn-outline-success:disabled:focus,.btn-outline-success:disabled:hover{border-color:#a0e6a4}.btn-outline-warning{color:orange;background-image:none;background-color:transparent;border-color:orange}.btn-outline-warning.active,.btn-outline-warning.focus,.btn-outline-warning:active,.btn-outline-warning:focus,.btn-outline-warning:hover,.open>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:orange;border-color:orange}.btn-outline-warning.active.focus,.btn-outline-warning.active:focus,.btn-outline-warning.active:hover,.btn-outline-warning:active.focus,.btn-outline-warning:active:focus,.btn-outline-warning:active:hover,.open>.btn-outline-warning.dropdown-toggle.focus,.open>.btn-outline-warning.dropdown-toggle:focus,.open>.btn-outline-warning.dropdown-toggle:hover{color:#fff;background-color:#a86d00;border-color:#805300}.btn-outline-warning.disabled.focus,.btn-outline-warning.disabled:focus,.btn-outline-warning.disabled:hover,.btn-outline-warning:disabled.focus,.btn-outline-warning:disabled:focus,.btn-outline-warning:disabled:hover{border-color:#ffc966}.btn-outline-danger{color:#c00;background-image:none;background-color:transparent;border-color:#c00}.btn-outline-danger.active,.btn-outline-danger.focus,.btn-outline-danger:active,.btn-outline-danger:focus,.btn-outline-danger:hover,.open>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#c00;border-color:#c00}.btn-outline-danger.active.focus,.btn-outline-danger.active:focus,.btn-outline-danger.active:hover,.btn-outline-danger:active.focus,.btn-outline-danger:active:focus,.btn-outline-danger:active:hover,.open>.btn-outline-danger.dropdown-toggle.focus,.open>.btn-outline-danger.dropdown-toggle:focus,.open>.btn-outline-danger.dropdown-toggle:hover{color:#fff;background-color:#750000;border-color:#4d0000}.btn-outline-danger.disabled.focus,.btn-outline-danger.disabled:focus,.btn-outline-danger.disabled:hover,.btn-outline-danger:disabled.focus,.btn-outline-danger:disabled:focus,.btn-outline-danger:disabled:hover{border-color:#f33}.btn-link{font-weight:400;color:#0588cb;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link:disabled{background-color:transparent}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#035680;text-decoration:underline;background-color:transparent}.btn-link:disabled:focus,.btn-link:disabled:hover{color:#d9d9d9;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{height:0;overflow:hidden;transition-timing-function:ease;transition-duration:.35s;transition-property:height}.collapsing,.dropdown,.dropup{position:relative}.dropdown-toggle:after{display:inline-block;width:0;height:0;margin-left:.3em;vertical-align:middle;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-left:.3em solid transparent}.dropdown-toggle:focus{outline:0}.dropup .dropdown-toggle:after{border-top:0;border-bottom:.3em solid}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#777;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:3px}.dropdown-divider{height:1px;margin:.5rem 0;overflow:hidden;background-color:#e5e5e5}.dropdown-item{display:block;width:100%;padding:3px 1.5rem;clear:both;font-weight:400;color:#777;text-align:inherit;white-space:nowrap;background:none;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#6a6a6a;text-decoration:none;background-color:#f5f5f5}.dropdown-item.active,.dropdown-item.active:focus,.dropdown-item.active:hover{color:#fff;text-decoration:none;background-color:#0588cb;outline:0}.dropdown-item.disabled,.dropdown-item.disabled:focus,.dropdown-item.disabled:hover{color:#d9d9d9}.dropdown-item.disabled:focus,.dropdown-item.disabled:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:"progid:DXImageTransform.Microsoft.gradient(enabled = false)"}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#d9d9d9;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:.3em solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:.125rem}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left;margin-bottom:0}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-.5rem}.btn-toolbar:after{content:"";display:table;clear:both}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:.5rem}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn+.dropdown-toggle-split:after{margin-left:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:1.125rem;padding-left:1.125rem}.btn .caret{margin-left:0}.btn-group-lg>.btn .caret,.btn-lg .caret{border-width:.3em .3em 0;border-bottom-width:0}.dropup .btn-group-lg>.btn .caret,.dropup .btn-lg .caret{border-width:0 .3em .3em}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:after{content:"";display:table;clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio],[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;width:100%;display:table;border-collapse:separate}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:active,.input-group .form-control:focus,.input-group .form-control:hover{z-index:3}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.25;color:#c1c1c1;text-align:center;background-color:#eceeef;border:1px solid rgba(0,0,0,.15);border-radius:3px}.input-group-addon.form-control-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-addon.form-control-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group-addon:not(:last-child),.input-group-btn:not(:first-child)>.btn-group:not(:last-child)>.btn,.input-group-btn:not(:first-child)>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group>.btn,.input-group-btn:not(:last-child)>.dropdown-toggle,.input-group .form-control:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:not(:last-child){border-right:0}.input-group-addon:not(:first-child),.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group>.btn,.input-group-btn:not(:first-child)>.dropdown-toggle,.input-group-btn:not(:last-child)>.btn-group:not(:first-child)>.btn,.input-group-btn:not(:last-child)>.btn:not(:first-child),.input-group .form-control:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.form-control+.input-group-addon:not(:first-child){border-left:0}.input-group-btn{font-size:0;white-space:nowrap}.input-group-btn,.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:3}.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group{margin-right:-1px}.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group{z-index:2;margin-left:-1px}.input-group-btn:not(:first-child)>.btn-group:active,.input-group-btn:not(:first-child)>.btn-group:focus,.input-group-btn:not(:first-child)>.btn-group:hover,.input-group-btn:not(:first-child)>.btn:active,.input-group-btn:not(:first-child)>.btn:focus,.input-group-btn:not(:first-child)>.btn:hover{z-index:3}.custom-control{position:relative;display:inline-block;padding-left:1.5rem;cursor:pointer}.custom-control+.custom-control{margin-left:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-indicator{color:#fff;background-color:#0074d9}.custom-control-input:focus~.custom-control-indicator{box-shadow:0 0 0 .075rem #fff,0 0 0 .2rem #0074d9}.custom-control-input:active~.custom-control-indicator{color:#fff;background-color:#84c6ff}.custom-control-input:disabled~.custom-control-indicator{cursor:not-allowed;background-color:#eee}.custom-control-input:disabled~.custom-control-description{color:#767676;cursor:not-allowed}.custom-control-indicator{position:absolute;top:.25rem;left:0;display:block;width:1rem;height:1rem;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#ddd;background-repeat:no-repeat;background-position:50%;background-size:50% 50%}.custom-checkbox .custom-control-indicator{border-radius:3px}.custom-checkbox .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-indicator{background-color:#0074d9;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-radio .custom-control-indicator{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#fff'/%3E%3C/svg%3E")}.custom-controls-stacked .custom-control{float:left;clear:left}.custom-controls-stacked .custom-control+.custom-control{margin-left:0}.custom-select{display:inline-block;max-width:100%;height:calc(2.5rem - 2px);padding:.375rem 1.75rem .375rem .75rem;padding-right:.75rem\9;color:#c1c1c1;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;background-image:none\9;background-size:8px 10px;border:1px solid rgba(0,0,0,.15);border-radius:3px;-moz-appearance:none;-webkit-appearance:none}.custom-select:focus{border-color:#51a7e8;outline:none}.custom-select:focus::-ms-value{color:#c1c1c1;background-color:#fff}.custom-select:disabled{color:#d9d9d9;cursor:not-allowed;background-color:#eceeef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-file{position:relative;display:inline-block;max-width:100%;height:2.5rem;cursor:pointer}.custom-file-input{min-width:14rem;max-width:100%;margin:0;filter:alpha(opacity=0);opacity:0}.custom-file-control{position:absolute;top:0;right:0;left:0;z-index:5;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#555;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;border:1px solid #ddd;border-radius:3px}.custom-file-control:lang(en):after{content:"Choose file..."}.custom-file-control:before{position:absolute;top:-1px;right:-1px;bottom:-1px;z-index:6;display:block;height:2.5rem;padding:.5rem 1rem;line-height:1.5;color:#555;background-color:#eee;border:1px solid #ddd;border-radius:0 3px 3px 0}.custom-file-control:lang(en):before{content:"Browse"}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:inline-block}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#d9d9d9}.nav-link.disabled,.nav-link.disabled:focus,.nav-link.disabled:hover{color:#d9d9d9;cursor:not-allowed;background-color:transparent}.nav-inline .nav-item{display:inline-block}.nav-inline .nav-item+.nav-item,.nav-inline .nav-link+.nav-link{margin-left:1rem}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs:after{content:"";display:table;clear:both}.nav-tabs .nav-item{float:left;margin-bottom:-1px}.nav-tabs .nav-item+.nav-item{margin-left:.2rem}.nav-tabs .nav-link{display:block;padding:.5em 1em;border:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#eceeef #eceeef #ddd}.nav-tabs .nav-link.disabled,.nav-tabs .nav-link.disabled:focus,.nav-tabs .nav-link.disabled:hover{color:#d9d9d9;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.open .nav-link,.nav-tabs .nav-item.open .nav-link:focus,.nav-tabs .nav-item.open .nav-link:hover,.nav-tabs .nav-link.active,.nav-tabs .nav-link.active:focus,.nav-tabs .nav-link.active:hover{color:#c1c1c1;background-color:#f2f2f2;border-color:#ddd #ddd transparent}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.nav-pills:after{content:"";display:table;clear:both}.nav-pills .nav-item{float:left}.nav-pills .nav-item+.nav-item{margin-left:.2rem}.nav-pills .nav-link{display:block;padding:.5em 1em;border-radius:3px}.nav-pills .nav-item.open .nav-link,.nav-pills .nav-item.open .nav-link:focus,.nav-pills .nav-item.open .nav-link:hover,.nav-pills .nav-link.active,.nav-pills .nav-link.active:focus,.nav-pills .nav-link.active:hover{color:#fff;cursor:default;background-color:#0588cb}.nav-stacked .nav-item{display:block;float:none}.nav-stacked .nav-item+.nav-item{margin-top:.2rem;margin-left:0}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;padding:.5rem 1rem}.navbar:after{content:"";display:table;clear:both}@media (min-width:576px){.navbar{border-radius:3px}}.navbar-full{z-index:1000}@media (min-width:576px){.navbar-full{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:576px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0}.navbar-fixed-bottom{bottom:0}.navbar-sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1030;width:100%}@media (min-width:576px){.navbar-sticky-top{border-radius:0}}.navbar-brand{float:left;padding-top:.25rem;padding-bottom:.25rem;margin-right:1rem;font-size:1.25rem;line-height:inherit}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-divider{float:left;width:1px;padding-top:.425rem;padding-bottom:.425rem;margin-right:1rem;margin-left:1rem;overflow:hidden}.navbar-divider:before{content:"\A0"}.navbar-text{display:inline-block;padding-top:.425rem;padding-bottom:.425rem}.navbar-toggler{width:2.5em;height:2em;padding:.5rem .75rem;font-size:1.25rem;line-height:1;background:transparent no-repeat 50%;background-size:24px 24px;border:1px solid transparent;border-radius:3px}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}@media (max-width:575px){.navbar-toggleable-xs .navbar-brand{display:block;float:none;margin-top:.5rem;margin-right:0}.navbar-toggleable-xs .navbar-nav{margin-top:.5rem;margin-bottom:.5rem}.navbar-toggleable-xs .navbar-nav .dropdown-menu{position:static;float:none}}@media (min-width:576px){.navbar-toggleable-xs{display:block}}@media (max-width:767px){.navbar-toggleable-sm .navbar-brand{display:block;float:none;margin-top:.5rem;margin-right:0}.navbar-toggleable-sm .navbar-nav{margin-top:.5rem;margin-bottom:.5rem}.navbar-toggleable-sm .navbar-nav .dropdown-menu{position:static;float:none}}@media (min-width:768px){.navbar-toggleable-sm{display:block}}@media (max-width:991px){.navbar-toggleable-md .navbar-brand{display:block;float:none;margin-top:.5rem;margin-right:0}.navbar-toggleable-md .navbar-nav{margin-top:.5rem;margin-bottom:.5rem}.navbar-toggleable-md .navbar-nav .dropdown-menu{position:static;float:none}}@media (min-width:992px){.navbar-toggleable-md{display:block}}.navbar-toggleable-lg:after{content:"";display:table;clear:both}@media (max-width:1199px){.navbar-toggleable-lg .navbar-brand{display:block;float:none;margin-top:.5rem;margin-right:0}.navbar-toggleable-lg .navbar-nav{margin-top:.5rem;margin-bottom:.5rem}.navbar-toggleable-lg .navbar-nav .dropdown-menu{position:static;float:none}}@media (min-width:1200px){.navbar-toggleable-lg{display:block}}.navbar-toggleable-xl{display:block}.navbar-toggleable-xl:after{content:"";display:table;clear:both}.navbar-toggleable-xl .navbar-brand{display:block;float:none;margin-top:.5rem;margin-right:0}.navbar-toggleable-xl .navbar-nav{margin-top:.5rem;margin-bottom:.5rem}.navbar-toggleable-xl .navbar-nav .dropdown-menu{position:static;float:none}.navbar-nav .nav-item{float:left}.navbar-nav .nav-link{display:block;padding-top:.425rem;padding-bottom:.425rem}.navbar-nav .nav-item+.nav-item,.navbar-nav .nav-link+.nav-link{margin-left:1rem}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover,.navbar-light .navbar-toggler,.navbar-light .navbar-toggler:focus,.navbar-light .navbar-toggler:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .active>.nav-link:focus,.navbar-light .navbar-nav .active>.nav-link:hover,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.active:focus,.navbar-light .navbar-nav .nav-link.active:hover,.navbar-light .navbar-nav .nav-link.open,.navbar-light .navbar-nav .nav-link.open:focus,.navbar-light .navbar-nav .nav-link.open:hover,.navbar-light .navbar-nav .open>.nav-link,.navbar-light .navbar-nav .open>.nav-link:focus,.navbar-light .navbar-nav .open>.nav-link:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0,0,0,0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");border-color:rgba(0,0,0,.1)}.navbar-light .navbar-divider{background-color:rgba(0,0,0,.075)}.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-toggler,.navbar-dark .navbar-toggler:focus,.navbar-dark .navbar-toggler:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:hsla(0,0%,100%,.75)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .active>.nav-link:focus,.navbar-dark .navbar-nav .active>.nav-link:hover,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.active:focus,.navbar-dark .navbar-nav .nav-link.active:hover,.navbar-dark .navbar-nav .nav-link.open,.navbar-dark .navbar-nav .nav-link.open:focus,.navbar-dark .navbar-nav .nav-link.open:hover,.navbar-dark .navbar-nav .open>.nav-link,.navbar-dark .navbar-nav .open>.nav-link:focus,.navbar-dark .navbar-nav .open>.nav-link:hover{color:#fff}.navbar-dark .navbar-toggler{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255,0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");border-color:hsla(0,0%,100%,.1)}.navbar-dark .navbar-divider{background-color:hsla(0,0%,100%,.075)}.navbar-toggleable-xs:after{content:"";display:table;clear:both}@media (max-width:575px){.navbar-toggleable-xs .navbar-nav .nav-item{float:none;margin-left:0}}@media (min-width:576px){.navbar-toggleable-xs{display:block!important}}.navbar-toggleable-sm:after{content:"";display:table;clear:both}@media (max-width:767px){.navbar-toggleable-sm .navbar-nav .nav-item{float:none;margin-left:0}}@media (min-width:768px){.navbar-toggleable-sm{display:block!important}}.navbar-toggleable-md:after{content:"";display:table;clear:both}@media (max-width:991px){.navbar-toggleable-md .navbar-nav .nav-item{float:none;margin-left:0}}@media (min-width:992px){.navbar-toggleable-md{display:block!important}}.card{position:relative;display:block;margin-bottom:.75rem;background-color:#fff;border-radius:3px;border:1px solid rgba(0,0,0,.125)}.card-block{padding:1.25rem}.card-block:after{content:"";display:table;clear:both}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem}.card-subtitle,.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card>.list-group:first-child .list-group-item:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:#f5f5f5;border-bottom:1px solid rgba(0,0,0,.125)}.card-header:after{content:"";display:table;clear:both}.card-header:first-child{border-radius:2px 2px 0 0}.card-footer{padding:.75rem 1.25rem;background-color:#f5f5f5;border-top:1px solid rgba(0,0,0,.125)}.card-footer:after{content:"";display:table;clear:both}.card-footer:last-child{border-radius:0 0 2px 2px}.card-header-tabs{margin-bottom:-.75rem;border-bottom:0}.card-header-pills,.card-header-tabs{margin-right:-.625rem;margin-left:-.625rem}.card-primary{background-color:#0588cb;border-color:#0588cb}.card-primary .card-footer,.card-primary .card-header{background-color:transparent}.card-success{background-color:#4fd156;border-color:#4fd156}.card-success .card-footer,.card-success .card-header{background-color:transparent}.card-info{background-color:#5bc0de;border-color:#5bc0de}.card-info .card-footer,.card-info .card-header{background-color:transparent}.card-warning{background-color:orange;border-color:orange}.card-warning .card-footer,.card-warning .card-header{background-color:transparent}.card-danger{background-color:#c00;border-color:#c00}.card-danger .card-footer,.card-danger .card-header{background-color:transparent}.card-outline-primary,.card-outline-secondary{background-color:transparent;border-color:#0588cb}.card-outline-info{background-color:transparent;border-color:#5bc0de}.card-outline-success{background-color:transparent;border-color:#4fd156}.card-outline-warning{background-color:transparent;border-color:orange}.card-outline-danger{background-color:transparent;border-color:#c00}.card-inverse .card-footer,.card-inverse .card-header{border-color:hsla(0,0%,100%,.2)}.card-inverse .card-blockquote,.card-inverse .card-footer,.card-inverse .card-header,.card-inverse .card-title{color:#fff}.card-inverse .card-blockquote .blockquote-footer,.card-inverse .card-link,.card-inverse .card-subtitle,.card-inverse .card-text{color:hsla(0,0%,100%,.65)}.card-inverse .card-link:focus,.card-inverse .card-link:hover{color:#fff}.card-blockquote{padding:0;margin-bottom:0;border-left:0}.card-img{border-radius:2px}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img-top{border-top-right-radius:2px;border-top-left-radius:2px}.card-img-bottom{border-bottom-right-radius:2px;border-bottom-left-radius:2px}@media (min-width:576px){.card-deck{display:table;width:100%;margin-bottom:.75rem;table-layout:fixed;border-spacing:1.25rem 0}.card-deck .card{display:table-cell;margin-bottom:0;vertical-align:top}.card-deck-wrapper{margin-right:-1.25rem;margin-left:-1.25rem}}@media (min-width:576px){.card-group{display:table;width:100%;table-layout:fixed}.card-group .card{display:table-cell;vertical-align:top}.card-group .card+.card{margin-left:0;border-left:0}.card-group .card:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.card-group .card:first-child .card-img-top{border-top-right-radius:0}.card-group .card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group .card:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.card-group .card:last-child .card-img-top{border-top-left-radius:0}.card-group .card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group .card:not(:first-child):not(:last-child),.card-group .card:not(:first-child):not(:last-child) .card-img-bottom,.card-group .card:not(:first-child):not(:last-child) .card-img-top{border-radius:0}}@media (min-width:576px){.card-columns{-moz-column-count:3;column-count:3;-moz-column-gap:1.25rem;column-gap:1.25rem}.card-columns .card{display:inline-block;width:100%}}.breadcrumb{padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#eceeef;border-radius:3px}.breadcrumb:after{content:"";display:table;clear:both}.breadcrumb-item{float:left}.breadcrumb-item+.breadcrumb-item:before{display:inline-block;padding-right:.5rem;padding-left:.5rem;color:#d9d9d9;content:"/"}.breadcrumb-item+.breadcrumb-item:hover:before{text-decoration:underline;text-decoration:none}.breadcrumb-item.active{color:#d9d9d9}.pagination{display:inline-block;padding-left:0;margin-top:1rem;margin-bottom:1rem;border-radius:3px}.page-item{display:inline}.page-item:first-child .page-link{margin-left:0;border-bottom-left-radius:3px;border-top-left-radius:3px}.page-item:last-child .page-link{border-bottom-right-radius:3px;border-top-right-radius:3px}.page-item.active .page-link,.page-item.active .page-link:focus,.page-item.active .page-link:hover{z-index:2;color:#fff;cursor:default;background-color:#0588cb;border-color:#0588cb}.page-item.disabled .page-link,.page-item.disabled .page-link:focus,.page-item.disabled .page-link:hover{color:#d9d9d9;pointer-events:none;cursor:not-allowed;background-color:#fff;border-color:#ddd}.page-link{position:relative;float:left;padding:.5rem .75rem;margin-left:-1px;color:#0588cb;text-decoration:none;background-color:#fff;border:1px solid #ddd}.page-link:focus,.page-link:hover{color:#035680;background-color:#eceeef;border-color:#ddd}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-bottom-left-radius:.3rem;border-top-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-bottom-right-radius:.3rem;border-top-right-radius:.3rem}.pagination-sm .page-link{padding:.275rem .75rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-bottom-left-radius:.2rem;border-top-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-bottom-right-radius:.2rem;border-top-right-radius:.2rem}.tag{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:3px}.tag:empty{display:none}.btn .tag{position:relative;top:-1px}a.tag:focus,a.tag:hover{color:#fff;text-decoration:none;cursor:pointer}.tag-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.tag-default{background-color:#d9d9d9}.tag-default[href]:focus,.tag-default[href]:hover{background-color:silver}.tag-primary{background-color:#0588cb}.tag-primary[href]:focus,.tag-primary[href]:hover{background-color:#046799}.tag-success{background-color:#4fd156}.tag-success[href]:focus,.tag-success[href]:hover{background-color:#31bc39}.tag-info{background-color:#5bc0de}.tag-info[href]:focus,.tag-info[href]:hover{background-color:#31b0d5}.tag-warning{background-color:orange}.tag-warning[href]:focus,.tag-warning[href]:hover{background-color:#cc8400}.tag-danger{background-color:#c00}.tag-danger[href]:focus,.tag-danger[href]:hover{background-color:#900}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#eceeef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-hr{border-top-color:#d0d5d8}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:3px}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:2.5rem}.alert-dismissible .close{position:relative;top:-.125rem;right:-1.25rem;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d0e9c6;color:#3c763d}.alert-success hr{border-top-color:#c1e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bcdff1;color:#31708f}.alert-info hr{border-top-color:#a6d5ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faf2cc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7ecb5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebcccc;color:#a94442}.alert-danger hr{border-top-color:#e4b9b9}.alert-danger .alert-link{color:#843534}@keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}.progress{display:block;width:100%;height:1rem;margin-bottom:1rem}.progress[value]{background-color:#eee;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:3px}.progress[value]::-ms-fill{background-color:#0074d9;border:0}.progress[value]::-moz-progress-bar{background-color:#0074d9;border-bottom-left-radius:3px;border-top-left-radius:3px}.progress[value]::-webkit-progress-value{background-color:#0074d9;border-bottom-left-radius:3px;border-top-left-radius:3px}.progress[value="100"]::-moz-progress-bar{border-bottom-right-radius:3px;border-top-right-radius:3px}.progress[value="100"]::-webkit-progress-value{border-bottom-right-radius:3px;border-top-right-radius:3px}.progress[value]::-webkit-progress-bar{background-color:#eee;border-radius:3px}.progress[value],base::-moz-progress-bar{background-color:#eee;border-radius:3px}@media screen and (min-width:0\0){.progress{background-color:#eee;border-radius:3px}.progress-bar{display:inline-block;height:1rem;text-indent:-999rem;background-color:#0074d9;border-bottom-left-radius:3px;border-top-left-radius:3px}.progress[width="100%"]{border-bottom-right-radius:3px;border-top-right-radius:3px}}.progress-striped[value]::-webkit-progress-value{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:1rem 1rem}.progress-striped[value]::-moz-progress-bar{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:1rem 1rem}.progress-striped[value]::-ms-fill{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:1rem 1rem}@media screen and (min-width:0\0){.progress-bar-striped{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:1rem 1rem}}.progress-animated[value]::-webkit-progress-value{animation:progress-bar-stripes 2s linear infinite}.progress-animated[value]::-moz-progress-bar{animation:progress-bar-stripes 2s linear infinite}@media screen and (min-width:0\0){.progress-animated .progress-bar-striped{animation:progress-bar-stripes 2s linear infinite}}.progress-success[value]::-webkit-progress-value{background-color:#4fd156}.progress-success[value]::-moz-progress-bar{background-color:#4fd156}.progress-success[value]::-ms-fill{background-color:#4fd156}@media screen and (min-width:0\0){.progress-success .progress-bar{background-color:#4fd156}}.progress-info[value]::-webkit-progress-value{background-color:#5bc0de}.progress-info[value]::-moz-progress-bar{background-color:#5bc0de}.progress-info[value]::-ms-fill{background-color:#5bc0de}@media screen and (min-width:0\0){.progress-info .progress-bar{background-color:#5bc0de}}.progress-warning[value]::-webkit-progress-value{background-color:orange}.progress-warning[value]::-moz-progress-bar{background-color:orange}.progress-warning[value]::-ms-fill{background-color:orange}@media screen and (min-width:0\0){.progress-warning .progress-bar{background-color:orange}}.progress-danger[value]::-webkit-progress-value{background-color:#c00}.progress-danger[value]::-moz-progress-bar{background-color:#c00}.progress-danger[value]::-ms-fill{background-color:#c00}@media screen and (min-width:0\0){.progress-danger .progress-bar{background-color:#c00}}.media,.media-body{overflow:hidden}.media-body{width:10000px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right{padding-left:10px}.media-left{padding-right:10px}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:0}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#d9d9d9;cursor:not-allowed;background-color:#eceeef}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#d9d9d9}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;text-decoration:none;background-color:#0588cb;border-color:#0588cb}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#9fddfd}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-item-action{width:100%;color:#555;text-align:inherit}.list-group-item-action .list-group-item-heading{color:#333}.list-group-item-action:focus,.list-group-item-action:hover{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9{padding-bottom:42.85714%}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.embed-responsive-1by1{padding-bottom:100%}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal,.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;outline:0}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-25%)}.modal.in .modal-dialog{transform:translate(0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.in{opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header:after{content:"";display:table;clear:both}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.5}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:after{content:"";display:table;clear:both}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:600px;margin:30px auto}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:Fira Sans;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.in{opacity:.9}.tooltip.bs-tether-element-attached-bottom,.tooltip.tooltip-top{padding:5px 0;margin-top:-3px}.tooltip.bs-tether-element-attached-bottom .tooltip-inner:before,.tooltip.tooltip-top .tooltip-inner:before{bottom:0;left:50%;margin-left:-5px;content:"";border-width:5px 5px 0;border-top-color:#000}.tooltip.bs-tether-element-attached-left,.tooltip.tooltip-right{padding:0 5px;margin-left:3px}.tooltip.bs-tether-element-attached-left .tooltip-inner:before,.tooltip.tooltip-right .tooltip-inner:before{top:50%;left:0;margin-top:-5px;content:"";border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.bs-tether-element-attached-top,.tooltip.tooltip-bottom{padding:5px 0;margin-top:3px}.tooltip.bs-tether-element-attached-top .tooltip-inner:before,.tooltip.tooltip-bottom .tooltip-inner:before{top:0;left:50%;margin-left:-5px;content:"";border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bs-tether-element-attached-right,.tooltip.tooltip-left{padding:0 5px;margin-left:-3px}.tooltip.bs-tether-element-attached-right .tooltip-inner:before,.tooltip.tooltip-left .tooltip-inner:before{top:50%;right:0;margin-top:-5px;content:"";border-width:5px 0 5px 5px;border-left-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.tooltip-inner:before{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;padding:1px;font-family:Fira Sans;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover.bs-tether-element-attached-bottom,.popover.popover-top{margin-top:-10px}.popover.bs-tether-element-attached-bottom:after,.popover.bs-tether-element-attached-bottom:before,.popover.popover-top:after,.popover.popover-top:before{left:50%;border-bottom-width:0}.popover.bs-tether-element-attached-bottom:before,.popover.popover-top:before{bottom:-11px;margin-left:-11px;border-top-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-bottom:after,.popover.popover-top:after{bottom:-10px;margin-left:-10px;border-top-color:#fff}.popover.bs-tether-element-attached-left,.popover.popover-right{margin-left:10px}.popover.bs-tether-element-attached-left:after,.popover.bs-tether-element-attached-left:before,.popover.popover-right:after,.popover.popover-right:before{top:50%;border-left-width:0}.popover.bs-tether-element-attached-left:before,.popover.popover-right:before{left:-11px;margin-top:-11px;border-right-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-left:after,.popover.popover-right:after{left:-10px;margin-top:-10px;border-right-color:#fff}.popover.bs-tether-element-attached-top,.popover.popover-bottom{margin-top:10px}.popover.bs-tether-element-attached-top:after,.popover.bs-tether-element-attached-top:before,.popover.popover-bottom:after,.popover.popover-bottom:before{left:50%;border-top-width:0}.popover.bs-tether-element-attached-top:before,.popover.popover-bottom:before{top:-11px;margin-left:-11px;border-bottom-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-top:after,.popover.popover-bottom:after{top:-10px;margin-left:-10px;border-bottom-color:#f7f7f7}.popover.bs-tether-element-attached-top .popover-title:before,.popover.popover-bottom .popover-title:before{position:absolute;top:0;left:50%;display:block;width:20px;margin-left:-10px;content:"";border-bottom:1px solid #f7f7f7}.popover.bs-tether-element-attached-right,.popover.popover-left{margin-left:-10px}.popover.bs-tether-element-attached-right:after,.popover.bs-tether-element-attached-right:before,.popover.popover-left:after,.popover.popover-left:before{top:50%;border-right-width:0}.popover.bs-tether-element-attached-right:before,.popover.popover-left:before{right:-11px;margin-top:-11px;border-left-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-right:after,.popover.popover-left:after{right:-10px;margin-top:-10px;border-left-color:#fff}.popover-title{padding:8px 14px;margin:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:.2375rem .2375rem 0 0}.popover-title:empty{display:none}.popover-content{padding:9px 14px}.popover:after,.popover:before{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover:before{content:"";border-width:11px}.popover:after{content:"";border-width:10px}.carousel,.carousel-inner{position:relative}.carousel-inner{width:100%;overflow:hidden}.carousel-inner>.carousel-item{position:relative;display:none;transition:left .6s ease-in-out}.carousel-inner>.carousel-item>a>img,.carousel-inner>.carousel-item>img{line-height:1}@media (-webkit-transform-3d),all and (transform-3d){.carousel-inner>.carousel-item{transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:1000px}.carousel-inner>.carousel-item.active.right,.carousel-inner>.carousel-item.next{left:0;transform:translate3d(100%,0,0)}.carousel-inner>.carousel-item.active.left,.carousel-inner>.carousel-item.prev{left:0;transform:translate3d(-100%,0,0)}.carousel-inner>.carousel-item.active,.carousel-inner>.carousel-item.next.left,.carousel-inner>.carousel-item.prev.right{left:0;transform:translateZ(0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);opacity:.5}.carousel-control.left{background-image:linear-gradient(90deg,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001));background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000',endColorstr='#00000000',GradientType=1)}.carousel-control.right{right:0;left:auto;background-image:linear-gradient(90deg,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5));background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',endColorstr='#80000000',GradientType=1)}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;width:20px;height:20px;margin-top:-10px;font-family:serif;line-height:1}.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-prev:before{content:"\2039"}.carousel-control .icon-next:before{content:"\203A"}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:transparent;border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media (min-width:576px){.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .icon-prev{margin-left:-15px}.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-faded{background-color:#f7f7f9}.bg-primary{background-color:#0588cb!important}a.bg-primary:focus,a.bg-primary:hover{background-color:#046799!important}.bg-success{background-color:#4fd156!important}a.bg-success:focus,a.bg-success:hover{background-color:#31bc39!important}.bg-info{background-color:#5bc0de!important}a.bg-info:focus,a.bg-info:hover{background-color:#31b0d5!important}.bg-warning{background-color:orange!important}a.bg-warning:focus,a.bg-warning:hover{background-color:#cc8400!important}.bg-danger{background-color:#c00!important}a.bg-danger:focus,a.bg-danger:hover{background-color:#900!important}.bg-inverse{background-color:#777!important}a.bg-inverse:focus,a.bg-inverse:hover{background-color:#5e5e5e!important}.rounded{border-radius:3px}.rounded-top{border-top-right-radius:3px;border-top-left-radius:3px}.rounded-right{border-bottom-right-radius:3px;border-top-right-radius:3px}.rounded-bottom{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.rounded-left{border-bottom-left-radius:3px;border-top-left-radius:3px}.rounded-circle{border-radius:50%}.clearfix:after{content:"";display:table;clear:both}.d-block{display:block!important}.d-inline-block{display:inline-block!important}.d-inline{display:inline!important}.float-xs-left{float:left!important}.float-xs-right{float:right!important}.float-xs-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.w-100{width:100%!important}.h-100{height:100%!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.m-0{margin:0!important}.mt-0{margin-top:0!important}.mr-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.mx-0{margin-right:0!important}.my-0{margin-top:0!important;margin-bottom:0!important}.m-1{margin:1rem!important}.mt-1{margin-top:1rem!important}.mr-1{margin-right:1rem!important}.mb-1{margin-bottom:1rem!important}.ml-1,.mx-1{margin-left:1rem!important}.mx-1{margin-right:1rem!important}.my-1{margin-top:1rem!important;margin-bottom:1rem!important}.m-2{margin:1.5rem!important}.mt-2{margin-top:1.5rem!important}.mr-2{margin-right:1.5rem!important}.mb-2{margin-bottom:1.5rem!important}.ml-2,.mx-2{margin-left:1.5rem!important}.mx-2{margin-right:1.5rem!important}.my-2{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-3{margin:3rem!important}.mt-3{margin-top:3rem!important}.mr-3{margin-right:3rem!important}.mb-3{margin-bottom:3rem!important}.ml-3,.mx-3{margin-left:3rem!important}.mx-3{margin-right:3rem!important}.my-3{margin-top:3rem!important;margin-bottom:3rem!important}.p-0{padding:0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.px-0{padding-right:0!important}.py-0{padding-top:0!important;padding-bottom:0!important}.p-1{padding:1rem!important}.pt-1{padding-top:1rem!important}.pr-1{padding-right:1rem!important}.pb-1{padding-bottom:1rem!important}.pl-1,.px-1{padding-left:1rem!important}.px-1{padding-right:1rem!important}.py-1{padding-top:1rem!important;padding-bottom:1rem!important}.p-2{padding:1.5rem!important}.pt-2{padding-top:1.5rem!important}.pr-2{padding-right:1.5rem!important}.pb-2{padding-bottom:1.5rem!important}.pl-2,.px-2{padding-left:1.5rem!important}.px-2{padding-right:1.5rem!important}.py-2{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-3{padding:3rem!important}.pt-3{padding-top:3rem!important}.pr-3{padding-right:3rem!important}.pb-3{padding-bottom:3rem!important}.pl-3,.px-3{padding-left:3rem!important}.px-3{padding-right:3rem!important}.py-3{padding-top:3rem!important;padding-bottom:3rem!important}.pos-f-t{position:fixed;top:0;right:0;left:0;z-index:1030}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-xs-left{text-align:left!important}.text-xs-right{text-align:right!important}.text-xs-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-normal{font-weight:400}.font-weight-bold{font-weight:700}.font-italic{font-style:italic}.text-white{color:#fff!important}.text-muted{color:#d9d9d9!important}a.text-muted:focus,a.text-muted:hover{color:silver!important}.text-primary{color:#0588cb!important}a.text-primary:focus,a.text-primary:hover{color:#046799!important}.text-success{color:#4fd156!important}a.text-success:focus,a.text-success:hover{color:#31bc39!important}.text-info{color:#5bc0de!important}a.text-info:focus,a.text-info:hover{color:#31b0d5!important}.text-warning{color:orange!important}a.text-warning:focus,a.text-warning:hover{color:#cc8400!important}.text-danger{color:#c00!important}a.text-danger:focus,a.text-danger:hover{color:#900!important}.text-gray-dark{color:#777!important}a.text-gray-dark:focus,a.text-gray-dark:hover{color:#5e5e5e!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.invisible{visibility:hidden!important}.hidden-xs-up{display:none!important}@media (max-width:575px){.hidden-xs-down{display:none!important}}@media (min-width:576px){.hidden-sm-up{display:none!important}}@media (max-width:767px){.hidden-sm-down{display:none!important}}@media (min-width:768px){.hidden-md-up{display:none!important}}@media (max-width:991px){.hidden-md-down{display:none!important}}@media (min-width:992px){.hidden-lg-up{display:none!important}}@media (max-width:1199px){.hidden-lg-down{display:none!important}}@media (min-width:1200px){.hidden-xl-up{display:none!important}}.hidden-xl-down,.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}html{box-sizing:border-box}body,html{margin:0;padding:0;height:100%}strong{color:#0588cb}*,:after,:before{box-sizing:inherit}.wrapper{min-height:100%;height:auto!important;height:100%;margin:0 auto -4em}.footer,.push{height:4em}.footer{width:100%;line-height:60px}.footer-links li{display:inline-block}.footer-links li+li{margin-left:1rem}.footer-links a{color:#777;font-weight:200;font-size:.8rem}@media (min-width:544px){.footer-links a{font-size:1rem}}.copy{color:#0588cb;font-weight:700}.low-viz{font-weight:200}.clickable{cursor:pointer}.five-cols,.five-cols-xs{float:left;width:20%}@media (min-width:544px){.five-cols-sm{float:left;width:20%}}@media (min-width:768px){.five-cols-md{float:left;width:20%}}@media (min-width:992px){.five-cols-lg{float:left;width:20%}}@media (min-width:1200px){.five-cols-xl{float:left;width:20%}}.large-icon{font-size:9rem!important;color:#0588cb}.medium-icon{font-size:5rem!important;color:#0588cb}.icon-btn{color:#0588cb;cursor:pointer}.icon-btn-off:hover,.icon-btn-on:hover,.icon-btn:hover{color:#046799}.icon-btn-on,.icon-ok{color:#4fd156}.icon-btn-off{color:#c1c1c1}.icon-btn-cancel{color:#4fd156}.icon-btn-cancel:hover,.icon-error{color:#c00;animation:none}.icon-btn-cancel:hover:before{content:"\F00D"}.icon-btn-disabled:hover{cursor:not-allowed}.modal-dialog{overflow-y:initial!important}.modal-body{max-height:calc(100vh - 300px);overflow-y:auto}.modal-body-no-header{max-height:calc(100vh - 130px);overflow-y:auto}.tr-row td{border:0}.tr-row{font-weight:700;color:#0588cb}.tr-row-anomaly-danger{color:#c00}.tr-row-anomaly-warning{color:orange}.wordwrap{white-space:pre;white-space:pre-wrap;white-space:pre-line;white-space:-pre-wrap;white-space:-o-pre-wrap;white-space:-moz-pre-wrap;word-wrap:break-word}.language-picker{display:inline-block;padding-right:10px;padding-left:10px;position:relative}.language-picker .icon-btn{color:#fff}.language-picker-open{background-color:#fff}.language-picker-open .icon-btn{color:#0588cb}.language-picker-inline .language-picker-menu{position:relative;left:0;width:100%}.language-picker-menu{position:absolute;left:-70px;width:100px;background-color:#fff}.language-picker-option{color:#0588cb;padding:.5em;cursor:pointer}.language-picker-option-selected,.language-picker-option:hover{background-color:#0588cb;color:#fff}.route--active{background-color:#fff;color:#0588cb}.header{background-color:#0588cb;width:100%}.header .ooni-logo{height:4rem}.header .navigation{margin-top:1rem;margin-bottom:1rem}.header .btn:active,.header .btn:focus,.header .btn:hover{background-color:#fff;color:#0588cb;border-color:#fff}.header-small .refresh-button{margin-right:0}.refresh-button{display:inline-block;border-radius:50%;margin-right:.5rem}.refresh-button i{color:#fff!important;padding:.5rem}.refresh-button:hover{background-color:#fff}.refresh-button:hover i{color:#0588cb!important}.status{color:#777}.status-running{color:#4fd156;font-weight:700}.status-not-running{color:#c00;font-weight:700}.recent-results{margin-top:3em}.decks{margin-top:2em}.table tbody>tr>td{vertical-align:middle}.result-metadata{font-size:1.5em;color:#777}.shown-deck{color:#0588cb}.hidden-deck .medium-icon,.hidden-deck h2{color:#c1c1c1}.measurement-input{color:#777;font-size:1.5em;font-family:Source Code Pro,monospace;margin-bottom:20px;margin-top:20px}.measurement-results{text-transform:uppercase}.nettest-details{margin-top:20px}.result-metadata{font-size:1.5em;color:#777}.result-item .result-item-name{color:#0588cb;font-size:1.5rem;display:block}.result-item .result-item-value{font-size:1.5rem;font-weight:300}.result-item .result-item-value-big{font-size:3rem;font-weight:300}.result-item .result-item-unit{color:#777;font-size:1.5rem;padding-left:2px}.result-success{color:#4fd156}.result-danger{color:#c00}.result-warning{color:orange}strong{color:#0588cb}.technical-data{margin-top:20px}.welcome h1,.welcome h2{margin-bottom:2rem}.welcome .welcome-logo{padding-bottom:2rem}.welcome .language-picker{margin-top:1.5rem}.welcome .language-picker .icon-btn{color:#0588cb;font-size:2rem}.welcome .language-picker-open{background-color:#fff}.welcome .language-picker-open .icon-btn{color:#0588cb}.skip-to-end{margin-top:1rem;display:block}a.skip-to-end:hover{cursor:pointer;color:#0588cb!important}.questions input[type=radio]{margin-right:10px}.questions label{color:#0588cb;font-size:24px}.steps-container{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;margin-top:2rem;margin-bottom:2rem}.status-circle{height:20px;width:20px;float:left;margin-left:auto;margin-right:auto;padding:10px;border:1px solid #0588cb;background-color:#f2f2f2}.status-circle-active,.status-circle:hover{background-color:#0588cb}.status-circle-disabled:hover{background-color:#c1c1c1}.onboard__step{float:left;width:100vw}.onboard__viewport{padding-top:4rem;overflow:hidden}.onboard__viewport h1{margin-bottom:2rem}.onboard__viewport p{margin:0}.next-step{margin-top:2rem}.onboard__transition-enter{animation-duration:.8s;animation-name:slideInLeft;animation-fill-mode:both}.logarea{width:100%;background-color:#222;color:#f2f2f2;height:300px}.log-container{margin-top:20px}ooniprobe-2.2.0/ooni/ui/web/client/fonts/0000755000175000017500000000000013071152230016404 5ustar irlirlooniprobe-2.2.0/ooni/ui/web/client/fonts/fontawesome-webfont.fee66e712a8a08eef5805a46892932ad.woff0000644000175000017500000027735013071151301027672 0ustar irlirlwOFF~ FFTM0kGGDEFL OS/2l>`2z@cmapi :gaspglyf _yLMheadb36-hheab$ hmtxb Eylocae \maxpl ,namemD㗋posto`u=O<01hxc`d``b `b`d`d:$Y< xc`fdbʢb l |6F0#Fnx͒Jqgje>"D>{EO >,"u^[[[jos_M%:0g80B.Lszðפ 1YlKWvest)Mk^Zֵ֪m׉Θbk̳26>'YҖjukZۺgm2 (4-iEkЖv}XB Y``c9ZJV5eY߆6G ΂`3| 6[uIpn-[pL0Lp;׸%8o>F8 G8`Wί"E^_=(K,FK+ybx TՕ0o}{uuuwUWիnnjmz-nvEEAAJ!*(hD2c%FʦEbb6$&7߹UUW7 tw{98m8bI ڃ݌7 SEG!3j㔐=w;P^IA;RRnkLS.)o8G([)9O,,AtS h yujZupPGxN on{ho2AD-r]u5e^dMX8=r5ͻ^Q\~2V0 o0kC qA跍 G< 9v`|NXWI:"'aW޺O=}k#"7e %Vs~-y$ŵXw&'q.n.EK#JDڝn봽7=|wL:Ӎ2vmrRv:=0P@DۓVZ7eOd7HMSY|[of'BL}ƷҗV^+{W=uҤ֦='j,| ;vAo=0q8"I³8yZ6Ǵo9q< i3k1%& uk {H}@΁W—^qԷ4;gg7Ny/ qPOЌL4q,ԇ"Sv=jL /UjC-woȍnj̮{j\ vEk z>pn=^=ajID(෠quF;э5֮s7 ;QC7U[׈yZIۘػ*!$ dⵄŖ-ˇ?{mf6po~mԽwoG6Moza--m#]?]?Vkzܥܵ.>)9NH%&T/ _IAxOB]8(.v)G=HPSUP>fFE-GGs|'?~zI*R|[` -V'ݙGP3b'\RI̞#n;W ٟDTѹb80^s6,rȥ ism15kk,}qWȝ;tseYqqC/0q|> 3W/ըsF"sIoAHI 8C„ w~@ _(]h=r9p! ;H-[Ifw;%=d꯵bmH)k=o\hEi 7i:-!mn:`[G]GE,;syH62ƈs՗:I@^\wOVõ<g?]Y{?qKgH[X&tdn[,Z!H6#=nݳ;OWUG4]]6ٰp7[aM5PB]?4P呂7o\!׺ߜؤ 2>8/p2h@k~ھB~a[r=Pr8SescF ӗ S#P|0z'zS)8aFBFE VrJ(EfDpU\'h4P jd3}CvfM}Zlf,.pj1tYj2lƗ,U<:zt[%Y!1vMfrc:_n"7zwvm zuidtO.3Ku =.#Cjn(,THu_Z 6qhhP4#JH%jt3M)#zzdt1Dn~9/ȋB@NV?p'r f: ;bBQHb$h3CG|#v2ydm)esvw~٬fp~DG r 0^XzˣՇcl& \`\8HHa IC?6:5H;lވ4C&\FjԬ,|MCݔ/f8ܮ2 .ҍl _/AkTVΝg ~T΂<`2Q&;XAW@@gj{j, suuE ֟:A 8,&ռ }|b0lFQ$px=4ddm7nru"N:O u^x@񝂍CG*%F>Tm?2.opˮ1r\T١K+L؜cn:8qyN\Dvj[ܦDy/*=H [0l8=`Dd&76tOd٧,崅v2+׷ TU[NHN8W|fG{ܘlT_Z1 8j `Ar㼌` h *b #ռBj0s$n^7w $Gɡ;N .A>3;My?zpͥΙ4aqp҃GFw|]֯!ؾbvq8e+)h.,U~4]h.P4s)+kqD2uϸuE3 V⭯ҟfS8/D]5ޖ*xWGj}l&klnçiPv'6#(%)>qEo6U+6ŋ8ۢlޏ> `Mn''zB-t/ꬱ3ik3 55Z 1ao|+ őm 0$YəOa1ag9up9Gת+b=H߀Q1hT]ҒQ^?s9ػ lB|4TNYBL, g#5A㉐=!7~=/X]WuwZW避[ꞞWd==Bm®ҏ΋v?$ E# L!7ط!TRRI4)H#l*:#H.)pӇ źRMB=ƅ(ǂ͵˥>A,_2%5pyn6/Mbt,L֮l+9QGb]*D; {PZ!*U1|s{"3\gGχyG:-nQg7`ԏ3xAx%ÏUXMZ&HX9>osGa '!lü|EW-ebbxsY06E>)VH ߰}V=G~Ykh/;ۇ0{4.c\h`5 FA5Tg[4#So3yuy=<'j{ hNk6 @1c/5 -T:`YX]g~ilp!e>1x06?eoAsb̪fyb3@B߂Yq?;m)h4skP UfW62c>8F(t*GC ym srp? ICY:ϻ&͜99TY-k%)@|FFh9*(RtKǻTXM-IP.%C"?,+ˆ= >tUgQWw#Υ7 ݋[P ޮ'j7 7̗9ZI SO4YkDE͂B~`Ig;mu֢zSg)rE܉=mK9ZD]4~7߉R6Hۂ(ji!BldpӜ^zz拾gF:qꢝkWl/СuX2rTsBנͫڂt}}ƶ_5 k4 A;oHLϹ)z.quAzyxjk5F-@lҙcڗҗ\6= O]9/5ڔ볝\tOCT3f(i ]w PiQwγ=JߌvGޮy[[,Et&QocÂyb66kMK|֋$Yz%P(^87DrK`%5.: Ďx=mnًm]Ю&2G(-@Q7xu3%@p~нt S]=)AG AVg; *=$mz -|_EZˢk<5U5fFIj`=H})0~F,"N6k"}ṒkT"$mZPc',ϛtzՅ];+j +NG>K#h-zp6\;yb~9.m \=qrqü=fS 6u(؍3#0  :Nz{SM]"`R .Cr`-U{낍znq tx ic+Ԛ:3Y㳙N*aVP `1Qb@fc^X9̼ܶjtҜY ӂhھ3 ijs+\8Tvi|Q< v߹c81-t\16GInJ:̇hX Gr+4Hjv4l!,cC54{ٱ4dR~p*;9nC%d}dA 4Q8iOi TgdulUSAq$.j6U;MǶۏێۏj9JDvAFbmLOI=`jf:>IǁJ! 6Txưqn̓S9ĀM|!ґ8X)hͅͳ(,ӌ2+lD3Qɕp$`Pt[ DV2opo%xZ)n:p4N)F ՆtT7Mu`8P*r >(O^tXi(M4! t(>hcU<@ܦç$M'(J׳Q܃<8Vjj7P?Ͼ;_!Q.h|:B)Ӓxܘs_d9aN=.WO.\|_O&tk.".Dp53͓ 6`8IuKjk/wiUSusUlr ̥;ѠMe`TB&n¦\ g2pd[0Ovz I'm%41}@€:įZ/r @1m8_.WRlv(F5Aս~]*@Qؿ VgM܊:MʞQZ㖵. HfJwKIA\f7zl}5VzG Ɛ u̻vߋaɰZ(S6W z7ek[j #6[6iSڣn@d`[}i]<{bN&kG[Q`Ek$|'GOR4: yX1dhz3TʷL-3DG%Z b锥3I陌R^cy,3P!@ieNq좀FS'}@4шÏ~*T(PY+=!?}>Ю+w*3Usƽ i[9a\uWeY5 +,iK\ʚe<zKC&Hdbktݩ7!;BTR@J vKU8bUH^Q;Okb%[QHO 9谉0r0}U>ʔV5^ܵ}ecFmۈrqLEl "I5ڦfU2cW+O, MJ񝁧6y?*0&Nݚxq?)>e( @qTVx>sjAi2W@WU{LГK^ A'96&E[ h8J*X>wyW+Vc*YP!3 ^ %"`ɒRcD@2ܵG5gL6}*Xl틵\"*p9B4MzA65L.2k,0^>G@@Hty Z4iepWtAh,8<{9ȽǷƶwZOYE< Z)t#/崐\F7ʔB>(&6ldit/=n>?&s]@Ν0Z.3Ĥ9MG6XIJHXa:C}3 6~>D3UO>[vZ_}סqN!ʃ -W S Ha)Y'lg8=`z(bwvi:2E!`;x,Y ߩ =Іj^ǻQ^_Yy`Q[&aYQ us0{&m胑*j)TC$ YQ>*P}H˥_7!n?Vا(sOGRBXbG/*󨴉bE("lrʔ$ΫdJwGp6 P/#j mtCR0}Bj̣RXvI>(j=:ECtV:O[h[5"uE3W. f[eܫ8P)e 0Rԁd.ُ:~}t<)/Q cOBGGp<"-G-b΢y3b#5RPCk{d˚ ح6d]LdLu鋶 LCzӮIYs;A@*nyڢKˏɩEWeMâx[*u -zҗrizH> 2$ =_j7{!h7Ύ|pfs%9LAQ,2WH(EEug&/ $̃cm$0^(K_ C]Di+/TRhOJ?Nޛ j; 쁳#ISm0Q4WՏ5_fd "0ԏ ~D}R'k GK1(_/TFȤ8>Q8m.mstÁ-`wZaxx";ͯ2o2:h*4X-hW3snP,ɞ "ޗ`7Nw8ɐD\ (,f鄝 IM|؟նkÿl5nv xL/LM}ݻ/Еum.umd>Nh&kԵ-h# +qs}v.L8c|P=/2,T,\fxP!:*}uLvyj{C [ ^܋lV͛CZk9~_+2_ʗ7%\~NVw|:$^fH-œl6[DniD>=}4b=U{xCu:6ݨ18=Z%ܓ&?i*V߻"z,K=,5keb PÒ}aM)dŐ".Aǝ2AnK% %7; QΤx9: J's9:(w̿sltWN~+lAڏm[w77n\W<9-N߹ti?";iw[;LvP2zrgkcl;#E*b8*<~h!:Q@qӼek/#@wꪫ' r*2_2mppm"Oގ:wFgRۜ{zh?U_3m3ؾ)[_./d jG̨.+{7g|6w6؟>d5;{O"-<+jaW22pWagy6&BhI2%1S*[ϤF۷%nwT QĶ!=00!dP$Oj!%l6bd[6,6`^Hfɖ3V ߶[8|\MQ lƜYxj?KO3ٲ%))JrGƼQ̼)2c"^–;@Y5u!'hVGTi M9#(ן<4s{@efQ`Gy 8L"KB3+fOx_c`= C@d-TOj+Jw]f1򉠦J -L[,Əvu&}z)AԫyzX߶"MWwP-蒺Mrk 44LZvɎiZcKU/Nja,a !"Y<]K-{S &,- l5V(DSJZU+6UԤ)jȀMXju5xkOxkCf>v;oĂu)O[H%rJrZNCQn?|x_B*kgYn3:B4WͤuQ.RMF2>8G3J<ZŠrVŗY~P9w;< +iչ+5DDhp,;ʹjfƼ=䵫9 3Ƒ,@('h:Ƌ&mTkPq8󨴱!ä.#Q{== 4V#mx _)IfC#yFN uQRPQyQ u:]g*OU֧c'PfՅԭںo>x,uP^"yXdci+Y_'z6~(+q$U;{S<^xGn}ouvXt%&3`.:gA'%O0j@Ew:мjdqge4c&ūY3]*tI* r6% &AR^3$p,a2GÇ}O>W476Ոn7[YNqOecu/=cm:&4Co<}iAO6ăNYm:̲f3J"MK:Ek:e-O7 6;kh}x?1/\g^y}7|4q'7o^ o.Uξ&d5v 3_P MpĹVjlU  a^vqǹ܈\?虽쪰:Oob2AL29zXvQ VUq^k%@$Ǡ#o}TscFW}$yF$y^2:l4/maԽ&oL3ѤNIq!#ĺ~N>0=ٞbDAw Oh CTѡ ֩FI.M#Œ3ze{EvceR] ecsERn`{ahZ]'3W0vIxV[mQ8f64Sc%WrF.aR6aLv0n=,L ZBU\]aJXL7e銛 ljQƀcHj\}MGޛ [X@"WdNS<+#(;<"w~omyL'DpEbY?~{{,o,RD(JbC>ܶ_dՇwffsܦk3ގ&~L =$&Cyd"le؄ tQRʉ@*΋7JՄpC#5-Vgo !Gi 4&NpOo޴խ9k'y=JS4/;٬vY3MiB< (Yuv<9_m@|zU _<';^;#b})Kywno%6,i7-+v(k6ic"Ym=t#WRTmR[nafʭklW޼(IdrUU5=^Dfj}-:$rp( %\x+>wW؄ Ou gq/,W:˺/Ɏ+ y+&Lo) @[@exbiu;:Ykw[50x:rsS&_Xxf[bT:7ak}Yx<5r'(>q-proɴ2HU&I-Kmhɠ\YFY`|fM0]63Bw5%#'iH(8[*k.Etc&aNmVJQKTMbX4?#4c왓Q,<v5?J [Js'ڛiӒӇC>䶵hMz__m27b2HC' j ,JN؋ LuqMZW7'./^L^DL%S n4:OW^of߷Rпlq{\PȖ叙y4*xBav kx@͗qY’.3HQF|:rƔ9`P_SRL 6b|jAn~<DN"u0Q\ Wuާfn6oH玤N N'S;)̓vGvejOXJUPsps<׷4}am}SjTYCheubm20~t'r3:_H7M笜YrN:1!-z\MaP}l&pq6*_UYIG~O_KU8FT{t( av"CBf_F;QnqӳB$MU*rg,^GD,IH:7FD Jlk6c']u;& FbFiB"&͙MykUP\M]J~qZ JP$5K?1/,# K:I)DoY:Mg!'S$M }ÊN~$Ū3wm6]r׊sO^ ll 6H{RvBoLg(iZhVd˂]w!r<3H/7CyYN9Y@LceY֖Y $rz2dk`8v1gI1"0k~,c$ tyh2 ^/sv骩m{ TUM~{WÏɿmkUٹ?΅s4a:ZDg;@Vם4`gلw]x/goLvw'vڟڔyK<+Ǟ~NF=ΐ7.'hٖ}t)vSK4Yԉs]kWN-ЯK`~kR-^"9BF%`%5S'$^\o;NKM#_5yr֖ jKgMdn7Y n NlݮmGYN̂09E&WKbK|ĸJﱵWr{ݷkQcZ\2R؛Oۡ_h]Ըy&܈V;~M/׭n߮>_[./m2A qJ{ >L M8Af]'vHTUOμŃ̚u\eAb~u:ynwݥIٸ$j[QV*b 聇nEC*ZɭEo?҃&k=t#=KTrfWQjJN^yٔQW/Oo^rrj;NM4I`0wϚ _ߜ !Iouz#3tzi kjmfL'k ^9uDћVnǼ^߲rn_CSC "6Gi1#W0=p']@8z}Q/ F"̒ &=lFwdF3v1FuDFYV'F`.bNu䡁 Vl|I׀ɷ*~)Z*!+uQvCM/vԂ.qcYs, wDiN6 YrLU߲[crcq5)V!c031;B0ތeG͝UaVNUe (;;|d;_TA"?/}Mi ;]wt7WY㰛nNgh7EB7_RE=SxV5P sm`ržYazRat k_F= dVٿgCj߇%T}[n.Z$Uq:ۛ*<ggnGh (U?.b=Ђ z3ek 4 v^QVJRT+N1Ey D;YC+dNA݇n$9MAyhpJ=^蹭%[ҫ{\r8L^Rڠg8ޥ~ad8U=gP'1.#l =ΑѬzR6np~[EfnG+y|:fE˻~E׶Mʟ]f}jE3qMOϚ{d?]uU?#/;s~򹃫ؚǀK-6B'闘̵Lgcg&=G' }S唩VCIsyRCM)rd7&UC͝w4Nsca7fl]tTwݵFè4ou֍2B>#o7(J~jE(EM-P3/rQQ@Wヌ(QUm)!sG7ꜜZ4 …U lڟpd:Cce's2E;u*'$]" c4} vzyDzɨn4bTF.b4R#P*~6tjtŋdۥy1 W!ןD}glْW_A4R/u|]P Ǯ~:t[94{-.ǀyA0 x6-NMvM$c50ghQ61BnW_us;BEg}\"\aQ=#ͧվv1ŊSY(R.i[9 JdQӜ< 0@BNya)j0Vh2쬄sOeP5>I~1!-A8agjNq^76e/쾇ݳRuԢZ&UEJlpYo<2"_:979f阎.! hI4 RkCjGBu +btQPu/ А1TZ5V:+zp8jy\ST!zru8Y۸$ՅFuFY Tj +[kj`GŦ+yl֦Y닍4R,+h")=U>yV˕!V]Z8G_ jW pH ֬Q6P8=wQ9]W809{z$5p+҃D%ꔒ-R`5CbJihEI@xQ@-Jhnא!7#םY ѣX2MnƔi&#ix2nB~#}2n)Ͱ.woB( Yk"5nG PTF;NQ@(奣$%l7Q?lRPfB!wҤJƝaîGٍJ vKgWOӬL_$ta[!i&M>JLBfR% ۣ6!o "$,J{l2"Qo#BQ'!"# H:. o <9*a$ <1ʔ/- ᪠(J&$ f^o ћ}6,+7 g2.;H\Ұf,-JǒEw\Bwjǎ>fM..klDj.Xv}mW\:5֔jKضV3BS$l&ijDYdIO~q!rW)\3 H.iT2R ˔D'i>-(*Qoc$`g#Aꆘ0ߨn7.>x;w,yc?Ơ36I61q ($,Njwܴtr(yh2l{s\p@ 5H?]JHʽgIhhh{ ef zUs|+DWxst -}"<;p> #?X;$}upȖow/&ν'dޒM-3g֛떤$yIEuR ;5ItБfb{g-:6ާ>k0ڹQs.A,1xBU\tBBA= )~3.{ҍPa~OBP:sQS=:Ufs1KɗM @PsygQ')_@\l`|N16fpp3,Y,wZ1~טOnoy'ǗlfCW?Ot=Kz (UQCdPn.<=y]Sd2KZu{d^&P^ qhEAakFQ7><~̈^=QbyAsX Gr9Aժ` ΕMʆ돱, ,)4KݑYZ?0Jd\;|h~ki?ev宰Kv2)i9Jcj~Uivo V޴ʍX~eCkˆƆKڰZn߹ZXkon퀭:h7ΤG+Ș}I]Sfn"u!`*ئ(E3 M N4jnRXMGs/MtbRS{i+-v aJu3Z/WS9ZK]>Ɵյ68N^~i>v$$&x;ό/nTu _pdR7#ƌ]Kqk^:J1)Ǥ5$2 ;ʗ$X[Z(ޜhJ7*%2E叙#zg{hLK,M#ǤOkdւ nnVZĦپ[ȷkV%ʂ:@S>Զ}S~.vm[kl&żVLsHuvM[2/z9ն.S<#y\6 nGfmȬ@xʃEӻeiwXDv [#:bL_hkm[-NٌEZ~emM%Y뛮%Zbth%:9}6xn.^%,uXF>.1^xoUQO7}\1B,53V̒ׄ'Ōzw67Oi6o_rUqp,1qOi#*n;6F(Ny'+ܣcTq333~xh4[ A=,Oc⋢rx{+=.zfGA=SMϒk߉kѥ1|ug\==j=$rR3, xٰU`B!"LQ Jc@({˯F/43ibM6A >A 0Z( zcdI Q&Z+8LTW& aQ<a"*FS)1^T}uМ5`-q'6nh־ ڻO׬%3<h%rܿe :b VY zlN]6p/oyiOc5xrM{>_ؾv5>9Xruʓ3r0rdet|¶Ld_*5hct,g}Wi\<csp=iv6l۽N8E߹ٿ}aq̈́s+Wߚ DٶD^؉>[DPjq\j3th d[)7rhUW]jiK97 X|/>g],pK4YW_ځ/&-.S0+0:AH4bc7o|~۶FyWub^yV{1 o8S8#(緥~w޹jҢ6ĉ"h0PT u) $`]+E:Eq؎W7jD-7(3uŲ{Ql`Y$OCoɊ= ;h>E3g^tPeNB*ʘ!x % ֙Y}IK %epH ZR ́H+!)ʵ * 1B1ˬB`> &)ç & ),~)|H}ؚ"odA[aO:)禓GwLr(yļCgQ#[UN84~c!yzݰҔZ3;zss.FMؾ1 FSI`A 4QByE軼a"OiPSbnByḰXKG`SVЍC/|WM߫ʪkjv! :|uQ(UϜe׷]N#h<;vU{}fjH%X&? Vu~V~j6A'MYvM!GP۹re紳 Dk/s)kq8vI8#x G,c?;_?!syٯ3ηw>w`||tuP~IhhnE/&jy+ٸuTS6ooOoh-Np8ޗU2$u]v$0$ c ߂ST6hBڭw.ci[ҙ-: g*Khq{FA lW?}'MR~<3.([v 'Tgx4JA]ԧ?21:yAc4Qd8`b4Dlu*l.]&' NY ?_EJOG#yn ^TA/UB {dȎU}xX1r_i}~8b*=^]W*s->KdfgQU(s,ZeM\]2)1 $l!?OnG'o~P]h꙾V'E6Fo/q+Zj z*S`OƁ| MUa{o03g}(骪5J8+5OOWU$# +Z J,2Yin>ŖXp 'E!4l񺻜i S(߁TR_ʠ̈́$^ŊMOwޯ,cӊф惞\I`T)&IX3W Sv$Fݸ{e1fHțaw(Q \9u\Ox7NЍ%hۑ\WTT۪˻UmʂjrS-kU-nE*+g]4u,}뮻mfmsMX9UuuUNGQ>+UUG7O(YA!9ې#I%y\gf6)+{?DC<Ukmb~c|T`ᾮ& >E7"B1;/ ʤA$vBfYtجG_))P@ p7:z3hfa2 :v(^&m胍ɛ7Mi(&+;vv&1S {\ر%W[7mnYm}5qoqQˊc^nBq]dZCG6\i9I/`b}ޥ75!parHٰ) |\n@s؇Ӂfs޿jZV+m#~xd Iq|Y;$`kG^i[يFTX *QlN+xDՑ -ML[J ϧ},i.F,2"BGщ0~IeOÖ[咛o}Ta>ľ/oz>E}ʋ `vz%5QlҥH++l6gSÔ|Bh8ڱt}C_Ꮐ֣*=d[™M{WJfw.a44D o*VVA8sP-Ҟ}A" @"Ȥt0+||E4N Łݓ1 9)*YѶQoP@ J2::b?2Hϴ3Y_nx[b¼Y1-Mҧi.#?\!Бck3Fʷ׌8'חed($lٷYS hC:Sli,ɯ䝂Fi$柌tn_=PpT ;(3V{ID{iEZLI sҢc"3[*8#^NG#c`4cCf4q&E:r@B$=DMRI'04 'yP^?RxS^3Ԡj"!psmhg8G41$G>LxNy8.'RԇG@"LC8S1I.uߣBG?> sj6خ0FƆ{17qDXSJRʳR%FL!sM(~l^0av$.XV]Υt:Jt1"GЏeC7aR.#*fE|[rX\pM[\c3`Z*؇qfPW3f!u61SJrmoXQN[1c_.ʁ 6a<K#QGRs7gc7P߀sޝtos02zr {V{n͕{6>]yTЊX(|'׵h%" ׫{i`./Md!]Ђ[x C9w<XcpKCabP#lmПur8/^W`Mfs (=TA{r \X݃f?8:4gdYc O*EuDmO[, fs 6W X6 b%֢Bۇߕ"l?YkZ&|l !\I8 |`&11P/ IK)){@'ZYhv&g @6` wE&yIIJ9DI=Ab̚|/HuD@& 찇NQz^~y @^,, Q `qq__X(.l{^//T8 c#*bi&OaS l"y$&̲Ds7Pu =j\.Qܑ?҆|rz4ʻ}ǃ ufůsfBQBEv^M94$?8<"<.L3jL(L5FVw߽wpf.p©Mnc^8(Uν>n.Key@{SF׆{`| 737KݒpȕHdQ"p(@dY T cTYK KJ+VOwdC$ZѧtHοn w? &iG, 蛙|шD>yA-@K#Lҗ|sĩi@3@gM/<X6t\_ey̺q*+j/2+&Z=9s{] FlƎp7@Ŭ7G/Ð"^9M4%?}e %Ci*fFii&8{L?pG[mXګ`dl'k&cb5ncd`A0g -X RY< zŽU-̞w' v8 jBXV>גk5`Y TTj,OƧ. fء6;*;ZdNywM" 0ԈKՒ4D=#eLpEH6_-8(uwʫ%S$#0zޓd%NQoc[:@~ƹOqS>P 䬕}Ǐ{"f+wm3;a8Zx 9a>n  f|}XϓѸ?Gc"[yggYQ@z䛒K="aU5v:t op I+' /NAO٠#HzK/ ]^z 1Q80)]h" +_TaU8icm<ǥe}d@ųAc`h9NQS&ݫMXKX~ JЃ͠X)=PԯuM7:u&eVb{u+9denWjdSX 6>A8ozt+$5Fv_iN&,>V2 7>#_f 0ZҬ`>&$+H кeH!oڇևhN+?]¿0Ck~\,?0evgφ cuH`s$%C_V@DbQRUͫYA$|E{Z|uaޡU_CSnn "k ǥESʇ8A 2}桫j >M_dd2/?(Jt5XOwNn r>-|<+> z?=y W~><W䯀\0gj[yc~޷CՀCC<9OE2VnK+gj2*j~y\'oޱL+0+1{iuW7*voܨUjFc=|LƦ~߮e˴P9i̫ˉ~d 9yr }uf**?8?'a"U[/͑zyU@ʙpy=K.۳H+9ې3۽RNgQ l]}g+Dd3E d٠C|="猖D$1K/%cio&5OpFrrre+9Sn*YLID##@ fq 패a#'b}=I\̮' Zh|,=:=(T")F`EEVj,Q|FQ_/a| 2rKbIxX^bI&$Jt2(i]NEWؗ,ޥxVcmpF&+a) z؇d=>>1F_9=!~S`;{L|cpn|U^;-.߄m";aX(Ȑ1|YYz_-^U{3u!C+Hn9d>)Ȯ˵UIͧ@E$*}*~ V9_XAW6Я5DT@BlEM+Քd0X v mRfFu%Tc^*-q)tS9岠G)AojYJ}A8I}JJer(Z`Y~IrXimf)~U(0$(@z)p_\zvOw^9;]WU 5c(? z?ܶg'hNrG]ua!z"!`4yp A72E{\ G9 T2 ftBIQ WsxnRP> #G\(:4QSR 7~F9r@ :bQ&eP3RNZD%&J ~2{@1HrX/SV18cYϷw5m4y /T4"9 |O"u(M(֍nb.e1"r% ӆڠgt }*ݶ7DHBlg]rt9m72Z.T 6kuuN^=ŒBaF_lcY@2n6J Ea (z6id0[\IoھfЅ<jW}qG9aM\WWr!(^k=sF-멜 jH NQkpè],/?nMb=Zdy׻pQ/{B5T)~ +0cы[pkM[J%~uD.7Jwuw:l{ٻp=[amEeĉuB=\,UX簙ŀb\CӴq 倢#ҤZa͍ta[;OgxlLl {]WlwGO܏z a5xsbV3wgug=N~%8wo%q1c>(G3J&iJtX2E4} {ѯDVV"oN`4~[b1BM%CvL|"0-m}Fq$Y";(:jш-P=4]W im+wԀvZ9Zی|d涋]v8Uzxc]NnSz묝-'<ShC5j<Ҕ {=.t(F~>WZYfu3 i7QKT h2 SF}R&U*0, 61*ap2Հ::A/J\``AI _/qZΤoޒWz]aГ2KV@o/,hZ[8FCwЗ<O~pz7Q3;{aN jiZC1jvWqӰ^@ub w+#!δƮ2_Y~t$ّI)s";gZA IeߔZ=FaV;vkuvfe[ϳ}{XOV `^B5 5յvvNNyJ>)M`h3ͮsw׈sR7mKWlXu8wNYok׬?޲<;Y(6.x&U8ǹՓ9G̯/!?C#Fl ndB]]yu? y;x m/1HB D_A//Q!;tB!Ll 1q]ee%]/+ 8{k:|KVUY3i$ambAl]Vjoinݮr.xIA->9XhJf3UVa1s8ٗ7RmDC1/Th&Dc5[O`LoFE &_ugKy%:jz%!W`׌Ot\hԆMKMgZ" H{<ܲh䂥3BNOsimM6W˂͢oab x+@] &m 6bZؑʩ;G_^W"Z-FE/.[XGe#^eY3,1h@$NE `u:i4jAy : ~% |8@0mLtJ<,a ZZQ x7YfK'_6=iV;h vo8?i;ZWdu.;9 _H@X~w+*&V݄0ƳG3y&|fsGjlO8vN_Z?dy1BK:87+UZf{R[$Ґ&w(T5!=.MdnEk2M =2Mt,uEFq7-_ h᢯!ZESQ=w"6xoגyyQ;aZ@dԋc?ڭ% <%]C^%=Dhtw 2}Og+a9g5ԸA~ij]iXcǴXmŕc- kU¢HQ .aQiӍ.nz ~LC}SPaa#Tf-V5K-=?QUqxl#_X ,U{/~|ijQ?iځuo'?<]~dlp@`KysMI8pj 22 A8_;ͪKpAu|Q__nNg)!(NiU~[^T VmCg-V祯̌$eEz h΁v@bap([Ӣ~^՘)8oy#km>-<n~"5 > `,g0}`O1k(O1FN/2+lESs_*3 - D[H |$>h^zN R % xN!+ސ_SRCAp4Xetf+XO\7뮋/FähZ, :oEJRb[ hX`l @6)?llGz0=,El#;BcY[7?6s>9=1, ?䟃"zs`<h\Ȥ?,/gyLIhkh6ҋ;^ ׮}|GioH'anCҧvѻKNuu9/ mBrhSڱtb9y97e4O1 ĺb.yp vY&k[j_8ӟ籺\$%i2NC;q*O<$~J>oIzwm"8#e"L :R4pE\t#)_/9^\-}\_r9*GBpH~}>jƊOf/aAl}ع03wWrKDoSB﹄E;N#iQ"H܅ :33#^bZ=.* t7 /lN3/]#ԊYod/2'a-ra|ƙpg+}C2ٌ,KKK<]`mfkẔ&ˆ-NZhn;]-_TDךNjڢnNO]eOȽP4]}iCS]I_%VuY[ 4doD:9a*XP} 3FU. !nS`9^ik3XWG sJAyx4͢}}4WNIk{+B6c[z=kKLw|c\k)[#^ '?'xP:̚wkyݺ^tZ&gX^Z<4\kr|UrH`4͇ >pklw*iBU ~u㪗K:_m-\bl@jGC1`Y*IbQԟ X=G,=i[:[Y3 fȏgY\.۸EC铞|; FS[Z|QЁ> Y`-tSkESI]Sq ` k:/mդ7);psk~&*.(O^ްoPTQ1j}l~e6w댂NèZU@NfIbb0SB4TVq5H `9;Xed$i8p3!3@7f%St3w(7f*ojB(%&4H x*LTB<qJ7;xĒB1u9hԏ0P7@š!Ov)c?pY"h#^ކV!ю@JI+h Xjȏ3n AVpZC/LU:4qaEaa. `M18@ a)p#`DIqhފո>IP!`6N$Or[FY-aMz-JRƤsjh642@ =?4 yioO.6&@ƪ8 g/"*,vh_.@ku-X+v& N8,s{YkUCӂv#tᬘVf(:fi 46/9-ehtGS&T#h*zDlB J@]BZGzղ2Q\g9Fc6i, 2FV;䝎+ ( S@VL)ݛ%NV :aE(B?M'8iѪp|GA5A{z```]wxBaU&$nunw/E!ltg6tF^`r ΀vMs²=j_/ʷNS\ֶBrgUX49m_C{3 SjҚ=&@ h(6UCZEJ`pj&=`ZJBsŌ aL fɤee2[4_6{A\qڊ % k ^qTUJjZlpUHݖymĠWOY\jY`B xqz0 `4 ?1FQKnEF6Ȏz2zKg,zBy|Dk`t鳲T9 vCh hnBӺi~l/tkck6x֮r(rXc7L)D ElP{W(@*M1G3Q_\UܶeIsP( p[Ym\zipG>6o|vݫȃxHwxIJQ$*c|ZBSʳr_ tB[Q́F&FDǦ ݵ>FF^n4ĻHdZg03LE-6tmYQy[n[uZ]k]O-\JXwP4Qg8vi"3bN ~S QK.B.S(Wb d'~LYR4@lm$/kmȕX_51 isQ u Pf`>yIt/&NK4GK at=K2A≫ l6QK'? ݛR:!+ t³BGw$Iz508;6 ob-b!B6 uٳϢ) )egKY@\͍4VB}f$9zx+C#…{ i<AǜJ=żTgյ4kB(gjt7Lp:d<ÈSo^,齺S v5ku&sQ9QcsFlǜ- EЈ`s5DrYuo{wigamj `Ihf܄vSWzM?6YNB&Cm @SY:hk]һ 0b_c␾_]|Ik:dMZ#kv:##^55ZO]ƬNgcD#5XJxb[ZBPCcHTT 9FXe*:~gbmQ(-D6n]]}o #˧QA?W&Md8qWаcۼIS@.js1 /1 Ņ9l\>$6eb/_SfŲ'{n,8>;lO00-q`@6m5 zԡwգ2ӝX㬞VKuycRT9|b $OmkǤ%̣bgDܣ/</_ʷ_}~PDx5(߿|omC٫gߤ俾 F~VYCN$mk/4U9'(h, 6qpiĢU,i8hxk#9dwz-]|VٲY>rI@ڒ\0׷˷D]}JNJ9 W.h,cи H%,g5Px j̭fvU\hH[m\h5՘;;9i6_Q}֢c&;ڢ19-}>WAb .c)In%UD>,/h021:AJ1{+[{q`)~jocGj1iL b*idS!2}5ca2Zldiˊ9KqsTɴ; ;afTU>%+kbGYjQ,VCj)[eP G<\x՞[]jt=~'} 6*#A8ϭT 2 XbKpDZ(׷e!?x2K-_ȥ 5‚Ap ~Uj,{??Z/go~ڒ[ "m'N:La: hx>,jQ 8;Ѡ;_+BU۴}KPkj6uO{{iI= ?s~^X@,h**#Q԰Q3aXHp)Brk$,1J=$_ߥ9$t0us0(LL>(U3')˲X|bk{.$#{b*M 3R*V.+r?Q~{3FO]j\x _b}*JpPh=->"WT>#БZ: a^a"/9$3yɘHy❕;/)aPp-YVtEzk;KKCm?9 iN_u"iS"bPɦ˿ w:W(x 7(cغDdb Q"!24: nH%Ux;R<4~:wCr\32;^q]9;ʉ4q6{;-g*{tGwGUe{{7f'3Nzhw ahb(Qv,(YZPς sLt??0}s9eqr>rtA/;wS@ʇ*]Nr J=RҵԞguH(-]RR$l^ }{n"<̩'T] Gh=:6'cğ0J1HC1TOk0q)}F?H}wÊہ 4i؟qOm'ێj%#=k3:)%ї¾袺sql&{dܑxMJfW8O  %ET O'%_IhN$tϚ"58>sdO2~$3џ~烌VJLLLdRJjˡ\䰼N1=f21]8GЋARyã[f jSGZ3GZ ] &D g`6Ko$XL ZU}xRy$fsw,J6ؐR( K |FKdUX:4ri8Je~YhO!y΢R>zVtUGVw<0v&7TG8VlƢ!;^8OW/&H#LD90((ѓ? a)Am!L<| ئ%\ÌL4⏕`n?`VWkhb+iŚb%8ti5@/th$pK套sGXh%bɻb/u5K:`Ěcbֈ^:Mžrݹ׶gY5e\pA:K#xs"Nt;f dBC 3vDk/U1ղ9GsX-BC<27ǽ M.EguL͋\yY6{ZbuyE5%.wAP3}Snc ez52QYͫx`բ*'/ΗCi~E'`ciE*&9ҞKA# \:+/c)q!r^={pn7\ݱdq;zkڗ,\Ր9N.N[EZ4w^/<4z29愘+GU=0R= 9#}^)trgrt:".^Q~;3ʪrmNEE@~}Pf\tzMբI`/81iSNMPVv<_aO6)hNv9dyXOJA1`SNF 0d 7`z$ 8g0: aї Z\f0< \oqg~1?8`|l"[nb1 MysB'F~ZbvGN u_f͉kE/˚>6D٘HN T1P>GO6g\=WNeqot#uz:JO')%A]4QWCMR& $%j¢ 7Hl%GmPPF @9sBM\+,u`4cNZ#,U̥.aLQ<4I&ũ1@aWN]P9h^^=T0}\$y'ѾY!aED*nĈ\nE*eS4OpD1Kr2B}qj1Ʀ/T 78KYY&駵lWSJ9=4OG:ٝf+\*Z8Nʢ g^@$|%-ϦWHM VLR:/QJh{8s*dXJ5`j[pk&UYbd`l&LSTr@ tڞ){iEڲZw:0Th &!̀\V`);^L1C|]ߢr.-8eu J|W>RNr 8xA#b+<SfLM6e- !d#_ԚQ&qqPBkA(#ZqƗ!Jpl"1ײkIZVp@?-=6Ss,e:3eZ5R9+7N9InۇםXgCSٮ嫳lmu ,3m9zOPEǰB^rF&B^mc r4sͅj\g1H9T1rFBCZ0JPhwan]bյP5ނGnWgkuʥC?■ͮ |@-^%;x>@5eyAU954mƄWbp\!,GhD" 3! 鄛HT\6H8`9LE5tV\){`{ ꔻ@`N{9瞞ݷv5ٛ:WnYu?={%14*v e\{z?gme&b+hP9B{ OQ,mճU[`l\5zHṽu=`zrX ~UӚ gv^5y#Q(2'}CWKs륊O67Րo6kCD&PS㯳XNoQ5\8<On}թNh f ft+x2mS48vו2 )ѻ$:(Z1FbpB2kYcÐQ+Ꮏn#4wݩ/+kOT=#ʶN= ;33Q @&.֯ɗ/oD{ L=aMM=I;eχ,'d(E5^BK1gՀbAtp7oC/Ҳj8QQޢ>”YnPj.$Qlw[Dž@>|rFR=v?$ksH Lk꿿 N \|D gC ]ݭ~wS$cwT<б|"QDRMcjId*Y N5~wQHպAk3`$0 t1B(_%ZUh*\TzR׋PyRя9h`AsdӬb ဟRX| NjhZ; 'h0{*AZ+ehȦ`<r^PHm˄V}TWkO' #gmkOW.QZQ {p=4A6 Ҙ‹B3?#9Db%>OCxu'@<>W8-{j>9أW9.Yz&omC}s1e5\Z|犩] C-`.* 45K}_.]|[NIwzd 6?rp%K끼5kqAgZ 3g!BE RǕ>Cl)I]{km;sZ=-Cs[֯{l|~󪧭[OVƀ#@Ik<I{wKk[V?ZE?oxtϥA E?PR> Tk lR"7(/CmUe@$8} , a[ҳxq^Q:ZRPjVu t%n2f9ر]7~,Un6c6:gѫ +-.?M&fv߱s#zVwq:꙱m۫۷c$_g)O&&\@bd34n'BX̡1R;q"LN,`/mO䔰m8F0V\6&yhM&t3J0`g@5zzX—#Ն1oԠRڮT}V*yp-"D$ן2pԓ1 8G07Oy#xh(> MswLiw:&mH)yi*F)I$qKwN^~2I6JU`>u0P5mh9vyռ%M|Vεz0cQ[} Уcvg-3 盲^Y)Vؿ娢VԳVBa\Α.ї-&<_60¡0z̈B@} 0gI=FS]+(]` \x\J KRqbN38ʔʗ5 f jA3]֚@ZOjM$%RN Y[wzterZlJYV9q* N&[5L[2<2?Kl*}*g?je܏Id?r `^1}/U߃wyE|k4~ NT~WrZ@ څ _(Z VT%ZZ#X>u㲻^Eo2˽T'v <Ր*`cN-FK+P WAv4?JScF'c73 SRӀ\Q>j2;ⱳIܯ3s:,([.edW=s ~=; !FKl*`DǯP 1I𿐁I Ș,a8pc3X)WW`:5KQy7j$uE|pM5* `lh $J6R/#4*8BݺؖWX.m)R3fa-v4+JP%Fvځ'C78-6F @6aY9_,GoЧͳ%{#QkA6>ohͻ㥌d͟_G蓌/tk `RӍ) |:2r ⯿s<ʖ5E躉]]Zm/xƜO XR\roytX Q]$^Ӎiܠ*nR gf5/C7A5 (1Gu@|,J$4 DIIDmx8=9="zcq2wНvȅ GZ55!_u*ZmߴN3^#7$QLZu%!^A I1)91C|GDM߰A7Y݌:֨n;VBNRSq%yo|&5زgt1cL0o1Cٍe^w>½!6jf4K Gzi dߴL]/y rEF~ӛUQ@߉`1qUwb\L(bY%) ZRlҿ˪0-WiUФIS+_!y]+r=`'tv7{}1{\ǃ$ cϜZ; ;usg,kv۸U߻|ozrPQwGb "]lɵ\{h7{‡{8ֻo=`#vN_2}N$sSz̙Z 6t6@fn:6i!T$" W8=(}mZx}}5hKż{8P޾7yƾ7^:8,B7l{8O<Ĥlt jC`)7a9Jl6C/?4gZ+q+IaɅq&g w.yEZEW~q7 K&*/: ;,woܳeCk57nug͵&շ7ڱf}?uP;o>r;N}ztPu]C<֘јsUۧ. o bo?7gW ,I$Z* !N|˲f<s&|헪m:?^KgzQtc+kx>7n鸧H1L"bN65|#.hd `/0뉚]R>[K R;tHdNkVrh*<;?Gj3 d4 ьi1;^Cg&cP SV9y8xqcn蒳ѡϷ]j^ 閪8w<:ml튵ݳGVt*魏7Ϛq0Jg!=B_Sb>7LS*J&o#'q&]+F.O s!qLCDktK||4cLzbU[)3K!wY޶oXq¾é [?b(\5La乖/{s atq/RˀƓ/=V!疕 rR|BDPxt|߳eg)VA"#^A qF$ڻ"db&B%+ձa6U{nm0YoM}4Ғ|y|*I{6b =} 6d1yݰ=s/}qU|gFOS1 j~;q/^u 5eZXnKDkc`LSUxM֔v)#(&:!P UԤ:ˮ>eKqGe6(ABO3cC~QgTh&*F&ak[:V#UJ5.Ugp+* ¢*f=c(ךW1^4٠.QK wƐetC<(a,zB0V<[M>CwUc:y'܃i9}^< C08C\OPE^1sZR5Hvn}}n6mpb1, P ؊ A1eWv5wǽ# h#/_]ps3:u8ifٟ>0[v۶DY4ag "DR 9KvHR]SPŷzJƛ3в ?X§)VF 1Io0O%eœhyw xA;2ބI>gvz _ap^i5ҕp}ϛwJ9ˉlԔV4W5qH >.{C[|_B>N=^[r9^5bUΙvJڂk|߰8NgNJhJ,JA9*rDx0s{P6_WFjpm8Ϛl#)ku?!ḰГ V{=ӓi3a3 `F`vin`n7< 2n7unhC"$T/^BdG#yYl޼rU 5) 嘭C/YZ,[, rͱZhXqE~Djŗ=kqW[Y$9.v1rqj3܈m7%q\br2:.G!D8<%rըרi^`:X+r:]<cr6 yi䜂?DE;x6@KIhu϶aںqV-6 uU;V3 VZG>E ;B41zb_h {b#g¼ p9t(J8!RY'%saX{D_!"8dr50.&ʷӾ6ې9p:X qw3Ϡhu8eD07D{ s&Byfth sȤ'7VT lL./!”.75^FV= .H*^WR֮,_0.iW]ee+ܸ&wo]MP{(aW80=p\qZkք΁w3V]"Kf EJne*kT7*>q{-ȕ*LnwWXr. ҫ.z=b69bX`-Q @w?qmEp_|#KWW%eB3µ{ҷe(K@ږ ˃K{[@ Ǹys0df Q9)8{!p笯k.U }>}kk׳v@՗.q٥W&oE3C^?C?G[۷={b<}aA uip(uiW2JM_+X  ^]"~ǡ@)<MN=BóM-L!mL!]}c@ж\%:%Ko`**|3*]I˰@uXK {(|I|~_ hq% A_&A%D̠ڍޠ-hCxB>Y3=8:Y7bzS8?%,S/ҋ^$(3HݝH $#BL*f@pO UFٳ \@ݟ e EHquAo=SgDQ.b&.{f׋w Z%0.7s??~u?sȊ 'D;FFEl188:UgFͯ_6m 0cYV7wU֜'706L6rh+FZ|T~8155ipMVOKZ۲s6žbD K읁;!f I5k%fpoZNK$p܉7&x8"~}3c@qL4GK2m L5 TNy#4I <1BD,5X ay$yRcTPYLєP ZWfjzA3*SUs(go.KZ!Jڊ&A 0%Έ-B:)NゝKg u\6߸~-o_wSg+ggC.f$]Hx Ghc n@dV`2]zuܸVJ hsUW+w,WD}nOӤ тf}́Rj5NͧyO8<lH.6N;@{ È^x]8!Dh"=eN 23x,> I$,>扵pB]41+RKH)'!G,~%!z}< A &d!t2B &Jd41Q4yAI@6d=c2/c~{V̢4 WwvÑ@|']_41zJqKOtT)j$4+ӎ0KQ1sm|~2k5oZDnHg 1,:/X9c^k4yUzKqjNo6yu4vg(tN')&]tjJC!SF4!H!C3Ą'$O={bj6iA9CN@qz|jP8uMn˦{n2z$aF/K17~;D1cA2=|ɪx\T>m:Vb̗o}Yn[7}_Yj/c 7N\vu؆-5\ƭI~ĩ /,H]>|xq"vJϠ | .(D߼*+੧R\N?hp;$OUUӁzY&7uj^c`+)4U3ұsX&:tq{,8qd>IML]Z EM1V C9eV H꙾rJ XEE ֣o_rUxv|0'5#GTO|x\.PިDK8ćGKgd,Xo3.A 5 $@k37_ c%ByN;IpMhZUTM6 ;$==<RIR5cX6IQ!3;*j n^JCCYzAHElEz@.Y!ᩡlI%Y@Գ2+^D*ԿV" h2-0e򽻴2.tKUr]Uт@@]bҿk5ԥ-:TB nz҈܄ n"(E.VX䫋\I^X+PM2q2$ E)2(O\"DO}Q :Z B"g[?kDQ3[]Ь,eR*7j w킗ƤwFFP^A}AA=pQdrעļڲ33)wgys&p߷W7z0 D{satD ]3jA%S VW-80{WtNBD[|D`- BU0?1DɠXTFvKR8|dO2iMA9 6ز4OIwI~y~4=:"`h0* 64` F)br#!f"G#jS1s2_F8tr}]Fsu9bW&Se!n%~g!a?FD[&NתM8! !P+:lbmVֶ̯sYD󂼊%tH@`u* za-N2T_⾗+ZR>Y-{=MA<ɭ;S;xށ>\23 ['4'͝y6dF[Ha,rTH*OQW/JUZ<֋puBL!LHQXPu%!]Dkաm[")\0$R.w`бsZ"ebEVŸ]ӭ(8&t{+s^7{lyENK5c5*.J`sZϙmW'|/w;.Ѯx`mi3._#,9bnVw~6(b#0֟dD0Tپ0)H -^L*KlD?t0̹Ep|e ,uO =kv g8b#+6B'G|bLzpӓ ʜ%?ϔO31d~rQ|ϻ~!*LGZ<C-%< 2ɴxXnW<{;dmKQU&!h9W!sDߣ7#w_@ '|Ļ_oPF>K *5D"ђb2x8@ Yx ">!~S&JZ4O>ˑ!ټ;֗ eMkd#+MO#@ *)T=/9NW 1ńA)_$7">sZ̔JSrmXē`;o]5'\G] O3`TD.ķҕ'130#nCXoa.& aH% & )!i-{`D6 P fӌxI;RRw%cÆŒN^^n[^Y օ+p [0-XE=J0#,!1@Q8T #~!?؄~<!vCq_&`f} 󆂭t~5d&{ZpNMWd]iV\WBQFID$#N$5L ]qPXTMjVDIh>d]2tx9>>]rհ"0|fڜ ; ۬n-{w*EXP*sǎpj9V8jhJG;H[K·%';VW9hJ wTOoϢ1Ҿvire/g}}?\cS[ڲڧѭ5^sZ18x3N]3L5i'O݅$ #럍 8\|Տ,t' z"`Հ4,{K};?}͍^ge5r[<4LLuB Н/8ԭkGV$ʗ͒<pX֢c \?SP{zmZhH Zx*RkjJZ;oR%UYOVV*__?M̺vvqRc =80jY3}B-Ӎa{- VTD8h{} e9$![N;#gV[eɲ$WȒle٘blf馛N$@BO@R)0KB A84\KliJl}̛7oDNOŦt^'`HT.MҀF -' =I$ݨPWشY0V3V"ར4h=sF1\U l?|U'EX^*ՓbhV |(S16mZy|^v'`K€ ,,,/_>_G_?)egΌ1(; xϯMϯ}Bh* !(0zOެGvJJ<{cy K1qA| ^t@K9 #72e|:?\}c` G0%S вO?\0=C}%76 OuL:{gp1`]LKXcr,w'cAL /?d${mX3x9OC&~ϜbϞ/N W {C{m߾7[5ƼsO?ӧ,\x]!.gRښY:*doarrs3[{VEy>v[ˡoXM@Z! +VxV4Fxanwud<,>8d7[1j:pBZ~f3B5S~VrnV n# ~0,/x聞?^ԙ3e /]wuow$3gbj4ר7!*FyjgQ;9 ?2~~hўtO:)t='݃==CuY4$[:, tBoEԘLoHMe@-5 ,Bo;{q^̍,f4&vphȻv)"< '*|0Nز0[JnEE.W :LD.D8ߵ?ODPI1Wes烏8bavzigk6~[~΍qD >MfU^OM8Ru6.x~jTAkMgzև:j崉aU3iPRtLUxY`(@|R* EDzgcg@ 'uA`2+,vЋć/ DtUwmKbI"et'&d{bDrRINf$U`>[2ThӌNՅk-z*FO<(:sXv7b2uTt\k.7ǻt(?GC߱7N95Ct%igC̉gS`/@χU0>`;lc(|0v0:Җi#!5a *:0,O <R|MYJ)llj*SnE뇀`ODokͨCb +z%089fx1ÆiaPp_?=/!Uz2,lOZt9@`~mnCNNPf.l/IMlLX\ܗKj)Eu%u*bN c 7kg1(  ;p{1-g1@\2t 7D P4-oo')%z29L5)2<:B&):O¤T]EݶK~M [uN9\[F_)6TVpHtKu4ӬV6_WʧU;(+4%ɤfei^oH$S;C!; 竭>N5)D{ʎ! K} rљyVЌw1Hde;N \DFChWvπw;ty9rӹp \;>#~`)ahZbizYjq;~\lЛS +rjBkoPl )^NA]'ޮh}f"c.!ok岭o<PB{?L'Eԗ D =]*.gJŶ}Bot&& e\E^׭{/NK޽DX9#^4xC_ jK"wCjM{.(,ր+MsQD QcTP^/4y5@^+/'w4} Zsũ"`W% yGIpC0:E?kݺYɎ+ U"5U@SxW.0pKaX}:]zInN6C̦߾uQ'|䘔UVєN=?v7 9l&mONb{#pG^]/ SJVN\*T-@vfVO!h4RhtLaH\d,Ӏ"F'aKDPo(z p=cwd7b]Z8p`"2X:"ŋ׃'H-2s֯{/Ǿh{ThrĐ!CT0b/b  Ԝ[9>(^0atvav؀ńQ1So4Vx E Nln=˜zxϒŒ;ؼѤ$. )_$1(}5$ӊEP۔&~F̩8ޫ`(1E(ѻ&G"T¹|b,i((18W0w#BSGXK{_gS.ф6g?{i֛뷛⥶v=vlTRa dځӖȔ \v힁UU7V͋ *5}$2uC0w҇AåήCvELSY>{4&~MjF %ۇt_O\',}%l)h z%ۺZyIF]݂Շ_'7~U) <2N(;h-Pq]aV%?yyNM َy[{[h1r#}B+:>̮ׅ N " ܖ7Aq0t#I$O*}~TwDE 7^ ٝ#D(%M*6X>$@p^ ") zAG% b>>T^}; OǘQ;c-/ ^#7wVt s&G'*-#צQ%^M'pc"-W+*m9zLԎp힒{ɑ]}}(b0};ax]t[)Q@]gД vÉ7g㮆'fToJfȬ"Rۚ˫DŽ* S?u=95jU!9F9j.4p|P{wΔ"Nz(mW`yخ`ŰKf?~Fm(ȑX0sr6D#P2 ='HBL"-0j0dNG̏rF=/tu?"Ju*/^]2Q.Uԩ\|OYw/^p9ߡ%Ԟv%( -FʋkBeNk=vuP37g, }QįK L Z>:MN⏆/"[I}II}{R…wu R_KnxRFmX`HS]}Gŝ-g(KqAM"qpn 8o|5Rg1:?M N 1a%O0<;,A[w* X '!(=i}&?#^$ ^2)m4sDE|gPb2Dq>n.*?W̸x(Ļ8sDSD<\"53PsA907@R Fq 1xodYХ&]bnʁdbzya(rj~}@8  >>4J.]RRŨ 2*F A6r]eH}KK۔JҡObƆL G hN'%+Sx̒jU,V/}2D5NwY8G,JeAh*c幔‚wޡ.0{DxSfѢ2w$F-:WY\D,oIyךnNI ,i)m#YǪjU-3Y$v%%3ZpV򒲗.#cNf.5 d$C},KSצIX$fX͊DM^uVJ0Rs0=t@kToRZ$bX*eVEWϕ5T0Tnkޑ 7&$2iyThF7ubqey#lR*[)IMk\a#u[N^3VqאnL(v\fTGQI7p=3?קw(snYISMg''gaFmL*1JJ2U,O}}]&k9-Di-%}jS*0XXWb%cRLR)$MNK,NcإUdfI$DĢ*$R fLMMuLձK7)lJehZ%V1՛ ڒS.u4elJ=RSj>rlڮb4%ǎ-Y ]#,EJ ؈]?Sgz-K=:b+ 4A|hFCR("F'ch)= EjjR7﫧W*JoJL2lXBa ar:ZcůM?'-V xn ]mPQY 5eS0 Ư_?^:w.rMP ToܞL"ʛ_b^GS7eZUd lX>ͧAGM1 0Bǖc(B0lEguK Ppl G»vh[!A9v qo9b\#}v@04> B4ZQ)?ݘ:>uX vn(zHE~Jńs(7Pz Xx@?n;E)҃4EJACuJyc>,FuUiZ: ^{P?cYոOBk3Xt5PTErׁn*~)pD M0;bMA폨p[인ւ 4]Lvky4a.YB\UE/5lbK2#M%PJvWθnpk'`@ɴ`iʌPW8Ġl%t %ʌSQ~Vpj*$w^#G1i6}"vw"bzrMZښ]].?+;z##Jz~:vvۻ$31~eݹ+tJG;I mWyؤqk*dƜ^VX_<:7''wtq}aYa#TH 3:#CyVZWjU֕?;AY|.d7R]&ODh<*z@ i݉AwNA%L @vI0c*T.39R[VJЩ,՜bM1WR ߫>EƉN, `õ>U8z/{23Yh확b^āpQ{/RX_߲d8Ȭ6e;зk }B rfq HˠfŬD ζ%,Ĭm ?sx\j\WWUqCS~mlY3M>qs3`ػoSL4.\剶jlu[I77쵥S4m323ȧꑳlg@ ͢؏1W%`T;ω ExCt#8*g30Gx{!w>滢xi$plɣ` ;f7kAfyh3>>GU4VO-HM֌oK<')m? %{[2p;>κK>e}}ڸ0D2`TIHnP(A!6Ƣ2hk}U3Yެșt#d}s|'s|\P_ξGփ$į8;BhQ",Ƙ{ 5k'ZUָߚ8~)A^R--.fGWԋZGE*.FzӘP.$-J}&\VTTnv?a/'n-{4yʐ`ʡ5e9<4eU斕dT U6?AX&튨Řf5?MA6eb$d`t%Qp3`sb3NnMSpU5G [6CnqҀ 0y"U(tK\SR*1S$AW~gSvtQR[ %ZԛgXo3c(|:c(sVl` nHz*_~uzP5X"ݫ~P]#jDy%Kj $-v!F~32ܪQ5`.|ap>nw/y#?X##Jw5( Nx4슩qV^=~R'Ҫe,ҧXM}jJ-)T:אw3rT'x}scFy7k V0\SM(2@u:-YzǮS8W[4;0qƷr6SBIXqLt&t&#M G#&t ڠ470݆IpX2M LuwDo2` %\7߳g ^mlmW)sX7ao`BfbnQ1J)?FT7ѣ;C6XV}EBq:ٗzhW*S/'W I~F,앀 Ud A:ɫ+z:b4'Ŵ؉szkܮ.08q/8kYHE>QvŋgO~aժ bx.쨽'TY&7(w^;[Ս$\0w/6p'">@'w.XHZɋ(jXyc\X{'Dy>z-zxy>xm˔ۜS^O]Ђ{E&``w)+ySL>cua=$+h)V,7RH֯a=U<35@fF9Ni@6݅LDQs-cr졂 z W^׏~чS25$Z}݊#q~d{VF^ުԚYl&'Jk~O V{W|šG&$d]8/vDj&7xҤU떦ʐ3 {W(1O-T}2k@NH:e i|},Nj$}^\X,_+Vr{-sv7d/zkuxC499/%Vϕ4] j3=/#TQcϱͫHBw _Ee^f[џ3 76N3w\"R1v/}}"O{?1 E>9|.mV 40 lK҇k|2A?g`f.}WF\[XQ:J1D~NN*(|C^&@Gj1:;kN\ 0ƅfӨp?$0oGG߽0Cは/zF4X~dIE[.9љwI` 샧'ab$~+/m`.- Qb'͛"+6XJ̓n+fA0H+l_sʴ!-TdؿOdɜiLjNqJɘeO;;%G'o;"),=K ][ g|Mo<< 4/c遷xj~ܱja>txkla^3qniiЗ1MɎH͌و KQj1$ag2g#K|!yeDQLxX{i4{{VNl Ѩr|_IG$iu,N?TW߂bt*xAutAՏ7Ѐ \84dه&I~Xsul0eZ~rsUJkG )2S~mVyn#~chVA+c%YY Z!W1tA1y51+AE8ICo.V3[ '1;Sv2Q:pؽ{/fb/vܽ1l^:fy%6?a2Gy8rmngô0.ׂ~XnjcpD1N70%p{ UWܥ҄oS(آ  v-6=C=s"n"^D͐8'ݿ ڊEBTPAEU!DwUIOep$FZo|놪'܈s!}q"TPd(le+ VW^DlYs:ahI`XkUq&HIR& 5 R r#F-M>/?}DLeJ{L':y!=lgwKsC83jwV˩}. 'v cU Q)I{W-Ly}0W_훰S%  YIV١gD7;;ZX4vhH;n}5>J13U!P3xd}?1mډwER`*A 36?M~hIxY= 28Lq,6h=΅Pt{k0f7?rFR8`vG<ؔk TzgL+VaLwp # &ɼS,Y~>o~3b!wcE. k,)O>e 1z<gT%5" V*1'_nFBQX !I'P!q`3QltStb‚ /<;ɖ?&%yD,eOp8jb> @Tᄊcη歿Zyw~?zEgZsq snݴŖ'2;͹Gz,>#QQ?_bNɆӍivnjj~w`GS^`=O3cM#!ȧtxۄ~.k:D!,茮?:At$6p9*> bi([nϠA#鰺Ih*~[Dqt珓j`my. 7e5/6u_T BXa ?-t :Ufr4RJJoE--j#髳,*v>&$Q?㰗.;Q ]'׬=f͚S' 3rxW˯f8{)VLo0床|`;& ޱ~Riqì^OMNTuG:I.AR(_Mo=pNtMj7#~s&#K( =q0:]pN8DG^>HY4׻]F# ÷,FhLuO'zܴ%*cvvd Elg:1hr35kgFatu~ˆm>џz9qLI)U<gx _ifmљ `.l8 sdg鶍yXWx6ݴ e}ư_("/[0:ӻއ6: l6%P,4 P8u,:N/6Ƿ7.Aߎgd 6{r0x؋LF"\b6(%D"`Fvpg!b` _ J*eK83|q(ԦJ>WR!&)A|r*2H8%ݠJe[|MojP?C[8ra93{cbqo5&0 4%eٳw<<` [S7߇?CӞ̶{"yPn)hAcWzZ*yb.urܚ[%XqᏣ605n'Ny'ND~ ^%s%藂]ML cBuJDO_D~_8;U\W#'soMgC=P9NWǐu0-ת׶Nnk9tz9MF̍("QIS?E@!&O">H@!}Z%? ? qx6rD.L0"*r 8"GO5E7 9?Е)Aֆu)~Q}@l Lrz\'I,\zӷyMڞ0`V+έxFGO_C?ҭm 2h0~|lClq槇L?dnOuD`mptGDVf롷G3H >F`h㖋mpM6\.f/ђE8 :|12ؑ92^ ԍ5k F?pA Иwd< w=6J@l^}SCGmr f%[ϧgi\ [x,ރ u *Ժ0: |WlrJi6}w ,i2ִi& ׈y|[I0C^ymr򑯎i&"Hm$ۖOvyxt)^F( buroQ i7c#RsMav))fDjL(sb&[sdTb1s_7牀:U_UX /ϭXqX@ Й[FAQJq#?)ߺ|V}+-H6aGtSxYq~ㅰVjhW#r#1!w48Q{n/i=( U-zFnU5˖gRqw`c4gej+6C9 ein33Ѭ1[wc⭽ҿˏ^.L\xK1ms\rGU5^4Z!Oѷzh3Φwyeƹ;R=}&z(6It} |ZieݲNˇdKۊ8'slj 9I!R jp%p%HZ޶(hʎҾ~ߗX;;<<4kA`6KTV2^4"?K/AnyܵE!JbG*/JZX?3ҹO;OCBp`D8or[Lf5~V;>QqJD>C\K7]A-aoy@] " ;vsHH'&!zXX5gԞNpCMN14^4xF~Fe21)^p?#fJZRԙ1]顕j3R%i5!̐?B{WJ-sva{> Zi9O?W'+ӼQ J0]zLBVQ= > J}FS*)ƉFZ5˨Vj p4]!n sDs43Q:pӞ# 'N%;g_= .2I_Y-,VH>{LBg6ep;kJW"u.#| ]H(PڰFtoQ,VXSTfAápuN\[;olBMEhZة>g 6 %ؑY$h0ggyX$^TDVÅ b$RrIh;,J>`i9 P*NJ}׌.GBei:㳙CB01Z[-OL|9uG̘1G\~;]kLCSYbz ɪ:QRnNH_X>҇BB),l}U1ƙ[ jV]Ҥ]/?ϝ8i ~%I7モl4Ub5˨5Q7Sߣ;{ȅ0N|v4-]$eq2\Ni%bd.3]@8m@n|7\9+إ29e9?G-n@@RHTlI[RV w=bCA9MVꐗ#bPƝ &bf.A@c5Iؚ =>,/eM|ဌb7dI~ЌӦ^@5p|n`LZAŦ*C}d.y<5PU=kR,5D«2 +g/ G32 S}r .qnƬ(^*pٍ9=\<,Q?"|p)+Fkrxo>.|4߅Ad )S:ƦI|*Έ qGs6;^O~+r.uD 뻐%WCAQTیuրW3egչ+HD))0:&p L Nt~NmyFyOs[ `\ky;h_e0@.ӿx9? f`/Z^}WBHRo7z`@Q4ΆбLwl_7^=t=SUZ7HGqgEGJ}9RcjB=)Ĝl #=v~xqvwoDk(k. @@ºk!}!HZ;wg_8}Vܯpt>׵>x4G;r>p<8"d4\:~FB/PGbfUޓJi8ۆݹuM5|35.axnoX0f1K4?szRG|{GgjCB*:m6H}Wu{ˁ6֒B-yC=Jۼ;&[8ի4|rq^9pH/U`mP<=cxOAX^kC]MIh'P?LqAC`S6ħR_h fA tL2jXBZ`͘piDlJALxfˮѺԘUА1 3CO9Ka|{۾Tz%E"˫T*7Cxvi2Vd9'a=zˣVIxF:x- i !p;m/Yp|x(~B%W~FA)1S~?E4=KR0j*^FR0*9GHg PR ArX㲁xk ҽ쯎[q-E%C!P L4"zڲ\̛_L#e"քDWTSҁP)ǥ `Uo~گ9,O`g ^O&WK50<0Ħ]oGp + *HEL b5pdL_RӥJ`wDcCl  n%-u'w8_iJqXl0kD>%K>gg^Қ(a 󬬔H΂l#*~)e,3L],.p`v:W62|]ţ^J+qXrJŰ/ab `ݰZ|tyֵB׭Tupm_%mzcNE(OD}˹ 8%ٛ /VaMr8NJ ,3R,w_V^Xk a'VZ,CL{TpU"2vh{^scS*1b#OQCmxf.{@(*Fz孷A6/Vfp'wG`)gI %[ ?hN}Do.ۇ̡cܴm}J'cy *2u=/6uX8hk lleTŏP7h:xXhxQƯKh :a׈~RF% 6.x0Fsu.VltOa.`Epv:VvqdE&;HpYs`Pk3$7LXʎ&x9ݾJR35\zMphg>0[Ġ[JNMyFYԏO fNȼ믨Zwb!;;kԜ9_]Բ?RpD,V]Zn 6yA;SkWi` @]!teKm&N̈ tpT ڄ?D!~mR+u& Z9"O "FBM&A J&PDzP_N"ce`:PK'  `. c YDDg:1JjrQU yH"6_zH7c aO2is+szDm^uK~ I\J lذSG8ӧQW}{Jޠ9Q-ry!pF}FKA P}%#2mW2cMK~??X͈gf63F{/CxU~hx_D0 D/(g[~=jGօFtZ.;NX8)˞93DkkpHα6A #}w{{Nޚ@gDvYv,[a%ģ5 ;nPs;sZ(xpѐ+ uG4߇s>=%s8Vo~Q:Ot?5'f=tgt%_4-9 \GpOϒE7s0HuLcW@BT]nyKfm-1V|u+fÏ'76g#wv7 /F)ˇ/Nw'gH\Ǩ^_9]>3OPh4\JnxIA4]:2p97i4TzYSFMa,qXKAJ9%+dDFرDBFt(LF_2du"ၝE9*D\5A5ЌoaZwmۛF^wLꛆScX6K+5gffgUߛvKsn1Qδƚ*L'S]+ ~)WOK%W '-3 YP- VhU<įV-"aO_*}3nȽ]\g=tr ?|[s*Z9 7ݶwͥp|xbhd}-P*vsӋ+I4dʢ|ciS;<|ʊ}帤F9}4d^v dy֨A2 -d8ߒS80DeDo[Ā=9io4gpìi5߾L^d)LX&s7tsX5KIՃ<7seajEo9'F^1# L9>kGYܝf^LMR_gSduvmySgOOgr[SFL8JFQx u6ʆez>z7Ʊ1ɰ]5CքяҡLؤMf)7&\ Cʓ'kyD=X!.MXuutpsر^oS*qT8l{%zT TOmػj:D.[>*VRnBU~Q{ڞy&W(Z ɮvk: (R,P( 5\T:%E5 k2U::fgR޳!Гd8m/St=Z `I;BVUafte 0)/p!cUJƧ7ŀ=d!]3iu+*4ƀ3s$\(Rg EmpX7yLCZQgin^Rvzi{U{|*͖::+wiEHaWq9UuOQQ=>mLi\@WicUu`̶V^eL?UITch|58rTVRmSTQ+Ř~cՎ%p"覫!VS`D/\d߄[ Vy!UEd…[[Fص¨ACV<4m,i)C;wf\Nr+K\ ֊lmN}W͠޸0Ӯra#2uSǼT!z؊?n+ks~WV_Ww>ҁɅRSI?;|Tɢqj5"#k U++A14rFty+INy0MYcXpdW>q++Zbmbilˊ]m`A Z^Lޒ|Xb"ku~pt8Bfx>[&cf0{ ]3 ̟y~&H3P|m][`7TGYrfn,kfx/oK_ *{t@2#g=/{Lg5S?(lK?òc!_03 γ%  ɰRO׎- Sm r;< ɪ)1Xɫl ̊%"a  ΘG՞v'bXZȝ܉l fm"&}GPX9{ΰ&ߐRasfW1^|q4t؍Dӻ'w'wTREdji}GU7c..}!.zsEmj1ݐ=0Z,SqK+J,q&ʹV )A{07Ы.B,=1ydq޼΅mIƣ*? 2|*0VB'G!$hBVa{(HeRzq#.Ob{o2E+RGqaaalZRJ-[~[ٗV-Tl"C",zw0gѬJƩ7+fg<Džo*pRGoҟ&%c^~[$[⑩.wػ<Gwąu  aDZ.n&EuFC~L_3ϐv5䙾/\! ̫zBkhy8! GJR^ό*_4>Sk6 A \6nLz#UCر-Wwa HII? 2Pj&%v sh1[M ћr%݈$wHd~A7ś? WaºG~*|M^nYRo^zzj=#[ۀC^WbHRo0 sdy46~ZC7{Ɨsݳǟn 8d]IU֝{6NJgnys]7,m9F7 |s湟3i/峹7fe 6ʏz&1>+aK;i c*kپm۞Ρѕs0HzBτ =gWVOR>#9~Vs#y nIUMR<}H$ո6K.^P}M̓XO__ ,!0rI]^H@Ld\LӤ)5mbIV-ZP+B35p%oNਟqoD 6q+uVhYᔅёBVӊ*b Kh.8̲6_^ddyԠԘ]B"ђ),i37ܿM:_i~X@,-Ѭ,}pa<2 8<|{ޝʰ~Ő;,j^-@d.=4cj u V%]8})Ϸ$'*K X1l8HH̛J41E!gy,U=U=M5账zGV!=G?l^3B_nevMIYdkۖg5:ñlfpl\C l;>mJ_$\?7wj=zŊq }Lx {oFQ.j.ZM]ImnvQ{eW`el|cΑJJbLsIR0)- ;UM*C*.T]< z]ʗu@VޗSޕ53J'Grd ),ꁪaWwiְ] "Fs-aאbJ:Dr1I'.J ]-[|:j6"yFvju/cYx|P/Aޡ\(.]VH!O6qrqGvX?$K q3̘&丣߹|d:dnI&.BZzb@ &[1㹞~_OG>բh^Q|w4]`]w`増s^toǿLψu)VBlNux$V 6}yqc<$^GVM)$Ue_y[ń$`xK)J_Sn@6zD霘1-=F]` P{7>0!Mzm)?7?yi XyUUêVl9U5Qy,4(/5\}?o&,{w)3]:~@}.m@k&^I'%ŏqi%O(5LA١zjq ~q U@JX g[_REJrbrֿ|v e4LECލf ?_^r9-R7~'rfna@S4S`@4z9 Me`(x$ [vrQ p AW_v.L1@!Cd/;)̡X?x{;T?Vvavՠ8mrqFߦt>_A?P5(~N{'\:o_\zʬc<% }[J5<< _yR6$kj~FLtɦqNDrÄ{ x!E:0r D8ҡhWaY[pq.pQrFv: :&!=QΊPXǠ&e":آ}0hԺA oU{6:+D޷32-my,ͿH[>`PPtQZ8f :gA QV*)Bȃ&1^o)* kVy,Z/XV˸EJ?mN+gjGlч| }kC_s&`4l-B!W;ZmH5ƿ+qJ(l9@ gQY9O2]:jXڠUPRbTyq[T|,1%g2WZBbhuaI,{bA1٪DP놜z|$X>tBwʞNjaNn6~, KڠuXh}y=HЂh$ATgwLa엪͏1axr Jt<&5Q)`6/4M%gooj, Z cMZpLh֩gGdWa75Ł"֨VFm :jYhڴi6͛q4eMݰn1Bt\T1Ux;$1HkhbĄЏH 1S[.s Kګd:IJ, ~~=8pӬٻddx &%b(Ns ZFsE=Xx-9FTx ʡ6usJnԬ xO*(^Ffа4JH۷}wI@-mR硢',(1&^D +1/J_i^F"5P0c#ۜzw/]=s@+ܳ<4-#Hw4fEEixk!+T- m5_Vq&[A)fӆ5,(>,_mW` Ђv9t͛ Eos84*O{lӧo LjF/x^ý^&SP8>A&::ف V7C3!D6d!X|y:E_%7gk]&TmcVO#P_3k*"_/o>| 1r'X>ҧ/%Hyӳ>Zj4һT@hnu/~LyCaaU4Wi@~dyGZqi$ݥ9pC@&sr<>K1ѿK;JD,~t&@84 -9Z.n}:Εz#dh! ǥkO[:!]Y) tdOrrvP2+2*TEڄUjPBwKΘ =|Ǥ<3n魠*ڿfMhsX>WgON'$u7tAұAqh͌̇D0'*&40< BXFFV}oq|߻Gg^äkשGNrJws`ϏUL:J^ ck@ }ߓM$?t^"YSN[yļ+]p}LFY>HCAqpyM?x MzA >Dm7r)y蒾V͍l1ύ"wm_\s ɬ?=OMfR5UC ԫ{GeHa[y =sD RUW%Rd1'=uR(/_ 9ַܺI "%;0ݎb+MG`p\ {?sX΁RKV7M3y> sh)wdc yt\̌m7x5~ngl4mp‰Ѩ!k ԣIdBG4CBs5COYbjo۰8=vMa./lnMqfJ,ias2`0:{Y),fs~vAt T12?+E1VhcO=B@U Xy$c9h hׂU ׇL_CAkHq> yJ--?I'<TJ#2v$d1h0 Y!}=nbJ0dN݊Tl_9V9Jkm{\n.ӡ>AB0fsfX |,c:k;u>CvFގsZLWT xc`d```a<=|EdՓg_(ETu=O'{?Law]+tw^nD.}kzՇ 쯍U}ɩo9:΋;FШO;XSB[xe#2UoاC??✼ 9Xz{w> O3E*De[=픖wE:seI5oÞR݇G=SBPs|W+Ⱥ }[0l]1V~ٴFoMr;'O^gLyhol7/ӌrq3}=vCCHF=ǡv @ilr.r4CүVldV¬L[eN0WԿoϓiosWwz:zQYY3RyK >?+#B|Jzj6]@UD-Pv>n໌u;WOMeFYг\l@*!u?'m '18 >wCÚ\fMc}~5lmo,.}Yr[Kf\yBGyoC[ |EE@ \}d<z/ |x{TgN.iBdb!3iMe$׹4M='4ri!e}Nҿ1H6dHAT8T* HGJ%K^ 2 RYHYRyr*УBTq"(*ѯTDSTuT-Iz jpE/N:R]ɕW gKnl7wSGG{oxDJ=é =Ż7,5w0@N386C&9^5;J-H~i >j^+zOPu//wR+=q v@GSLLgr _:KຈLzK[w˘Yu:sGXK˟Qt8;*3 s3=6(T~G77L4YCٜ9񜋮z]%q  ϖ1TeWe}(=drwsoWse \迎$H} nEc2pϘoKS }woZ{/o?9w*z % އaa/G|wywᘋɀu}є<m󐼇O~p)>kyg{ü,Ǜuβ(MxjAƿݤMk`RADݴ7?MhbW6;I&avk_@+@Uo'cBMH7g<dE ,p?-QvZ^SJr /gp}oyw/xGY:wLƜle>[.1[.bq- uyזK輵mwfyx~bbЇ1BL IvQ K^Ik&LŽD0fb`0(JfRMdDI/DK1Z`*tMƬ d.do<UڨUڴMr;gzpXmk'F}FUF]=j;௲Ki"bD.xB$dy&_jQ>º\ՒO-9"ZmWj\DI滎SidIΩ+Щ})dG»2']ZJZrl$;2VznM"L4R+_ ek=~^^8D9yWy1E& ϋx}WtȲuUb'X̔ؖ,O`ݶ5- 0̏1}̰Ls~N$ݾ}oW))L?nJ].ucԭRn4d 90 X ư l l [ְ `{v`gv`w`o1P `8`8VL ¡pGp p'p pgp Pzj4Fj-hClX ]p}p5C!D0· B.KR .+J kZF n[V n;N {^AxGQx 'Ix gYxEx ^WUx3 o;.x7 !0 $| > "_/W5:| ߂ow=>~?O39~ _o~?Ÿ+ ¿/0bp XaQ\qčpc7psĭpk߄v=;N3n;{^7c XAMN~?Ax0p qgP< #H< cX<D<):xgxX:6 [ڸ`袇kCpqq-x^x^Wx^x^7xތxގwxލxޏ>>O>>/f| ߆ow;]n|߇Ca| ?ŏI~? E|_ƯWku~w{}?ƟOgso ?/W?_JQ2i TaQZFihcڄ6hsڂhkچDv=@;N3Bn;A{^7CST!LM~?@At0BhifP:#H:cX:D:NST:N3L:Φs\ydQ$E-jSlZM]rG}rɣ5S@!E4G@Χ B.KR.+JkZFn[Vn;N{^AzGQz'IzgYzEz^WcAv#(ot?StZ~Ayb: nN/vj DUϝS۫|\QHn vr3ot<ϦjCҾk5| lIuw9ba G10竖N^O踍nXouܾ sTSM!ˮnSV\ShKѳn~mX=[ڡ؍bZGNXv3Y_sT+N _L:>WGAhӲo{ NwG[VCɩrs#_e=oNgy5YVS&ufLD T^n5iY|^~Hˡgs;'MI#I3>+7A:p}=[|y-N*y.orJqQYX;(Ck8>koqDWpd5E=qunk 6t$z"cÎ|١(S cJ)0.Geɔq:-# $ Y=f f-YVtyXKhQ]ԗH e_`~(5TAFֱQijhr&|`DC {nA9YH61G&Ύm/% iźAJcO wtCŗ^l4b&ψ8WV/g|%%Y]%Ԯ{M>ɏ63Y 8Tcx7V.M\7r8G 6CpWlЋcS\Ha /r6z#^`ޑ5,Q!^ߴ]&h#*ZL>K,GҧK\w>5]-2䖠qRs#?Xb9Vq-ˎJK! <= "4sύ=qWv/TKkXedI$9GM7\@&SJ5H⁚+C%)RVU)&E}Uc|8L h,]M hR@dVui(KQIf)EU )4>&<и+RRb\kӵJ+ $J+ $0, ʂ( gu!в1tmZ&akEX+V4tV !6dZC@ 2dȐ0a zhL@fϻ?PUTTPUT*4US^nHKhĄ EE|Q_TEE|QĤ &!L bnb܊BLa)$EYU)&)K2!0XKb C,a IIHJ3bC` 1!f0 3bC` _FYeA!0ʂ" DzC7DzC7DzC7*0!!!!!!! LA)S,z.sK"!UAT!"!"!"!"!"!"!"!"1)DC"JU۴41kƙ")қ:& ]2XbB 3Kooooooooof)Uzu]uYzRWzB׃VzJӺlROi);y4ҼSwJNi);y4ҼSWҴּӚwZNki;y5ּӚwZNkiͫckIҌѼ3WGؒ;yg4Ѽ3wFhY;yg5ռwVΊS&5&դtVj ooniprobe-2.2.0/ooni/ui/web/client/fonts/fontawesome-webfont.b06871f281fee6b241d60582ae9369b9.ttf0000644000175000017500000050325413071151301027356 0ustar irlirl PFFTMkGGDEFp OS/22z@X`cmap : gasphglyfMLhead-6hhea $hmtxEy loca\ maxp,8 name㗋ghpostkuːxY_< 3232  '@i33spyrs@  pU]yn2@ zZ@55 zZZ@,_@s@ @(@@@- MM- MM@@@ -`b $ 648""""""@ D@ ,,@  m)@@   ' D9>dY* '    T     @ f %RE    $!k(D'  % %  0%/&p@0 !"""`>N^n~.>N^n~>N^n~ !"""`!@P`p 0@P`p!@P`p\XSB1ݬ        ,,,,,,,,,,,,,tLT$l x T ( dl,4dpH$d,t( !"0# $,$&D'()T**,,-.@./`/00123d4445 556 6\67H78 8`89L9:h:;<>?h?@H@A0ABXBCdCDLDEFG0GHIJ8KLMdN,NNOP`PQ4QR RlS,ST`U0WXZ[@[\<\]^(^_`pb,bddePefg`giLijDk klm@n,oLpqrsxttuD{`||}}~Hl@lH T H`@$\XDTXDP,8d\Hx tXpdxt@ Œ\ ļŸƔ0dʨˀ͔xϰЌ,ш҈ ӌ8,՜`lHش`Tڸ۔@lބ߬lp 4X$l( ` d      ,,8(Xx|T@| !"x##l$$'h(*L,T.L1t1230345t6T7$8 9H::;<<?X@ABCDEHFHGpHHIxJ JKLMN@P@QRSDT ULV`VWXX4XZZ[d[\|]^`aHabcXdetfhghi\jxnp@svwxyz{h|}}\lt4t88LT|| 4xLX(  @lt$xLL HĠT(  ʈˠϔldPՄxpڬTT ވL <H$l4 Pl ,xp,xt d 44,hP 4   4<,,408$8T |!h"$L%0&H'()*0*+,.$.012@234t5$69 ::; ;<(<=4?@ACDFH`HILLLLLLLLLLLLLLLLp7!!!@pp p]!2#!"&463!&54>3!2+@&&&&@+$(($F#+&4&&4&x+#+".4>32".4>32467632DhgZghDDhg-iWDhgZghDDhg-iW&@ (8 2N++NdN+';2N++NdN+'3 8!  #"'#"$&6$ rL46$܏ooo|W%r4L&V|oooܳ%=M%+".'&%&'3!26<.#!";2>767>7#!"&5463!2 %3@m00m@3%    @ :"7..7":6]^B@B^^BB^ $΄+0110+$ (   t1%%1+`B^^B@B^^"'.54632>324 #LoP$$Po>Z$_dC+I@$$@I+"#"'%#"&547&547%62V??V8<8y   b% I))9I  + % %#"'%#"&547&547%62q2ZZ2IzyV)??V8<8)>~>[   2 b% I))9I %#!"&54>3 72 &6 }XX}.GuLlLuG.>mmUmEEm> /?O_o54&+";2654&+";2654&+";264&#!"3!2654&+";2654&+";264&#!"3!2654&+";2654&+";2654&+";267#!"&5463!2&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&^BB^^B@B^@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&B^^B@B^^/?#!"&5463!2#!"&5463!2#!"&5463!2#!"&5463!2L44LL44LL44LL44LL44LL44LL44LL44L4LL44LL4LL44LL4LL44LL4LL44LL /?O_o#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!28((88(@(88((88(@(88((88(@(88((88(@(88((88(@(88((88(@(88((88(@(88((88(@(88((88(@(8 (88((88(88((88(88((88(88((88(88((88(88((88(88((88(88((88(88((88/?O_#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!28((88(@(88((88(@(88(@(88((88((88(@(88(@(88((88(@(88((8 (88((88(88((88(88((88(88((88(88((88(88((88y"/&4?62 62,PP&PP,jPn#$"' "/&47 &4?62 62 PP&P&&P&P&P&&P&P#+D++"&=#"&=46;546;232  #"'#"$&6$   @    @  rK56$܏ooo|W@    @   rjK&V|oooܳ0#!"&=463!2  #"'#"$&6$   @ rK56$܏ooo|W@  @ rjK&V|oooܳ)5 $&54762>54&'.7>"&5462zz+i *bkQнQkb* j*LhLLhLzzBm +*i JyhQQhyJ i*+ mJ4LL44LL/?O%+"&=46;2%+"&546;2%+"&546;2+"&546;2+"&546;2`r@@r@@n4&"2#"/+"&/&'#"'&'&547>7&/.=46?67&'&547>3267676;27632Ԗ #H  ,/ 1)  ~'H  (C  ,/ 1)  $H ԖԖm 6%2X  % l2 k r6 [21 ..9Q $ k2 k w3 [20/;Cg+"&546;2+"&546;2+"&546;2!3!2>!'&'!+#!"&5#"&=463!7>3!2!2@@@@@@@`0 o`^BB^`5FN(@(NF5 @@@L%%Ju  @LSyuS@%44%f5#!!!"&5465 7#"' '&/&6762546;2&&??>  LL >  X   &&&AJ A J Wh##!"&5463!2!&'&!"&5!(8((88((`x c`(8`((88(@(8(D 9 8( ,#!"&=46;46;2.  6 $$ @(r^aa@@`(_^aa2NC5.+";26#!26'.#!"3!"547>3!";26/.#!2W  .@   @.$S   S$@   9I   I6>  >%=$4&"2$4&"2#!"&5463!2?!2"'&763!463!2!2&4&&4&&4&&48(@(88(ч::(8@6@*&&*4&&4&&4&&4& (88(@(8888)@)'&&@$0"'&76;46;232  >& $$ `  (r^aa` @`2(^aa$0++"&5#"&54762  >& $$ ^ ?  @(r^aa` ? (^aa #!.'!!!%#!"&547>3!2<<<_@`&& 5@5 @  &&>=(""='#"'&5476.  6 $$   ! (r^aaJ %%(_^aa3#!"'&?&#"3267672#"$&6$3276&@*hQQhwI mʬzzk)'@&('QнQh_   z8zoe$G!"$'"&5463!23267676;2#!"&4?&#"+"&=!2762@hk4&&&GaF * &@&ɆF * Ak4&nf&&&4BHrd@&&4rd  Moe&/?O_o+"&=46;25+"&=46;25+"&=46;2#!"&=463!25#!"&=463!25#!"&=463!24&#!"3!26#!"&5463!2 @  @  @  @  @  @  @    @    @    @   ^B@B^^BB^`@  @ @  @ @  @ @  @ @  @ @  @ 3@  MB^^B@B^^!54&"#!"&546;54 32@Ԗ@8(@(88( p (8jj(88(@(88@7+"&5&5462#".#"#"&5476763232>32@@ @ @KjKך=}\I&:k~&26]S &H&  &H5KKut,4, & x:;*4*&K#+"&546;227654$ >3546;2+"&="&/&546$ <X@@Gv"DװD"vG@@X<4L41!Sk @ G< _bb_ 4.54632&4&&M4&UF &""""& F&M&&M&%/B/%G-Ik"'!"&5463!62#"&54>4.54632#"&54767>4&'&'&54632#"&547>7676'&'.'&54632&4&&M4&UF &""""& FU &'8JSSJ8'&  &'.${{$.'& &M&&M&%/B/%7;&'66'&;4[&$ [2[ $&[  #/37#5#5!#5!!!!!!!#5!#5!5##!35!!! #'+/37;?3#3#3#3#3#3#3#3#3#3#3#3#3#3#3#3#3???? ^>>~??????~??~??^??^^? ^??4&"2#"'.5463!2KjKKjv%'45%5&5L45&% jKKjK@5%%%%54L5&6'k54&"2#"'.5463!2#"&'654'.#32KjKKjv%'45%5&5L45&%%'4$.%%5&55&% jKKjK@5%%%%54L5&6'45%%%54'&55&6' yTdt#!"&'&74676&7>7>76&7>7>76&7>7>76&7>7>63!2#!"3!2676'3!26?6&#!"3!26?6&#!"g(sAeM ,*$/ !'& JP$G] x6,& `   h `   "9Hv@WkNC<.  &k& ( "$p" . #u&#  %!' pJvwEF#  @   @  2#"' #"'.546763!''!0#GG$/!''! 8""8  X! 8" "8  <)!!#"&=!4&"27+#!"&=#"&546;463!232(8&4&&4 8(@(8 qO@8((`(@Oq8(&4&&4&@` (88( Oq (8(`(q!)2"&42#!"&546;7>3!2  Ijjjj3e55e3gr`Ijjjj1GG1rP2327&7>7;"&#"4?2>54.'%3"&#"#ժ!9&WB03& K5!)V?@L' >R>e;&L::%P>vO 'h N_":- &+# : ' +a%3 4'.#"32>54.#"7>7><5'./6$3232#"&#"+JBx)EB_I:I*CRzb3:dtB2P$ $5.3bZF|\8!-T>5Fu\,,jn OrB,7676'5.'732>7"#"&#&#"OA zj=N!}:0e%  y + tD3~U#B4 # g  '2 %/!: T bRU,7}%2"/&6;#"&?62+326323!2>?23&'.'.#"&"$#"#&=>764=464.'&#"&'!~:~!PP!~:~!P6 ,,$$% *'  c2N  ($"LA23Yl !x!*%%%% pP,T NE Q7^oH!+( 3  *Ueeu  wga32632$?23&'.5&'&#"&"5$#"#&=>7>4&54&54>.'&#"&'2#".465!#".'&47>32!4&4>Q6 ,,Faw!*' =~Pl*  ($"LA23Yl  )!* <7@@7<  <7@@7<  pP,T MF Q747ƢHoH!+( 3  tJHQ6  wh',686,'$##$',686,'$##$/?%#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2&&&&&&&&&&&&&&&&&&&&f&&&&f&&&&f&&&&/?%#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2&&&&&&&&&&&&&&&&&&&&f&&&&f&&&&f&&&&/?%#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2&&&&&&&&&&&&&&&&&&&&f&&&&f&&&&f&&&&/?%#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2&&&&&&&&&&&&&&&&&&&&f&&&&f&&&&f&&&&/?O_o%+"&=46;2+"&=46;2+"&=46;2#!"&=463!2+"&=46;2#!"&=463!2#!"&=463!2#!"&=463!2        @     @   @   @   s  s    s    s  s  /?O#"'&47632#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2     @     @   @  @          s  s  s  /?O#"&54632 #!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2`      @     @   @  @     @   s  s  s  #"'#!"&5463!2632' mw@www '*wwww."&462!5 !"3!2654&#!"&5463!2pppp@  @ ^BB^^B@B^ppp@@  @    @B^^BB^^k%!7'34#"3276' !7632k[[v  6`%`$65&%[[k `5%&&'4&"2"&'&54 Ԗ!?H?!,,ԖԖmF!&&!Fm,%" $$ ^aa`@^aa-4'.'&"26% 547>7>2"KjKXQqYn 243nYqQ$!+!77!+!$5KK,ԑ ]""]ً 9>H7'3&7#!"&5463!2'&#!"3!26=4?6 !762xtt`  ^Qwww@?6 1B^^B@B^ @(` `\\\P`tt8`  ^Ͼww@w 1^BB^^B~ @` \ \P+Z#!"&5463!12+"3!26=47676#"'&=# #"'.54>;547632www M8 pB^^B@B^ 'sw- 9*##;Noj' #ww@w "^BB^^B  *  "g`81T`PSA:'*4/D#!"&5463!2#"'&#!"3!26=4?632"'&4?62 62www@?6 1 B^^B@B^ @ BRnBBn^ww@w 1 ^BB^^B @ BnnBC"&=!32"'&46;!"'&4762!#"&4762+!54624&&4&&44&&4&&44&&44&&4&&44&&6'&'+"&546;267: &&&& s @  Z&&&&Z +6'&''&'+"&546;267667: : &&&&  s @  :  Z&&&&Z  : z6'&''&47667S: : s @  : 4 : | &546h!!0a   $#!"&5463!2#!"&5463!2&&&&&&&&@&&&&&&&&#!"&5463!2&&&&@&&&&&54646&5- : s  :  :4:  +&5464646;2+"&5&5-  &&&& : s  :  : &&&& :  &54646;2+"&5- &&&& s  : &&&&  62#!"&!"&5463!24 @ &&&&-:&&&& "'&476244444Zf "/&47 &4?62S44444#/54&#!4&+"!"3!;265!26 $$ &&&&&&&&@^aa@&&&&&&&&+^aa54&#!"3!26 $$ &&&&@^aa@&&&&+^aa+74/7654/&#"'&#"32?32?6 $$ }ZZZZ^aaZZZZ^aa#4/&"'&"327> $$ [4h4[j^aa"ZiZJ^aa:F%54&+";264.#"32767632;265467>$ $$ oW  5!"40K(0?i+! ":^aaXRd D4!&.uC$=1/J=^aa.:%54&+4&#!";#"3!2654&+";26 $$ ```^aa^aa/_#"&=46;.'+"&=32+546;2>++"&=.'#"&=46;>7546;232m&&m l&&l m&&m l&&ls&%&&%&&%&&%&&&l m&&m l&&l m&&m ,&%&&%&&%&&%&#/;"/"/&4?'&4?627626.  6 $$ I     ͒(r^aaɒ    (_^aa , "'&4?6262.  6 $$ Z4f44fz(r^aaZ&4ff4(_^aa "4'32>&#" $&6$  WoɒV󇥔 zzz8YW˼[?zz:zz@5K #!#"'&547632!2A4@%&&K%54'u%%&54&K&&4A5K$l$L%%%54'&&J&j&K5K #"/&47!"&=463!&4?632%u'43'K&&%@4AA4&&K&45&%@6%u%%K&j&%K55K&$l$K&&u#5K@!#"'+"&5"/&547632K%K&56$K55K$l$K&&#76%%53'K&&%@4AA4&&K&45&%%u'5K"#"'&54?63246;2632K%u'45%u&&J'45%&L44L&%54'K%5%t%%$65&K%%4LL4@&%%K',"&5#"#"'.'547!34624&bqb>#  5&44& 6Uue7D#  "dž&/#!"&546262"/"/&47'&463!2 &@&&4L  r&4  r L&& 4&&&L rI@& r  L4&& s/"/"/&47'&463!2#!"&546262&4  r L&& &@&&4L  r@@& r  L4&& 4&&&L r##!+"&5!"&=463!46;2!28(`8((8`(88(8((8(8 (8`(88(8((8(88(`8#!"&=463!28(@(88((8 (88((88z5'%+"&5&/&67-.?>46;2%6.@g.L44L.g@. .@g. L44L .g@.g.n.4LL43.n.gg.n.34LL4͙.n.g -  $54&+";264'&+";26/a^    ^aa fm  @ J%55!;263'&#"$4&#"32+#!"&5#"&5463!"&46327632#!2$$8~+(888(+}(`8((8`]]k==k]]8,8e8P88P8`(88(@MMN4&#"327>76$32#"'.#"#"&'.54>54&'&54>7>7>32&z&^&./+>+)>J> Wm7' '"''? &4&c&^|h_bml/J@L@#* #M6:D 35sҟw$ '% ' \t3#!"&=463!2'.54>54''  @ 1O``O1CZZ71O``O1BZZ7@  @ N]SHH[3`)TtbN]SHH[3^)Tt!1&' 547 $4&#"2654632 '&476 ==嘅}(zVl''ٌ@uhyyhu9(}VzD##D# =CU%7.5474&#"2654632%#"'&547.'&476!27632#76$7&'7+NWb=嘧}(zVj\i1  z,X Y[6 $!%'FuJiys?_9ɍ?kyhun(}Vz YF  KA؉La  02-F"@Qsp@_!3%54&+";264'&+";26#!"&'&7>2    #%;"";%#`,@L 5 `   `  L`4LH` `   a 5 L@ #37;?Os!!!!%!!!!%!!!!!!!!%!!4&+";26!!%!!!!74&+";26%#!"&546;546;2!546;232 `@ `@ @@ @ @  @  @  @  @ L44LL4^B@B^^B@B^4L  @@@@    @@   @@    M4LL44L`B^^B``B^^B`L7q.+"&=46;2#"&=".'673!54632#"&=!"+"&=46;2>767>3!546327>7&54>$32dFK1A  0) L.٫C58.H(Ye#3C $=463!22>=463!2#!"&5463!2#!"&5463!2H&&/7#"&463!2!2LhLLhLhLLh! &&&&& &4hLLhLLhLLhL%z< 0&4&& )17&4& &&#!"&5463!2!2\@\\@\\@\\\\ W*#!"&547>3!2!"4&5463!2!2W+B"5P+B@"5^=\@\ \H#t3G#3G:_Ht\\ @+32"'&46;#"&4762&&4&&44&&44&&4@"&=!"'&4762!54624&&44&&44&&4&& !!!3!!0@67&#".'&'#"'#"'32>54'6#!"&5463!28ADAE=\W{O[/5dI kDtpČe1?*w@www (M& B{Wta28r=Ku?RZ^GwT -@www$2+37#546375&#"#3!"&5463ww/Dz?swww@wS88 ww#'.>4&#"26546326"&462!5!&  !5!!=!!%#!"&5463!2B^8(Ԗ>@|K55KK55K^B(8ԖԖ€>v5KK55KKHG4&"&#"2654'32#".'#"'#"&54$327.54632@pp)*Pppp)*Pb '"+`N*(a;2̓c`." b PTY9ppP*)pppP*)b ".`(*Nͣ2ͣ`+"' b MRZB4&"24&"264&"26#"/+"&/&'#"'&547>7&/.=46?67&'&547>3267676;27632#"&'"'#"'&547&'&=4767&547>32626?2#"&'"'#"'&547&'&=4767&547>32626?2ԖLhLKjKLhLKjK "8w s%(  ")v  >  "8x s"+  ")v  <  3zLLz3 3>8L3)x3 3zLLz3 3>8L3)x3 ԖԖ4LL45KK54LL45KK #)0C wZ l/ Y N,& #)0C vZl. Y L0"qG^^Gqq$ ]G)FqqG^^Gqq$ ]G)Fq%O#"'#"&'&4>7>7.546$ '&'&'# '32$7>54'VZ|$2 $ |E~E<| $ 2$|ZV:(t}X(  &%(Hw쉉xH(%& (XZT\MKG<m$4&"24&#!4654&#+32;254'>4'654&'>7+"&'&#!"&5463!6767>763232&4&&4N2`@`%)7&,$)' %/0Ӄy#5 +1 &<$]`{t5KK5$e:1&+'3TF0h4&&4&3M:;b^v+D2 5#$IIJ 2E=\$YJ!$MCeM-+(K55KK5y*%Au]c>q4&"24&'>54'654&'654&+"+322654&5!267+#"'.'&'&'!"&5463!27>;2&4&&4+ 5#bW0/% ')$,&7)%`@``2Nh0##T3'"( 0;e$5KK5 tip<& 1&4&&4&#\=E2&%IURI$#5 2D+v^b;:M2gc]vDEA%!bSV2MK55K(,,MeCM$!I@#"&547&547%6@?V8 b% I)94.""'." 67"'.54632>32+C`\hxeH>Hexh\`C+ED4 #LoP$$Po>Q|I.3MCCM3.I|Q/Z$_dC+I@$$@I+ (@%#!"&5463!2#!"3!:"&5!"&5463!462 ww@  B^^B  4&@&&&4 `  ww   ^B@B^ 24& && &%573#7.";2634&#"35#347>32#!"&5463!2FtIG9;HIxI<,tԩw@wwwz4DD43EEueB&#1s@www .4&"26#!+"'!"&5463"&463!2#2&S3 Ll&c4LL44LL4c@& &{LhLLhL'?#!"&5463!2#!"3!26546;2"/"/&47'&463!2www@B^^B@B^@&4t  r &&`ww@w@^BB^^B@R&t r  4&&@"&5!"&5463!462 #!"&54&>3!2654&#!*.54&>3!24&@&&&4 sw  @B^^B  @w4& && &3@w   ^BB^    I&5!%5!>732#!"&=4632654&'&'.=463!5463!2!2JJSq*5&=CKuuKC=&5*q͍S8( ^B@B^ (8`N`Ѣ΀GtO6)"M36J[E@@E[J63M")6OtG(8`B^^B`8 ',26'&'&76'6'&6&'&6'&4#"7&64 654'.'&'.63226767.547&7662>76#!"&5463!2  /[  . =XĚ4,+"  * +, 1JH'5G:: #L5+@=&#w@wwwP.1GE,ԧ4 4+ ; /5cFO:>JJ>:O9W5$@(b 4 @www'?$4&"2$4&"2#!"&5463!3!267!2#!#!"&5!"'&762&4&&4&&4&&48(@(88(c==c(8*&&*6&4&&4&&4&&4& (88(@(88HH88`(@&&('@1c4&'.54654'&#"#"&#"32632327>7#"&#"#"&54654&54>76763232632   N<;+gC8A`1a99gw|98aIe$IVNz<:LQJ  ,-[% 061I()W,$-7,oIX()oζA;=N0 eTZ  (O#".'&'&'&'.54767>3232>32 e^\4?P bMO0# 382W# & 9C9 Lĉ" 82<*9FF(W283 #0OMb P?4\^e FF9*<28 "L 9C9 & #!"3!2654&#!"&5463!2`B^^B@B^^ީwww@w^BB^^B@B^ww@w#!72#"' #"'.546763YY !''!0#GG$/!''!&UUjZ 8""8  X! 8" "8 GW4.'.#"#".'.'.54>54.'.#"32676#!"&5463!2 1.- +$)  c8 )1)  05.D <90)$9w@wwwW  )1) 7c  )$+ -.1 9$)0< D.59@www,T1# '327.'327.=.547&54632676TC_LҬ#+i!+*pDNBN,y[`m`%i]hbEm}a u&,SXK &$f9s? _#"!#!#!54632V<%'ЭHH (ںT\dksz &54654'>54'6'&&"."&'./"?'&546'&6'&6'&6'&6'&74"727&6/a49[aA)O%-j'&]]5r-%O)@a[9' 0BA; + >HCU  #  $  2  AC: oM=a-6OUwW[q ( - q[WwUP6$C +) (  8&/ &eMa  & $      %+"&54&"32#!"&5463!54 &@&Ԗ`(88(@(88(r&&jj8((88(@(8#'+2#!"&5463"!54&#265!375!35!B^^BB^^B   `^B@B^^BB^  ` !="&462+"&'&'.=476;+"&'&$'.=476; pppp$!$qr % }#ߺppp!E$ rqܢ# % ֻ!)?"&462"&4624&#!"3!26!.#!"#!"&547>3!2/B//B//B//B @   2^B@B^\77\aB//B//B//B/@    ~B^^B@2^5BB52.42##%&'.67#"&=463! 25KK5L4_u:B&1/&.- zB^^B4LvyKjK4L[!^k'!A3;):2*547&5462;U gIv0ZZ0L4@Ԗ@4L2RX='8P8'=XR U;Ig0,3lb??bl34LjjL4*\(88(\}I/#"/'&/'&?'&'&?'&76?'&7676767676` (5 )0 ) *) 0) 5(  (5 )0 )))) 0) 5( *) 0) 5(  )5 )0 )**) 0) 5)  )5 )0 )*5h$4&"24&#!4>54&#"+323254'>4'654&'!267+#"'&#!"&5463!2>767>32!2&4&&4N2$YGB (HGEG HQ#5K4Li!<;5KK5 A# ("/?&}vh4&&4&3M95S+C=,@QQ9@@IJ 2E=L5i>9eME;K55K J7R>@#zD<5=q%3#".'&'&'&'.#"!"3!32>$4&"2#!"#"&?&547&'#"&5463!&546323!2` #A<(H(GY$2NL4K5#aWTƾh&4&&4K5;=!ihv}&?/"( #A  5K2*! Q@.'!&=C+S59M34L=E2 JI UR@@&4&&4&5K;ELf9>igR7J K5h4&"24#"."&#"4&#"".#"!54>7#!"&54.'&'.5463246326326&4&&4IJ 2E=L43M95S+C=,@QQ9@@E;K55K J7R>@#zD9eMZ4&&4&<#5K4LN2$YGB (HGEG HV;5KK5 A# ("/?&}vhi!<4<p4.=!32>332653272673264&"2/#"'#"&5#"&54>767>5463!2@@2*! Q@.'!&=C+S59M34L.9E2 JI UR&4&&4&Lf6Aig6Jy#@>R7J K55K;E@TƾH #A<(H(GY$2NL4K#5#a=4&&4&D=ihv}&?/"( #A  5KK5;+54&#!764/&"2?64/!26 $$ & [6[[j6[&^aa@&4[[6[[6&+^aa+4/&"!"3!277$ $$ [6[ &&[6j[ ^aae6[j[6&&4[j[^aa+4''&"2?;2652?$ $$ [6[[6&&4[^aaf6j[[6[ &&[^aa+4/&"4&+"'&"2? $$ [6&&4[j[6[j^aad6[&& [6[[j^aa   $2>767676&67>?&'4&'.'.'."#&6'&6&'3.'.&'&'&&'&6'&>567>#7>7636''&'&&'.'"6&'6'..'/"&'&76.'7>767&.'"76.7"7"#76'&'.'2#22676767765'4.6326&'.'&'"'>7>&&'.54>'>7>67&'&#674&7767>&/45'.67>76'27".#6'>776'>7647>?6#76'6&'676'&67.'&'6.'.#&'.&6'&.5/a^D&"      4   $!   #          .0"Y +  !       $     "  +       Α      ^aa                        P   ' -( # * $  "  !     * !   (         $      2 ~/$4&"2 #"/&547#"32>32&4&&4V%54'j&&'/덹:,{ &4&&4&V%%l$65&b'Cr! " k[G +;%!5!!5!!5!#!"&5463!2#!"&5463!2#!"&5463!2&&&&&&&&&&&&@&&&&&&&&&&&&{#"'&5&763!2{' **)*)'/!5!#!"&5!3!26=#!5!463!5463!2!2^B@B^&@&`^B`8(@(8`B^ B^^B&&B^(88(^G 76#!"'&? #!"&5476 #"'&5463!2 '&763!2#"'c)'&@**@&('c (&*cc*&' *@&('c'(&*cc*&('c'(&@*19AS[#"&532327#!"&54>322>32"&462 &6 +&'654'32>32"&462QgRp|Kx;CByy 6Fe= BPPB =eF6 ԖV>!pRgQBC;xK|Ԗ{QNa*+%xx5eud_C(+5++5+(C_due2ԖԖ>NQ{u%+*jԖԖp!Ci4/&#"#".'32?64/&#"327.546326#"/&547'#"/&4?632632(* 8( !)(A(')* 8( !USxySSXXVzxTTUSxySSXXVzxT@(  (8 *(('( (8 SSUSx{VXXTTSSUSx{VXXT#!"5467&5432632t,Ԟ;F`j)6,>jK?s !%#!"&7#"&463!2+!'5#8EjjE8@&&&&@XYY&4&&4&qDS%q%N\jx2"&4#"'#"'&7>76326?'&'#"'.'&676326326&'&#"32>'&#"3254?''74&&4&l NnbSVZ bRSD zz DSRb)+USbn \.2Q\dJ'.2Q\dJ.Q2.'Jd\Q2.'Jd`!O` ` &4&&4r$#@B10M5TNT{L5T II T5L;l'OT4M01B@#$*3;$*3;;3*$;3*$: $/ @@Qq`@"%3<2#!"&5!"&5467>3!263! !!#!!46!#!(88(@(8(8(`((8D<++<8(`(8(`8(@(88( 8((`(8((<`(8(``(8||?%#"'&54632#"'&#"32654'&#"#"'&54632|udqܟs] = OfjL?R@T?"& > f?rRX=Edudsq = _MjiL?T@R?E& f > =XRr?b!1E)!34&'.##!"&5#3463!24&+";26#!"&5463!2 08((88(@(8  8((88((`(1  `(88((88(@  `(88(@(8(`#!"&5463!2w@www`@www/%#!"&=463!2#!"&=463!2#!"&=463!2&&&&&&&&&&&&&&&&&&&&&&&&@'7G$"&462"&462#!"&=463!2"&462#!"&=463!2#!"&=463!2ppppppp @   ppp @    @   Рpppppp  ppp    <L\l|#"'732654'>75"##5!!&54>54&#"'>3235#!"&=463!2!5346=#'73#!"&=463!2#!"&=463!2}mQjB919+i1$AjM_3</BB/.#U_:IdDRE @  k*Gj @   @   TP\BX-@8 C)5Xs J@$3T4+,:;39SG2S.7<  vcc)) %Ll}    5e2#!"&=463%&'&5476!2/&'&#"!#"/&'&=4'&?5732767654'&@02uBo  T25XzrDCBBEh:%)0%HPIP{rQ9f#-+>;I@KM-/Q"@@@#-bZ $&P{<8[;:XICC>.'5oe80#.0(  l0&%,"J&9%$<=DTIcs&/6323276727#"327676767654./&'&'737#"'&'&'&54'&54&#!"3!260% <4"VRt8<@< -#=XYhW8+0$"+dTLx-'I&JKkmuw<=V@!X@ v '|N;!/!$8:IObV;C#V  &   ( mL.A:9 !./KLwPM$@@ /?O_o%54&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!26#!"&5463!2@@@@@@@@@^BB^^B@B^NB^^B@B^^#+3 '$"/&4762%/?/?/?/?%k*66bbbb|<<<bbbbbbbb%k66Ƒbbb<<<<^bbbbbb@M$4&"2!#"4&"2&#"&5!"&5#".54634&>?>;5463!2LhLLh LhLLhL! 'ԖԖ@' !&  ?&&LhLLhL hLLhL jjjj &@6/" &&J#"'676732>54.#"7>76'&54632#"&7>54&#"&54$ ok; -j=yhwi[+PM 3ѩk=J%62>VcaaQ^ ]G"'9r~:`}Ch 0=Z٤W=#uY2BrUI1^Fk[|aL2#!67673254.#"67676'&54632#"&7>54&#"#"&5463ww+U ,iXբW<"uW1AqSH1bdww'74'!3#"&46327&#"326%35#5##33#!"&5463!20U6cc\=hlࠥYmmnnnnw@wwww&46#Ȏ;edwnnnnn@www ]#/#"$&6$3 &#"32>7!5!%##5#5353Еttu{zz{SZC` cot*tq||.EXN#?? ,<!5##673#$".4>2"&5!#2!46#!"&5463!2rM* *M~~M**M~~M*jjj&&&&`P%挐|NN||NN|*jjjj@&&&&@ "'&463!2@4@&Z4@4&@ #!"&4762&&4Z4&&4@@ "'&4762&4@4&@&4&@ "&5462@@4&&44@&&@ 3!!%!!26#!"&5463!2`m` ^BB^^B@B^  `@B^^BB^^@ "'&463!2#!"&4762@4@&&&&44@4&Z4&&4@ "'&463!2@4@&4@4&@ #!"&4762&&4Z4&&4@:#!"&5;2>76%6+".'&$'.5463!2^B@B^,9j9Gv33vG9H9+bI\ A+=66=+A [">nSMA_:B^^B1&c*/11/*{'VO3@/$$/@*?Nh^l+!+"&5462!4&#"!/!#>32]_gTRdgdQV?U I*Gg?!2IbbIJaaiwE3300 084#"$'&6?6332>4.#"#!"&54766$32z䜬m IwhQQhbF*@&('kz   _hQнQGB'(&*eoz(q!#"'&547"'#"'&54>7632&4762.547>32#".'632%k'45%&+~(  (h  &  \(  (  &  ~+54'k%5%l%%l$65+~  &  (  (\  &  h(  (~+%'!)19K4&"24&"26.676&$4&"24&"24&"2#!"'&46$ KjKKj KjKKje2.e<^P,bKjKKjKjKKj KjKKj##LlLKjKKjK jKKjK~-M7>7&54$ LhяW.{+9E=cQdFK1A  0) pJ2`[Q?l&٫C58.H(Y':d 6?32$64&$ #"'#"&'&4>7>7.546'&'&'# '32$7>54'Yj`a#",5NK ~EVZ|$2 $ |: $ 2$|ZV:(t}hfR88T h̲X(  &%(Hw(%& (XZT\MKG{x|!#"'.7#"'&7>3!2%632u  j H{(e 9 1bU#!"&546;5!32#!"&546;5!32#!"&546;5463!5#"&5463!2+!2328((88(``(88((88(``(88((88(`L4`(88(@(88(`4L`(8 (88(@(88((88(@(88((88(@(84L8(@(88((8L48OY"&546226562#"'.#"#"'.'."#"'.'.#"#"&5476$32&"5462И&4&NdN!>! 1X:Dx+  +ww+  +xD:X1 -U !*,*&4&hh&&2NN2D &  ..J< $$ 767#"&'"&547&547&547.'&54>2l4  2cKEooED ) ) Dg-;</- ?.P^P.? -/<;-gYY  .2 L4H|O--O|HeO , , Oeq1Ls26%%4.2,44,2.4%%62sL1qcqAAq4#!#"'&547632!2#"&=!"&=463!54632  @  `     ` ?`   @  @  !    54&+4&+"#"276#!"5467&5432632   `  _ v,Ԝ;G_j)``    _ ԟ7 ,>jL>54'&";;265326#!"5467&5432632    v,Ԝ;G_j) `   `7 ,>jL>X`$"&462#!"&54>72654&'547 7"2654'54622654'54&'46.' &6 &4&&4&yy %:hD:FppG9Fj 8P8 LhL 8P8 E; Dh:% >4&&4&}yyD~s[4Dd=PppP=d>hh>@jY*(88(*Y4LL4Y*(88(*YDw" A4*[s~>M4&"27 $=.54632>32#"' 65#"&4632632 65.5462&4&&4G9& <#5KK5!!5KK5#< &ܤ9Gpp&4&&4&@>buោؐ&$KjKnjjKjK$&jjb>Ppp %!5!#"&5463!!35463!2+32@\\8(@(8\@@\\@\(88(\@ 34#"&54"3#!"&5!"&5>547&5462;U gI@L4@Ԗ@4L2RX='8P8'=XR U;Ig04LjjL4*\(88(\@"4&+32!#!"&+#!"&5463!2pP@@Pjj@@\@\&0pj \\&-B+"&5.5462265462265462+"&5#"&5463!2G9L44L9G&4&&4&&4&&4&&4&L44L &=d4LL4 d=&&`&&&&`&&&&4LL4  &#3CS#!"&5463!2!&'&!"&5!463!2#!"&52#!"&=4632#!"&=463(8((88((`x c`(8@@@`((88(@(8(D 9 8(`@@@@@/?O_o-=%+"&=46;25+"&=46;2+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2%+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2%+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2+"&=46;2!!!5463!2#!"&5463!2 @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @ &&&&@  @ @  @  @  @ @  @ @  @ @  @ @  @ @  @ @  @ @  @ @  @ @  @ @  @ @  @ @  @ @  @ @  @  @  @   `&&&& /?O_o%+"&=46;25+"&=46;2+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2+"&=46;2!!#!"&=!!5463!24&+"#54&+";26=3;26%#!"&5463!463!2!2 @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @ 8(@(8 @  @  @  @  @ &&&@8((8@&@  @ @  @  @  @ @  @ @  @ @  @ @  @ @  @ @  @  @  @  (88(  @  ``   `` -&&& (88(&@<c$4&"2!#4&"254&+54&+"#";;26=326+"&5!"&5#"&46346?>;463!2KjKKjKjKKj&ԖԖ&&@&&KjKKjK jKKjK .&jjjj&4&@@&&#'1?I54&+54&+"#";;26=326!5!#"&5463!!35463!2+32 \\8(@(8\ \\@\(88(\: #32+53##'53535'575#5#5733#5;2+3@E&&`@@` `@@`&&E%@`@ @ @      @ 0 @!3!57#"&5'7!7!K5@   @5K@@@ #3%4&+"!4&+";265!;26#!"&5463!2&&&&&&&&w@www&&@&&&&@&&@www#354&#!4&+"!"3!;265!26#!"&5463!2&&&&&@&&@&w@www@&@&&&&&&@&:@www-M3)$"'&4762 "'&4762 s 2  .   2 w 2  .   2 w 2    2  ww  2    2  ww M3)"/&47 &4?62"/&47 &4?62S .  2 w 2   .  2 w 2  M . 2    2 .  . 2    2 .M3S)$"' "/&4762"' "/&47623 2  ww  2    2  ww  2    2 w 2   .v 2 w 2   .M3s)"'&4?62 62"'&4?62 623 .  . 2    2 .  . 2    2 .   2 w 2v .   2 w 2-Ms3 "'&4762s w 2  .   2 ww  2    2 MS3"/&47 &4?62S .  2 w 2  M . 2    2 .M 3S"' "/&47623 2  ww  2   m 2 w 2   .M-3s"'&4?62 623 .  . 2    2- .   2 w 2/4&#!"3!26#!#!"&54>5!"&5463!2  @ ^B && B^^B@B^ @  MB^%Q= &&& $$ (r^aa(^aa!C#!"&54>;2+";2#!"&54>;2+";2pPPpQh@&&@j8(PppPPpQh@&&@j8(Pp@PppPhQ&&j (8pPPppPhQ&&j (8p!C+"&=46;26=4&+"&5463!2+"&=46;26=4&+"&5463!2Qh@&&@j8(PppPPpQh@&&@j8(PppPPp@hQ&&j (8pPPppP@hQ&&j (8pPPpp@@ #+3;G$#"&5462"&462"&462#"&462"&462"&462"&462#"&54632K54LKj=KjKKjKjKKjL45KKjK<^^^KjKKjppp\]]\jKL45KjKKjKujKKjK4LKjKK^^^jKKjKpppr]]\  $$ ^aaQ^aa,#"&5465654.+"'&47623   #>bqb&44&ɢ5"  #D7euU6 &4&m 1X".4>2".4>24&#""'&#";2>#".'&547&5472632>3=T==T==T==T=v)GG+v@bRRb@=&\Nj!>3lkik3hPTDDTPTDDTPTDDTPTDD|x xXK--K|Mp<# )>dA{RXtfOT# RNftWQ,%4&#!"&=4&#!"3!26#!"&5463!2!28(@(88((88((8\@\\@\\(88(@(88(@(88@\\\\ u'E4#!"3!2676%!54&#!"&=4&#!">#!"&5463!2!2325([5@(\&8((88((8,9.+C\\@\ \6Z]#+#,k(88(@(88(;5E>:5E\\\ \1. $4@"&'&676267>"&462"&462.  > $$ n%%/02 KjKKjKKjKKjKfff^aayy/PccP/jKKjKKjKKjKffff@^aa$4@&'."'.7>2"&462"&462.  > $$ n20/%7KjKKjKKjKKjKfff^aa3/PccP/y jKKjKKjKKjKffff@^aa +7#!"&463!2"&462"&462.  > $$ &&&&KjKKjKKjKKjKfff^aa4&&4&jKKjKKjKKjKffff@^aa#+3C54&+54&+"#";;26=3264&"24&"2$#"'##"3!2@@KjKKjKKjKKjKܒ,gjKKjKKjKKjKXԀ,, #/;GS_kw+"=4;27+"=4;2'+"=4;2#!"=43!2%+"=4;2'+"=4;2+"=4;2'+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;54;2!#!"&5463!2`````````````````````p`K55KK55Kp`````````````````````````5KK55KK@*V#"'.#"63232+"&5.5462#"/.#"#"'&547>32327676R?d^7ac77,9xm#@#KjK# ڗXF@Fp:f_ #WIpp&3z h[ 17q%q#::#5KKu't#!X: %#+=&>7p @ *2Fr56565'5&'. #"32325#"'+"&5.5462#"/.#"#"'&547>32327676@ͳ8 2.,#,fk*1x-!#@#KjK# ڗXF@Fp:f_ #WIpp&3z e`vo8t-  :5 [*#::#5KKu't#!X: %#+=&>7p  3$ "/&47 &4?62#!"&=463!2I.  2 w 2   -@). 2    2 . -@@-S$9%"'&4762  /.7> "/&47 &4?62i2  .   2 w E > u > .  2 w 2   2    2  ww !   h. 2    2 . ;#"'&476#"'&7'.'#"'&476' )'s "+5+@ա' )'F*4*Er4M:}}8 GO *4*~ (-/' #"'%#"&7&67%632B;>< V??V --C4 <B=cB5 !% %!b 7I))9I7 #"'.5!".67632y( #  ##@,( )8! !++"&=!"&5#"&=46;546;2!76232-SSS  SS``  K$4&"24&"24&"27"&5467.546267>5.5462 8P88P88P88P8P88P4,CS,4pp4,,4pp4,6d7AL*',4ppP88P8P88P8HP88P8`4Y&+(>EY4PppP4Y4Y4PppP4Y%*54&#"#"/.7!2<'G,')7N;2]=A+#H  0PRH6^;<T%-S#:/*@Z}   >h.%#!"&=46;#"&=463!232#!"&=463!2&&&@@&&&@&&&&&&&&&&&&f&&&&b#!"&=463!2#!"&'&63!2&&&&''%@% &&&&&&&&k%J%#/&'#!53#5!36?!#!'&54>54&#"'6763235 Ź}4NZN4;)3.i%Sin1KXL7觧*  #& *@jC?.>!&1' \%Awc8^;:+54&#"'6763235 Ź}4NZN4;)3.i%PlnEcdJ觧*  #& *-@jC?.>!&1' \%AwcBiC:D'P%! #!"&'&6763!2P &:&? &:&?5"K,)""K,)h#".#""#"&54>54&#"#"'./"'"5327654.54632326732>32YO)I-D%n  "h.=T#)#lQTv%.%P_ % %_P%.%vUPl#)#T=@/#,-91P+R[Ql#)#|'' 59%D-I)OY[R+P19-,##,-91P+R[YO)I-D%95%_P%.%v'3!2#!"&463!5&=462 =462 &546 &&&&&4&r&4&@&4&&4&G݀&&&&f s CK&=462 #"'32=462!2#!"&463!5&'"/&4762%4632e*&4&i76`al&4&&&&&}n  R   R zfOego&&5`3&&&4&&4& D R   R zv"!676"'.5463!2@@w^Cct~5  5~tcC&&@?JV|RIIR|V&&#G!!%4&+";26%4&+";26%#!"&546;546;2!546;232@@@@L44LL4^B@B^^B@B^4L  N4LL44L`B^^B``B^^B`LL4&"2%#"'%.5!#!"&54675#"#"'.7>7&5462!467%632&4&&4  @ o&&}c ;pG=(  8Ai8^^.   &4&&4&` ` fs&& jo/;J!# 2 KAE*,B^^B! ` $ -4&"2#"/&7#"/&767%676$!28P88PQr @ U @ {`PTP88P8P`  @U @rQ!6'&+!!!!2Ѥ 8̙e;<*@8 !GGGQII %764' 64/&"2 $$ f3f4:4^aaf4334f:4:^aa %64'&" 2 $$ :4f3f4F^aa4f44f^aa 764'&"27 2 $$ f:4:f4334^aaf4:4f3^aa %64/&" &"2 $$ -f44f4^aa4f3f4:w^aa@7!!/#35%!'!%j/d jg2|855dc b @! !%!!7!FG)DH:&H dS)U4&"2#"/ $'#"'&5463!2#"&=46;5.546232+>7'&763!2&4&&4f ]wq4qw] `dC&&:FԖF:&&Cd`4&&4& ]] `d[}&&"uFjjFu"&&y}[d#2#!"&546;4 +"&54&" (88(@(88( r&@&Ԗ8((88(@(8@&&jj'3"&462&    .  > $$ Ԗ>aX,fff^aaԖԖa>TX,,~ffff@^aa/+"&=46;2+"&=46;2+"&=46;28((88((88((88((88((88((8 (88((88((88((88((88((88/+"&=46;2+"&=46;2+"&=46;28((88((88((88((88((88((8 (88((88(88((88(88((885E$4&"2%&'&;26%&.$'&;276#!"&5463!2KjKKj   f  \ w@wwwjKKjK"G   ܚ  f   @www   $64'&327/a^ ! ^aaJ@%% 65/ 64'&"2 "/64&"'&476227<ij6j6u%k%~8p8}%%%k%}8p8~%<@% %% !232"'&76;!"/&76  ($>( J &% $%64/&"'&"2#!"&5463!2ff4-4ff4fw@wwwf4f-f4@www/#5#5'&76 764/&"%#!"&5463!248` # \P\w@www4`8  #@  `\P\`@www)4&#!"273276#!"&5463!2& *f4 'w@www`&')4f*@www%5 64'&"3276'7>332#!"&5463!2`'(wƒa8! ,j.( &w@www`4`*'?_`ze<  bw4/*@www-.  6 $$  (r^aaO(_^aa -"'&763!24&#!"3!26#!"&5463!2yB(( @   w@www]#@##   @ @www -#!"'&7624&#!"3!26#!"&5463!2y((@B@u @   w@www###@  @ @www -'&54764&#!"3!26#!"&5463!2@@####@w@wwwB((@@www`%#"'#"&=46;&7#"&=46;632/.#"!2#!!2#!32>?6#  !"'?_  BCbCaf\ + ~2   }0$  q 90r p r%D p u?#!"&=46;#"&=46;54632'.#"!2#!!546;2D a__ g *`-Uh1    ߫}   $^L  4b+"&=.'&?676032654.'.5467546;2'.#"ǟ B{PDg q%%Q{%P46'-N/B).ĝ 9kC< Q 7>W*_x*%K./58`7E%_ ,-3  cVO2")#,)9;J) "!* #VD,'#/&>AX>++"''&=46;267!"&=463!&+"&=463!2+32Ԫ$   pU9ӑ @/*f o  VRfq f=SE!#"&5!"&=463!5!"&=46;&76;2>76;232#!!2#![       % )   "  Jg Uh BW&WX hU g 84&#!!2#!!2#!+"&=#"&=46;5#"&=46;463!2j@jo g|@~vv u n#467!!3'##467!++"'#+"&'#"&=46;'#"&=46;&76;2!6;2!6;232+32QKt# #FNQo!"դѧ !mY Zga~bm] [o"U+, @h h@@X hh @83H\#5"'#"&+73273&#&+5275363534."#22>4.#2>ut 3NtRP*Ho2 Lo@!R(Ozh=,GID2F 8PuE>.'%&TeQ,jm{+>R{?jJrL6V @`7>wmR1q uWei/rr :Vr" $7V4&#"326#"'&76;46;232!5346=#'73#"'&'73267##"&54632BX;4>ID2F +>R{8PuE>.'%&TeQ,jm{?jJrL6 @`rr :Vr3>wmR1q uWei@ \%4&#"326#!"&5463!2+".'&'.5467>767>7>7632!2&%%&&&& &7.' :@$LBWM{#&$h1D!  .I/! Nr&&%%&&&&V?, L=8=9%pEL+%%r@W!<%*',<2(<&L,"r@ \#"&546324&#!"3!26%#!#"'.'.'&'.'.546767>;&%%&&&& &i7qN !/I.  !D1h$&#{MWBL$@: '.&&%%&&&&=XNr%(M&<(2<,'*%<!W@r%%+LEp%9=8=L  +=\d%54#"327354"%###5#5#"'&53327#"'#3632#"'&=4762#3274645"=424'.'&!  7>76#'#3%54'&#"32763##"'&5#327#!"&5463!2BBPJNC'%! B? )#!CC $)  54f"@@ B+,A  A+&+A  ZK35N # J!1331CCC $)w@www2"33FYF~(-%"o4*)$(* (&;;&&9LA3  8334S,;;,WT+<<+T;(\g7x:&&::&&<r%-@www  +=[c}#"'632#542%35!33!3##"'&5#327%54'&#"5#353276%5##"=354'&#"32767654"2 '.'&547>76 3#&'&'3#"'&=47632%#5#"'&53327''RZZ:kid YYY .06 62+YY-06 R[!.'CD''EH$VVX::Y X;:Y fyd/%jG&DC&&CD&O[52. [$C-D..D^^* ly1%=^I86i077S 3 $EWgO%33%OO%35 EEFWt;PP;pt;PP;pqJgTFQ%33&PP%33%R 7>%3!+}{'+"&72'&76;2+"'66;2U &  ( P *'eJ."-dZ-n -'74'&+";27&+";276'56#!"&5463!2~} 7e  ۩w@www"  $Q #'!# @www I-22#!&$/.'.'.'=&7>?>369II ! ' $ !01$$%A' $ ! g  \7@)(7Y   \7@)(7Y @ '5557 ,VWQV.RW=?l%l`~0  !#!#%777 5! R!!XCCfff݀# `,{{{`Og4&"2 &6 $"&462$"&62>7>7>&46.'.'. '.'&7>76 Ԗ HR6L66LGHyU2L  L2UyHHyU2L  L2UyHn X6X  XX ԖԖH6L66L6 L2UyHHyU2L  L2UyHHyU2L n6X  XX  2#!"&54634&"2$4&"2ww@ww||||||w@www||||||| !3 37! $$ n6^55^h ^aaM1^aaP *Cg'.676.7>.'$7>&'.'&'? 7%&'.'.'>767$/u5'&$I7ob?K\[zH,1+.@\7':Yi4&67&'&676'.'>7646&' '7>6'&'&7>7#!"&5463!2PR$++'TJXj7-FC',,&C ."!$28 h /" +p^&+3$ i0(w@www+.i6=Bn \C1XR:#"'jj 8Q.cAj57!? "0D$4" P[ & 2@wwwD"%.5#5>7>;!!76PYhpN!HrD0M C0N#>8\xx: W]oW-X45/%'#.5!5!#"37>#!"&5463!2p>,;$4 5eD+WcEw@wwwK()F ,VhV^9tjA0/@www@#"'&76;46;23   &  ++"&5#"&7632  ^  c  & @#!'&5476!2 &  ^  b '&=!"&=463!546  &    q&8#"'&#"#"5476323276326767q'T1[VA=QQ3qqHih"-bfGw^44O#A?66%CKJA}} !"䒐""A$@C3^q|z=KK?6 lk)  %!%!VVuuu^-m5w}n~7M[264&"264&"2"&546+"&=##"&5'#"&5!467'&766276#"&54632    *<;V<<O@-K<&4'>&4.'.'.'.'.'&6&'.'.6767645.'#.'6&'&7676"&'&627>76'&7>'&'&'&'&766'.7>7676>76&6763>6&'&232.'.6'4."7674.'&#>7626'.'&#"'.'.'&676.67>7>5'&7>.'&'&'&7>7>767&'&67636'.'&67>7>.'.67 \  U7  J#!W! '  " ';%  k )"    '   /7*   I ,6 *&"!   O6* O $.( *.'  .x,  $CN      * 6   7%&&_f& ",VL,G$3@@$+ "  V5 3"  ""#dA++ y0D- %&n 4P'A5j$9E#"c7Y 6" & 8Z(;=I50 ' !!e  R   "+0n?t(-z.'< >R$A"24B@( ~ 9B9, *$        < > ?0D9f?Ae  .(;1.D 4H&.Ct iY% *  7      J  <    W 0%$  ""I! *  D  ,4A'4J" .0f6D4pZ{+*D_wqi;W1G("% %T7F}AG!1#%  JG 3  '.2>Vb%&#'32&'!>?>'&' &>"6&#">&'>26 $$ *b6~#= XP2{&%gx| .W)oOLOsEzG< CK}E $MFD<5+ z^aa$MWM 1>]|YY^D եA<KmE6<" @9I5*^aa>^4./.543232654.#"#".#"32>#"'#"$&547&54632632':XM1h*+D($,/9p`DoC&JV;267676&#!"&=463!267 #!"'&5463!26%8#! &&Z"M>2! ^I 7LRx_@>MN""`=&&*%I},  L7_jj9/%4&#!"3!264&#!"3!26#!"&5463!2  &&&&&&&&19#"'#++"&5#"&5475##"&54763!2"&4628(3- &B..B& -3(8IggI`(8+Ue&.BB.&+8(kk`%-"&5#"&5#"&5#"&5463!2"&4628P8@B\B@B\B@8P8pPPp@`(88(`p.BB.0.BB.(88(Pppͺ!%>&'&#"'.$ $$ ^/(V=$<;$=V).X^aaJ`"(("`J^aa,I4."2>%'%"/'&5%&'&?'&767%476762%6[՛[[՛o ܴ   $ $ " $ $  ՛[[՛[[5` ^ ^ 2` `2 ^ ^ ` 1%#"$54732$%#"$&546$76327668ʴhf킐&^zs,!V[vn) 6<ׂf{z}))Ns3(@ +4&#!"3!2#!"&5463!2#!"&5463!2@&&&f&&&&@&&&&4&&4&@&&&&&&&& `BH+"/##"./#"'.?&5#"&46;'&462!76232!46 `&C6@Bb03eI;:&&&4L4&F Z4&w4) '' 5r&4&&4&&4}G#&/.#./.'&4?63%27>'./&'&7676>767>?>%6})(."2*&@P9A #sGq] #lh<* 46+(  < 5R5"*>%"/ +[>hy  K !/Ui%6&'&676&'&6'.7>%.$76$% $.5476$6?62'.76&&'&676%.76&'..676#"NDQt -okQ//jo_  %&JՂYJA-.-- 9\DtT+X?*<UW3' 26$>>W0 {"F!"E    ^f`$"_]\<`F`FDh>CwlsJ@ ;=?s  :i_^{8+?` ) O`s2RDE58/Kr #"'>7&4$&5mī"#̵$5$"^^W=acE*czk./"&4636$7.'>67.'>65.67>&/>z X^hc^O<q+f$H^XbVS!rȇr?5GD_RV@-FbV=3! G84&3Im<$/6X_D'=NUTL;2KPwtPt=  &ռ ,J~S/#NL,8JsF);??1zIEJpqDIPZXSF6\?5:NR=;.&1 +!"&=!!%!5463!2sQ9Qs***sQNQsBUw wUBFHCCTww%1#"&=!"&=463!54632.  6 $$     ` ?(r^aa    (_^aa%1#!#"'&47632!2.  6 $$   @  ` (r^aa  ?  @  (_^aa/#"'&476324&#!"3!26#!"&5463!2&@& @   w@www& @B@ &  @ @www"&462  >& $$ Ԗ*(r^aaԖԖ (^aa]6#"$54732>%#"'!"&'&7>32'!!!2f:лѪz~u: ((%`V6B^hD%i(]̳ޛ *>6߅r#! 3?^BEa߀#9#36'&632#"'&'&63232#!"&5463!2 Q,&U #+' ;il4L 92<D`w@www`9ܩ6ɽ ]`C477&@wwwD+"&5#"'&=4?5#"'&=4?546;2%6%66546;2  wwwwcB G]B Gty]ty #3C#!+"&5!"&=463!46;2!24&#!"3!26#!"&5463!2@`@`^BB^^B@B^www@w@`@`2@B^^BB^^ww@w'/?P+5#"&547.467&546;532!764'!"+32#323!&ln@ :MM: @nY*Yz--zY*55QDDU9pY-`]]`.X /2I$ t@@/!!/@@3,$,3$p$00&*0&& !P@RV2#"&/#"&/#"&546?#"&546?'&54632%'&54632763276%>S]8T;/M77T7%>ww@ww!"5bBBb// * 8(@(87)(8=%/' #?w@www#~$EE y &L(88e):8(%O r    O?GQaq47&67>&&'&67>&"$32#"#"'654  $&6 $6&$ CoL.*K  Px.* iSƓ i 7J ?~pi{_Я;lLUZ=刈刈_t'<Z :!   @! j`Q7  $ky, Rfk*4LlL=Z=刈&$&546$7%7&'5>]5%w&P?zrSF!| &0 ##!"&5#5!3!3!3!32!546;2!5463) );));;))&&&@@&&&  6 $&727"'%+"'&7&54767%&4762֬>4P t+8?::  ::A W` `EvEEvE<."e$IE&O &EI&{h.`m"&#"&'327>73271[ >+)@ (]:2,C?*%Zx/658:@#N C= E(oE=W'c:#!#"$&6$3 &#"32>7! ڝyy,{ۀہW^F!LC=y:yw߂0H\R%"N^ '&76232762$"&5462"&46274&"&'264&#"'&&#"32$54'>$ $&6$ G>>0yx14J55J5J44J5Fd$?4J55%6E#42F%$fLlLq>>11J44%&4Z%44J54R1F$Z-%45J521Z%F1#:ʎ 9LlL#Qa"'&7622762%"&5462"&546274&#"&'73264&#"'&&#"32654'>#!"&5463!2 55 **.>.-@-R.>.-@-<+*q6- -- 0OpoOxzRrqP6z~{{Prr^aa]054&"#"&5!2654632!#"&57265&'&#".'&'#"&5467%&4>7>3263232654.547'654'63277.'.*#">7?67>?>32#"'7'>3'>3235?KcgA+![,7*  2(-#=  /~[(D?G  |,)"# +)O8,+'6 y{=@0mI#938OAE` -  )y_/FwaH8j7=7?%a % %!?)L J 9=5]~pj  %(1$",I  $@((  +!.S -L__$'-9L 5V+ 6 T+6.8- $ 0 + t |S 16]&#"'&#"67>76'&'&#"67>32764.#"#.32>67>7 $&54>7>7>7rJ@ "kb2)W+ ,5/1   #   Z -!$IOXp7sLCF9vz NAG#/ 5|Հ';RKR/J#=$,9,+$UCS7'2"1  ! / ,   /--ST(::(ep4AM@=I>".)xΤlsY|qK@ %(YQ&N EHv~<Zx'#"&5467&6?2?'&"/.7.546326#"&'&/7264/7'764&"'?>>32.AUpIUxYE.A %%%h% %hJ%D,FZxULs TgxUJrVD %hJ%@/LefL.C %Jh%CV sNUxϠ@.FZyUHpVA %h&%% %Ji%CWpIUybJ/Uy^G,D %Jh%@U sMt UC %hJ%C-KfyEX[_gj&/&'.''67>7>7&'&'&'>76763>7>#&'&'767672'%'7'+"&'&546323267>7%#"'4'6767672,32,+DCCQLDf' % :/d B 4@ }  &!0$?Jfdf-.=6(:!TO? !IG_U% . k*.=; 5gN_X "  ##  292Q41   *6nA;| BS N.  %1$ 6 $nk^ '7GWgw2+"&5463#!"&5463!254&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";26#"&=! B^^BB^^B:FjB^8((`( `(8^BB^^B@B^"vEj^B(8(`(8(/?O_o/?2#!"&5463;26=4&+";26=4&+";26=4&+";26=4&+"54&+";2654&+";2654&+";2654&+";2654&+";2654&#!"3!2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";26@&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`' "&5#"&5&4762!762$"&462B\B@B\BOpP.BB..BB.8$PO広3CQ#".54>32#".546322#"&#"#"54>%".54>32%2#"&54> &X=L|<&X=M{2r_-$$-_rUU%&&5%ő'- "'.546762@FF$@B@$.&,&.]]|q#<<#(BB B%'-%'-'%'-"'%&'"'%.5467%467%62@ll@ll,@GG&!@@@@@@!&+#+#6#+$*`:p:px p=`$>>$&@&@ @&p@ &.A!!"!&2673!"5432!%!254#!5!2654#!%!2#!8Zp?vdΊens6(N[RWu?rt1SrF|iZ@7މoy2IMC~[R yK{T:%,AGK2#!"&5463!!2654'654.#532#532"&5!654&#"327#2#>!!ww@ww~uk'JTMwa| DH> I1q Fj?w@wwwsq*4p9O*¸Z^qh LE "(nz8B M'?"&4624&#"'.'324&#"3267##"&/632632.ʏhhMALR vGhг~~K „yO^   ʏʏВ*LM@!שwwȍde)qrOPqȦs:03=7'.?67'67%'>&%'7%7./6D\$>  "N,?a0#O 1G9'/P(1#00  ($=!F "9|]"RE<6 'o9%8J$\ :\HiTe<?}V#oj? d,6%N#" HlSVY]C =@C4&"2!.#!"4&"2+"&=!"&=#"&546;>3!232^^^Y ^^^`pppp`]ibbi]~^^^e^^^PppPPppP]^^]3;EM2+"&=!"&=#"&546;>;5463!232264&"!.#!"264&" ]`pppp`]ibbi^^^dY !^^^]@PppP@@PppP@]^^] ^^^e^^^ 3$#!#!"&5467!"&47#"&47#"&4762++&2 $$ 2&&&4&&Z4&&##&&4&4&44&m4&m+DP4'&#"32763232674'&!"32763 3264'&$#"32763232> $$ g* o`#ə0#z#l(~̠) -g+^aaF s" +g (* 3#!| #/IK/%*%D= )[^aa !!!'!!77!,/,-a/G t%/;<HTbcq%7.#"32%74'&"32765"/7627#"5'7432#"/7632#"5'7432#"&5'74632 #"/6327#"/6327#"/46329"&/462"&/>21"&/567632#!.547632632  *     X    ^  `    ^  b  c   fu U`59u  4J   l~ ~ F 2    m | O,           ru| u  " )9 $7 $&= $7 $&= $7 $&=  $&=46w`ww`ww`wb`VTEvEEvETVTEvEEvET*VTEvEEvET*EvEEvEEvEEv#^ct#!"&5463!2!&'&!"&5!632#"&'#"/&'&7>766767.76;267674767&5&5&'67.'&'&#3274(8((88((`x c`(8!3;:A0?ݫY   ^U 47D$    74U3I  |L38wtL0`((88(@(8(D 9 8(Q1&(!;  (g- Up~R2(/{E(Xz*Z%(i6CmVo8 #T#!"&5463!2!&'&!"&5!3367653335!3#4.5.'##'&'35(8((88((`x c`(8iFFZcrcZ`((88(@(8(D 9 8(kk" kkJ  ! k#S#!"&5463!2!&'&!"&5!%!5#7>;#!5#35!3#&'&/35!3(8((88((`x c`(8-Kg kL#DCJg  jLD`((88(@(8(D 9 8(jj jjkk kk#8C#!"&5463!2!&'&!"&5!%!5#5327>54&'&#!3#32(8((88((`x c`(8 G]L*COJ?0R\wx48>`((88(@(8(D 9 8(jjRQxk !RY#*2#!"&5463!2!&'&!"&5!!57"&462(8((88((`x c`(8Pppp`((88(@(8(D 9 8(ppp  #*7JR5#5#5#5##!"&5463!2!&'&!"&5##5!"&54765332264&"<(8((88((`x c`(8kޑcO"jKKjK`((88(@(8(D 9 8(SmmS?M&4&&4#9L^#!"&5463!2!&'&!"&5!#"/#"&=46;76276'.'2764'.(8((88((`x c`(8 6ddWW6&44`((88(@(8(D 9 8(. G5{{5]]$5995#3C#!"&5463!2!&'&!"&5!2#!"&5463#"'5632(8((88((`x c`(84LL44LL4l  `((88(@(8(D 9 8(L44LL44L  Z #7K[#!"&5463!2!&'&!"&5!>&'&7!/.?'&6?6.7>'(8((88((`x c`(8` 3  3  3  3 v  ?  `((88(@(8(D 9 8( & & - & &  ?   '6#'. '!67&54632".'654&#"32eaAɢ/PRAids`WXyzOvд:C;A:25@Ң>-05rn`H( ' gQWZc[ -%7' %'-'% %"'&54762[3[MN 3",""3,3"ong$߆]gn$+) ")")" x#W#"&#!+.5467&546326$32327.'#"&5463232654&#"632#".#"oGn\ u_MK'̨|g? CM7MM5,QAAIQqAy{b]BL4PJ9+OABIRo?z.z n6'+s:zcIAC65D*DRRD*wyal@B39E*DRRD*'/7  $&6$ 6277&47' 7'"' 6& 6'lLRRZB|RR>dZZLlLZRR«Z&>«|R ! $&54$7 >54'5PffP牉@s-ff`-c6721>?>././76&/7>?>?>./&31#"$&(@8!IH2hM>'  )-* h'N'!'Og,R"/!YQG54'63&547#5#"=3235#47##6323#324&"26%#!"&5463!2F]kbf$JMM$&N92Z2&`9UW=N9:PO;:dhe\=R +)&')-S99kJ<)UmQ/-Ya^"![Y'(<`X;_L6#)|tWW:;X  #'#3#!"&5463!2) p*xeשw@www0,\8@www9I#"'#"&'&>767&5462#"'.7>32>4."&'&54>32JrO<3>5-&FD(=Gq@C$39aLL²L4 &) @]v q#CO!~󿵂72765'./"#"&'&5 }1R<2" 7MW'$  ;IS7@5sQ@@)R#DvTA ; 0x I)!:> +)C 6.> !-I[4&#"324&#"3264&#"324&#"326&#"#".'7$4$32'#"$&6$32D2)+BB+)3(--(31)+BB+)4'--'4'#!0>R HMŰ9ou7ǖD䣣 R23('3_,--,R23('3_,--,NJ ?uWm%#"'%#"'.5 %&'&7632! ; `u%"(!]#c)(  #"'%#"'.5%&'&76 !  (%##fP_"(!)'+ʼn4I#"$'&6?6332>4.#"#!"&54766$32#!"&=46;46;2z䜬m IwhQQhbF*@&('k@z   _hQнQGB'(&*eozΘ@@`  >. $$ ffff^aafff^aa>"&#"#"&54>7654'&#!"#"&#"#"&54>765'46.'."&54632326323!27654'.5463232632,-,,",:! %]& %@2(/.+*)6! <.$..**"+8#  #Q3,,++#-:#"$$ /:yuxv)%$ /?CG%!5%2#!"&5463!5#5!52#!"&54632#!"&5463#5!5`&&&& &&&&&&&&@&&&&&&&&&&&&%2 &547%#"&632%&546 #"'6\~~\h ~\h\ V V VV%5$4&#"'64'73264&"&#"3272#!"&5463!2}XT==TX}}~>SX}}XS>~}w@www~:xx:~}}Xx9}}9xX}@www/>LXds.327>76 $&6$32762#"/&4762"/&47626+"&46;2'"&=462#"'&4?62E0l,  *"T.D@Yooo@5D [  Z  Z  [ ``[ Z  2 ,l0 (T" .D5@oooY@D, Z  [  [  Z ``EZ  [ 5%!  $&66='&'%77'727'%amlLmf?55>fFtuutFLlLHYC L||L Y˄(E''E*( /?IYiy%+"&=46;2+"&=46;2+"&=46;2+"&=46;2%"&=!#+"&=46;2+"&=46;2+"&=46;2+"&=46;2!54!54>$ +"&=46;2#!"&=@&&@3P > P3&&rrr&&rrr he 4LKM:%%:MKL4WT&&%/9##!"&563!!#!"&5"&5!2!5463!2!5463!2&&&&&&  &&&i@&&@&7'#5&?6262%%o;j|/&jJ%p&j;&i&p/|jţ%Jk%o%  :g"&5462#"&546324&#!"263662>7'&75.''&'&&'&6463!276i~ZYYZ~@OS;+[G[3YUD#o?D&G3I=JyTkBuhNV!WOhuAiSy*'^CC^'*SwwSTvvTSwwSTvvWID\_"[ gq# /3qFr2/ $rg%4 HffHJ4d#!#7!!7!#5!VFNrmNNN N!Y+?Ne%&'&'&7>727>'#&'&'&>2'&'&676'&76$7&'&767>76 '6# <;11x# *# G,T93%/#0vNZ;:8)M:( &C.J}2 %0  ^*  JF &7'X"2LDM" +6 M2+'BQfXV#+] #' L/(eB9  #,8!!!5!!5!5!5!5#26%!!26#!"&5!5&4& &pPPp@@&&@!&@PppP@*  9Q$"&54627"."#"&547>2"'.#"#"&5476$ "'&$ #"&5476$ (}R}hLK NN Ud: xx 8    ,, |2222 MXXM ic,>>,   ̺  '/7?KSck{4&"2$4&"24&"24&"24&"24&"24&"24&"24&"264&"24&#!"3!264&"2#!"&5463!2KjKKjKjKKjKjKKjKKjKKjKjKKjKjKKjKKjKKjKjKKjKLhLLhLKjKKj&&&&KjKKjL44LL44L5jKKjKKjKKjKjKKjKjKKjKjKKjKjKKjKjKKjKjKKjK4LL44LLjKKjK&&&&jKKjK4LL44LL 'E!#"+"&7>76;7676767>'#'"#!"&7>3!2W",&7' #$ &gpf5 O.PqZZdS -V"0kqzTxD!!8p8%'i_F?;kR(` !&)' (2!&6367! &63!2! `B 1LO(+#=)heCQg#s`f4#6q'X|0 -g >IY#6?>7&#!%'.'33#&#"#"/3674'.54636%#"3733#!"&5463!24  : @7vH%hEP{0&<'VFJo1,1.F6A#L44LL44L"% 7x'6 O\JYFw~v^fH$ ! "xdjD"!6`J4LL44LL +3@GXcgqz -<JX{&#"327&76'32>54.#"35#3;5#'#3537+5;3'23764/"+353$4632#"$2#462#"6462""'"&5&5474761256321##%354&'"&#"5#35432354323=#&#"32?4/&54327&#"#"'326'#"=35#5##3327"327'#"'354&3"5#354327&327''"&46327&#"3=#&#"32?"5#354327&3=#&"32?"#3274?67654'&'4/"&#!"&5463!2_gQQh^_~\[[\]_^hQQge<F$$$ !!&&/ !/  !! 00/e&'!"e$   '!!''   8''NgL44LL44LUQghQUk=("  ! =))=2( '! 'L#(>( & DC(>(zL#DzG)<)4LL44LL  BWbjq}+532%+5324&+32763#4&'.546327&#"#"'3265#"&546325&#"32 !264&"2%#'#735#535#535#3'654&+353#!"&5463!29$<=$@?SdO__J-<AA@)7")9,<$.%0*,G3@%)1??.+&((JgfJ*A!&jjjGZYGиwsswPiL>8aA !M77MM77M3! 4erJ]&3YM(, ,%7(#)  ,(@=)M%A20C&Mee(X0&ĖjjjV 8Z8J9N/4$ 8NN88NN  #&:O[ $?b3'7'#3#%54+32%4+324+323'%#5#'#'##337"&##'!!732%#3#3##!"&53733537!572!56373353#'#'#"5#&#!'#'#463!2#"5#"5!&+&+'!!7353273532!2732%#54&+#32#46.+#2#3#3##+53254&".546;#"67+53254&.546;#"#'#'##"54;"&;7335wY-AJF=c(TS)!*RQ+*RQ+Y,B^9^Ft`njUM ') ~PSPRm٘M77Mo7q @)U 8"E(1++NM77Mx378D62W74;9<-A"EA0:A F@1:ؗBf~~""12"4(w$#11#@}}!%+%5(v$:O\zK?* $\amcrVlOO176Nn23266&+"&#"3267;24&+"'&+";27%4&+";2?>23266&+"&#"3267;254+";27#76;2#!"&5463!23%#2%%,,  _3$$2%%M>AL Vb5)LDHeE:< EM j,K'-R M ~M>AR  Vb5)LEHeE:< E J ABI*'! ($rL44LL44Lv%1 %3!x*k $2 %3!;5h n a !(lI;F   rp p8;5h t a !(lI;F ` #k 4LL44LL  2HW[lt#"'5632#6324&'.54327&#"#"&'32767#533275#"=5&#"'#36323#4'&#"'#7532764&"24'&#"327'#"'&'36#!"&5463!2=!9n23BD$ &:BCRM.0AC'0RH`Q03'`.>,&I / * / 8/n-(G@5$ S3=,.B..B02^`o?7je;9G+L44LL44LyE%# Vb;A !p &'F:Aq)%)#orgT$ v2 8)2z948/{ 8AB..B/q?@r<7(g/4LL44LL ?#!"&'24#"&54"&/&6?&5>547&54626=L4@ԕ;U g3 T 2RX='8P8|5 4Ljj U;Ig@   `  "*\(88(]k  &N4#"&54"3 .#"#!"&'7!&7&/&6?&5>547&54626;U gIm*]Z0L4@ԕ=o=CT T 2RX='8P8|5  U;IgXu?bl3@4Ljja`   `  "*\(88(]k/7[%4&+";26%4&+";26%4&+";26!'&'!+#!"&5#"&=463!7>3!2!2@@@@@@0 o`^BB^`5FN(@(NF5@@@u  @LSyuS@%44%,<H#"5432+"=4&#"326=46;2  >. $$ ~Isy9"SgR8vHD w ffff^aam2N+ )H-mF+10*F +fff^aab4&#"32>"#"'&'#"&54632?>;23>5!"3276#"$&6$3 k^?zb=ka`U4J{K_/4^W&  vx :XB0܂ff ) fzzXlz=lapzob35!2BX G@8  ' '=vN$\ff  1 SZz8zX#("/+'547'&4?6276 'D^h  i%5@%[i  h]@]h  i%@5%[i  h^@@)2#"&5476#".5327>OFi-ay~\~;'S{s:D8>)AJfh]F?X{[TC6LlG]v2'"%B];$-o%!2>7>3232>7>322>7>32".'.#"#"&'.#"#"&'.#"#546;!!!!!32#"&54>52#"&54>52#"&54>52-P&+#($P.-P$'#+&PZP&+#"+&P-($P-.P$(#+$P.-P$'#+&P-.P$+#pP@@PpH85K"&ZH85K"&ZH85K"&Z@Pp@@@pMSK5, :&LMSK5, :&LMSK5, :& !!3 ! @@@  #"$$3!!2"jaѻxlalxaaj!!3/"/'62'&63!2'y  `I  yMy `I y'W`#".'.#"32767!"&54>3232654.'&546#&'5&#" 4$%Eӕ;iNL291 ;XxR`f՝Q8TWiWgW:;*:`Qs&?RWXJ8 oNU0 J1F@#) [%6_POQiX(o`_?5"$iʗ\&>bds6aP*< -;iFn* -c1BWg4'.'4.54632#7&'.#"#"'.#"32767'#"&54632326#!"&5463!2#$( 1$6]' !E3P|ad(2S;aF9'EOSej]m] <*rYshpt.#)$78L*khw@wwwB % $/$G6 sP`X):F/fwH1pdlqnmPHuikw_:[9D'@www34."2>$4.#!!2>#!".>3!2QнQQнQQh~wwhfffнQQнQQнQZZQffff#>3!2#!".2>4."fffнQQнQQffffQнQQн ,\!"&?&#"326'3&'!&#"#"'  5467'+#"327#"&463!!'#"&463!2632(#AHs9q ci<= #]$ KjKKjKKjKKjH#j#H&&&KjKKjKg V i jKKjKKjKKjK ..n(([5KK55KK5[poNv<+#"'#"&546;&546$32322$B$22$$*$22$Xڭӯ$22$tX'hs2$ϧkc$22$1c$2F33F3VVT2#$2ԱVT2#$2g#2UU݃ 2$#2UU1݃2 ,u54#"67.632&#"32654'.#"32764.'&$#"7232&'##"&54732654&#"467&5463254632>32#"'&ru&9%" *#͟ O%GR=O&^opC8pP*bY _#$N Pb@6)?+0L15 "4$.Es  5IQ"!@ h "Y7e|J>ziPeneHbIlF>^]@n*9 6[_3#"&54632#.#"32%3#"&54632#.#"326%4&'.'&! ! 7>7>! =39? 6'_ >29? 5'17m-VU--,bW.뮠@Fyu0HC$뮠@Fyu0HC$L= ?? <=! A <`;+"&54&#!+"&5463!2#!"&546;2!26546;2pЇ0pp@Ipp>Sc+"&=46;254&+"&+";2=46;2;2=46;2;2%54&#!";2=;26#!"&5463!2A5DD5A7^6a7MB55B7?5B~```0`rr5A44A5v5AA5f*A``0` !!!! #!"&5463!2ړ7H7jv@vvv':@vvvMUahmrx#"'!"'!#"&547.547.54674&547&54632!62!632!#!627'!%!"67'#77!63!!7357/7'%# %'3/&=&' 5#?&547 6!p4q"""6" 'h*[ |*,@?wAUMpV@˝)Ϳw7({*U%K6=0(M "! O dX$k !! ! b [TDOi @6bxBAݽ5  ɝ:J +3,p x1Fi (R 463!#!"&5%'4&#!"3`а@..@A-XfB$.BB..C} )&54$32&'%&&'67"w`Rd]G{o]>p6sc(@wgmJPAjyYWa͊AZq{HZ:<dv\gx>2ATKn+;"'&#"&#"+6!263 2&#"&#">3267&#">326e~└Ȁ|隚Ν|ū|iyZʬ7Ӕްr|uѥx9[[9jj9ANN+,#ll"BS32fk[/?\%4&+";26%4&+";26%4&+";26%4&+";26%#!"&5467&546326$32]]eeeeee$~i qfN-*#Sjt2"'qCB8!'> !%)-159=AEIMQUY]agkosw{! %! 5!#5#5#5#5#57777????#5!#5!#5!#5!#5!#5!#5!#5#537#5!#5!#5!#5!#5!#55#535353535353%"&546326#"'#32>54.&54>3237.#"Q%%%%%%%%%?iiihOiixiiyiixiiArssrrssr%sssrrssNs%%%%%%%%%%'32#".543232654&#"#"&54654&#"#"&547>326ڞUzrhgrxSПdU 7#"&463!2!2&&4&&&&4&KjKKjKjKKj &&&%&& &&4&&&&4&&&5jKKjKKjKKjK%z 0&4&&3D7&4& %&'S4&"4&"'&"27"&462"&462!2#!"&54>7#"&463!2!2&4&4&4&4KjKKjKjKKj &&&%&& &&4&%&&ے&4"jKKjKKjKKjK%z 0&4&&3D7&4& %& & !'! !%!!!!%"'.763!2o]FooZY@:@!!gf//I62'"/"/"/"/"/"/"/7762762762762762762%"/77627&6?35!5!!3762762'"/"/"/"/"/"/%5#5!4ZSS6SS4SS4SS4SS4SS4SS4ZSS4SS4SS4SS4SS4SS4S-4ZSS4S@4SS4ZSS6SS4SS4SS4SS4SS4S@ZSSSSSSSSSSSSSSZSSSSSSSSSSSSSyZRRR@%:= :+: =RRZSSSSSSSSSSSSSCv!/&'&#""'&#" 32>;232>7>76#!"&54>7'3&547&547>763226323@``` VFaaFV      $. .$     yy .Q5ZE$ ,l*%>>%*>*98(QO!L\p'.'&67'#!##"327&+"&46;2!3'#"&7>;276;2+6267!"'&7&#"(6&#"#"' Dg OOG`n%ELL{@&&Nc,sU&&!Fre&&ss#/,<= #]gL oGkP'r-n&4&2-ir&&?o  4 _5OW! .54>762>7.'.7>+#!"&5#"&5463!2"&462{{BtxG,:`9(0bԿb0(9`:,GxtB&@&&@&K55K`?e==e?1O6# ,  #$  , #6OO&&&&5KK?!"'&'!2673267!'. ."!&54632>321 4q#F""8'go#- #,"tYg>oP$$Po> Zep#)R0+I@$$@I++332++"&=#"&=46;.7>76$  @ ᅪ*r@@r'/2+"&5".4>32!"&=463  &@~[՛[[u˜~gr&`u՛[[՛[~~@r=E32++"&=#"&=46;5&547&'&6;22676;2  >``@``ٱ?E,,=?rH@``@GݧH`jjrBJ463!2+"&=32++"&=#"&=46;5.7676%#"&5   &@~``@``  vXr&@``@+BF`rks463!2+"&=32++"&=#"&=46;5&547'/.?'+"&5463!2+7>6 %#"&5   &@~``@``~4e  0  io@& jV  0  Z9r&@``@Gɞ5o , sp &@k^ , c8~~`r8>KR_32++"&=!+"&=#"&=46;.767666'27&547&#"&'2#" @@ 'Ϋ'sggsww@sgg@@-ssʃl99OOr99FP^l463!2+"&=$'.7>76%#"&=463!2+"&=%#"&54'>%&547.#"254&' &@L?CuГP vY &@;"ޥ5݇ޥ5`&_ڿgwBF@&J_ s&&?%x%xJP\h463!2+"&='32++"&=#"&=46;5.7676632%#"&56'327&7&#"2#" &@L? ߺu``@``} ຒɞueeu9uee&_"|N@``@""|a~lo99r9@9;C2+"&5"/".4>327'&4?627!"&=463  &@Ռ .  N~[՛[[u˜N .  gr&`֌  . Ou՛[[՛[~N  . @r9A'.'&675#"&=46;5"/&4?62"/32+  '֪ \  . 4 .  \r|ݧ憛@\ .    . \@r~9A"/&4?!+"&=##"$7>763546;2!'&4?62  m  - @ݧ憛@& -  @rm4 -  ٮ*   - r+"&5&54>2  @[՛[rdGu՛[[r  ".4>2r[՛[[՛r5՛[[՛[[$2#!37#546375&#"#3!"&5463#22#y/Dz?s!#22#2##2S88 2#V#2L4>32#"&''&5467&5463232>54&#"#"'.Kg&RvgD $ *2% +Z hP=DXZ@7^?1 ۰3O+lh4`M@8'+c+RI2 \ZAhSQ>B>?S2Vhui/,R0+ ZRkmz+>Q2#"'.'&756763232322>4."7 #"'&546n/9bLHG2E"D8_ pdddxO"2xxê_lx2X  !+'5>-pkW[C I I@50Oddd˥Mhfxx^ә #'+/7!5!!5!4&"2!5!4&"24&"2!!! 8P88P 8P88P88P88PP88P8 P88P88P88P8 +N &6 !2#!+"&5!"&=463!46;23!#!"&54>32267632#"_>@`     `  L4Dgy 6Fe=OOU4L>   ` `  4L2y5eud_C(====`L43V &6 #"/#"/&54?'&54?6327632#!"&54>32 7632_>     %%Sy 6Fe=J%>     %65%Sy5eud_C(zz.!6%$!2!!!46;24&"2!54&#!"&&&@ԖV@&&@&&ԖԖ@&3!!! !5!'!53!! #7IeeI7CzCl@@@#2#!"&?.54$3264&"!@մppp((ppp#+/2#!"&?.54$3264&"!264&"!@մ^^^@^^^@((^^^^^^v(#"'%.54632 "'% 632U/@k0G,zD# [k# /tg F Gz  #'#3!) p*xe0,\8T #/DM%2<GQ^lw &'&676676&'&7654&'&&546763"#"'3264&7.>&'%'.767&7667&766747665"'.'&767>3>7&'&'47.'.7676767&76767.'$73>?>67673>#6766666&'&6767.'"'276&67&54&&671&'6757>7&"2654&57>&>&'5#%67>76$7&74>=.''&'&'#'#''&'&'&'65.'&6767.'#%&''&'#2%676765&'&'&7&5&'6.7>&5R4&5S9 W"-J0(/r V"-J0(.)#"6&4pOPppc|o}vQ[60XQW1V  # 5X N"& . ) D>q J:102(z/=f*4!> S5b!%  (!$p8~5..:5I  ~T 4~9p# ! ) & ?()5F 1   d%{v*: @e s|D1d {:*dAA|oYk'&<tuut&v HCXXTR;w 71™ Z*&' 1  9? . $Gv 5k65P.$.`aasa``Z9k'9؋ӗa-*Gl|Me_]`F& OܽsDD!/+``aa``a154&'"&#!!26#!"&5463!2    iLCly5)*Hcelzzlec0hb,,beIVB9@RB9J_L44LL44L44%2"4:I;p!q4bb3p (P`t`P(6EC.7BI64LL44LL  .>$4&'6#".54$ 4.#!"3!2>#!"&5463!2Zjbjj[wٝ]>oӰٯ*-oXL44LL44L')꽽)J)]wL`ֺ۪e4LL44LL;4&#!"3!26#!"&5463!2#54&#!";#"&5463!2  @ ^BB^^B@B^  B^^B@B^`@  MB^^B@B^^>  ^B@B^^5=Um ! !!2#!"&=463!.'!"&=463!>2!2#264&"".54>762".54>762?(``(?b|b?B//B/]]FrdhLhdrF]]FrdhLhdrF@@@(?@@ ?(@9GG9@/B//BaItB!!BtI Ѷ!!ь ItB!!BtI Ѷ!!ь-M32#!"&=46;7&#"&=463!2#>5!!4.'.46ՠ`@`ՠ`MsFFsMMsFFsMojjo@@jj@@<!(!!(!-3?32#!"&=46;7&#"&=463!2+!!64.'#ՠ`@`ՠ`  DqLLqDojjo@@jj@@B>=C-3;32#!"&=46;7&#"&=463!2+!!6.'#ՠ`@`ՠ`UVU96gg6ojjo@@jj@@β**ɍ-G32#!"&=46;7&#"&=463!2#>5!!&'.46ՠ`@`ՠ`MsFFsMkkojjo@@jj@@<!(!33!(!9I2#!"&=4637>7.'!2#!"&=463@b":1P4Y,++,Y4P1:"":1P4Y,++,Y4P1:"b@@@7hVX@K-AA-K@XVh77hVX@K-AA-K@XVh7Aj"#54&#"'54&#"3!26=476=4&#"#54&'&#"#54&'&'2632632#!"&5&=4632>3265K @0.B @0.B#6'&& l @0.B 2' .B A2TA9B;h" d mpPTlLc _4.HK5]0CB.S0CB./#'?&&)$$)0CB. }(AB.z3M2"61d39L/PpuT(Ifc_E`1X"#4&"'&#"3!267654&"#4&"#4&26326#!"&'&5463246326\B B\B&@5K&@"6LB\B B\B sciL}QP%&#"!"3!754?27%>54&#!26=31?>Ijjq,J[j.-tjlV\$B.R1?@B.+?2`$v5K-%5KK5.olRIS+6K5̈$B\B 94E.&ʀ15uE& ԖPjjdXUGJ7!.B P2.B %2@ 7K5(B@KjKj?+fU E,5K~!1.>F.F,Q5*H$b2#!"&=%!"&=463!7!"&'&=4634'&#!">3!!"3!32#!"3!23!26=n$32>32>32#"#.#"#.#"3!27654&#"547654&#"#654&Mye t|]WSSgSY\x{ 70"1i92DU1&=  =&0@c >&/Btd4!*"8K4+"@H@/'= t?_K93-] UlgQQgsW ]#+ i>p&30&VZ&0B/ %3B. "to ){+C4I (  /D0&p0D3[_cg"'&#"3!2676=4&"#54&#"#54&#"#4&'2632632632#!"&'&5463246#!#!#5K)B4J&@#\8P8 @0.B J65K J6k cJ/4qG^\hB2.1!~K5y?^\Vljt-.j[J,qjjI7$?1R.B+.B$`2?gvEo.5KK5%-K6+SIR[&.E49 B\B$5KG#!+"&5!"&=463!2+"&' +"' +"'&5>;2>76;2Y    M .x - N     u  , u ?  LW   #  *:J4'&+326+"'#+"&5463!2  $6& $&6$ UbUI-uu,uuڎLlLAX!Jmf\$ 6uuu,KLlL-[k{276/&'&#"&5463276?6'.#"!276/&'&#"&5463276?6'.#"  $6&  $&6]h - %Lb`J%E 5 ,5R- h - %Lb`J%E 5 ,5R-'uu,uulL/hR    dMLc  NhR   dMLc  N1uuu,LlL@  ' 7 '7 ``H ``H !``H ```H` '%  7' 7'7 ' $&6$ X`(W:,:X`(WLLlLX`(W:BX`(XLlL $ %/9ES[#"&54632$"&4624&"26$4&#"2%#"&462$#"&4632#"32&! 24>  !#"&'.'#"$547.'!6$327&'77'&77N77N'qqqqqPOrqEsttsst}||}uԙ[WQ~,> nP/R U P酛n >,m'77'&77N77N6^Orqqqqqqt棣棣(~|| on[usј^~33pc8{y%cq33dqpf L 54 "2654"'&'"/&477&'.67>326?>< x ,  (-'sI  VCV  Hr'-(  $0@!BHp9[%&!@0$u  ]\\]-$)!IHV D V HI!)$-#36>N"&462."&/.2?2?64/67>&  #!"&5463!2]]]3 $; &|v;$ (CS31 =rM= 4TC(G zw@www]]]($-;,540= sL =45,; @www(2#"$&546327654&#" &#"AZ\@/#%E1/##.1E$![A懇@@\!#21E!6!E13"|! gL&5&'.#4&5!67&'&'5676&'6452>3.'5A5RV[t,G'Q4}-&r! G;>!g12sV&2:#;d=*'5E2/..FD֕71$1>2F!&12,@K r#"&5462>%.#"'&#"#"'>54#".'7654&&5473254&/>7326/632327?&$  $6 $&6$ !&"2&^ u_x^h ;J݃HJǭ qE Dm! M G?̯' %o8 9U(F(ߎLlL&!&!SEm|[n{[<ɪ "p C Di% (K HCέ  pC B m8 @Kނ  HF(LlL "*6%&6$ 7&$5%%6'$2"&4}x3nQH:dΏX e8z' li=! 7So?vM '&7>>7'7>''>76.'6'El:Fg r *t6K3U Z83P)3^I%=9 )<}Jk+C-Wd &U-TE+]Qr-< Q#0 C+M8 3':$ _Q =+If5[ˮ&&SGZoMkܬc#7&#"327#"'&$&546$;#"'654'632ե›fKYYKf¥yͩ䆎L1hvvƚwwkn]*]nlxDLw~?T8bb9SA}+5?F!3267!#"'#"4767%!2$324&#"6327.'!.#"۔c28Ψ-\?@hU0KeFjTlyE3aVsz.b؏W80]TSts<hO_u7bBtSbF/o|V]SHކJ34&#!"3!26#!!2#!"&=463!5!"&5463!2  @ ^B `` B^^B@B^   @ @B^@@^BB^^>3!"&546)2+6'.'.67>76%&F8$.39_0DD40DD0+*M7{L *="# U<-M93#D@U8vk_Y [hD00DD00Dce-JF1 BDN&)@ /1 dy%F#"'&'&'&'&763276?6#"/#"/&54?'&763276"&'&'&5#&763567632#"'&7632654'&#"32>54'&#"'.5463!2#!3>7632#"'&'&#"'&767632yqoq>* 432fba  $B? >B BB AA.-QPPR+ 42 %<ciђ:6& hHGhkG@n`IȌ5 !m(|.mzyPQ-.  je  q>@@?ppgVZE|fb6887a %RB? =B ABBAJvniQP\\PRh!cDS`gΒ 23geFGPHXcCI_ƍ5" n*T.\PQip [*81 / 9@:>t%6#".'.>%6%&7>'.#*.'&676./&'.54>754'&#"%4>327676= >vwd" l "3 /!,+ j2.|%& (N &wh>8X}xc2"W<4<,Z~fdaA`FBIT;hmA<7QC1>[u])  u1V(k1S) - 0 B2* %M ;W(0S[T]I) A 5%R7&&T,Xq&&1X,LΒw%%;#!"&5463!546;2!2!+"&52#!"/&4?63!5! (&&@&&(&&@&&( (  &&@&&@&&&&  #''%#"'&54676%6%% hh @` !   !    #52#"&5476!2#"&5476!2#"'&546        @  @  @    84&"2$4&"2$4&"2#"'&'&7>7.54$ KjKKjKjKKjKjKKjdne4" %!KjKKjKKjKKjKKjKKjK.٫8  !%00C'Z'.W"&462"&462"&462 6?32$6&#"'#"&'5&6&>7>7&54>$ KjKKjKjKKjKjKKjhяW.{+9E=cQdFK1A  0) LlLjKKjKKjKKjKKjKKjKpJ2`[Q?l&٫C58.H(Yee    Y'w(O'R@$#"&#"'>7676327676#" b,XHUmM.U_t,7A3ge z9@xSaQBLb( VU  !!!==w)AU!!77'7'#'#274.#"#32!5'.>537#"76=4>5'.465! KkkK _5 5 #BH1`L I& v6S F!Sr99rS!`` /7K%s}H XV P V  e  Vd/9Q[ $547.546326%>>32"&5%632264&#"64'&""&'&"2>&2654&#";2 P 3>tSU<)tqH+>XX|Wh,:UStW|XX>=X*  ))  +^X^|WX=>X:_.2//a:Ru?  Q%-W|XW>J( =u>XX|WX`  *((*  +2 2X>=XW|E03>$32!>7 '&'&7!6./EUnohiI\0<{ >ORDƚ~˕VƻoR C37J6I`Tb<^M~M8O  5!#!"&!5!!52!5463 ^B@B^`B^^B `B^^"^BB^0;%'#".54>327&$#"32$ !"$&6$3 ##320JUnLnʡ~~&q@tKL}'` - -oxnǑUyl}~~FڎLlLt`(88(   7!' !\W\ d;tZ`_O; }54+";2%54+";2!4&"!4;234;2354;2354>3&546263232632#"&#"26354;2354;2354;2````pp```  !,! -&M<FI(2 ```@PppPpppppp# #   ppppp j#"'&=!;5463!2#!"&=#".'.#!#"&463232>7>;>32#"&'#"!546 %. `@` :,.',-XjjXh-,'.,: kb>PppP>bk .%Z & :k%$> $``6&L')59I"TlԖlT"I95)'L&69GppG9$ >$%k: !+32&#!332 $&6$ ~O88OLlL>pN  iLlL '':Ma4&'#"'.7654.#""'&#"3!267#!"&54676$32#"'.76'&>$#"'.7654'&676mD5)  z{6lP,@KijjOoɎȕ>>[ta) GG 4?a) ll >;_-/ 9GH{zyN@,KԕoN繁y! ?hh>$ D" >â? $ n"&5462'#".54>22654.'&'.54>32#"#*.5./"~~s!m{b6# -SjR,l'(s-6^]Itg))[zxȁZ&+6,4$.X%%Dc* &D~WL}]I0"  YYZvJ@N*CVTR3/A3$#/;'"/fR-,&2-" 7Zr^Na94Rji3.I+ &6W6>N%&60;96@7F6I3+4&#!"3!26%4&#!"3!26 $$ ^aa`@@^aa '7  $ >. %"&546;2#!"&546;2#/a^(^aa(N@@4&#!"3!26 $$ @@^aa`@^aa '  $ >. 7"&5463!2#/a^(n@^aa(N@ %=%#!"'&7!>3!26=!26=!2%"&54&""&546 ##]VTV$KjKKjK$&4&Ԗ&4&>9G!5KK55KK5!&&jj&&#/;Im2+#!"&'#"&463>'.3%4&"26%4&"26%6.326#>;463!232#.+#!"&5#"5KK5sH..Hs5KK5e# )4# %&4&&4&&4&&4&` #4) #%~]eZ&&Ze] E-&&-EKjKj.<<.KjK)#)`"@&&`&&&&`&&)#`)"dXo&&oXG,8&&8!O##!!2#!+"'&7#+"'&7!"'&?63!!"'&?63!6;236;2!2@@8@7 8Q NQ N 8G@ 8GQ NQ N7   8 8  H H  k%  ".>2I20]@]@oo@@oo㔕a22]]p^|11|99|11|(%7'7' ' 7T dltl)qnluul)1$4&"24&"2 &6 +"&5476;2 &6 LhLLhLLhLLhL>  &   &`>hLLhLLhLLhL>&&>G  .7)1!62 1!62he220e22> v +4 [d+ d 135#5&'72!5!#"&'"'#"$547&54$ Eh`X(cYz:L:zYc\$_K`Pa}fiXXiޝfa  (+.>#5#5!5!5!54&+'#"3!267!7!#!"&5463!2U``'    jjV>(>VV>>Vq  ( ^(>VV>>VV=&'&'&'&76'&'&.' #.h8"$Y ''>eX5, ,PtsK25MRLqS;:.K'5R ChhRt(+e^TTu B"$:2~<2HpwTT V/7GWg. %&32?673327>/.'676$4&"2 $&6$   $6& $&6$ d -- m  ,6*6,  mKjKKjoooKzz8zzȎLlLU4>>4-. YG0 )xx) 0GYޞ .jKKjKqoooolzzz80LlLD/7H#"'.7'654&#"'67'.6?>%"&46227#".547|D,=),9#7[͑fx!X: D$ +s)hhijZt<F/*8C,q؜e\r,WBX/C2hhh=tXm>NZ+"&=46;2+"&=4>7>54&#"#"/.7632  >. $$ p=+& 35,W48'3  l zffff^aaP2P: D#;$# $*;? R Cfff^aa'Y >O`"&5462&'.'.76.5632.'#&'.'&6?65\\[( | r [A@[[@A#2#  7* <Y$  +}"(  q87] F  _1 )    #1Ke34&+326+"&=!#!"&763!2#!"&5463!2#>?4.'3#>?4.'3#>?4.'3Xe`64[l7  , L; =+3&98&+)>>+3&98&+)>=+3&88&+)> Wj|r >Q$~d $kaw+-wi[[\;/xgY $kaw+-wi[[\;/xgY $kaw+-wi[[\;/xgYJ\m4.'.'&#"#"'.'&47>7632327>7>54&'&#"327>"&47654'&462"'&476'&462"'&47>&'&462i$ $^"  %%  "^$ $W "@9O?1&&18?t@" W&%%&4KK6pp&46ZaaZ&4mttm ^x -  - x^ = /U7C kkz'[$ =&5%54'4&KK4r7>54 "&54>2"&462%"&54&#""&546 %#"&'&'.7>#"'&'.7>&4&&4&4&&4SZ&4&&44$#&&&j3$"('$&4&[՛[&4&&4F&4&]\&4&$  !D4%  ,\44&&4&4&&4&-Z4&&4&;cX/)#&>B)&4&j9aU0'.4a7&&u՛[[4&&4&@&&]]&&Ώ0 u40 )4#g&'.#"32676%4/&#"326'&#"2632#2+&'%#"'&6?676676632%#"'&6767#"&'&6767#"'.7>327"#"&'&6763"'.7>;7632;>%5K$ "0%>s$ "0%>;;>%5KVL#>H30 \($$(\( єyO2F/{(?0(TK.5sg$ єy#-F/{$70(TK.5sg$L#>H30 \($$(\#(@5"'K58!'"58!'"55"'K#dS$K K$Sdx#@1 w d>N;ET0((? - 2K|1 wd#N;ET0$(? - 2K$#dS$K K$SdxDN\2654& 265462"2654 #"32654>7>54."/&47&'?62 &4&&4&h՛[&4&r$'("$3j&&&#$4[ " @ GB[ "&&Β&&][u&&7a4.'0Ua9j&4&)B>&#)/Xc;u՛ "  " Gi[ Xh#"&54676324&'&#"'>54#"32#"54>54'.#"32>7>767632326#!"&5463!2b )   :4FDN  [1,^JK-*E#9gWRY vm0O w@wwwC22 c@X&!9{MA_"S4b// DR"XljPY < @www%e4.#"32>7676#'.#"#"&54>3232>754&*#"&54>763 >32 ''il$E/  @P@ ^`'W6&!.. ! -P5+ E{n46vLeVz:,SN/ M5M[  ]$[^5iC'2H&!(?]v`* l b$9> =R2 #"&5467%!"&7>3-.7>;%.7>322326/.76/.'&6766/&/&#"&676 &676&6766/&672? =1( H/ '96&@)9<')29% &06##$ J 0 7j)5@"*3%"!M %#K"%Ne 8)'8_(9./=*%8!Q #P"\Q#N&a)<9bR]mp%"'.'&54>76%&54763263 #"/7#"'#"&/%$%322654&#"%'OV9  nt  |\d ϓ[nt  |@D:) ;98'+| j," 41CH^nVz(~R 9\'  r  @L@  @w46HI(+C ,55, f[op@\j;(zV~i/5O#"'&54>32&#" 654'67'"'>54''&'"'6767&546767>7蒓`V BMR B9)̟!SH-77IXmSMH*k#".o;^J qןד>@YM $bKd ү[E";Kx%^6;%T,U:im=Mk).DT4'"&5463267&#" 6;64'.'4'>732676%#!"&5463!2),蛜s5-54&#"#"'654'.#"#"&#"3263232>3232>76 $$ Cf'/'% ( $UL ( #'/'@ 3#@,G)+H+@#3 ^aaX@ _O#NW#O_ .* ##(^aaq[632632#"&#"#".'&#"#".'&54767>7654.54632327&547>P9 B6?K? %O4T% >6>Z64Y=6>%S4N$ ?L?4B @{:y/$ ,'R! F! 8% #)(()#%: !F Q'+%0z:zO_4'.'&54>54&#"#"'654'.#"#"&#"3263232>3232>76#!"&5463!2Cf'.'% ( $VM  ) #'.'@ 3 #A,G)+H+A# 4 w@wwwXA  ?4N$NW&M&L  /* ## + @www O$>?>762'&#"./454327327>7> EpB5 3FAP/h\/NGSL  RP* m95F84f&3Ga4B|wB.\FI*/.?&,5~K % & Y."7n< "-I.M`{ARwJ!FX^dj''''"'7&'7&'7&'7&547'67'67'67'63277774$#"32$   *'ֱ,?g=OO&L&NJBg;1''ֱ.=gCIM $'&&NJBg=.%w؝\\w Ioo<<-NIDg=/%(ײ+AhEHO*"#*OICh=/'(ֲ/=h>ON.]xwڝ]7e[@)6!!"3#"&546%3567654'3!67!4&'7Sgny]K-#75LSl>9V%cPe}&Hn_HȌ=UoLQ1!45647UC" !-9[nx"&46254&"326754&"326754&"26754&"26#".547632632626326'4#"#"54732764&"264.#"327632>#"'"'#"'#"&5#"'67&'327&'&54>3267>7>7>32632632T"8""8)<())(<))))<))<))<))<) Tد{ՐRhx=8 78 n 81 pH_6Soc F@b@?d?uKbM70[f5Y$35KUC<:[;+8 n 87 8/8Zlv]64qE 'YK0-AlB; W#;WS9 &(#-7Z://:/Tr++r,,r++r,,r++r,,r++r,,ʠgxXVעe9222222^KVvF02OO23OO`lF;mhj84DroB@r+@222222C0DP`.r8h9~T4.&o@9 1P%14'!3#"&46327&#"326%35#5##33 $$  }Pcc]321IUΠ?LL?cc4MX &04;0XpD[[DpD,)&&Q 9V\26&".'&'&6?.#"#26327677>'32>&3#'&+"?626&"#!'.'!"&5463!>;26;2!2P P  92#.}SP9::%L \B )spN/9oJ5  !+D`]BgY9+,9% Pk 4P P &NnF!_7*}B<{o0&&B;*<@$ucRRc#@16#37c&@@@ J"@*4^`ED B o/8927 *@OLC!T!323X$BJ@@@&AS 0C 59" 'D/&&D4 88 $5A&%O#!"&547>7>2$7>/.".'&'&2>^B@B^ >FFzn_0P:P2\nzFF> R & p^1P:P1^ & R P2NMJMQ0Rr.B^^B 7:5]yPH!%%"FPy]5:7 = 4 QH!%%!Ht 4 =<"-/ ?1Pp+".'.'.?>;2>7$76&'&%.+"3!26#!"&54767>;2' +~'*OJ%%JN,&x' % ^M,EE,M7 ZE[P*FF*P:5  ^B@B^){$.MK%%KM.$+X)o3 "a 22!] 4  I>"">,&S8JB##B12 ` `B^^B8&ra#11#$R&  "&.2v%/%''%/%7%7'%7'/#&5'&&?&'&?&'&7%27674?6J" 0<=_gNU?DfuYGb7=^H^` =v~yT3GDPO 4Fѭqi_w\ހ!1uS%V_-d 1=U{J8n~r'U4.#".'"3!264&"26+#!"&5463!232+32+32 0P373/./373P0 T=@=T֙֙|`^B@B^^BB^`````*9deG-! !-Ged9IaallkOB^^BB^^B +Yi"&54622#!"&54>;2>+32+32+#!"&5463!2324&#!"3!26֙֙0.I/ OBBO -Q52-)&)-2 ``  ``  `^B@B^^BB^`  @   |kkl"=IYL)CggC0[jM4      B^^BB^^B @  @ !1AQu4.#".'"3!24&"254&#!"3!2654&#!"3!2654&#!"3!26#!54&+"!54&+"!"&5463!2)P90,***,09P)J66S"@8@^B@@B^^BB^Ukc9 9ckU?@@88 @@N@B^````^BB^^!1AQu#!"&4>32>72"&462#!"&=463!25#!"&=463!25#!"&=463!24&#!"3!546;2!546;2!26#!"&5463!2J66J)P90,***,09P)"@8@ @  `@@` ^B@B^^BB^ՀUUkc9 9c`@@88@@2  @ ````@B^^BB^^(%.'"&' $&  #"$&6$ wCιCwjJ~J>LlLśJSSJ͛>6LlL$,  $&6654&$ 3 72&&  lLmzzBl>KlLGzzG>'7#!"&54>7&54>2  62654' '3/U]B,ȍ,B]U/OQнQ>+X}}X0bӃۚӅb0}hQQh>ff#=#!"&4>3272"&462!3!26#!"&5463!;26=!2J66J)Q8PP8Q)  ^B@B^^B``B^VVVld9KK9d` @B^^BB^``^+;K[eu4.#"'"3!264&"254&#!"3!2654&#!"3!26%54&+";2654&#!"3!26!54&#!"!#!"&5463!2"D/@@/D"?,,?pppp@@@@^B@B^^BB^D6]W2@@2W]67MMppp@@@@@@@@n`@B^^BB^^+;K[eu#!"&54>3272"&462#!"&=463!2%#!"&=463!2+"&=46;25#!"&=463!2!3!26#!"&5463!2?,V,?"D/@@/D"pppp@@@  ^B@B^^BB^D7MM76]W2@@2W]֠ppp@@@@@@@@` @B^^BB^^A#"327.#"'63263#".'#"$&546$32326J9"65I).!1iCCu +I\Gw\B!al݇yǙV/]:=B>9+32%#!"&5463!2#"&54>54'&#"#"54654'.#"#"'.54>54'&'&543232654&432#"&54>764&'&'.54632  ?c'p& ?b1w{2V ?#&#9&CY' &.&#+B : &65&*2w1GF1)2<)<'  ( BH=ӊ:NT :O )4:i   F~b` e!}U3i?fRUX|'&'&Ic&Q  *2U.L6* / L:90%>..>%b>+ +z7ymlw45)0 33J@0!! TFL P]=GS -kwm  !*(%6&692? $&6$  '   al@lLlL,& EC h$LlL /37;%"&546734&'4&" 67 54746 #5#5#5ppF::FDFNV^fnv~"/&4?.7&#"!4>3267622"&4"&46262"&42"&4462"$2"&42"&4"&46262"&4"&46262"&42"&4$2"&42"&42"&4  R ,H8JfjQhjG^R,  !4&&4&Z4&&4&4&&4&4&&4&&4&&44&&4&4&&4&Z4&&4&4&&4&4&&4&4&&4&4&&4&&4&&4&Z4&&4&Z4&&4&  R  ,[cGjhQRJ'A, &4&&4Z&4&&4Z&4&&4Z&4&&444&&4&&4&&4Z&4&&4Z&4&&4Z&4&&4&4&&4Z&4&&4Z&4&&4&&4&&4Z&4&&4Z&4&&4%-5=EM}+"&=#!"'+"&=&="&4626"&462&"&462"&462&"&462&"&462#!"&=46;4632676/&?.7&#"!2"&462&"&462&"&462"&462&"&462&"&462"&462&"&462"&462@?AA? @ @R...R@`jlL.h) * * $ %35K.....uvnu....@@jN  * * .t2#K5..R..R. @Hq '&'&54 &7676767654$'.766$76"&462&'&'&7>54.'.7>76ȵ|_ğyv/ۃ⃺k] :Buq CA _kނXVobZZbnW|V 0  Q2- l}O  / :1z q%zG 4( 6Roa ą\< )4 J}%!!#!"&5463!2^B@B^^BB^`@B^^BB^^%#!"&=463!2^B@B^^BB^B^^BB^^ &))!32#!#!"&5463!463!2`B^^B^B@B^^B`^BB^^B@B^B^^BB^`B^^#3%764/764/&"'&"2?2#!"&5463!2    s^B@B^^BB^ג     @B^^BB^^#'7"/"/&4?'&4?62762!!%#!"&5463!2     ^B@B^^BB^    `@B^^BB^^ ! $&6$ .2r`LlLf4LlL#.C&>"'&4762"/&4?62'"'&4762%'.>6.'.>6'>/>76&'&.'&7&'">?4'.677>7.>37654'&'67>776 $&6$  ( 4Z# # & # # & y"6&.JM@& "(XE* $+8 jT?3#'.'&!3!2>?3.'#!57>7'./5!27#'.#!"g%%D-!gg<6WWZe#1=/2*]Y3-,C1 /Dx] VFIq-HD2NK '>*%R= f 07=. f D]\|yu,0>Seu#2#"'&5<>323#3#&'#334'."#"+236'&54.#"5#37326#!"&5463!2 <  zzj k-L+ )[$8=".un/2 ^B@B^^BB^5cy    (ݔI(8?C (3> #"($=@B^^BB^^0K S&'.'&'./674&$#">&>?>'76'# "&#./.'7676767>76$w .~kuBR] T%z+",|ޟj<)(!( ~ˣzF8"{%%#5)}''xJF0"H[$%EJ#% .Gk29(B13"?@ S)5" #9dmW";L65RA0@T.$}i`:f3A%% BM<$q:)BD aa%`]A &c| Ms!  Z 2}i[ F&** < ʣsc"J<&NsF% 0@Wm6&'.6$.7>7 $76".4>2., &>6'"'&7>=GV:e #:$?+% q4g &3hT`ZtQмQQмpAP1LK!:< }҈`dlb,9'  %%($! a3)W)x  оQQоQQcQǡ-җe)Us2XD\ϼYd /?O_o#"=#"=4;543#"=#"=4;543#"=#"=4;543#"=#"=4;543#"=#"=4;543%#!"&5463!2++532325++532325++532325++532325++53232p00pp00pp00pp00pp008((88(@(80pp00pp00pp00pp00pp0     @(88((88     /Q/&'%&/"&=.6?&?&'&6?'.>-#".6?'.>'&6'.>54627>%>76#"'% %6 27 2G f!)p&4&p)!f G2 72  *6 " 47 2G f!)p&4&p)!f G2 72 " 6* !k 3 j&3 %,*&&ր*9% 3&j 3 k!./!>>$,*!k 3.j&3 %Ԝ9*&&ր*ǜ,% 3&j 3 k!*,$>>!/.&6.'&$ &76$76$PutۥiPuGxy Զ[xy -_v١eNuv١e =uʦ[t78X &6# #'7-'%'&$  $6 $&6$ 31NE0gR=|||">"LlL^v!1f2iЂwgfZQQ^>"||||wLlL &ZXblw.'&>'&'&".'.'&&'&'&7>767>67>7626&'&>&'&>'.7>.676'&'&'&'.67.>7>6&'&676&'&676.676&'&>&'&676'.>6/4-LJg-   $  6)j2%+QF)b3FSP 21DK2AW ") ")$? ? 8A& AE5lZm= gG2Sw*&>$5jD GHyX/4F r 1  1""!l=6> 6 ,5./'e    .*|Ed! u & &%& &5d ))66 @ C& 8B @qL?P^7 G-hI[q:"T6 ,6 &/`  L wQ'   A ^   "  $& _  y  * <Copyright Dave Gandy 2016. All rights reserved.Copyright Dave Gandy 2016. All rights reserved.FontAwesomeFontAwesomeRegularRegularFONTLAB:OTFEXPORTFONTLAB:OTFEXPORTFontAwesomeFontAwesomeVersion 4.7.0 2016Version 4.7.0 2016FontAwesomeFontAwesomePlease refer to the Copyright section for the font trademark attribution notices.Please refer to the Copyright section for the font trademark attribution notices.Fort AwesomeFort AwesomeDave GandyDave Gandyhttp://fontawesome.iohttp://fontawesome.iohttp://fontawesome.io/license/http://fontawesome.io/license/      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab cdefghijklmnopqrstuvwxyz{|}~"      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~glassmusicsearchenvelopeheartstar star_emptyuserfilmth_largethth_listokremovezoom_inzoom_outoffsignalcogtrashhomefile_alttimeroad download_altdownloaduploadinbox play_circlerepeatrefreshlist_altlockflag headphones volume_off volume_down volume_upqrcodebarcodetagtagsbookbookmarkprintcamerafontbolditalic text_height text_width align_left align_center align_right align_justifylist indent_left indent_rightfacetime_videopicturepencil map_markeradjusttinteditsharecheckmove step_backward fast_backwardbackwardplaypausestopforward fast_forward step_forwardeject chevron_left chevron_right plus_sign minus_sign remove_signok_sign question_sign info_sign screenshot remove_circle ok_circle ban_circle arrow_left arrow_rightarrow_up arrow_down share_alt resize_full resize_smallexclamation_signgiftleaffireeye_open eye_close warning_signplanecalendarrandomcommentmagnet chevron_up chevron_downretweet shopping_cart folder_close folder_openresize_verticalresize_horizontal bar_chart twitter_sign facebook_sign camera_retrokeycogscomments thumbs_up_altthumbs_down_alt star_half heart_emptysignout linkedin_signpushpin external_linksignintrophy github_sign upload_altlemonphone check_emptybookmark_empty phone_signtwitterfacebookgithubunlock credit_cardrsshddbullhornbell certificate hand_right hand_lefthand_up hand_downcircle_arrow_leftcircle_arrow_rightcircle_arrow_upcircle_arrow_downglobewrenchtasksfilter briefcase fullscreengrouplinkcloudbeakercutcopy paper_clipsave sign_blankreorderulol strikethrough underlinetablemagictruck pinterestpinterest_signgoogle_plus_sign google_plusmoney caret_downcaret_up caret_left caret_rightcolumnssort sort_downsort_up envelope_altlinkedinundolegal dashboard comment_alt comments_altboltsitemapumbrellapaste light_bulbexchangecloud_download cloud_uploaduser_md stethoscopesuitcasebell_altcoffeefood file_text_altbuildinghospital ambulancemedkit fighter_jetbeerh_signf0fedouble_angle_leftdouble_angle_rightdouble_angle_updouble_angle_down angle_left angle_rightangle_up angle_downdesktoplaptoptablet mobile_phone circle_blank quote_left quote_rightspinnercirclereply github_altfolder_close_altfolder_open_alt expand_alt collapse_altsmilefrownmehgamepadkeyboardflag_altflag_checkeredterminalcode reply_allstar_half_emptylocation_arrowcrop code_forkunlink_279 exclamation superscript subscript_283 puzzle_piece microphonemicrophone_offshieldcalendar_emptyfire_extinguisherrocketmaxcdnchevron_sign_leftchevron_sign_rightchevron_sign_upchevron_sign_downhtml5css3anchor unlock_altbullseyeellipsis_horizontalellipsis_vertical_303 play_signticketminus_sign_alt check_minuslevel_up level_down check_sign edit_sign_312 share_signcompasscollapse collapse_top_317eurgbpusdinrjpyrubkrwbtcfile file_textsort_by_alphabet_329sort_by_attributessort_by_attributes_alt sort_by_ordersort_by_order_alt_334_335 youtube_signyoutubexing xing_sign youtube_playdropbox stackexchange instagramflickradnf171bitbucket_signtumblr tumblr_signlong_arrow_down long_arrow_uplong_arrow_leftlong_arrow_rightwindowsandroidlinuxdribbleskype foursquaretrellofemalemalegittipsun_366archivebugvkweiborenren_372stack_exchange_374arrow_circle_alt_left_376dot_circle_alt_378 vimeo_square_380 plus_square_o_382_383_384_385_386_387_388_389uniF1A0f1a1_392_393f1a4_395_396_397_398_399_400f1ab_402_403_404uniF1B1_406_407_408_409_410_411_412_413_414_415_416_417_418_419uniF1C0uniF1C1_422_423_424_425_426_427_428_429_430_431_432_433_434uniF1D0uniF1D1uniF1D2_438_439uniF1D5uniF1D6uniF1D7_443_444_445_446_447_448_449uniF1E0_451_452_453_454_455_456_457_458_459_460_461_462_463_464uniF1F0_466_467f1f3_469_470_471_472_473_474_475_476f1fc_478_479_480_481_482_483_484_485_486_487_488_489_490_491_492_493_494f210_496f212_498_499_500_501_502_503_504_505_506_507_508_509venus_511_512_513_514_515_516_517_518_519_520_521_522_523_524_525_526_527_528_529_530_531_532_533_534_535_536_537_538_539_540_541_542_543_544_545_546_547_548_549_550_551_552_553_554_555_556_557_558_559_560_561_562_563_564_565_566_567_568_569f260f261_572f263_574_575_576_577_578_579_580_581_582_583_584_585_586_587_588_589_590_591_592_593_594_595_596_597_598f27euniF280uniF281_602_603_604uniF285uniF286_607_608_609_610_611_612_613_614_615_616_617_618_619_620_621_622_623_624_625_626_627_628_629uniF2A0uniF2A1uniF2A2uniF2A3uniF2A4uniF2A5uniF2A6uniF2A7uniF2A8uniF2A9uniF2AAuniF2ABuniF2ACuniF2ADuniF2AEuniF2B0uniF2B1uniF2B2uniF2B3uniF2B4uniF2B5uniF2B6uniF2B7uniF2B8uniF2B9uniF2BAuniF2BBuniF2BCuniF2BDuniF2BEuniF2C0uniF2C1uniF2C2uniF2C3uniF2C4uniF2C5uniF2C6uniF2C7uniF2C8uniF2C9uniF2CAuniF2CBuniF2CCuniF2CDuniF2CEuniF2D0uniF2D1uniF2D2uniF2D3uniF2D4uniF2D5uniF2D6uniF2D7uniF2D8uniF2D9uniF2DAuniF2DBuniF2DCuniF2DDuniF2DEuniF2E0uniF2E1uniF2E2uniF2E3uniF2E4uniF2E5uniF2E6uniF2E7_698uniF2E9uniF2EAuniF2EBuniF2ECuniF2EDuniF2EE=O<01hooniprobe-2.2.0/ooni/ui/web/client/fonts/charter-bold-italic.e5c78e2789ec748d8c7f5adccad90e0b.woff0000644000175000017500000007207413071151301030015 0ustar irlirlwOFFt<FFTMhDGDEF OS/2S`LcmapC%cvt DD!fpgmeS/gaspglyfeaheadk 66[ hheakX"$hmtxk|PKlocammaxpo nameoi]_{postr,opreps>5Mwebft4sQ=Gcxc`d``b `b`@17xc`b<ŴiSCf𑁁(Ȁ *~31/p ;ƷL# Rixc```f`F1, 7%Pǰ?!c0c"cc$LwD \0fWa!:G ZcL7$dz,zo_?X~}p{~̻%On&01522 &t aaecWPTRVQUS70426153wptrvqus  OHdhim8m,^|U׮Y~M[mݵs)we=.dhPV v]vòI r144O=|7^ΰ#=S~޾S&͚=gϝt ^0<A{<BHekw{63pMXyEt}nrQUacJ?x]QN[A  9{ Սbd;i7rq@D گH!H|B>!3k4;;sΙ3KʑwkS$6NH덌Zlfu є;j=o)M;Z ;4: !qKͺb00.?R4j˰Ѽ34@Skm!qK˦6$tUS]`*́Vy &ҷ$, b 9@HƼIJ;ㆵƑ6O'ӿZx}#gy|3Ҍf{/]i%VzޝϾs7ng\)ƀ66@f=;fC$@$$1,H8hݺ%h}[|͞!ӌ0똺arruJdoAfN)0!XiRP<Ҵ#&{$j"rR,V%'s7+Ùr"]ֵwF+l=AEC˴ k YdRsi:tC& / z3Qpf'}N.`lMq5Yd[,:%N L[rcv?7*+s ykӬ~ 2Q&LAqze)T*ɺb=<0ZKXAj\M?@_ |dڻ }#~UΊZJ}-O\gtpӽWl{z.+M&=Wt(O~1+~h+v,in=$;`2L(SSpQZDErӓFG#F 6MLu4OE 2-/*AmVT:6nV-J:gj5# $3ZM07C;jJdDx7s.05NR&\t%OZ!x\՞W5 W`k>2ڙ 'ɾU{ Hs =n'or˶<|iٖ[mAqsEs`O[NygТ?X0(PR@"'s28|}YwJ)^uW}mI+E3Y~x-2l TB{ފrerLN_ al)XYxqMrF-5:NZ [nK&*=@,_uydw>9t{35ry׊Ԋk: .l[VtT_{`xK[G|~gRk%hܵ@:ynӎUWޖB?Г`J}0zܴb˼_lٛ|Έӿ5:{-ɴ2TW6- G߳ZQE&Su@,͓;o0nJc7ٴ+Vo{~!oMw =SA1kO8ؚD ! v*?Unp=e~KvzΛ?xb6d3)=cdlW} X&rzW;;ٿnvryқY.i[ؾZ;ԺƛI͝<]f)]Oc2lfnBʓj/ c5 gZ ̖&&e]n4ᗍ1W7ר%ϝ҉n"dfv O01V&Ѥ3m?iRb橱fT'Q6 Hw_m;[S {21SOY.p .@ thMԁ1e(0u`#PE馚Ǣ|h;CُVC.r+4^ǖ6E( Ϟfs`m`UKH麞w*H%ǮZr}Z Ͷ!J{%͘4޹67|Ac[w>xX]ؼmec,JWF!I 6,R1#M@&E: "aCg x/4LF ^9FIN',9(fU&:*)se!dE .o*Ln ٻ{@(#kl@y;S9C."'p#X г@J%q@%FL3{ξ?Hol,fbۯeTZu4mo4{0󠿢ALfQQCv$"(hSg)N!jE)b(~qћ(BOlsR@IJp,̤I ;;#xɵ׏Vܻ}s߲ ;/i={n߳glE̶+{=:gvwL|EY.Ꙡ.ה 'lҩJA '( ZiH4Dɠclwu(k}?9CgogZW}rG#=˿Q8tĚ5/}fGx<#34d iy%P`S3ڜhpR1 JXGG,*$rpGpٟnk2^fJ&% J@͸\ (B+?,.N&5W1ks|k[ITg[r[ِHN 0Jm%ء5­ͮzdӦoެZ 6v{3ȷճg)C'G(QŨ-q4<'5Nނ1Et=Z4[<}zHͣxtG&$iZ4#"yL2dr|r<)'#G0%%BK6,/+UT-% LWVS$S㌷lh|4l$hP QZra7΋As& wd }?7YVM]](;W趷=rGf|}ug!;~;sȦ;V[S9m+?/^pO\2 {=&Af eETYW95'ʊ yU@p^S?~i:0-Sm+n˂ޞ-V7]Dco@/Nq٤w27C9l93``tk=~VXO|®+$14g 2iS7"Jd0XEA)^`D `dZ8 IVsqCF#NuS?#aAg6+@LS wvr I7Q AET%[d䃂|I/so(gwCƀi7BE[{ {bn^[ӳ/'EL=tqq@|3+V#Z(U0 H!hqZ!T$AG\! dKB!LyzO;w_%lG/ ;cK0n|CU6_%8N|&0^3fAnVnB@vC?P=j(Ҹ/H:A*HՁ{*N EBe<=FFS,(fCab'eܞ*]OX@U{x񧰯qW9ų>C3m&@,,A`*P yLֽ6|uld8LwD5=wZ$$͓ 6'^ NT[mcTSIjX ѡh|dhDYI eL@ gv8L~&?wJ?eF㝼un[=6mB hd G(OBp(ݼD @y3,^XN)*: Vt+tM8j^F`-i<bMru@au 6gw~w5?[o]OsLbaṚ{vd fa0ij`=0Mc$@Tq1Q^_4zFԛh&$pc5raC"i"hFTKBn;$}J֒[St#1w[rep߶NږY$sJ_ &#ԒTZFheЛDʊEs>7W}F <T6¢lR< ذ~+>syәmnO8,V|Ω0ChD/2YNulX'zG~ SŲ7}_S4IN/.RͲ5OZ5'Eh KAth]"t#2[m7ǘhkwʪpzh5(-TX&~2-=#@=J|gdq _|PxN{2VL20mm^LM㉓$}Q®>}ipW}3rŖ`g32S$,mgj;Kz8vٟσ|gޫɴRAiQ (V{ [) ,DŽX/;)d6)Ng2;ܞ4ι i`40.Ah4n>0b;lfa#4@ngL|* 6/Bܚ<])ʃ 1 qJaṮ*6&*~4V;1\p(U~I о_qknDnͮl M70m(M GZ4DK]\fG5Dc7 ?p^grwE&wƔum𓗙|",K F \W\9k,;JnU`EkNM2zƢ\&N)&he.ܶO?c Sb_ vqv3V1}q5ll{|]y<>2ۡ+)KY>/t"fqTZ,rc2 ]AoX[ܱ아BA|x|kz.*ٳcV&m0@hpXj/nՎE)NXJϋKEp;3?lWLCXۨ+xӟCta_`k̻x ] sNW&D}ꙿ<>K6E_ҡ(y}^0R:"h+ iвs៎Ng=1fWY&I&rCgu@Sڶ0jKfYh?̗st| ":yQp, e'Њk3=L;Su_'Oqa hPP B鏸ٙ _їʿ yf~/uӳ~ÌЧt9eqw|`s-d7<\q&/\M>v}Y:f&//2w0 'jq&1UU9x!UR,A5{b$jy5WMI\[ub2׮&|8oN\쫮ٶz|ks]a/wE?lN'W7@~ocwkU3Q[C-LrӥSSn橇e2 Z6L5.0^p]дm1'b0,z(Ѻ)ajF{em(:\^ 5i~;0k E-LS=T)ܰ2ٶ@Ù}=mm659kCGƤ'Vc6:C@'㟐̱y,:$K ɫ&sntpn V$~s.jyZ+u?u_~kVD=X讪0De*`iN㡖KSYzj"=w#HyV:)W *OͼMRث4 k'?t0U 7*tf@% J6(h){h]Bd0#v%% lsVEX4p.|;֭Z%#`,%A&rv|)|MFgLۚjڌ׀$|xq*Vm"*Kc$M]'~qyCeM6 Qz0Ӷ/SJPK:BTz`lS*@mbbúu.Kզy^074Gh9Ks@'lnۿ6Q< K+n{xEK@n95;bk1Z+S@x4u[gqճZSq!c"Îxu z>ex `i=QՀ. Uk<\ۋ@rSj8ҝ-Ƀ |$UȄ|S#lwHQu5TgSa1)r*Nz~Ӥ N XvI gҀ\Lu$/.ag[qyCl )6;n `"6:S^ PXs&K o7&RA<%3%O Nl@#d&fTS Tv.0NZyLep(3CޗgEe ~^PSR$nO( &g$}r(#=U7T]4t^hhwDk!rIMSYe[rE|.JzR~G{+y<5Vg ik}g ZdLϒ4fl#$`)OROII<0D>%UxfEنa@ ͏ 9^I!_M XNc4[D f%U%9;Jf0Ꜿń_-eTb-e+Cݲ|$;x=2g+mO{QKs9g_"/]gwi\:6(ŴRͺNv<`)K`j 1f;_uW9~۶=|Mu+7+1 ֣h2DjCR߉FM3erf+p10aabt%ZF 9]D ߩ`7UKX)SȋFOA ^w9ahx`m[޵T[䢙&c-uve{6kv,IQ>.wäbn2fUcpD&-*Qsm:^~7gHz)Bba.4RZ5Lf ӨhZe@MyiJ ߺח;*nƝ3/ ;Gњց@J}39)b}@;eZ^|dׅNc7M67oSh]R;h ` j}'UCP\Z5^|d1dhߚxk nH>h}-tZ񟀖.uqE@DmD%6)%c.ZmS2 d`"=+ 6r!& xcyj6jQȃbU"5+q*$Q#1 :+<+udkM"ʭ[U֨n3YyΥc$ ܙǗ_%W= ===uf`r9N-?WP~bA`jAc0zs׌sZ٥f*&\qvb>:}{;xM}B<]vkKא%7 Bf4X53(챱v@ N)ʷ4Q~LD[E}b(o{/~g!OI-k`Il7S2VAz6xQsʝC>5T Ư3c"X4=9|9Yg]FNͱvv=x?sji*ļ Z2uoo+(x z^6 9HhYMsjxլzDH}d3Yã!ο :z;l% ̏8^:KY#c^ >x^ʏUAu.V*N)9QZ &ћ.L0ӳ0 i(`+eghє,*ޛw]6G_ԉmw۵!gfw>@ 'Ʌ|(JN o?;2 {jc6} ֩IXŤF ךi+qc2؜do4 CP`4CIDr#]]-ݛCl_Wov<-ma_P8r_RH;T-)dC[ޑU>S9~EZV_Mwv3i*f[(D7(bּSdw({U]&9jx5\ o EĖ }7!Y|g ?HZx_~,oyu/?+k;QwD8MEłRBD0{AG?褧 kCɌzDe;tvzIsX𠭋QIEݽ޴7(d Bg{WϜQƂ4Xr }g-No8 gWg#=ݭ\ ljaePMa \[lbd} #b7' 71QwLu4 %9 @G6&^<^wB-t+ƻ&Z~ZޥvOeڊ֕ [V |U7|{E2i YLM^BW*Ks'џ X^ŲGCXÝ%%j(GQw¥8#.{hvPܿwyf@ nvwT@z ߻~yy('\c=]&RYuˆelyݾ+zIwզ7{-gdϵY8?2I׋qO̙w'Aodj+|:uҢjN㝻e蠬Rה}1fV'mX@kRR3 lXHtCVssNۚ e}?}Q'#8XVzѫ=>F^#x嘆N99js‘| '6a (aOSs2Y:m$;΃6\M+7aUOX&ܷ_(3Xη{#G-C藀%1&6{=Q+H&V̫I=ϘK,D }zNz dܬ$ ^( IS fxe0n-+FVX& 'oJ%b9cm'tycld3X? ve\| ͎0.*i@%:ި.XI\>jBjfuUziK URphIe+D`u 7nyӖlD핉--;ۉ bۼwV:a>d*[ `=vmD(u*! -R4քqZJyq74gi)=p@]wwa?pZ[:i*yӢh,->nzȟonyz69`(+iO5j8[8_vx\5s9WkdSa R0ͺEPF_tB`F[GM$pwu!0HJm^?F|(} 6}FI''T H'Aki2% pmTUdF8LhO|5.5[curF_%?j 9+Znx@7cD% .Z͡jCBl4_=* >B>Nvȟ1W#"{2:>xc)iwDvQs6nV\j[v=ě]LW[|ɰw2` kw&C7 ~[#Yb4G X KddÑk5xV!F(Ud[dVHK{(8$fXCD,5r I#NeR'9O$m$E f87ӘF{nw%⽔d3sHT=x2ֽZ]^}Uđ9ph;8z+VV;Fi{׊WE~j[+>vġCC68.޺尸f[62Dg0[6dCy2&<9X8fl8o1ϷLX\Ԋ~Vϫ8_g8T9nx^kjTle š:rUQr23bSsmLL||+ `jnmK}{>^/=ӽ`rB!tCE{'9:UP]ft v&uK1nlǘUSjJryJ1eɑTGhi2~O| |O>"s|%եJ\2+ve@Ii1|o+5y 167E3 n }n`l%~}4 5F*]{M <8J=>Or jSJ^8ҝtU[m{juw ] F`̮}q9! Gu6<^NNǶ 8rjk3ǠᱩT7 US>Mg 7͛>1+!}lUL݉A&nL~3ň^Nہ|&J>jjX8[8@L6L&J#+'guwߔInr]?{k ~)}w_ DO&'NL=%q?>UM1  ,+̈PkJF]BqaYz-y*/V hR}%横3tY86!csxv/_>xws2GLݹ!];FZ l 97e7*7=˶<,oΖ8gS"H옒` }*ņm^ "|Vh F`w[0Q,P|ӢTdZyzkPyʥ64.VMXd>\5e:o͢el+vAQ4ؼNaυݏh}nZLvkg#qc)q*os˩CsM:IU&Nk* uRM_$y o`m7?3]>;~/lG0Ώ0i^4`Bc>!BE t2:c p֌٦VeW5=W͟LjNH!0K4gYk0<iըkQ\>Gkx.y? >WF:`]]`c`MLsN$Z0%(cejN57GM^~-t)ES$ }0V oEGi~%Sסt\Z6d zyA^g>^|zmc摾m˷ o9Գ 1|p81 "xbE>^0^+cJbm/젯̓$T*aZw#<ڰ2b$CdKY+)-x1i~L᣿913Gqmjxn0N~`sTxG^Mjհ =P$ ) MT1JAST.)t5]Qs󽙕|߅dID2Jw%I6̙33O?$C?iu׵c\ht3M|6@mms"N`2z һz%dj='T+S)J(rkolEL0ȫ͋mhϳ`.*MNzO"xr:9a[MEmkzO*[=Kmj(_kL핶GJ?bFI @\*f&+$# !0r2>PWp&ga_phFb2%h9^AmjqdFoA0)4Ƀ< :1 =S@(A?^ Qx;WGdOhdt `PV/B$ bu=LpX].yd;-o.?u8`gdZKkA0[zVґGQ+ŖtvO;gϐ'ioG<pzp7S36Ztz^N4#p`ּaqB%n;JpI6]| "o;!vFDa v>tg-8xt%[\uE)Bՙs܇9:'9uLR[re-? K._DMfٱz]evy y7g'MBzNKxC CnONitGзйtY~?9KHdpW?k֖ )Ӫ#ץ(x=fr]VÒ!|=oBh gH?̧'J8SG ?4pfr~~I[_ڐxM7i9}ҎּZN+:)XP.W%.oWI$7҂L%(XU2u?Z[V,b&f)IJғ8!P[ 0d:gxtV$,hhAg5Mo@b ϳP%a~~RJ4i:JCvh(V: P4NKVf~oQħN BFl@a|Lb:F傒@,b۩];Gvy|+W ֓zX04QRDtX=߉M+!LҳOKf0^m"e7::3q?tkLM6?vJNj"{3o9܇=ƿqƓH\5~4ft!S̙?.ӯAI'ƱJz(YV頋i8H}+;t?&ű1_(A^[l"¡醳| *Pt8&#hsTCrɕlj Ṣ1H9áf5@.mkXAoU'MHᢩ=w2kv߼>Fַ Ϲk\t}W]?P-iUkZGA_tzR,ʓNUB9esp'^Oj+zF'%jK|XE"/@gbtڽi,6MD~"D[r~*:R+kdS1@ņ'^ᫍ+oxEbPǕ W$X4s̥YN|%1un2onmf{+ӹۻsYnb1`V]t~ Rc~Z4+1t=C3$5ZcCn2f4I:%hXRǘ%LZm0=ݐO~CS`e? [>/jbsYNKm"KNM,556MmXu4{p,zo{ dYQo|͓h\boh`_iS K']bWX{zg=֜OkGJ߭Wفp7Cg=m`z=Hh9u3ށY΅lcA}U_gI>OA;O^өW|RQVJ@KQg)PlҠҠN3f8ikP2g [YݼDc+"gJDy>0w3"v13 WM/s~X[ݼlgDYL]D% l!%jxlEBŋ Nw 'K1S?n0")9$M2nWG#.k sUlsTS%fcH+m}LEwzHgglumࢱ|w};㇢e|-~/t{ay` -c"lD '¢aړa͈o «ӆ6q>hOOn>7ʎ^DO> VQkQ bWO iUT v,Vb/-{;h zDL(>'a?[IG9g!< ~Ld;]4V!yZ۴{Qy}aY10ȪK"Yio]#Y J2To})ewF7 ^຀ =;sR8ig˃$T\ (lIetCUTvVP*4GP~ҶpK0.Bq}3Hl؎d8藂tT ySe\wgB9GOo@Wo\ֹt:2:mNyžh?F] ;SMn4-/fZns[?>M1>Ouiii9^n:<@:hqW=9Zixu#עej4J>MtB(MuA(\PC ;ǎ2M4}Xgha,VKaAmَnpeIg 3HNo\ _=د;k EgF q K󂝦r<_yAR8QHٚ ڇI냈(rGW'9֜Һdh@A@0t.+ ճwJX PKĮPs;Jj˄"xne:8mAf_9l4_)tS@*]J:.72Zmi5烈 i &ԘQvu&dIG,#gRHVcn7‹z!=2~^5O{NbVQAxt:`J;NF6N#dK/ ь.8X:S@Cp@p[{vw`'l=BNd>>ݜ>M\:!7]X\43|G/ݥH[qnpgWLlewŒ~G@zQ[1}uh: G QE+%j!"+N,;ȫF쌛:$nXr=]ǝhƝJv/ZM8nmu>X$qf5' KI}&\(oцST܋VJI3R >_e]xjݰ)/wFf fF3`R:KR?ơ$8z3UƋ2%_3ɛ^+H }W27k9XBCS JᵙqI }P!NL|g4ǫj0ѳ\Ed9wUBhİ)v?X_ITu9Ѕ$ׅlk GN|l(L(;rK1ڂ8afE9n{+ӤE쾥땚yY%g/qi:*yUsSwrp3߀˯3{A"s.Rv } <ƙʉݿX!^PdsZO^KV Er 㝭k`QUC;k=n!ţVV]W3xe޵+c?CjI{bsS2}ߢU:'[gl9|s1?^V NDreET5lh2W\^wϱ ֟CH5'`̶)ԀWKp[j@(> zC:sՋ7M,э~XJdSl<'f]f/7Ҳ{JzoKښHN]O%цϝ%./o 奺b %2l`.s,K7nMu12[s\}a`k8ͻexYc XY6d/Ɲ]ƊZ),reD*,#qk(UO^IVӅT[LFdKUw5yQ[>96gPJ(& 4Ѕ̀D=Z A4RۦlE/WP֢v/It){!y /Ov\Y]١lv?Of'iY7Pouo5ݼR_oImF8yuvx1:wBFWw`GT+C}9v#_Ixred16>IbVHot؟DB\OaRXPb<5ʵs/^,h۲HUS"CY,CTUBǒNᓢ;b!&cS_?@Z҆_M&3Tg~j1 jf$NGN Jlk3ˉ`h葑wuX"y>8!;Z"?=9PO[|Suَσ<MsrCuLDd6Caǖ# |Œ iI#VNe*Fq =?ɡNe()pspSYNi+}5ށY4WО2AR퐟|"GNn0hv]u\tǙ=[V^!)_~ 3=T5 RQ$M4|a&d! _Q/CCBwYVW%: I!)  6kF°P 8_%j1/  @5:ִ/UT Xj6CIܛ3⯗FY|>Ǎ^)%P(2 _4fHU AR s]VU+&l7J}&%N4p4';#)6'oQZFMZ2p3/ύGhlI+i?+Ml(& <Դ^de98͚mE]',.F(w}8?+:9/ k_6\HCDFv4nSD׾.7:emLm]1NGG?ó82rљsn@^{. bREio9%хXiλ 6zۄս|}`ו뒛ml==?SM'N~GCv''lV)6Or ت2?m4MMK'/xP>:{nWݶ{w%{Y.Djq?u^hVƚY7g*D3 V(e2 xak^s"w`:l囐zhJW]a\y3X`W[m+5}ō( f(xři=SV)[ `hVDat@Va12TknV܀2 ֒hYQ] !hqC?L\TOBlo?vؾ>Ppb|%ͳO~%rbNޢJ G>o͖KGoJu#GoJ:GmhreJ[BcnǾٱ ޾흣۰{;zz[m1Z\ltQ5;jX͞+!҂i?!ZsCp\8<7r6i•~#e`I)É,̀ƶ`pmQwVdYnךMs,q;5W "sapiFĥ׌<쿋aLd. nYapi7 9gJAi.*|؏3W{ ]UrP F>مgP7$;\IݍoѴ^z#q͚B[{Z-[<_{$^g/̼(ygvY; O u!ge箜K )%ܻj5b7EBFIqXԜD*^e: }J!j:3ѷsB?P *$ jU%Bin眖cڦI'zZ'TZt{bDeWȊ&9ˎXE6B/jvl]O 'A 3lu C涡λZz&O <seSW)p0[Ҏ|F|"޸;pw6 8og߿wth8*nIEa8FϹ,x)@'KbR3fC/tG[!jK-9@i V:_p:]HB?-mX;bC-GI [_Dn$%|: RMTw彷Zq˕==io1gw3J @"{!65fmwst՟fKt_<ccBxc`d``_7 )2 BxmMHQϽ "4')b4&+S &Cla`-De-ZBA;6!`jaE3env+c;#m9jiGRg[X管A'02&G;+BTV&+QModI2C:Q'c>2{Vl}sԧfqGPS. 뵜=fǑܓD0]Ti{˵f$zDd2X[҃4[F쓶XB֣5(zlrQ3gb2Z2.;lisy n=ߐE cwxy짞OPW?_7]/C|r%>CPϘ$p=)^uG, z/u</ x"x[=({;^1DABh-s-KhӃBޫ:zx8땵_+dy !򍌒vr ЫQZIJ"5FR?r6F0YbȚ\-/g=˚dSBNP2rL`j  b t . T H ^ vd2Z|\4rRv0xD f>2 H !!"$""#\#$4$$%%%&&'^''(()v)**<+$+B++,@,,--..f./ /(/012&233z4"45^6D678F89:2::;X;<<=\=>L>>?d?@AABPBCD,DEFjl! 50aF#XL4TSt0'_t /+[C<}O>^grR-:p܉`0OCqsxEʭ0uo.LB a33&\kȇ;+[4Rv0 50R{ĸ%)wɮ'tCnb HV_R$ūp30̶q -9SUìAcL l@ Ժ7GQݳr././@LongLink0000644000000000000000000000014700000000000011605 Lustar rootrootooniprobe-2.2.0/ooni/ui/web/client/fonts/source-code-pro-regular.7e5b1b977ba8a582d81367d2940e8150.woffooniprobe-2.2.0/ooni/ui/web/client/fonts/source-code-pro-regular.7e5b1b977ba8a582d81367d2940e8150.wo0000644000175000017500000025570013071151301027600 0ustar irlirlwOFFOTTO[#8 BASE'FFe]CFF ##cW{}DSIGJFnGDEF(~GPOS) X'EGSUB2 GFOS/2Y`SVG =;`cmap p5e\headX36ԗhhea$3hmtxE maxp Pname nyKpost# 3xc`d```b`o󕁙\WR"*AG(qƜ rtu$rIОG*Zc>GhKm#zE;(heLNYPDhen40! Y1U3Lt:Gv+k-PBqD'{2bLL*8uhaZn1E{ᮢY̽BhH[qP5h9~FShK{mk N.*h|*a;:@pLx(|Es&(t:#A VQZ"W4V}mj-K_EYrqZ7=Ԋ>7tjI:Bg̙FҿCQQQQQQQQQǗ/PrT9ơҰlo읓%JN>ԎSvogy^m|&NJ':PyE^nTrɓj \/&Л{Qzq=y1zp{0x >B ( S{`,]×mJgAIRohlWvV$m'%.k(Ӧ ^ z< /)G`lTyE)od9G$1k[ 6pXhEhS/$_&Ȃ0nm c tqw㸻 o/+{O%dwm+^n,-c~ c7ڃ{H/rJe,h|aE)4L- )j,V]ixsl\f(SXmA%h6̾Pmz J2fsYJ7eg2Xj˩Z6m`I*UfՀ,X2Xi)vZ8A Iy0<`hCՠmp}.?}E2gPA.WHbگ#]EI;cg 6g /uz О} G-hֶG=۽tOh~s5E6'6Cݢzΰl+ƿ@h! + }e=p D]# B)2LfIҊlܴY M,}q.u="q:}0z{i Oѓ{O>=WA/GT Tn_Y-!"S^!<5WHO-qF;ly}dc+v2-Mv"Ws: _uTE 4X"i*<5 lj>SVOdAo)#rWL|DW>jratT?+:kDoV䨯ܣ2GUZT|uP:)O{#ՑD/0|tM 2*3Xƭfa1Daa/#,JYhj8[P;anA! 9G0e~GC&S5S5CU l#lsmͪ b'Iqcf cB|o}d8I\7VpRX徂V]4[CVp|MkUT_cZw#"3{4VoyMLI1c/kexp E{k۶ڶmN֮mFMjsPz̞ C0﷍߁FF۽ɪzR/bkNѩ:M -ҙ:KgW _Jm% miG{:БNt ]FwzГ^}G0AzJ/i_G a(F2ьa,&2La*Ә f23z^F`!;q8's -6.FcBL)q@qn\ǥqy\w]qOܧ]潼^mz-k6h[o ^t5{^UYq<7FTB/.j9,^jMZ%U/sC>{jVu6zEjs 8( ;6QnԟK+Rl#~2'x?>%A9/<1*ς,:yWޓtf60?WgpMdlݵNiRש@52ݩR6jU}nS|J~oy[}9 DafmI&om۶m۶m۶m۶m{x!މOn![-Vt|wFX%\X+a#lCpw{JO( |TJPAhɴ2ZAi-m-p2L I*idZYQ֔u9Eΐ%e)GW1TlO%VJRlj'ZԇQ}Z7S3M~S7LS_,m´~0qX~ߺhݷ>MX~j?!aZy5.v@a:̆66{Y(p߱NBjiY-GZhtYpWV1Ezѐ /bX+b8'.\[ՊZ9Vb|$L1/VXVxw7ޟD2ZjŨ=u>ԟ-6f?D$kx9γbD CjIWz7`r51-ԞOm9DDaԭv6*4Oضm۶m֠iչݧb/lZ2ONS#:3pg$g3Im3;tuX]  WO'mS)Њ<}P'q}LՇ#)kMzA)R߯#X T,@Rf*fNoAUjj+rUjZ@sFȝrjN&Y&R˫r*(PF8-S _ w l>.06G$tk=os_Yܬ1bXf հ: `w1pjcPr<9J<;g<^L_{<< >/ċb4[ޙd!&B)3):]$=̙lVl<whMR73#D^kOw?l`u0L(q$gA»8f00/1X6C9 ! Y&= 2m۶mcmf۶m۶m*鯘Y.' >'3Հ/V3wQlE.5.u. MDC+a1}1e1=Qрi88i<+ۼû|||*xO/2[n+`=v[Ijy^Gj8s8q:ɝN:'dv:ٝ.WIq(]tSzIo 2BF(-S[|W_$P$XB$T$\I HhX2FX'䵖7ZAjEyVZE>jUV/ZCjM֖ZGuZOEUk5m6xXkMM56D\k M--tŲYNkИЊњ9І91e`uYAlalQ1 솉쇙쏍 vN.n!NaN NI#ncnn3nk'ga De&C&GU@5Du5j_QPуEГEыЛч%З%яП&eS, a%!XAXc$3 [\\\{\\܀܈܎7܃܋w'd,AtBVY'e,%:u:Su.::BGgnѭ:=X[ݩ{u]Gw5ˤeVY5kfSYhlM6l17aa,ȼuЃzȆПqS߶m|O@PHXDTL\BRJZFVN^AQIYEUM]CSK[GWO x0vSԶmof&M6c֜y -Yb՚u6mٶcמ}9vԙs.]v֝{=y՛w>}ן 1c3CBb_[@3QCMR5s˒zaǝ rʍ'kmb +Wb>, nWEm۶l۶m۶m϶mu=ILYI$iCd}A·E yK/KҚWٓk̡KHߐ1}S-Iѷ%A3|nBP~)JBM$-7l"bd ',_$h! ;ha+4ZO$i I%iAH&:\t$HIQђlc$qyXˋ:/\~|)֑~kWߊu߹^7bO ~Kq𫫀4bѴn=҉]5dE3$6fvՑEl.Z#<ݵA4k\biny~y]g[J.( tQHl-캢:ZC1bhI7Ķn8ʈeHI˻Q VtQIl7Ơ^ZՍC5biM.biu~JAh{mюb.~]jAbS`ŎIn*H8]'5]t˄MbfW[Эn,xOw %vvG &XFz=b Ng\M\HX+?žX{͡Vf#b+Kԟ~,X&-4D{hbo@I!ZJDhYT`_Q}B]?> B#4C[ 0z'[Dgh `%Jc0F`$$ O)S%JgJxΒ-a=y t7XE7b{+)%8-(#$+ '/a;=(czH oӣ>1KLiI8Gc i"2 Ҕ& ӛ%Mo/URFoTK&znwKvzbzInzy~,g+z/7$2} _H )dI{GI}@ JCZXRjԑx$m @La#h ЖІ]" q%Q*Ľhg fgC1]+qe:${X̮JHܖUft]{еXFKܓn&v;Mt}.=$OI<,۸ob }͒;i/Ӣ|IH|V+ZM⫴$_N_%v:*ɷ%cIE᷿ضmƶmLl۶k+1m[jxj:=J(If-AoHwI'-#_tDMhDMiD$hDix[loIO;ŷ7ķ7zK|\msķCߞ~(>/H||3/wߊ/@ߙ( I|JJ(KH(Gm%2m#:m+&m/6,킮6 . h>+kGL uբź"jӢbi1quhihqЪbi5qOӚbSh-qhmɴTZO\Z_lm )GlW\WzrznAqCbkGGOmO@H7>#>+nm(676IIč2iqhW㴛崻IC S%n%-vDH]m#nQvn3ľ3eYb_\q9t7tct؏tttKt؟tt_t+tt]tKi[\aGW\OY_\Qz@!=(=$ֈWkLcĕbMh4^)MW&5IJd4E\*ւ+KZ qh`%-6戻JFONO{Aψ{Iω{E/{^[H/kO/-WuWb5quXzCdzS,7(O_7,@_7*H_7.D7)B7-J7+F7/N?7~(A?~,D\TCd qKOWboĥo>߉ˠߋ}NI$8Y'3Wo~;gVDq'%J$ʠ$%J7$JH@ߕ('Q ߲w$JcV5CDJK${3-%~---#>E9RZ^JZAjZiehUTcw;%wDЃރ{҇_C>.,}OiC ]hhSgh3 ߡ%T0?1)]_: н:}8nFKhAc$x h٭h*mh4 vNfrIXOKH@KEˈEV-a%CFV#itg=Л=.]Mtֳ FI8@o%nVHb%%E$$%@KIJIKKXN+KKHCIMHXB6000 $kY"^VE5_jV˰,W 90=3ƊH1 q4i#h&8|͖F; 3)Oqѳy LzYUzE!zU􆄃uG2w.bEKI8G1 WS.g$\}%$$%1T^B (,IwVG-?]c;7MD ;_;~>l0 Rh&xc`f[#,xI Vom۶m۶m۶m۶mvܫB`1z:7iVCf;wHWYnmu@_z@:I^N6‰xEDϋS@P &$B( "Ԁ B `$L0V:(p3x ?h0aṼV`'Cp4NùW&܆{0+xK| &HJd'I!RT H]Ҙ"Iҟ #L,'V&Er%OkESA#4MJ4-HJ6mD[;GtI%tH=$@{)}C?ӿ0bD,%<8kϺl0˦l[ְul/;γ>{޲/\<:Ǔ4<3 <Ƽ!|4g|)_70?/>/B("H"R"(,ʉh,Z-b.%b&#₸&(J"(x2L-3ɜ,-+l+r)'r\"W r'3'S~S\9YSU:UQU UNUUuTcJuT]Uo5HPc,PP6WQ%u]SOYA t P'יtN]@t]O7mtgM8=S/:Uч)}Q3V4D0M<Ԥ1M.SД0M5S41M' 0831*01s\1#|0Yk#X6Mal6-bKJm`vcQvavlwm7椋b.⮂֮nVn;.+{޹L S0',ʰ&l ;p, :| #0k[[m۶m۶m۶m۶mN1W (UJ#AS+S"eA٫QN+NQ㨉UQ#5EͯR j7u:F.RW>zFR/7/ (pArdy@aP T5@} ]@o0t0,kf 'yp Ok 1a@rT0#b,kF%~p('Yp!\mp/<OK&|w+"( ʍ ꡦ zhh Z6:Ρz^dX 8%΀|(.+Z!nn/GIx&^ux+ރs&~_OKKAiV˪JjZN׆kmNۭNj=Fc uU7t[ z^^Z-zw>TOg z}W?/7k׈g(a#e2ՌF[1ܘh2-^qθa<2^?̈́&6m32әfIYlb3C)|se2ϘW{3!$5J BjiC:BF dCdBv9C.yIИ4)%ԡMC3-Kkƴ9mG;ў?FGщtOѵt MѓJg-B[DLKXJce Xe*V}d&Z32k:lXGKd t&diXffXEVgX[օe$6-`:a)v`3}ayl#N˓L/K *[LJQ|§y|1_7|??+6_;gdzvr;.dصfv[eOgK}ʾj߱"H"E(ҋ"(%*:h#:>b%&bX&֊-b8$N x OI :Idu8RNESittz8aDgw8WO7]usJnCNu]I}z{<^qWkuzyto[mvyyw{>y?~_u~ow?_ɿ? N8 YAdP! mA``0"L K`gp 8 wc#ZB?Lf¢arX+lۇ¾pt8).­px*·-I M)idfK%dyYM֕MdkIp9NNsbJn;~yLWmHw/%pdE^"JerF3{m'˾#~I{9Idbp0l{#͖S< ,g74qo|9uٵ엡Sn<uhi[*0C 9P*bHKOd͊#Si-]uMr}wuBi]anUfIVYheIJ8ɡY+0C*Tf:_~%|Zj٨Rq"Iw}'`L 1P~}t7sן7O߰,̡FjvCG}^ e@EO 9߇9 +0?ĐBK g7--Okh`KQbH!2Nq 5X*0Bb~~JқKIJo2}_O?Svh6.U`oPjH{xCv{ǻ~Ei%A+!Q6jA yrodS'Kߟ%$?+@`7򥩕UP"dwgub"H *h T"H s~F TJWoF+ϻ}.$mF7dZ28/kU4@ZC d&ʳs{F˓H|~ne:a8Ƞmx_~+`+V6"H bsD~Uhϲi_LMiT.v?=Q|8pd*"_/gWvr-JYwٲhTʁVVv_ǁ^~mYȠ i>|vi Y6(ʺqyc@!Đ@ 䠅QB5X8 "!iPr jhb2 DC)P@ 4`\ĐAPA XB#1CM =._ 71(/Yp'CCR{B_!oXpml9͆G=dx#ha *G̟g#{ԓA4Bf0ξ{/C")}9xPYh i}54P[ZPhA6DoQ"!3w6̼%#TV@1$B9PB54`  DC)dC%TPCO)` H! (| f(H!R @JR+B H!+h0A APA X8 "!2ȡ* ̗(` H! (|) R"Ƞr"2`Hm2`"A}zq[-}:nK2 ?/N\/Ϋq7ܹwпD;_fnK$r ך> <;(! C@H [OatlFiJbS,ȡ 6uÛ~~Յi 0y;NteAЩ3( gm"]C$]fS,  FuNu/v ;b߻i{֟qbx\|{Dyru*)WZR Qv_»*=-,cU".t i|hiƷ2ȡ D8Η-ixP*R{CLQh D& 3,2l۾Iˠh0`d(Pao$(`"$P3POKPDH@ f@ < C @=+Ax!A&zN ,8 B *L0 Xp!@ T` 4C 20 ԋh0`d(Pa$(`"$P3INY/2KP 4\򄇸ފcx=ͭX]|:9mۮVz8]mWeoZ\?v!D||^Zw-pb6H헞oaRɧGu?N[؊wjubyE|'nm۶m۶m۶j۶mi!) GdG}xuaz,R8ILu:+Do% O1 S?+~,qnn4vzя'ق*Aa x`p=|D*B(ʊrR"ƨ7Xh:ww7<§|è, Qpi# F+ Afg$YI%R=$Jm(}Yi.Z:;@\ߢOuY,ubX)Vu֏ f3zme_x7y<5/|*_ zwP)\ E2SE ^tCtVIqKWiJ*Sʜ,%+*l"[N/ȑ`r<*;]5s웰1;̎-AXb^vXQAIHS|c%5/;s=>s {/cXf`jd|88Ǹظ̸Ҹٸxx%7t~6_ʯ[x[ލ#h§--Zl\Xq_Z4NF'~rM+<af sKFg7:p;!M0ɄdZ*m]|I؞X> ;S8tj*?`"(o|g+ado/f`sb&::> G(r*ڹׅ6[rQn}1Ӛ̴Yx6||z7$OIY$m)p-)9.=}CzV8R! = ?Vg+UY_+RkNW|G6D 0)8r}Z}$wD t)M6%S N[- ¦'lݼ왻9/{˪CYx~n/$\r{&OI9&4tmFZfw[ImV 9_%o7*Ms8@k@#3yTyno^{1tClx/,/Ha,@+W:c@X,Jj c'QԚo @ĺBvlx)?VD!XQnӾZM\wYګY9¬ڨ,Q[6}C8_ xnMVEΌGu AUdQ{m7s! +sa`B'm uOV6DQU˲eVӦ1(ݺU]@V[{[xo8}oνHK*l ~1(tbzA gWC H7]֗\R$Dޣq;=?&' pfXXR )%at I#u& )Ho&*AXwڜ|}'9`nMS Ät@UXYPlUiBDu0XaW+@__:kӦx2z3ޭoT^{6VR7<쵖XsfӦ wV/e'݌mYwk:u뜃ClW 5jӯ]*GCnw#$%^S$U7bpan݄nڰ9dߗ=3A]A8~S97K M;u\HdJ gxj,!9M[8LO`p]t(A_Ek,!Ό2۲q5|: Wd5+x١}fA`65-$q{DBpH鞿ʩuWIoT[{br$ ɔxԡpNvI];!^NdmZN[;6oS+҂\yzGB*{Oζv"d# ;trCHXivqS j~8#tI8Vd ޭ 2-i8,]5ϣ9U( rp~z**Eе }g\$O^ITĕmvDuBlq*v?31le/gKS-*=0cD vifS^6iaUmO kUTy 9u -K,9}G>m%R87[NWb]!ekt9kejBl2 S˹-o+3_n##"0vJ_eӿpIJ)fWVFFGz(d߅cK20%vpw_}|2V!}`AsٛQRTu9x0kٮ*wW@y0D6MA%鷸7e& Ak)t K; B]ޣe;BS[޽{2O %[;vo8Y"{4 }&|y3x;4q71LK5][uԆ#CTbcjN:=hX]&$ҲJ:N{%E!J9~*;$ >Ǵl{:UwTKOr'棋cl r$bx ɊW/ew0h #+L S#C쀓E-ClX\|D9v&9$8ȟByǪ :>cKoh3cNwN"{o| (YQ-EM '.Uëa6LO ?)6OTн3mS. % S.rc7 L~K KmoIf&pnqPjnVH6 <<[Ksrn10M&_ï$kQAG)۝{i38 nP|~6-)#KKǜI_$r޺!-4U~bSү]UR\*TphH6j!xdD zz8Qab',˨ɐZ9-9$r+8z8UȮRBq\5? 'X['qBQAB1/_,HYªªRge.>>廬Vy<$e ;9Ru2 r5ÃN7:9-[Z- ikξ~=+t׎-hG`?C<| ;v!b|r:X= Bʃ,5s,a"o,$3| ZWW0;I#!'`CQ۟0nKXUuW57;olMU_r38w0=FdçK wwV~mA/^BsxCX>4lH%@ƒJ?T 3`2?HI8Mq+3ɧri1B\4B [z  Vd3b΂Sx]`|``4~Rbjc.iYxo#QN>8K^@U1L gY祧d69VC[M(<=gs"y~q&A Lc]4&I|M-PȟqyRpC%Ra<ې hF"j@2BG!<n8mDr "<1zA @H;P/h< .R iS g7u~Վ?]:IQiClh7ݸ$G#1]B_!:E}Z] wRϮW,Ϗ?PF]sq9a O -A" >~-nҭm#!,l&sm@l_فWƛQ$N8!$av̱NsZ*Foh&T."jǾ{z- #'= 㡍jmO6 u.T߳S3DC]LO}Y,A%-so O^?JU/.TRE6,QHa_#vl2\(j{u2o-Y%HAâ<+K[&xPyͪ.Nz"$jӅ޲$ES d_M_FKBX0h=Wa~,`jARvKM5AJ^'o}uEB^K\h}. H/!QV mXȂ*Yk}|랿M;D$ Bd>r+=N-Ow_ ):yW8&J:c+HޠS ӧLy>:Edˡp=P/2>sC۸2Kp5Cު@W|GJU7bӴyڐ*0MM]V[]TT&H-ս2nn9ȐDg5?j8ʙuNQ+mf' O3Yx/ `BB%W .vOݠ~N ˱ (!;!0zFC),ꁖ<5ҝhaDpqDޤ7-J/.M /[qΝynnvvE 2u#7$(7(;7솀D RŰ T{ZJi&D$x x 妧燧GT鑹]Mk)8[# 9 yjY- (4 9=FH:̺[Zy}`61BDy; b-eaIDjJ$u[ffHީBkD hy_&o~mE(yJ a#P4j]wk sjFMtIiiYnyKBPHLGL}_1zh/}ot?a`{r=qX4=Vϔo]r!1<=OFz*zXBR_9<-xϒ4<m*x1zW񒐜WHs7t$]͈R53:T}K2Q=K0;TuRs+ 4>(y5밒0M uUvU5q`4(?(E'AGG-an@+DoґjwtDEwW#GwA["UXqDt RҵnR3L~8PDKX-5 *z @,""_(& V(+Qk(C'F$bb\myF VD9`H ( X81e5.r+KmtG=M.'aEnW{jY_4^{$CN],[kg)Sd}YX\4mvJ{qbXSP|RNV?;#kdiҁƥj,)-. ?W]oeneM>\yqj^=ڦ::3vA_~K'|7w֣q[!alP,l8ҮuwwwwwwoCNо^o(d=uxhyR͎gc].yS\*mě| o_!$BI(%(݄ׄN0'{ 'SJcN9:9;o9qA4,uY_W+W+ukݬܼrdn:n'ܞqǹg׹/pxtyl z <=WxY{yxEyz:B ޣ}f`|h>>j]>|"|%}1O;D"1H#Ni='< DD6$gya# RO8iq_+΁@f b9h2MpUpW𽐨!CIPmӡ/0a%a׆p93rv(r rG(QãG߈s='!vCm\YTxm#BbfbWI$eһdrrR2/>y \g LI-*50ښ'eϴiit}{YTj U@^ai!4&M@=#t)/oo寧_g,b`l2t1cqqq a63[g3Ԍ332OedY]YogGgSkf1;{3NQ^jގ߳YlV!Kjdֲ^>, ^Rd5{>;]>>˾~ A@1P t]@;x~9XN*ϩ4p9]\ 7+6px3x޼^w?o_nU )«O  lAIC"~΢bbFqMc%ߒEϥ5K9v+& Di  bE"xS,&H%T ]+JRW*vIJW@W,VtUWUJ*[+G+7WVɫTzP CSsk5Wj jY u}u'd(Y,Bƒe-!وl|\*W4` scōƁM&jrfYDT̖y@Vּ֕ms<ִRPa AѤX߾߾PA<F`[Sx ^owg;:R:;:udww4n?JK|Hf5{IN)MEbURwQ7Jtsz=>Mt47LSita0J{ agMٗ5rø nw;eJ|#+?/'x/PB! [s_B\)V;ĉ2qx@ $:DF$^JH.`iP: %K$&$%N~t$r'yV^/o:JweR٭U `Uݳ:ܙb;ojHSd,[Ծ賢 E&E/nVz\pρ9PHժAOGtNo`TDr3nB?=ax+g`NBsʆ^ LpZEUO?NG"5~X#͘xTqcbs~ JKAі0n D X l:sW4u\Pr ~w%я)`Fg `YfUQ5Gfвt- ?-hQ :L]?.ğ/TgN:QS9'/ όGc ֗NcfXL3G]$nW`a+?;B=Z~6LuOz2iL MK,װ >sŒ^=IY:°R)@W.+/Y+ᩍVY9Dۭt䁅Öv[ƸJ,׶#;Pb"P?8(WsOPij0}.sUFj>[=A@w㚈F`)=)΂?8$t;4-Pfdx#4!&§ "a*=naGqEx2`}ט b%J/f ,z)߃S<˶-{vm8&311}&L04.e+34ZymXy_L闄ǒGdXYMKJ"uÆt_yP )©a2 wȲ`l12@IM8RV_qޖO&ĸ+#?!I;{^pq:eVÊʃA- X08?K)?X_VB].>T?^E`Ɵ#Q'P\2ailO&%}Aw} x PM R D WϞc%rh3}TYB @\p?x6ld9w-/c,g0~p>I Kr(=<޾wxܩxկ=ܤM"kIrG^Om,R޷}I+T>JMQ%TE^A1"urQG&Ï•yk0` 7g02' M5, Zwyp2w,fl|d4r(ɷ)wFE85)_iy8^MCh1 kƖ'uaj _Egugh^O $bKTK0붅y<{BG.{;5 2*K +Z߽'p:i\Fj#0!WrI$@LSA]T'Ʃ/ 죌2Po!)$A8q-B L9ؘ:;B2P)*? Tg N)QM .c9Qȝܰ;gj>/U*ưszݲ|wy?t>ל.k鋰Sxz}DsQ\ܱ>K EK#,)`燪 8ws+WVBP ,( {V2xE.yr02 o4`hsNV+3٥3Bk5D?.fGkV • WIo{(TD}^{JA-̷\㏈1RPS_Wsƹʾ<Sh>BVa?2:{Bh)b&6v*:Pۤ.>h v1O Yd!3G[-PZ\a$%hB ҃߫;(xi8ʾ4gV8>y/MPM DзsTT;GݩFFӭ(>jnxi{T  >X+ڜHfTR*QmGj5:ǰ|zρp"W+`4ϑtum9O0aQQ>@SAgZI,x(_ e3'@9` VvЪ,Ʉ[el .M3c(y`Q'y>EGRx/3CroH#D.gHzڎ̵54b L(B */BC'RrXsʖT-bozo߷Q'zo;}:ЕK՞y?y&k׻2B`mԤ{$ };iKtI FQl-֖' ,,ԅZ ,W# W6Zyq{<2!-H emQT4vZZlا|eepgZa{{͇'vthZ u^;htf%*Ø c+6SCAS8/`[?BQ/)q%T4.[9P].TȩtMZsr}Q)8'@jyujcw2k96m;|xA"CBC2 ?@ԊB~҇"YDx b!yŅ&,ZAGqY(Xf5IZcd=;#NMdZ촏8Vt\x^Fo|/_2:ʋ|Q,rud,cw=$o8sZͰnF8VY:( G/Dvk2/O վJX-vhg}xdLe#TE6kdp?BL6whM3{A&~\s\17xxB+yʚi5ƺ n «sOlk|oRL !_?l+QΌIi|l!LCϵЌGi VYGtBkXGd;o/mt "VdFa5~de'd&L~=*SCUIDȑdHʎI=>5e)fM2HĕӅTI5ʦB~ ;d(>=i6e(Tcx|؋|!xcIcR}[mBF/}a+Q"L+/@Ѷ,X>G<&딱Z-cc蚩/7ʺ K@7Mߨ{6>d$5 v'#;Eխ7s+4jƄ˩e 35wN3hEDdZ+/Sb GZ}oG4FyyIDl#[gi5~Q[-NVPW&nMN5>0HyaD_D5lb2JDR*J$ mהxWO&B"~vte"tZiJ²QaYP~CmQe0_SA? ^ԍibC-=T I4# %:htpAzݹW{yO.4ܭpO6ǪWUXʾD˧+=}a? qļl^GR׳KKuWĵ?=D-l5񫲪p,wTX֪zd;OVߟ{1;~mb٩;J~ դ|SUPbk( ^ͅrmuAB\[guŇS(4Eom+7##_MWAj#xv[T7n3._=zhXuvԨ}1ثOPQXgI3F1"0h#&_w\' ޷$[yD&qxto9l3ܳQ6+l oj*6ڭ>pjrZcVh;?{@=tÈvY_6.jܤ_ʺX0kkﺻZYH+^}Aͽ;a9H걻]^Cda+˶6[r'hT "_,}d꜈Ybe"ooSsQYeҚ6q˯Λ :m/O 油ek16dtSְB$6N~ )@#54"]DaYI%sfdt"1d`oF傹|5q+QmB{2ϡF mPN^6D,n1V_wȈo#q~,ϟ)Cī+l5Nb= 4wJVmqԒ: @e"" ]隴_]WZ ~`OSiKo D X-N~UYnBQ9C -/2!8h[+8u*}:2Ľ A[5Φ/R0=b9J&>綔llL6%ƥ7F6.%Φ/w=D?Yž# ;$Lhdnd,endju7T*3ͳoV->s.~sέ #zqy+Ntǩbm%s֥%ʟTbz/ fU ǟ_sÉViB-0iVO7ds^Y$TпcoGeb_m܀GCU3P@/@ N;͠yhq{:'YN7AS,[f,ȋXY@xm+xM=;EZ<ӜB{G$ Y c?; OЫ$}BЗ+4QC_bO53! m, cԯ9*h,ʎyq1+w4)z2  tg3aLWG_;)4+q ZX4Tޞl^ 3_Դ㐖u=DreP G!5OZ<5H.P(W.]UX]}unԑ_.Uh'ȱ8iŏ17K~I .-ͅUTUfl0yswIh. lڑMLLKZ*{Jfgfi8jgLs2a&b!) Do2@gָk`PQzl Vp/+*$:hV?ҭJX4?+W⺻<D=]f+ԉ9IyLgwSd1ADx{EP΅bOJ'V6ؕqԘ^iV^PQ/r]L[Kw'FPʱҒjv$EP`͌rĦx_|`wOQL2g= ?4fPՀEWXێ9Y(eU_2(\Y s] uW.33fܠnlƲM$' A#;Mpm"ݽʞZQBbu}ɜ1 lpL_PBgCD!jOL6uOn7=:>(=*Y-0mRǦ~ {](0Ӄ̤! ^7b؎K Ȳ À5Sg qa)A|ڙϊ3' /F řl.T귃qNn 9YA~9$6SՕ8_ YbY1ZB=T_%я1^9/*(yPϿb eHR?C|i*Nņ=!E_ï>X+{#y!c(UnEaӫh(Nk]޷V Ú|xzdzB{rFR#5c;3-xݦֻN9ް}Ib,s搇z *6po:AƗi6؈\쮻ӑd.96:1Bt7#LMO|dmQkˆdAzƣ7308] IDDD(:A 6ZUwKnב.#L*W|\s rCKnȁrx̙i4f3g&rMxZQ~y 11G0yr0xDJl3Ì9"XrՄB5-I6 D8poeKޗD˖|Fm>gܩ}h鸧֥ON`3W薰qZ5'c?Kw9hq?SrmFe NK^sNEp玉erVtk |>%M尙o~O_VmҍVGǓNHCOu;YxDl|_|Zd(~܁[;=Z(}EEnj3->p4jXo#7|Qo)huB=|۬ Og&!G^->i^ ,? TQ@ob'bIHs-A:A .ٜjhQ4D^WJLA. %!fb걕͹N;2|'DA+YP#{J2.[X:\Y>>cvn< U5&-%^n9X\ (Q&n_ZIO:+ ^,ow 7FM漢[Z= ^$HR$jG!RQ8aXBcc-y5-]6J { JmV[KzPLH tjða#Rg&⽍2L;ȩk_,QNs_˵-[V>" ؾ&'u  44wCO=D)>۫~$ϫɪ8}sj#5Z ﳌM;^xpT/zś9VsҸ0nwh\I/ƤN?O;#}N׵0'L(a85Ǥh_#|{'׀q1;#{ٞP -Jga4rxV\;J9o̠?{⋟q.8W?(hMd oղX?Vc@CSʎe2h?ZLc5߸{ק3OA#!~ nNdonjaVS)$pm**< \y>, v? d[Ae]aqfgڜӚ1 ]D1""A1U$)bEPA% I`Ú]W_©]߻2vW:uΩE]ofa#x{mЖ?1n:s*ʸke)I]E$C$YwN)r6.63s"+xUW  ~3[㴒GhPaWr)|Jj#ѝq% b[1qL >G1^Zm{aן-cl$1{]H85Gcxi{jAq 6Yr2bP$fbpx (E8G_G]҉lŤef%(@֧SW[u qJT-*Ƌu-Eŕ8 7L 2Bv(3.#!U?r5H s+ .N;},s~M7ʁmnw{Eե&q SJ7o\y]=2 M' k>`WȌ*ipJ.s/3Gh\J2}4þyj $aRiP)̼\X^>W6}<"iG";)Cq:!~&4$0$P~;7m=lՁO^ĜHKQp1IBC~fnL0QTf<ɗ-,5BS >XHKTɞT߾ǯ8.sy%V,bͩO]߼:rI6;9Ax06ue⁙͚Yϭ@s"{@ #p)J4-7> d7h]&#̌~xPJx,wr fi,۞V\&"ʠqEru &!ubB_B3FxϥV[lx3 iK J<0.L-FkuyLIgFSA ?<85ϼŤL ɏ(b]~>t?D?(kFYU=3WW`)̢n;c|>o" |`>Y=i|eZU~gWS)/G'ǯX+_BdFX5I_VkYa\_< ~V эh"k>j9Ko|@l\T"ܦT3+Syfb9NW )Y]\ 0G'f IvԈ Pn+ ^Hm=soi1DnH9@|6Cx8лAVAjy@E@(Z瑁`\NA^ۍg1i#,w0HWc؂P>mƾtD 5BHT(؊a1 nĎyB*`"Y**0*HϱG{4ž){l#!eFD0lꁘ޷ ݲ)tbMSawQk]*o:䆄z $΄Q\*I.l PQB:I5I)B-̏l[֡DL?2W5,wOTTTk|Db,o22U\:[n0,,Aj-)d!%}a Sq47^*ʶLޒ+,tpP5Bxtg2XK0[ۍh\զPv<[2! Jr RFյT" ]cƒiPQF*U\-鋞O0\*% ]DdQj%ۙ0Db]T-JNBl޲-||&6,d+e~AWyP232Bg 6 w(t7JUfYbd֜w~Cp~Adcj~kSn kTY!oʷl>H>zR߾֍\.ʿjn"$6 h`-^Q; 7Zƃ7d0z+>`Gf>֌(ߍ(GZh2x5'l@,"\U܀=1qDf=ʠnXPפ-]LQ~QKI,q8x6\F,qh/hJxLY!ؗk qE_ΈNѽƾu sw.ٽۂz?.IH%և ] a?`WSg 6z/Ej(xȤBW4AoН(#· vkfy[B"Ɂ;&.hB1Mcic`ײe(DJTb`l(_X*J%0cA+,\Asb}IH$eΑӲOCO\%I=Uo%3%Ø&Pҡ_z!1U߭0wQ%k&&`TK-~k 1JFLErQC%sU%2:_@~ *>BmV'?j]*ѦdRUwe:A)%wcƆǨG|gߊO$;{*䜾7+R y8n"#T~ 64dxt`ΰЩt`دls9-b -!?Ӧ}\0籼9TWn37\aL!}`:3hW,WtH)&C[ůpkoS[[q[/nYOh6teq3 `TLLY][Y V8fn,}7Nb NbHzk~DpHhA&<(6Edhi4N$,.2#-I/ ܡA<H{,!! J8ļ$,+:UÈ0spB;$pun^+W'{19b(ГZ/0\iK_;.挲pn0Vt~T*T04]PaBjPEo!Z6HC.`NFaQR%>V8XLOSpz܂삱y ™t2s5ME*6H#]LҦqK= Hl(Ts=V'_=Gׅp{bhV'-~:N}csM[M~_z9LQ른t؞R/P2eýw^{=CEivނF#(wڕBNDjOW"͝LleY]Т#iѡ:rk1f;A7{n6Y¶_t2NT//Dut!p!g,;|~q#np;"n^G <0mͥbIMuĈVqR(J(Ph'1wDܤDi"n|ϸs /" ]ͥ ׵"a:ݹɿ`:ÞFcv~[o(w !h)ׯ !6uЇ1xBFƚV}0(8IJ%aBjlA$ ̇mс=){Cц6"{(l9mf[<GY Д)pq$ 5ah.'rOUM"mݫn$i/=u('mz19ߡ ֙ӘB5Bߞ8c:'mB."v؃sWP__;cc_:VA'6mnB|_:12FsᜉesHGԎ  9@ogӀR7yݪ4[tq9,*GFݳp n6'U]{RN:'Ni{(]ۡ%mױbRAO]g8ŒQ;1~V(Z|MDg}~Tcr]W~VdkJRT/V%WIL!PA5>IUaiB!SV'0¤)82~N-Rs2&&,*d:W Z6 x:1S>0|f_~TGfH^eګ:&jPN2anU%W:a$:N@&Yp8b TUO\ʂ9M9b;6P!`!wkDyɠh D2K^rO>꟰?`F {EzGO-!C uFQ (} AbAgz&h/5ToǑ_'2y*tEc2QLYV}AHց݂,&^b#M9ؼiɘӌ%IKgn`e .*Mbͩ$a2h&aXU+pU%߉mM~vVPO}3783% mkPSMwc&H1 )0!mf /=?=qЅ|OGwӖ>90Úڛl2gH$@%-|Y~Y0Yz)^ɝֆSuptJ85xSFVꛆPZORq/qŀH$ѹM)O'9L HW$ҍL'?ʝ  =JG](4zZ؝ꈆj9%^TUUy)}9t7(H~ ,8ro ]T }nJ*c=7sȣq{\SFγz ߡ&ql^DUHKހ.H׈%Ťta cf>66-"$;7=67&rMԒAu/7/VSy\٥ܸge6I=T}Ms˥C_H3*<-r2"Shz{*] -0g± p^z>\FGz5WDŽ xr o:OWa<\gcؼuZ\tz ҽԌ!2nɋ艏<ன.mW~~S ÙH$ޟyʒQzؖU8xl'2qѧ+74}_"f&y &gsH'{2?%][ d.Pq:j:FX{w}"锨o|& ;/ sJgȮj(RCR"w*z9,ϼC^&I׎lT 7h7ݠާЭ7pq® ىQALx`hDp>?hdg1sp[Øl؝=97)١q:{hhV(xc]ˬ<<h5M~Iz}'ڢTn0ۍ/'>E^L}zDt0 Qa՘f^\*x0NvQw+z& 4D-[`C.k^u!~'r.hT \`e8~?.r$c,5dwR)tJd (O{R|zjC$ .bƒF(~~Ǔvi '+X^B%jپ9IJ%X/eǬ;Fe6 u hn81v#h8FlȲWtӶK읕_Gg ÷T Gɍ8"_>H'6܌ c! sgrв#,ϸ^mW6lӁ+XO f^L),p.'m=}7'YkFOla-SV=بl)ߘX"3y)6WC7+ a- }zG-O00#8"P`%9_%y͕>Km;8G,d5`^/ĢdJdC5)cII+nUՆ 8)K&0`wTcYf]7Hl,\)̓Q%V/LRۢ5/ʟ\Nciyk22 `0MӛY<>⻬ o[Jq+ߵ3,pZb(y/fE> D?ƋIē!]IO].pN5dOV[7ADgZ/JyYW2oq1J;;F HZ9%mDВ:وD^26%i 1AuodXwi%bT/CuXF®j8ղkەLbQ!| A=]MNBzv23 ĄYvwpkEF| }1r_ ͠}\2~p XlQ r: Ĺ ĢLsf{T@T9ViCK3~,A #r~1$c37LSwDQW%WLf魝z\`Pl]u̯l}{+v;#ywka+pTFlG?hQn? /><09% Dua:F[zJ6)12gY2N+JC<9=ΰhxFYik*3ul(Yע#.GJ3އNߓ}$K4i:_}0 z!nQ}>(j:wn+XQ]X6,&Vk춥!y f`[Ky2\d^0b'K:U.(;:ceJgZ U` c Y#W` ڝf$ 7!IL KGAJp!ZlmܡIo xW]W[u?`8J;ʞ? U03t % ܈BR'' #Y!c&>vW!ylœfI'c$_"z&ꇔ!}񲰭 N-;0%mhi_SeU`Lϗ@gn14df7X^QpR=rsUbžJÖX~1GTYMrc3NrvA>@'5C7wKfB4y {訝y0Hdzx-C8eb^%'1\&i WaӃb)q-i K;0}&mExT ;#:ej<:%^^c~N6O` G/nAN~%́+Wi8l6bh?K&iCwwo8׎LMF$?ΆC[ ޗ0?; g#jgV4Uo~]~˦ zfP&auI3H r2>>0a,>,ܫ)u'7%$_7x ~CxR$EQUaLj!K_!DMiKz@&ՠQ8nZ9`Zm:?܈l`CzU?̃ѓzs,2:S%FA:fqSpzk9kVRq |R쀇nf t. 7,>Z&gfb &d0L1oJw#^OGס=zUM;"Z)uc!;r9:Ϙ E0'X‚BE<=mA^B+ su f})}js|gG s>ZRuGx "Y2m1Q̳LJ[ůYeWzSoX[}*PɯnC*t յT01n5lL+{;9 -*]cZQ!3_Q]Wt<-e!0րPפU=Ul x 2`Ȓ%iWjxM&17ҘXQ9 AeZ:?x wa䧙VNV$ik'fPEx&膶Z \qBJSE:7SJ]QXlJ`&>HH)W g|J8hnLݴ9pjQ~o~k&5o*#%t1+Cݚ& q̨3G9lb.;rJe*讞:('4Ngo*)ge7]}fR}ӥێ8E> 3?Ra좵`D}^RI^mm (Ǭ:j~Y9)9\Φ8vae>y϶ݡ MddH̤Dce32tà8tvm>urGt} `{99dϛgeC:KݯOKM[3cPNC1fi [w/7 ~[u*J 5WQ|@8=r11\.wk{Ҕf) Mb"DzAz-h>Λ7oٹGsh߹nK6i]x iU6C)9iIgL.2}KUe b3NvƖWW^L]Ŵ+ KR23ؼWխԐgV4 n>*@ n?}Z7},ev?\wm$K!.=m.$d= AzK0@a6gR."މ1_Zz2ʔHew;7.16@K&M7J͟8V-Xq8"MuV= jd`$%G'n1Y-eTѿ/L)(A9HVo fϞc ȟ7 VLlvi-΄M P +[7oB-!R?1KL'dCe_+Mޏ0tUdh٫!^jB,CmY+7^U.%O͖yX=upX;a 5|>w>%ں0X_ǥ֡BQZ7,[*Ў%𞺜#JUuYEh j*bo j100: a,8ȞX)m6$d s_$g@ΞB4l&CY8X^ēyﷂƳSzzp0E̪Й WMpy-i87A:!-&965:M"^dn-ҳ/À57ztq@R~|6.\>1w1 o{―kwk cq~t@a$d"!#c7Us] 7T~7wGbu{JZS\}}8s) 䕻v:d+ܧ._T.{[l_a=1J_cf>L^GyN[ ka^+O` #+k0ZUՒK9Y&]k2a /]e׭`2j[ALKYp<'yaK*Qw cn9K~,۠>ƸlMi&aq8q F\(Ɨ~ fdL9!*j4;^Cm淥O/We6qyFNUk'BO[2L7׼l#,/޴T[6CQ1G1ݖe=3_tRt aF7֥nslѪEVpװ={rƫ*]-#>POp|3bi*_*=E$dDʻJUlr5D&m0?)Ed7(hqb໬{sj4c*Cf3nF0b\#)^W?s)9979d &tcI?oMFp'JKvrjR!+)ؘ~FW|]O$1`^[j%HRҘK"Eͼn'yW {a;N]_dlC'Kke5sDޞvd}撐=÷[bmVǻ0TĜY{ ]G98zgU|%=a;$ZDo3E62b2PQ`? ŒrP 0#[_+!&!:FmaJ4 3J*s/Y*a$N3k7ě/b%TvtZ@ ʂ[ g'&f;ؚ[V>+) AKݥX:\P5t,c-'%xv7J@&A_`DP QP"21[>y{u,][nυQ(+3ٳ%-c,Y4aBӢWlM~CCn~mm!+`b ?>"0-X\r=GwXj=r̀A@)G)f|dӐ")\q.9m w@ BpQ$)T9L$W]Jo5" >TW[%-@=fM R rF'F!zXbTD!p>BA6RDpW޺U1^Sg`[!soA&*H6A5%&ΫˋК`"s^5|-Q.܄\ùw!*G wdg5H"'CśDz FY\B_:.YeSD!Y2UW,*d 1Gd `QC!H ,=1`"0`QijI2KFfaK $cP@hUMm𝪢#I? V@/4 % -m5lIYQ-RjVR,`vQ2fGf 6, 2/|4*箟hjg= I3.G.eօ״>%,KOz=2M-`"MzC͖܇(Q: ߓIL w;a)؎oU=3GC/bY +@RK@@/1LN"j0n'3W1"df6+KtJeZ#H\3 jZCa6(]%G.tZ(AH_ߩV-: &} ׍U/ưz0 龠&x%?"[PUK̗-rpfqf;[#bi -l.:Qiau6nr7JϊQ>\ b뫜RLzG>Ifvz Ar91x3)|[Ȇ$Ȩ_>valk{?nk`KAkpaB*H[CwݩB!Oȋm3#XMm8Om/6)PIzn()JUyJ}46ݔ:1T)A[\|RYhCe]?W!c\i9{7(]J刧%ҬMIv\R/  ^f,ʔf{8'H/hZ jM-)Pɥ֭ڲJ>6V%lHsp^?%92v(".e`4':)tg_sWp-kJdW=9fn _xX?4e|i) s1!- -t)ey,c"VlQNiwrjb s19ͥ]s !NʫHKQhG"K{߲ 7iW3 U$U|$6BE+85:!uɦ|;ʍ6TIg> {"p/a%3W1 *<<}Khf`X$g*WO3V2OJtgjm?\c>?S 4u&|`6C}^W M/3Z_o*;j͢t|>u.LlZ:k(tAgV7VMfr0WHg=c!M99j+Δ:B7),k y/T'i-!F[RODˢD&Lʤb 9Y&y%ng={e~۝7zPn.I~rBCG2tEFA3eQB :5w(vflFE[iIjF"~EPL\3Q!Z$Q2r j@Nb ])QNC1a )Wo.zhKߤ@ D)b@PP[~(%l+axs pW>ԋ)t$ W_~d85iڃR݈З>Vɐ*l,Hm,3Lg'a0ak`j L@6h82dfnUa4* jUme0w8Tg2p1?=jxF6$nK[gsyP!O/FNb)Wkd)|{m@!x0 IC8,΃US@ #Z! qwǡQ|K,~yYQ%%VLa%~5R 7hQ7%#lGlw_[Ct[<\k(/i`m mJr*l˩} )$BůM! bd "R-cjȩBVTYypZ *@O!m19bp|2[Rk5q4kUR[*D7B^H@ῂDG4Aɼt|᧓`SMZEnv?A>{^)(c[[I~ωtAlREXꄫKFf:h>jm7٠U萫 #j`p< JT[q])SBzSa'NU\n;pn)^!xZ莭 lEm> !^23[*ᛁ'__w YqC6%>7')1RfcLg/fO-Jߵu!+d& qpޤ<{Q$AԽЄ·sGmSd b.D&\Oc% ;zi 1Rf&YgItgh%xQ.;\F>>Q7{nv񻀊jK}@6NFQm4&L-D2u4E\/ޅB'c{Gv!wIhn6sb.\R \_+kE9G&Ǟt6g)D< kB͛\w8G[m=]3-|Q4oSmUi]c޼ՎJDq[HҒ0Ew"^wgބpWAy%%LYxSf4Z2?!䄞S|RJ1қgf"ͽ8Svrh3"ؐԴWqbI+~lgjSqNJuGzO9_o)d{bxvg]nXRL|06M2X4# o HPX1AQFdLT)t/a*hw3}b#qѺibCZp\=űA҆da]RR aaߥ4 w|)FTDҖ\:DMRň%S,Ɖ5d8tw'eB蜖'"O9So M0 LvK/ m컘DP8QʍDn]ӚQt-xYNt]6b{R.,4(In/ayPa\ӂ 8rV2;:f(ÇPWL6AT*Icq"AcLZeܵRBYg !]c-S:yBN Bsΰ~IԮ]ɷǥ\f\mvr5b0}0P)sQSf pUzN6)LQA(K UQX5B(@uc֬۹ő=:s!9|5lt[YC9- 'z@A:e@.^:(1060fգ&β5ΥluߠS1$VuwÜxU#⩳+,lYŠ_[wBiLo!˜wwY]xO%oP's ^a3KyvJj~rg荬 啞%sfSvscVnI|. tZh}=6dB 8hN~%-0X̥20)lLX!L&HCX #˃bj݀OO)K;3OOfhM}HK>/y+YMޤ Tܦ 'mNzfc}2yz+ ʩS(虖߹SVPf2s+IkV5 s]C m;hCEh}zkJ☧-\i|P'N%Jpo S)P&M>hȿՖw$ 9&@ #@X%}P(O#}t-Nlq w5 I잕:Z72"$!;=Lɽ}Bk7/%qe7wqyvE{mUsacɉ9À&] /eiNᮓ% _C8 `|ᮈa%9V:;lZԯ >x¿_Qw{~'ZFIGPwھg=/քO) &22tнժ@ү̩B-8|H3")Cj^NT y <\Xboe"goOw +zF7kl]CT!Y~> 22X  .{&JuN4{!] tӱܒչ}68zZѐsq콩[ gJ1 [\&=wI 8#;X"?*@"Y9+_Ǖ6rm;9W)MOqlDD k*L+j*P ڷam_'ȉW4h}(Rҗ%HM4x.KDDc/#BlB>WmԞhlKV^^`Ѧ K`}7LB&aB[I(X@E[e-O8=\಄7S1lGE` ¶w+ɋab[]89 s6f ᧊ ǴݿpѢ5kfL+\f;]NHHOw[nف"cBL:+ n~E%MRh9O!=} . zt2-{2c)GluإS'WM]ۦnΰ*R  w\ᶕ$TSVWN}eK9gx}4y] TȳDDma>Wp3m"bN<7y.طSmd 5OcrQsa ՁuxY( W1MWo6*^b*&6_bAQܼdՖNH¿聸)B0FlnSNopj}z 3d4f[}{-a4lu>cZr)*[\lކ &r">%?< kf~R.ge.Kz̙,Ϋޱ! ڌDqka Ax-uxa9y ' +m!ó%* CJ08<2$' y]/36i=yڿLDn4+ y^5] gCb\fjipc&<;dK7NsnO р}(ں-}7+4CG Kr )HmDL43>7\jwia^x }?spH]N֑ < "iImb>Mt Đ *tҫjl2a+pm]?(4#\.Sh: W.(w K~<缇vӪТ#+ ̈́ZXz-;s9L|29Y)90.[$IE{F.Z6hPD~Hwj_Θal< 2,Vut +]Is:v+Nw@U3U)ٍ%:u?E IŜidDܼ]}\|RFEDF ͫgq۔KǬ3 DCM$\ăB}[wY;zR]<%'68484L^Ca$/2,#0Jw ncG*/3bl#vɈ(x߾`\SL`95wрE YQL3OrıZ+JEy9ե +s1A|丸KODj-:\ v* P!g: z 9ջp $CԪ"1$ԅz!$:Rjӑ'\TB.9|x/0$$"֬$ C (Ie5jԭo HV5>!W4p0"p&%hhp?Lў&]DK`ڰF Dw 91d18Yہ&DuͥAY_"J]"4A<;@tJ+N*^U&J߰I %[>h-P|CԈlAfҮٴs=c3íVw˺F0G‰$/çA{6N00%7 |HrKrɨu!DC4%A!5zSL%кZn7 VMA@:DLm\@PW_ )i?)Ǫ(9LDI1Ga 4â.:6]V$8[A3A6p]heɐ~>yA#yIEu|c6=+y^ |n JJ+!_z `,ޒ_C$8h5xL ?BV摟c f;{;G갊4Y^zfV5-WS}zu ֌Pnx$ ([|NsL\$ /"Rй(tQRw"%:,"ec+l;* cZ:3zU&eZfx P1%c*޳LfÏ !x%#xl:8 >@n.ad ; ™K|]\"ݓXKD|YĈyRYt8t22ĖN;+W?K>mkoh8+T ?vtOA{RJ{υ ZCqccS }4aPTjNc$#ʮ20&W2?LW΄L/!=-2!)鬛V7&ilEYE"a393aUElOtG&|i4{q'5m* rq؞Ј]v' w"Xعμ0D#<&ʉhB Kp5YJ2prcNk`S>gWY_(5n5|n=wl,' .&?hN,uŽ><|zb4{+sD`3rX0"HTHu-*ey cmm)":L.\K\HK ylNXtcY؍ǔ:  +qN/ ٤h]J"{o ?ȱ2>Ô0'Si櫃V]<@~e,--8,e;gwGsڏRPmJ?]ǂn$F֒iW ? F+0P$ Dy]7ƿ=a}P|/cw]*}·&q!#duj9 J~T>ڗO]?d#XI,^{OW*}-YZQyneە+fXb DNzqhr?P%jdD߸'jO=np>DC$})uIOd唁jadG\@X !k,Թ*!P'%\`#׆g*" ժCp\c5d9ݘ1JZ2[=u . p⸘kV8)1bkdɳ?DY@?/&ޗT/'8Q&Qf Y܆۪=#==ݲCͶX[zkzkXm J'K35nquT7̯J{̹Sm?m3ΝT^C?w sظmBöFlGѬT#?|sލɸ'N/O^3ɽ s5PIm'Q坨vT֝"xC-]0p4tTov#qS;Ũs81~+VzeגA͎PĘ[XȾl7f͟ M;deLc31b_~F*c>$˜-*0EFYz S)_9rM*}UT zd's'2:)R[(FJN'&%GTR_:7n[7q8 : `\-S[UkrSa&VPW9Ub򇫐9Ub?ѳ9 0Dv R6.GddTe=P1>P[1gt"Œa6SŃ@!LG(ܴ[Ztvp2G0(  S. 4O_H e &|KX 2.FǙQ.Ujz3o6& îotCD-LL38OM}}g8ʚ amb8|1sn2'w<=$a)UYΤJEAwJZ S3gy4ģ)7`Koqn$>ۉ$?κڐwLVh5=w{/-)?ŝ&;jTrGҏ:ƃB='=_9>石3 ӜB/DZyri )nWޅ`51op6~c7>= {;NX)_y>qkHK/Gg&kTH4A?17g3h0OrrC'rc,jecD.Չw wzVGUqdx%J9p܇JGJL[7011oK03\dߣ~%jg;GW n05:J'0WR: V3M߄ǰPO V>Cy.Ǹ9p?R? n'THCJqgjXu9N LgfWN'-ӫpa{N4,2<Aɮ]mːSњhi2 A5sQ9(庋3lұي: JLHY6m.r9+^M岫tz5IR-@!QHE*d'Yիn[rAaų`u{qYF,6smzB  aN]B;2Ty#VK Hǩ?1jqv^v)rbV`\0EWu.stQ_AO;"Qld2Tؤ1T-?jQ5m,ێۭjf {?K/?$=}N _I狍 {pC~p"7rLV:KKxяh_K0dC )-D6}-`DBމЩn5%2eY8s4p\»֋A%lJ<}EmƬDRڨL]~0-.Q IzЩV[ 0efY% 2ܩJȉ7D@ mG7軪Qp]F[ HR2Pp0wuvEHDvmi(^/nӉ,%X]%wvv~ 1-Jô~[_ p '`GVAV-nw mqƑW‘@nd'4z%$q̎;β̶mgB+/ 0t+: zOr8M8OB\I):XI:&y$ 3*K00~Bv 6?=+t<;uw6U~ 3`,ģp\#@ 枩mC6X!/@`kYЎDE)'ѴAd<cGcvv)=`𨷷:( Um>/gݬ}+H:pMؔ-۲/,[n=$9UE,<&l׍W ͝3FdcN2w$KwJ0ZDCH͑fb"5wU]ٍxLgYi:J?Wl^.Yӯ c=Jo]㯣4_҉g3[tX-3?,ªӇezrtF؉;1xD##MC뭩L&뛒gt*dr 9>Dr~VD< #/s{y=x=B6I653?4ӛz"sk:aݰCSccybbCc7bO0^1^-$6u"HKJL,NL|t(9φ{vU=ўf/89gs9\w~r~wv>v__x AHo]~cmcP<OSnFjJjMjkPQHZae1 /ß ha`8΃; |-5x~J:!jڣ h)Z.>,8΃xg= ~%d$Heҁ$bl&M%ԧr.MKܴ -Mt,]Ns }Kb} Zkڰ&l^)gyx1^W5x[ޏON~wka (҈"($JJ'*fbX#vx%%L'B/r,r!Co̭s~}4///-/TZZ.cgͣ)kU~2PUū9nh  !3D 'ëR 3<ܹ2 'KyBVN*l+O ]*b4sUҼζ0Zppے%M v;qvx\\L[]a![+ y13xXfls$Si~~!ay5Kc!x,1Lr<]xP8El+\ZF qdeH(Z>C2j>2,<W!z.ߊ̉d<$JC'3-ߒ(J=԰'dOIȕv]o.wRYAv3I6Rr.?:w_֟s4$Lgf+zLkl7kDylx"}l*Ofɟ¬k#W,dѭW1̔hRp|/_Q8HeN$6hqG]Ov~➼xLGY&HX4'`_H0[[X^*= qS'|Q#;\;χgKb}0<( Ĉg6?E@ՒX|g?㲼w;S]g QH tyk}A#Sɷ/ޜdž}|U:Lwǣgs_' +ܭ6xQVf,?U(ɷa1 fc40Ec,?Ę;gkDN.Ji ے_OnŘhx3326MHCSةتhۏy /p2;k{ )Owț}j  -?8=Zޣ5zDz./udǬ犧{k=vab T;G<0ĒK9zGlk|_*!(/IܣkyE۳$y~>ܾJ  ǟ33͆Cm0Eb׹)]F~m8mgc$ĝ~4AWz%Ӻ;_)!UU;u=%:x9y'o˵}Ķr0Dce@aK>z޵F#0ˍ$w,sB s`~(D>&ҒӄcIȅ;FVoIvأ o˳`>V!"<)1Z:5<|𘐖"MfcH{ GUrAG#/ ?W];k~0gyi}EFlAdٱ<6@4AC?*7c峔wٕv0=0 %7]]}mEnҲE[aSvI$<+o_s?hoǥV]cm^b7:}6G(Ktl|]+@?)d¢&Mr%D>6yZBF&Nܰy#>'9a>ӻsKt%vlcro[jR*bRZsCtQʚVuU`Du6T"\ez;'kQJ3UwWvUB>֭GJ({ט3d*NC\O{@7k`oIGׇ<dKgPPe64/:b\vV!sXЋ7g\P(Q/8"ѫW/ ;۟s\M@ H<Ȱ.X8v' r(2lJ#B4 S.k(n~go*wԛlU/|L&\%ax]zrsݔKoWTPFR]m ^w!ʀ*a(Th*-sX櫊PP/Kf`>Q[)nc*~U~s:GѼ25]憜? ȹ3e¥s]J+t:3 LNJՁ;|22X8 3S MdAά!bH{C5M:hgҘ",::(Tě˖MM?93 [CJغf>ëe ;©8mX^mڻo = EGޣz `?Lc΂>R%ɭ?.P[$:ZgR&>X KpXc7A'_ _B(b7 ;[f[8;U vaRu;|*UC(fosgv ڵ;0L O}V"1s슠+2$-x~3ƶƶƶ^nqK܎[-% `?8*(*Qx%BAgLpvO1?WF~:=tD$ǙCݭm[*xo\83/!3S oֶe7q(h)h{JEߛ^adHNpǝ~oYS bz~FnF) h]PCǔ!K4Ɩ:m .xk"zk.s \"%FwZ>iPm*l䘻#|?2(EK2&hg]. WD56O(XǷW4Ae!(@=] + NeHA$2plYMAycdιoԭm/zkyCɠ%9|wb%ޡ#=:pvj(C:=]bGG`=~SRtIܯDq;~@:;nSQ[3W+Z[]Vtq0lTFjZWRQ-pRw0|]w$n;$ƷI;6[ڱU够;1J#Qxy0lsT1R/:jDߙ2bjQ!;qmyQNL;]*|ѭ/%ZIm@c?`bPkpk?U4]\a$W͊/?!VH*f"lX ON, ]T}Gy"+vk]Adb %m)P0P<CK]{`*es^xucccF]Ųbta9&)ޥ)φ+\Z2pq& _^L`.bB D곗-y K\eI^FBB|UM)6wrOv3p:MYƝ L(_MV Be냢C6Y8grȅwgc{DcPפ>7*?>$f,`ѧ+ :{ettd)_ѻVݠ[<_ə-ypyW/oQ7&R]M눝Dt-W;2.`z RxWT挔"=mw9|xg3 c<`n' ޣibj3#sfxb9 ҏKt7j(ߔ\#X$KMV݉DDžK%-/ky_- ݦG3H ૩7ڵ򒮡>Q[b\~fد gْtmK]G>.؄/'&ǗTF ť$jf%Z̞9´桍ex>:8_}0_CyhD"& Jil(!kƂltf ҥ?ppгzcl>fPyw+iTUpOm q0f˴LZP~WtU}>MpWVEtUGU+%rt혢ƚ’Xv!~|6+-T'z=3 <5 Qq. `=\ zYOh~FdUt:Z^dac-᳡zJ %}t"pؕYiUU闅@@Vލˠ:` t8^wu`*4c4۲4[ ?#M?G|Zk =*cLC-hБMS:ȓ T?*8GIienAۇ]cJj"ܽ:A詁\W߃( /P\k*;Rd^N[Y쐁MSzUoK1Uor`tW0 գ|ɌBFzt!$:u$zSfDoV%گyJSX9R&5|&E(F=b=8kbT6 ; b&as@J]`,AE0L'Q5,Q,֐B`q6À^{Њd"kQ"E|׋c*Xh%^T-w},Yw)0L}`TQ'r%Z3o&m`թA}Tէ| K8ܧPp(J`iPffO:hL2VW7G Z+"b KX!r.XT*6p <( zϪ(#+S"g(\dk>0l]h(;+~v%` 9c3Čn!64,5_\ʻkvW0t>a0'1l VW{ɣhI PJ`h^,`|/_+&8`h-%6;1b Έ8+f᜘b.%4x~9㏜cT+X5ƺLpH,<*ˊYQξy/WR(knk`v{"?lY\xŗtGYK+4:,0lndySE^)823+~0'f|ffff403IW=0^}OuuOli Mx5u>m(ϜEo1&N8]n2:Y  HFpV28!}ǍHbC %TtO="E#/ o!ד/hEJv#rYH9RJF*%FIN}W C`bsg'r0P*Ԣ!- +LW">.>"JŔ6$- cWPyiqRe".b>Ej:Oƿgl˧a94jFtiZQiƵY[uօf{z.mZuzɶw [Ls["`+ck6ۊJļf[5fz>/~;T[7B.us*'BWh+,4]d;3sUquk7Mws]3kOr'q妢n;ɝbs \,s2wed~i_)wks6ؚw561{mjUQKumYn]+|+|õ|'q_z%yBA"C䋀zq(9C'6 n.%c0XD]I"cX+^SWRC=5˨' G$_X3YD&e9d5dP&2OBNgf1Y},K%2}Yyhq;R3!?ɴz!u2f6c=GبuBN26Q&#do9| O'GL>&Tt3ayeG" z A8˱' )8؆kp]߁6 <:޵$&CzS!2f<#妪Ie*CE!L!c~ h2FN$d!WR$T~SGz&7f1`R{5| S~6?dzֱU8C(r c_49Er\']<&Y-qo&ZMz\9slc̱r4S.:6dui)lLŴAc<&9mU$˜a{kY4l~ޣzj4ʘ>blMx,ЃzG_lvjŶSvSζm|}qĆ$*<#5CݭZZ&:8S̶HBV֤F;wY= {ͻ> )/K (- D$׻M5bي,Zf]lǝsC׽S9*Fn̕*G֨բ۠v9axS^}['&UntQ&n4J,VV=l!'wG<%odEAg\&M4|Znzmzma\pG=eo[Yx׸ٝƘd2+B^GvW#_H u5, e*Pn*:`}:<9zǾi׎(]lmm hڶl~m۶y7v95zTȷ n;nGф8x%ގ3qy ;0Y|!ߧ5;^X eXM؁}8[.175Nfl/k͌q,Nƙ8jqsc#ދJ O6~_ώ-iEXM؅C8w<O4+ZdQ0>/&c_n0/9!/*l6!,InxaLgqx%^xR.U|U U*?Vgɣ9~o<.4>㝸z=8D)zd7x9^W^}1c#Ƙ' xxhpMDK``V`V./ۢ_I|ōxĵls{:NF/uTJ,zT*Sr&#EU.zb_/[3sK%^S?+ I- ݻضmڶm۶m+lm؞Q"sɼ3?!=,g{ f*6E]uQԯ]M}ߏR RGr!.˹sr;ƕSW. gC&Du@Q;DZ B&U LeU^ Q .6cav>8Kp n=x]|EXMTFL] 14$ꄨ;D=) QzLԣD=(QU%%Pe*a5;QW e-m+fWD}(Ь&ՠ-FnfnVnܑ;qg+w܃{r/}/<@vu{!̓x0<ɣtϜ cy <'dSyO1T> Ro+P#u};Y$e,e\VJY%ke5 ق"2zr 'Ir"ir!owDJ]kunͺ 2Vbnm6٦timͷ(QG PF3O˫l{B=ԝzt#@Pе.$_s\H;9%t2<޺LW*]tn-SK,eEVr Q6dSlͰY6قpE :߅E`:)De)Q2lz4}{FGA;NhS: ?n~k|G-y7yZ浵X߼g| gHS42)i=,5tG%qEu>km& 1 }5AAn[BO86UKC09\#(9Zc˽bto`P~[qmmɳ#xx !Q{! )4I2@@7qOINhMQfsS:e+g9#{眶/r.sI<\皎oGnrC+-e.w }3LCؤn1LPj,67f,~-U:EU=.gum$Hʲ,)]ePor˯׎.Gn#WNapCd@.${ΤUݯ;S/J$F|%7 -&UD&I¡s +\1 B3^rFSHDH:G!3}pnt~IsS$Z$Y_ùAAI01Y(b4bAbL5ńl<D2`ULcC~dc!2E6"7ALEkzlV͂_[&?'E6Vq̥_\$_#l^`5(9hqc%a]]1HDŽ _ZcAx,NzI2(/X&~x(CPE2הҜB3@JXٺ42g9>{.e|헳Al9 )&N!Q]So!GVi=(oqhnֵF]{g*Mݪk] ݷ~xk3}3]^*|3)cer#Tm %&wؠTCrH2;#n$,dԵͣ_;LIY!JREbNd@!k6&$4C)kb\aM1pBMPQrg݌"iNt;αB1tGJ 'ŀh"F$MH!&xfߞ-\;ty&Jy$1,ԼB Hfz}*{]zbW5>"_:tBX1"q%<'S Q%pזBB:HIMe FKDOK(%s'Pxcw4/j;kx~#IjM 2edđ ^aA2aE.)3HA|Al3H .5{be$qEƖ IPΛ3]Aڍ6%[ﻤ0݄ҷWGTc[c%B/zݻ Nz}c`6̼] UK҅:QE:6%q1wc[0ҠaXH\;_}" #c櫠3=lmvh$u}dn ]} ۖ)ҙ-v٘kuu(QILkvI=4# }=v]Ӹ4n.Ӹu"^aN2`Í#$BOqiB5pAx=Abgu}?{yAş_#d\ʟg "u$g H}-aݢ!:#&R;&A4IX5r;lBpkI _s4xNtఽ)JG$ռhRŝ;e~xpd[7϶5Flޘtl:L?ƶ kۻc۞SJuW%YΧsO+IN .)doGḉd*ăMՅRMɯ"+(6K6~҈Юc^hr/4C&?.K҃Էno8A)PGHёA>dO -#yG:-<`(dQIa|y4%9\Vt RC Z_ح#CxpD~TH#{)6"NFuf,0yjR3|M5PEL!}%(5`ӑ`x@%^jn \@Jlv$H3 7 b(Hv.!nH,]xP/j Ww5Q -!xI1 \+C'qU} E.IK){[8ǻCU#ޑ>aD19.7d e(f 7/@\u'"̫ ?LE3q>2Z|$8Hₗ75uUW*ҟ7o +#bes(]/I!nt iy'+Rؼw.iMouKtBx9JQQq~ls9#`;ۚaY{xgb28EWN懜[OM|qY=9_R5aw_#]\U>~>V/'Խ[t*Y։ o=:nhfmҙFKXA .d9YW<{ 0pպ=tO%kcv{7G'h.[dEQњɶBЎ=޹F󲂛GwI` ńs]/T x͘@S]%RKQQclS6#- vvb6*~wn~w]Pҟ 7!WHe]~p~:J])?dAP050J`(+(;A!hI#Mb!ă 6$DVGdM i&V>npˀӅѕ4 ֚̆S:Cֈn*CreFb&a~. J8Z4[ dd# mi epS9 lXKsUʑq Ci# |!g6rx\K1D@q$'!:LTȶzTSs*`줈T:DWfi<~/GpփŲ#F&[ M@2S 4!$_-A#CVi޵/3=۪&{c:gSPe /ݩ)Oo1if54mSc߸d*4t?9ز٩ϾtDm(}8Cc瞔Bu1wIX)`.8;KoszLՅ-f;/fZ?k8kʞ[&e1W%;Vd'[*v7??y|wRiY"3o.IFcreXK\ǍtIfsVe;62Ѷ l0 P80ɉ$9 eRpde3&P߱8\(b=pV|ǁL~B['EsDllU`p@C) 2aGM`'WC^(TALN]"?;t[&Vu}/'g9m^=>_oxSʡݗB\bҿtG!kY=w=>wn_gQ"zIyx3py[x|k\8+{7~,!zph|@ooe6~IV1U= ՈV=9='be(d .O}F 1[u֞vn\xVo5G]pISH{3^uھn[oUn|E;Pe}v%>٤u.Ufp2uWӫD˧kƕ,l&=ИF-*v>qyޫәpMao{[[Xq P@H(x}2Gwη.*-09TG&|4pt(F_iNX[Odꍚv\)0c)Rͥy,,iy*<-+oav䏷X3c|qDԚSVLtV9J\2H /xLnHlZ!|x8儻)-iڡ&,zǛBe׆}iINUf}|#qMv.NuHoOAHI=Է.qh?;u;j:'ckK քW3<$/ ]yD;G2©fq̈5'8]>KjŦR<Jҽjx|tI_?rB9s@sAH, GSBxPυlô%Sp#Œ@Ht6"`y1hr uNK`dgrXJlIs|OޗP,呫 Dim9%(*11TQKuh3}%׀\6w=qn'2n#țpjecg~n[#rtX߬>9Q2\`~}[eoS5b`w{}y;74}=%;XRɸ3d]#sUCvؑ?fw >$QbHHc4bTe,r j;44|;H$2I`3T &?\{`[i]ioR)d8Si,H@ghQ@a~5#6!r \ڃBP)TEՋw(Kl'xh;{Wzz3;ƿ3>>3N7jT~Ԑ7=&%'\&hl1_^AgoA͸ZtVݥG>r;]d-RQ{ק¢xV~8pOʶgktGɀwEnL ߗWgI!9GMOH\emhglBZR5~Q&[[SB&<gk:)\'Ckjϱ:2dǾ9tl֛-Q>j,$MT/ogace掠^}rƮ%S_igs{ IwK5Tnb;~ᵞe7/z}x.w"g坚[dȌ@|T8L%H'EPAx/#,#7DBU¬`T2wSNY*ҡ.f2;`UZ EBp/!8_a XAa!+ E!WM66_ƿ`,;N}+mIVpļ}!ڑw/MiYgQw݌m}(*V$!uQPCՆ^埶͆sf7;Yn0-޷Nvo)M}yŨݾ5v6'Eg*￵ʎ9,ptLfL#d'-V޸~eZO3RiiqP8q;*zf'?d}YL ;,mT93N% k(ȩ_9u`1GL`"@T #F53ƾb T؋[B58 DVN" !&Ć IdwaHF\H(c@JHJq8䎎\H.C5txqf2 .1<4w=u45iT`,b\[C ntlט?s͢=N ZŚygÍ^<!=N5n]+Y7*85qcI،w{צs* p@gd_VDV3ͯ4dˇjַykuO=t Mv%m~k_=۶Þsp.OKŒ^̺) @V)RJQvӁC 0D ֔3Jun!&tݗ\koЗ{ 9dѢ,$ij[n0Z|oq!wº_6dҲ^9S^ i kȓwUcğ9`v8'7,ǻ}JѴ|ڽ6?>ŪJV>'U9e,\fRRWNƎ)J:{|` iEhl^xM8H΋}o}=3ZbAv5۽PPz3f]ދOdDy+ ooniprobe-2.2.0/ooni/ui/web/client/fonts/ooni-icons.7f721a571194837f629b6dd86a703ca5.eot0000644000175000017500000001773413071151301025360 0ustar irlirl,LPߟaooni-iconsRegularVersion 1.0ooni-icons 0OS/2`cmapVҔTgasppglyf0xhead Iit6hhea$hmtx>Hloca7,/&maxp#*@ name`post 3 @ @@ 8  797979/Ga#".54>32267>7>4610! &103267.'.'"#".103%#".1032>1045'/>76&'.'&26732656&'''.7>1?lRRl>>lRRl?r#/)LB(ed JnC&*  (#J JbK  JK8.ML>!EfaE:M'*<>*,<$%%%%P!' uoo,6, %%#(1(/9/3+3+090/9/q Q!8 ?bEEfMP>+*<>+%RVk2#5467>7>7>7>7>54&'.#"'467>7>7>31#53"32>54.#35#35#.'35#>7      ]   i ]].jQQjjPPj,]Oi@]Z CgK]LhD [^BiP                  ]QjjPPjjQJ`` FlP]Kd@XY?dK]QlE4:"32>54.35#35#.'35#>7'7jQQjjQQ]NhA]Y DfK]LgE [_AjPckWQjjQQjjQJ`` ElO^Jd@YY@dK^PlEnWqe#'1+"&=4&+"&=;2;2;2+"+"&=4&+";2;2+"&=46;26=4&+"&=4&+"&/./.+"&/.=045#32>54.'70418140104181.'.'.'.7>7>7>7>78104104181405041405"&54632'"32654&C  04        * " 9 GG #  .  .Pl=>kQ.4H+O17~F)Q)$G"4_) 27~F(R(%G!4_*DGddGGddG"""")   3% -AZ 5 $4  K(>lP..Pl>0WI7 -,E H)  -,EH) dGGddGGd!!!!41)-15K!.+"#"3!2654&!"&5463!21#3#3#'3#"32>54.#1;2+"&=46;26=4&+"&=4&+"&/./.+"&/.=4&>7;2;2;2+"+"&=4&+";21'+"&=4&+"&=9|   ,?VGGjFFFF.R>##>R./R=$$=R/`6 "J-      +7 *( 00 zr4獍#54&#"'4654&#"3267.#"'>54&#"3267.#"326?32654&'5>732630"1&676&'7326732654&#"'4654&#*1'>54&#"'0414&'7326732654&#"'>5<573     w!!! y   % LK   '      ' VU adx  !z : ; fi.\  ON_a`  /   '  Tdt#>54&#"'>54&#"'.#"&"#"*#"3267%326732654&57>54&'%%.'732677>7%*#"'73263.'7'.#&"#*#'>7231'.'.#*#'>7263'.'7.'7>7%4&5732677.#"'>7'>54&'730237./>7'.'7&3021-    Y eLt $w y {~ C-D   s h-g  [e e > 2kҹkG 8H  \F t , ?    /   E    _.  ;8:       s>   ( (  E& ".:FW75575'!"3!2654&#2#"&546#2#"&546#2#"&546#!"&5463!2zԩ/zzmN  C  C  |I56U*U7 *U6527l.      FE&(4E!"3!2654&#2#"&546#2#"&546#2#"&546#!"&5463!2#102;5#"'&6=4&'.'.'.15067>7>7>=4&7>;5#".'.=<'.+3210&+326764=467>7>3>150&'"&'N  C  C  |Il      B B    B B  &l.      FJ/I ,F  I , J , I  F, I/621067620120181&'0&'*'1326717>=4&'"#1'.546781021021>18326=463#"#"&=4&/.=467.7>37.'.5&6>7263'"&'&67667&676&'>76&'.5'&'81#"&58181463281"'32654&#^     &'55''     13$%3O9 $4O98P1  " , ! ,  %  !!# <;))::));X ->  ..   y5 ##  5y  74yE $33$98P '3$98PP8 Ey47B?         @  %  @ , ] !  `?!t)::))::). ! ,- .^  $(,05:?D 35#535#535#535#35#535#535#535#535#735##35#35#35#35#35#JHHHHHHHHGGGGGGGGGGHHGGGGGGGGGG HRHRG\HGRHHHRGRH HGRHHHHH=HH4GG ?O!3!!'!5!!5!!5!!5>'.726?7>7'.5&676"&'3Q===(lHIgPPQ<"B?-,C?-)R .싋(())))C#HgkI<#VVQ*(,C?,.Cs !%!!!!!!!!!!!n8P    ʨ д(X0000000["9>7>5.'.'.'.'.'&67>7.'4&5.'.7>7>7>7011.'.'&67>7>'.'5>7>'.'.'.'>7>77.13267>54&'.'.70&'1.'.'.'&67>7812015>7>76&'.'    004)# "11+) #@#3 L*     ,N 3  DT[4H $!2     % #   29@#8b%D(6[(%&&_5$!6I*%G&>x.174/= ;         ) #F8 ,% !-<#/  P& P1% 5N(4IR)CCN E  EF+U  !{9tb+%+ ## !E('X[Y'ATG*'@ V#[;(- f43!CA@>3-Z.'Z:m3i4 CF <5lC+MA0 "&(s>?s*&A1 a1&;    38     '2a_< # ^s x V ~( { ?   ]     I  ) g 4ooni-iconsooni-iconsVersion 1.0Version 1.0ooni-iconsooni-iconsooni-iconsooni-iconsRegularRegularooni-iconsooni-iconsFont generated by IcoMoon.Font generated by IcoMoon.ooniprobe-2.2.0/ooni/ui/web/client/fonts/fira-sans-semi-bold.3de79d2eb33e18bba8f5f5834a3d9d05.otf0000644000175000017500000026656413071151301027422 0ustar irlirlOTTO PCFF zDSIGmlGPOS [GSUBkSEd#OS/2@`cmapNώheadk[6hhea$hmtxOe@HkernDR46maxp{P8name-(post2 B23v{_<גׄS P SXP{P{0XKX^2<  @ )  R R^9d 6* #- P n .* R^  &  r  & F  & l` T F  <f , \ T* ~  Digitized data copyright (c) 2012-2013, The Mozilla Foundation and Telefonica S.A.Fira Sans OTMediumCarroisCorporateGbR&EdenspiekermannAG: Fira Sans OT: 2013Fira Sans OT MediumVersion 3.001FiraSansOTMediumFira Sans OT is a trademark of The Mozilla Foundation.Carrois Corporate GbR & Edenspiekermann AGCarrois Corporate & Edenspiekermannhttp://www.edenspiekermann.comhttp://www.carrois.comLicensed under the Apache License, Version 2.0http://www.apache.org/licenses/LICENSE-2.0Digitized data copyright (c) 2012-2013, The Mozilla Foundation and Telefonica S.A.Fira Sans OT MediumRegularCarroisCorporateGbR&EdenspiekermannAG: Fira Sans OT: 2013FiraSansOTMediumVersion 3.001Fira Sans OT is a trademark of The Mozilla Foundation.Carrois Corporate GbR & Edenspiekermann AGCarrois Corporate & Edenspiekermannhttp://www.edenspiekermann.comhttp://www.carrois.comLicensed under the Apache License, Version 2.0http://www.apache.org/licenses/LICENSE-2.0Fira Sans OTMedium,, * ~~7 (6 O\_cu     " & 0 : D p ~ !!"!&!.!_!!""""""""+"H"`"e"#(#+#%%'+ 7 &5Q^br     & 0 9 D p t !!"!&!.!S!!""""""""+"H"`"d"#&#+#%%'+F.vTSRM;/}{usoka_WOKG0.(&%$!RGD={zxurfJ30qoך"  U  ~~bABF77JKMNTY  \_&(a56dfilm OQ\^_bc ru !'+,./135  7 9  :  >  A "D & &G 0 0H 9 :I D DK p pL t ~M X g!!h!"!"i!&!&j!.!.k!S!_l!!y!!"""""""""""""""+"+"H"H"`"`"d"e""#&#(#+#+##%%%%''++   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`aDrdeiFxpkivjsgwl|jcnAm}Gb;<AB>?:KgIJEy@CHKRqNOPzSQL2FiraSansOTMedium8APC,F $*07>DJU`jtz $/:>BHNU\bhov '-3@MSY`gmsy*5@KQWakry ")07>CPZfnw -7CKThmqv{ ")07>ELSZahov} %,3:AHOV]dkry !(/6=DKRY`gnu|      $ + 2 9 @ G N U \ c j q x     " ) 0 7 > E L S Z a h o v }    " + 4 ; B I P W ^ e l s ~     & - 4 ; B I P W ] g t   # 2 ; D L T ^ g p x  &.6?JX`lx(1<HTco| *1<GMWdmy(3?NXgr~%2:FU`n{ -=JXiu !*6>CNW`nz(0<FOYbp}!*4ALQ_ix!/:CMV]fpy %/;EOYcmw &-3;BJS]bgqv| !+5?IS]gq{%/9CMWaku )3=GQ[eoy!2@O^p|*6BNYdv+>.nullCRuni00A0uni00ADAmacronamacronAbreveabreveAogonekaogonekCacutecacuteCcircumflexccircumflexCdotaccentcdotaccentCcaronccaronDcarondcaronDcroatdcroatEmacronemacronEbreveebreveEdotaccentedotaccentEogonekeogonekEcaronecaronGcircumflexgcircumflexGbrevegbreveGdotaccentgdotaccentuni0122uni0123HcircumflexhcircumflexHbarhbarItildeitildeImacronimacronIbreveibreveIogonekiogonekIdotaccentIJijJcircumflexjcircumflexuni0136uni0137kgreenlandicLacutelacuteuni013Buni013CLcaronlcaronLdotldotNacutenacuteuni0145uni0146NcaronncaronnapostropheEngengOmacronomacronObreveobreveOhungarumlautohungarumlautRacuteracuteuni0156uni0157RcaronrcaronSacutesacuteScircumflexscircumflexScedillascedillauni0162uni0163TcarontcaronTbartbarUtildeutildeUmacronumacronUbreveubreveUringuringUhungarumlautuhungarumlautUogonekuogonekWcircumflexwcircumflexYcircumflexycircumflexZacutezacuteZdotaccentzdotaccentAEacuteaeacuteOslashacuteoslashacuteuni0218uni0219uni021Auni021Bdotlessjuni02C9gravecombacutecombuni0302tildecombuni0304uni0306uni0307uni0308uni030Auni030Buni030Cuni0312uni0313uni0326uni0327uni0328uni0335uni0336tonosdieresistonosAlphatonosEpsilontonosEtatonosIotatonosOmicrontonosUpsilontonosOmegatonosiotadieresistonosAlphaBetaGammauni0394EpsilonZetaEtaThetaIotaKappaLambdaMuNuXiOmicronPiRhoSigmaTauUpsilonPhiChiPsiuni03A9IotadieresisUpsilondieresisalphatonosepsilontonosetatonosiotatonosupsilondieresistonosalphabetagammadeltaepsilonzetaetathetaiotakappalambdauni03BCnuxiomicronpirhosigma1sigmatauupsilonphichipsiomegaiotadieresisupsilondieresisomicrontonosupsilontonosomegatonosuni0401uni0402uni0403uni0404uni0405uni0406uni0407uni0408uni0409uni040Auni040Buni040Cuni040Euni040Funi0410uni0411uni0412uni0413uni0414uni0415uni0416uni0417uni0418uni0419uni041Auni041Buni041Cuni041Duni041Euni041Funi0420uni0421uni0422uni0423uni0424uni0425uni0426uni0427uni0428uni0429uni042Auni042Buni042Cuni042Duni042Euni042Funi0430uni0431uni0432uni0433uni0434uni0435uni0436uni0437uni0438uni0439uni043Auni043Buni043Cuni043Duni043Euni043Funi0440uni0441uni0442uni0443uni0444uni0445uni0446uni0447uni0448uni0449uni044Auni044Buni044Cuni044Duni044Euni044Funi0451uni0452uni0453uni0454uni0455uni0456uni0457uni0458uni0459uni045Auni045Buni045Cuni045Euni045Funi0462uni0463uni0472uni0473uni0474uni0475uni0490uni0491uni0492uni0493uni0496uni0497uni0498uni0499uni049Auni049Buni049Cuni049Duni04A0uni04A1uni04A2uni04A3uni04AAuni04ABuni04AEuni04AFuni04B0uni04B1uni04B2uni04B3uni04B8uni04B9uni04BAuni04BBuni04C0uni04CBuni04CCuni04CFuni04D8uni04D9uni04E2uni04E3uni04E8uni04E9uni04EEuni04EFuni2007uni2008uni200Bafii00208uni2070uni2074uni2075uni2076uni2077uni2078uni2079uni207Auni207Buni207Cuni207Duni207Euni2080uni2081uni2082uni2083uni2084uni2085uni2086uni2087uni2088uni2089uni208Auni208Buni208Cuni208Duni208EEurouni2116Omegaestimateduni2155uni2156uni2157uni2158uni2159uni215Auni215Farrowleftarrowuparrowrightarrowdownarrowbotharrowupdnuni2196uni2197uni2198uni2199uni21E6uni21E7uni21E8uni21E9uni21EApartialdiffDeltaproductsummationuni2215uni2219radicalinfinityintegralapproxequalnotequallessequalgreaterequaldotmathuni2326uni2327uni2328uni232Buni23CEuni25AFlozengeuni27A1uni2B05uni2B06uni2B07uniE000uniE001uniE002uniE003uniFEFFu1F310i.latn_TRKLdot.latn_CATldot.latn_CATparenleft.numrparenright.numrplus.numrzero.numrone.numrtwo.numrthree.numrfour.numrfive.numrsix.numrseven.numreight.numrnine.numrequal.numrminus.numrparenleft.dnomparenright.dnomplus.dnomzero.dnomone.dnomtwo.dnomthree.dnomfour.dnomfive.dnomsix.dnomseven.dnomeight.dnomnine.dnomequal.dnomminus.dnomspace.fracnumbersign.osfdollar.osfpercent.osfplus.osfzero.osfone.osftwo.osfthree.osffour.osffive.osfsix.osfseven.osfeight.osfnine.osfless.osfequal.osfgreater.osfasciitilde.osfcent.osfsterling.osfcurrency.osfyen.osfsection.osflogicalnot.osfdegree.osfplusminus.osfmultiply.osfdivide.osffiguredash.osfdagger.osfdaggerdbl.osfperthousand.osfEuro.osfpartialdiff.osfproduct.osfsummation.osfminus.osfradical.osfinfinity.osfintegral.osfapproxequal.osfnotequal.osflessequal.osfgreaterequal.osflozenge.osfnumbersign.tfdollar.tfpercent.tfplus.tfzero.tfone.tftwo.tfthree.tffour.tffive.tfsix.tfseven.tfeight.tfnine.tfless.tfequal.tfgreater.tfasciitilde.tfcent.tfsterling.tfcurrency.tfyen.tfsection.tflogicalnot.tfdegree.tfplusminus.tfmultiply.tfdivide.tfuni2007.tffiguredash.tfdagger.tfdaggerdbl.tfperthousand.tfEuro.tfpartialdiff.tfproduct.tfsummation.tfminus.tfradical.tfinfinity.tfintegral.tfapproxequal.tfnotequal.tflessequal.tfgreaterequal.tflozenge.tfnumbersign.tosfdollar.tosfpercent.tosfplus.tosfzero.tosfone.tosftwo.tosfthree.tosffour.tosffive.tosfsix.tosfseven.tosfeight.tosfnine.tosfless.tosfequal.tosfgreater.tosfasciitilde.tosfcent.tosfsterling.tosfcurrency.tosfyen.tosfsection.tosflogicalnot.tosfdegree.tosfplusminus.tosfmultiply.tosfdivide.tosfuni2007.tosffiguredash.tosfdagger.tosfdaggerdbl.tosfperthousand.tosfEuro.tosfpartialdiff.tosfproduct.tosfsummation.tosfminus.tosfradical.tosfinfinity.tosfintegral.tosfapproxequal.tosfnotequal.tosflessequal.tosfgreaterequal.tosflozenge.tosfcyrbreve.scf_i.scf_l.sca.scb.scc.scd.sce.scf.scg.sch.sci.scj.sck.scl.scm.scn.sco.scp.scq.scr.scs.sct.scu.scv.scw.scx.scy.scz.scgermandbls.scagrave.scaacute.scacircumflex.scatilde.scadieresis.scaring.scae.scccedilla.scegrave.sceacute.scecircumflex.scedieresis.scigrave.sciacute.scicircumflex.scidieresis.sceth.scntilde.scograve.scoacute.scocircumflex.scotilde.scodieresis.scoslash.scugrave.scuacute.scucircumflex.scudieresis.scyacute.scthorn.scydieresis.scamacron.scabreve.scaogonek.sccacute.scccircumflex.sccdotaccent.scccaron.scdcaron.scdcroat.scemacron.scebreve.scedotaccent.sceogonek.scecaron.scgcircumflex.scgbreve.scgdotaccent.scuni0123.schcircumflex.schbar.scitilde.scimacron.scibreve.sciogonek.scIdotaccent.scdotlessi.scij.scjcircumflex.scuni0137.sckgreenlandic.sclacute.scuni013C.sclcaron.scldot.sclslash.scnacute.scuni0146.scncaron.scnapostrophe.sceng.scomacron.scobreve.scohungarumlaut.scoe.scracute.scuni0157.scrcaron.scsacute.scscircumflex.scscedilla.scscaron.scuni0163.sctcaron.sctbar.scutilde.scumacron.scubreve.scuring.scuhungarumlaut.scuogonek.scwcircumflex.scycircumflex.sczacute.sczdotaccent.sczcaron.scaeacute.scoslashacute.scuni0219.scuni021B.scdotlessj.scgravecomb.scacutecomb.scuni0302.sctildecomb.scuni0304.scuni0306.scuni0307.scuni0308.scuni030A.scuni030B.scuni030C.scuni0326.scuni0327.scuni0328.sciotadieresistonos.scalphatonos.scepsilontonos.scetatonos.sciotatonos.scupsilondieresistonos.scalpha.scbeta.scgamma.scdelta.scepsilon.sczeta.sceta.sctheta.sciota.sckappa.sclambda.scuni03BC.scnu.scxi.scomicron.scpi.scrho.scsigma1.scsigma.sctau.scupsilon.scphi.scchi.scpsi.scomega.sciotadieresis.scupsilondieresis.scomicrontonos.scupsilontonos.scomegatonos.scuni0430.scuni0431.scuni0432.scuni0433.scuni0434.scuni0435.scuni0436.scuni0437.scuni0438.scuni0439.scuni043A.scuni043B.scuni043C.scuni043D.scuni043E.scuni043F.scuni0440.scuni0441.scuni0442.scuni0443.scuni0444.scuni0445.scuni0446.scuni0447.scuni0448.scuni0449.scuni044A.scuni044B.scuni044C.scuni044D.scuni044E.scuni044F.scuni0451.scuni0452.scuni0453.scuni0454.scuni0455.scuni0456.scuni0457.scuni0458.scuni0459.scuni045A.scuni045B.scuni045C.scuni045E.scuni045F.scuni0463.scuni0473.scuni0475.scuni0491.scuni0493.scuni0497.scuni0499.scuni049B.scuni049D.scuni04A1.scuni04A3.scuni04AB.scuni04AF.scuni04B1.scuni04B3.scuni04B9.scuni04BB.scuni04CC.scuni04CF.scuni04D9.scuni04E3.scuni04E9.scuni04EF.scfi.scfl.sci.latn_TRK.scldot.latn_CAT.sccyrbreve.caseparenleft.caseparenright.casehyphen.casebracketleft.casebracketright.casebraceleft.casebraceright.caseexclamdown.caseguillemotleft.caseuni00AD.caseguillemotright.casequestiondown.casegravecomb.caseacutecomb.caseuni0302.casetildecomb.caseuni0304.caseuni0306.caseuni0307.caseuni0308.caseuni030A.caseuni030B.caseuni030C.caseuni0326.caseuni0327.caseuni0328.caseendash.caseemdash.caseguilsinglleft.caseguilsinglright.caseinfinity.casezero.zerozero.osf.zerozero.tf.zerozero.tosf.zeroTonoscyrbrevef_if_lDigitized data copyright (c) 2012-2013, The Mozilla Foundation and Telefonica S.A.Fira Sans OT MediumZzr%Jkr=f9_|Gg(B#Sjt&gw 0 C c  + O C e  o U "3=[`)PUjnz[`y~NMuApDIQY#3:BGn-;BIjnv|7M\bg~ (,8J[ajq *:DJRZbjqx~ #0=DIP\dp| kN)UHrH3ժtHmJ62L(HƢ]wÆqvPVsŮ!brhsa sw~pnddmme+#YS68X#"S" X={vx1yv\^onamrpRY`u lbdkmcdmr cd%W,XX&% Z7 rüyaPG&%A "Q(^jpRHUgADQZD=Sd7 tU[bIB_l G*-s|q`J>:H25[sp|_dgrQ  lccqmbd lkg @+!0 QEnekpޓ}9yQZvqh`v֊ BkfCDk  9.,  S"87"OR!78N E A@ c G蹡B OU/L[r[b[wiZaW&HN  

g4)"F] 46<;,4K C-2Oi B.*NLB   B  BA @pvwZ ? q˾{eZSA*(-$yDI)*J!_kiSJWeDDX\G=]k݃(*i\[ji`_i AA? |"JxC/6(ǻqgYuR9\zLfw𠾰s^W>(8,j>yBz }txvdz| :0H  L"y&b m@V:d,*TKOd:@|HvI wzcbcLB*S8/|IIϨ/`իmddlnednmddlnedn2QkXOv/T)wGH) w)) x)82rT;3w//$ ETs qTY}j f;_&kXn#) /5   c`dxTSrTa܄ucjs첤ͯZbUE|xe.M99OL,P**i|w`|F!63"6+ . o16bFo\L"E oE@Nd淮nWU; p¼zbZQ?)),"{CI)+O"_jtTKViADS[F>[i(*vw ?  ,' 7_9 Zm. { +}QRLw ۞߯oAn, =4؜:c9 mo$6< xOLTy G!9j 69lmMjl~,1   N  NUp[` _fh]^gg^ ,'_,,3 vw $vw(֯meb]))+tE#'&u*(Pmcmgj\\jj__i 0$ )wX x=;) ):#: ? ҋgXABFD5Q8@]4Z(Hg..Xhd.f1.5|G9@&.wtj t5.Aj8V.( xiixymnxDX>>YUIJTؾyiiwwnnwEX>>YTKITؾG "P T aZe9gsZ4UHrH3ժsIkJ62N)G̩ŴWg˧Th]e~^ V   SSI"/͠z\D,azBzya,D\vzI/"ͪSÖsUSl"IvDyBԜD"IlSUsSbQ &)\{k| \  ~ ϓ@c}lx]\n}?}GKYKjKl=Xb6 QR| Wz]_x^VG# 43:O lvww -II$IIe|{s2wLsNVyu~ AU8oȳ¡Fo{~|u iv p>?/w`imTTil_<6455O$"Nn MPoT] {eRO N n?;j 5;-=j D= 0''4 m_Idj; 6=  _P(s' 2vUv vVv2D# ivswŵλmF E-5Qj C.-PP6u[u  j]3Z)Hhd@CEGQ8?  13&.IRIR.&13pGhC*ee)CGk nrq ??[:%4.] Z044|a2h Twjcrf pvSAwl S@A A@#@S S| vw z Ǟ:CBs[RG°v]Y_uWO}/ G  1vwmwDDmwwm .-././F.-..HH....H KTjôoT@I0Y/P`| 3eVe +  /0 0 Gt }KKy}KKy ƚ0HAyaUCéu^copSR ?2451wos|b@(h]]hh^ wmG7t" v G 'Z{.iZi\   lmddm | iw5 3i5i Lvcw w La {|$T$ zvvw   vwb v""w qd 6=Q * #Pb)  vew7 orqֶ wm G  8v~#fpFk#sr" v-.w u mg|"dd = ) vw Lyj^W ?  |am Yv_ Ai v   λl  Իw5 v vE1} $j $ H%#  ~| v  ?]sFTV|<>_,%"! vw #q Dw)) ͷsLTbkG\_bAI 9D* B_uJ\NԲqJ  y @~ BauP\NͱqJ .H'IVskbI [8v%w  vw , vcww 3  Vw o| ) w  u {ƪ˩ {ȣ̠ [{ v4 m7^e_v`Uk ~ N |* jL|~ ^gg_G "# cy |Sw  z0  VNw v}w:: |$L D)D N Xv~w w jus v}w3 v*iw B\ y  w u vw`w   Z m #" w_{ vwEw w, &|( hiviw  \ h 7|B`gdfj}srx{0 e~  :oAuiwvptykcD@*mC{y| /yM#@OJ!-R` ;=9FLWoz ! + > G 0 J L X c q   S f x   - : L Y \ . -7HJq%Gt/Db5Jh'U*EiOezp:We~a{",CZq+?TjG\r ^/AX  F Y n !!-!R!m!!!"'"C"}"""#/#i#$$*$?$l$$$%D%%& &(&H&a&&&&&''((2(q((()-)z)))* *$*5*O*^*z**+4+R+g++++++, ,,/,~,,,--0-M-h-----....`...///"/>/J/Z/i/|///////00'080F0\0t0001B1]11112 2 222=22223&333c3333334C4}44445n55556H67778 88x8899p9::#:n:;;v;;?>N>X>q>>?8?O?s?????@ @X@d@r@@@@A'AxAAAAAAABQBBBBBC(CpCCDLDDE EEEEEF)F_FFFG*GAGJGkGmGwGGHIHHHHHI6IgIIJAJJKK!KkK}KKKKL"L$LPLfLLMMMMXMMMMN N#N7NNO O+OpOOPPLPjPQDQQQvQQR!R[RRS SYScSzSSTTaT{TTTTTTTTTTU U UU$U0U`UUUUVV*V,V8VAVCVKVTV]VfVoVwVVVVVVVVVVVVVVVVWW WWW!W#WXXXvXXYYJYYYZ ZPZZ[*[@[r[[\\w\] ]H]]]]^^6^^^^^^^^^^^^^^^^^__``W`z`|`````ccddddfffffgg ggg%g-g6g?gHgQgYgaglgug}gggggggggggggggghh>hIhhhibiij8jUjdjjjjjjjjk7k9kJkMk`kkkyk{kkkkkkkkkkkkkkkkkkll lSl{lm.mgmnnnnnnnnnnnnno oo"o-o;o=o?oAoCoEoGoIoKoMoOoZocoto{ooooooooppGppq'q~qqqrDrKrVr]rjrlrnrprrrrrrrrssssss s ssss$s5su7n%qЍ.024xʍBUՎ!6)Y_ݑTtvԒ +6FX!9eq͔ݕ3CT`jtז?#%'sv6w%88&Z).Εr5dUp~mdVxwC7|O3v{|ww||wߑvVwgFSS& Z[vnw`|=v܋Rۨw$$_<ř\A**AG GR|Pv"0 }NxUs_/)׻ǿ=IB1KaK4S`R9 @*բtH45&˥>b̻HBjf]yY(bm]]ljUi\s & %vwy&i "p'I$"iN>\x +vӱ ߑv6wgH4v.wD~q~|nFNծLQRhKAAhPs9339tu33u7v5wk5l5&CwY;.CcEUMŲgJ/TF{x-7eS@|pR hTD>ԝ@:EnRODȲjSI]hMk|/׸p;E\`CV_c?GKi/av.Fw.:=}=(:SP3..T|"4}o;li{h8ɸm+;]U>Y_g#% !%7#WUuW`w c¯k+3jPI@l#vF4(~ f& o fvf0/6+"4!8̻u(C7aBUa൹ѮW`ndq]ߑvwg^fh]+v:^fh]>@ >6_ >} 7v2 H{5G /DfHQKq_,;<l FgEn  7) e6xVE{Dv$mj.{bK3gPRiuSSU4)<0 ֹ_TAc,ONZOGלxrsbWXrX% 5- Ћp k0 ,vca hhc0vw  Q vw ~ < rtcv<UG@ wj w>TGߋ}}g-7 4  PPC&)MPPDPK!v PPC&)MPPDP}KKy}K_DVP4!f=c&Rv" u ) v)"hG2gG+2 |v__!"&g S!j '~vp6  V ) H4v.w~r  Yvwj jQH22$'vVwT`P't-  |O gw |c y_tSVo\hdit̰ZaSE / |N g |y   vI{LC+Q8/IIæ|a`S 2)@4 W#OE3@WK{iTĿikOBp@ %J ?]khsvhgMa՞pffqk@6`@+ǭɩhJKkdOPh ew cf~x` w{b Xv  |/w{7  32c vT uS`*SRnW^xbGRVpU^ ])MPoV^  ! ] gn_JcuZiZR; 6= ǽ}Zv w_  #|('a| U (MƧxI dojpZY99j /0aa(D,4Dj 3D&2D!a: 1 s  }# %  &|>cG HvWwe=g^^gg^_fEyU# yUjl ( \vwbC<C"D7 j DT % A>2!"m ddlqmbdkmddll|.[jᯬwhdY+@DFcvsrj$!##$"##!"GI$$HI$$IJ&$IH&$Jg &cX]TuO>ǥ|XwW?W0;T濹f{uW^bx>kumxiz",C >v)_ vmwwr))) )+ )) +6/71`55": Hnvhpפs8; >A.w\_[ .ʤ N3'vUwuP`#<{~ƒ|q}njw ~ vkkob{}oDXvb=32 36 HH%xjL|G? ѻg P 'ibOOiǭb)2<<,.",YLjLl=XbcLvvv0w i: tLhZPBLvsv : *tLQN.Lvvw,: h BB@dV+ @77n*oH67= Ӱ;; Eg^^hg^_fvSwX% oÒ vSwX% >vEwX% 82 S[X% ' lyLNc[Suk ^X% y' X% s) ~8Fiv ͰLmg`oG,DJN鼵zjSP0;|c!p*p vS k0 Zv p vS k0 z4>p vE k0 82 Sp v k0 ]=' vS Q 0Xǒ vS Q 0p> vE Q 082 S l"pp#Q :_' oT[ 4  oI vSw ̮PPC&)MPPDP0jm vSw ̮PPC&)MPPDP0+>vEw ̮PPC&)MPPDP04~82 S[ ̮PPC&)MPPDP "?I ؓuuɮPPC&)MPPDP64' >vwNv wM  vSw) 0 vSw) 0> vEw) 082 S QR) 6' ~TvSwp6 0->v  mF'Wj:7f1,"FB 96|Kv){^t᪰gj?('D WmoXtru_5v @UtB ";;# v[w - vZw IE vOw  8 \ Ƌf \ . =! 7(  tr  xޮ  ҨZ0e쒱 8 usxƵλkGďPmclgA]ׯmYSJ51 6$%s)y v[w  xy vZw  16Ey vOw  8y . A; Q( v[w 0W= vZw 0qE vO* Un ||wsiͿdRIm`O*((20, :MYFD@aZVq3ID `OBK`ƽweuts \])MPoV^ N of \ v[w! 0 4 vZw! 04E vOw! 0R8 \!  f  \ . IH! 6 (>vw_Fv w~S v[w* d,vZw* EvOw* J8.. *)(MƧdI dojpZYq(: vZw1 1Egw ndxSVo\h ~̰ZaUEdjs: .. 1 P( X%   =:wX% : w > W ,XMjfZX n pֶmG7oG4{ 9Ic3? &OkN)UHrH3ժtHmJ62L(HŢpzIjdZVC^⯯n ƬqvPVrů!bsgsavSw- 0*> vZw/ 0 EvEw- 0|}82 S vOw/ 0t8v/w- 0k v/w/ 0 = vEw- 0&C vOw/ 0)`O ЋvE ̘0KC|N v>w kj6o|N m_Jcj; 6=!~LB=)9)"j^Wp k0 gy   %ìp k0 6:y w  :> p v/ k0 #ky v/w  = UB`Uk%GMjgZXC^⯯o ֶ`qqUf7#% ;6%-62-'Mhk]Z;jдo ʼTg^e~^DZxԧU0ep vE k0 KCy vOw  O vEw082 S vO# 8w0: # > v/w0k v/# D= iam=0H ! v# 6 vwvE G  82 S ewvEwcf~xm82 SvwG!!G:21t [Q  I \  f  \ Q  g 0 ;- Q 0: * >  GwbmMjfZX譜ֶ wwg`MjfZX n pֶ~ v/ Q 0&k { vEvG CpQ  kXvaw'xq~zbzkb vwvEwȣ0;82 SvO* ! G 8~ ĥ!Xww< Ž|/wvSw7 0> vZw])MPoV^ N ;EGw  :4 &!T|w5])MPoV^- 5N 2!TvEw 4 0j8C vOw])MPoV^ N hCO #vw])MPoV^ N B6! Gw 0  h~=G  } zOrj;l-Xv |w#foFl. Ѿ8 MPoV^܂  خPPC&)MPPDP | !  w ̮PPC&)MPPDP06-: w! 0> vqw ̮PPC&)MPPDP0e:M vrw! 0:|55_a4 P^C"0KPPEPCnkiC y} 8 [J;Ϗ\\xh|#x e ;8$Zv wvZw_  Es==M!Zww*_ 2 ĉ!vE f=PCZv wvOw_  O vSwc&0>#|vZw('0@EvEwc&082 S#|vOw('0 8o9w usxF 8 qüyaPG&%A "P']jrRHUgABSZD=Yg.Ūm#V GG+-r}r`M=;H25Zro~`dgrQU[bIBdpք.vEwc&0 rC#|vOw('0iO R[v"  usxFG"P!Ūma #quju ^}txvdz| :03Nw)RvvEw8u0[CR|vwWwU(|6Rv;" Y7 ;G"P; 8  a|L }txvdz| :0:@6!F  [)  _I \* f \ )  !0 (MƧlI dojpZYxw w) 0:w* >  ) 0 s* [r vqw) 0M!vrw* 36DlQ--mDc,17Wlna^ nsp籼3g(MƧIJjb[WԹ dojpZY2vEw 82 S/v vO 0 ~TvEwp6 0J82 S: vOw1 ?]8"oq#6 :D' vS V0>vZ s 0cE v/ V0Irkv/ s 0= vE V0oCvO s 0=UO Xv"m =æ|a`SLB,Q8/"#fpFj) vSw O> vZw xӀ  ӀҨZ0e쒱 e9Ev vw9wM 6D>v vwFw~S tEoi:&!#i:'[k!RZ4ue!aiwM>YUIJTؾ]w T&mKLHC^ᰰo pczG([(ȳáFo{|t@kyMNd[Suk ^C5vlw">+5Lk <-,Kv[w=vZwEvOw \e@f \-'w> )v/w(b= +vwS qlrvrw vOwO vwnM vw6i%%!%xjL|G?]wx%mKLH  8 r(8(vw^  +x2Yr% ( tw_vwN0 (wOvNFG (zxwMvMPxw8|7v wS}KKy}KKyPPC&)MPPDPPzw)vw6 P[rwE+v w  0B:.i9;m' ߵa IJ a4a );h.:P w +R}=OYX% 58vp k0  Vvw  |qi\o6oR}KKy}KKyPMC$'JPPDPQ ~ vww,"hG7jGcv<UG@ wj w>TGߋ}}g-7 4 JvwuJJK>N PPC&)MPPDPK5} LjO'cc'OMgRv" u~vp6 vwV VsA,ZY&GBH%IYZ+EBA#1f#l*)!3$|v__!"&g S!j 'v#${=UN9kT}$%n)OxTT  k"qo#Q :^' "qo#6 :F' |/ XhƿV-o_ibB}Wth|h{lj v[": 6? 0"Z ;/  ! ! T/ Oi  / 0Ł +9ĀFL ;Y|XhƿV-o_ibB}Wth|h{lj v[": 6? Yv_nN>2=xq~$,2ܜ4-jۭ²lHMbQRg1a)4^b@YjmAXvw? T}defbce\*j oD\&O])J]|@D)0.)*J#;tn]Q>?Q1Pfd-cM;bUAAb׸_d ;Ҩ @_vw?hV=1f cNPf]iw\Oip<^Aj. 9 U[vym ! T |~00"4002 ձLM~MAeK~KeKA {`vvw4\-c\lhzs(9ayT\Mp؁{UvwwnWf$*+CtdjsβXbQD _v/LgP<,kЯmZRJ+())I _t}k |wy*eS?@c*ɭnX#fT{}B3*=-9@!119vSw::&)\{k}º|Ѐ__J*7TFL ?Yv3|w $G۠ݱlAm+ (2J|b TEMHIQ6!p[mR&YvwkbR_GD p  D5 EYvwwI0d6?|dW<-~|,*<%hO%~=q |OO'^& d .. `"qu!:^(.. ->6GqdL  / ! 0ց / T0 ,vVw e0%„ v3 XGtS33YGX% .hG4GKA@&%?=.P0Ul; 58vv3z733Pqej~D]Yzzޣp k0  'X \|zP [D2ޜ  Kk5d Twd 0 v f*v ːvvF{Ϭٰ 7pG.qedz^@Tcv<UG@ wj w>TGߋ}}g-7vw   PPC&)MPPDPK- Rv" u}vVwe}vwW VxhA,tr&GHH%=rt+9BE<1Z#U`CCU!2<|v__!"&g S!j 'v3 }VG}tf ; G  8 GTv3  t ;T>hG#hs.6!;UnsD9.ΩrXws\otS=Dz~U+}YFę%HM~Lg + {c}v%?%_G~>~AwTdfe%HqµDy   & / (z cpSE.Vj B!Wr,%Av w.Vj B!Wr,%A0p T{c!CvvD $!xD( \3/j '1]ɉXXKvqgM{  ! vCK{KCKC] / vC;{C/c)8C> 1 Yv_gwN N?ZX[{bh i_ZS?> cv>oLƧUiTPdnrQjƳwkhrlwd0aa(D,4Dj 3D&2D!av)DG{j)MDDGD5 o   } y8!&!v)HOD!!N0HH*0#35d;:cx9::<2ILxbYA`|Nvs|w.|.8=0)7+zHnjs#, kL=Df ұL qvUH:{UUMNJ6?C LVnpUA?ʩ⚟DX9jy . 9C  Q(Xv w j,,~LE9 N oq>h.ļ[ NUp[`+ vZwc0eE4D[__蓸mYSJ51 6:9àRmckf#|('` n w{b k7v (~DF-d; ( ~{3WF) 4.dWWFWF>G`~P\3ͱyOt Tv vZwc!C0E> w1 ; v)DI{))8 DID5 - h#Pk10&%?=-h0Vl: ONw0!5d  A9\LB^uJ]NӳqJ^g T )"hG32֚vh~nx@M:v wvr|f|P8ϛ8v+ 3+++ % c% %Bv+ E(+445('v}{jkI:}} vH  G! #v>J*P \8zP] [D2ޚí  Ql߅/ūmquivswjL|F/9*E  FSE3 grڇ.vHv f A9 [4 {c?Ovww{(:'$Q ?"y8Q8eGα:[_  ,iz[mivC>*v dLL#<vH{HH# B3eVevHv G  ;v>vqgM{oOD ~3,DJN鼵zjSP0;|| @Zlma^ n pնLmg`oG 4A]ׯmYSJ51 65.Xkla^C^ᱯn pdyתPmclg~vp6 9YvwR`jPPv~v wpG $j $&U /9  /9YvuNwR4NC;ugBvHz __!" 6-S!j '64 -C N,4Dj 3D&2D!aavG3!GwzpzbMCwby-5+9oE{c }zxq~pW#fyZj(N񖖌>vyw,G b)ps.H(IUukcv w cwU NUp[`~xQ vH   ;zv> FOD}  |/w{7 |ihsLE~$ P'8gXQ>ĪO,Bxuy)W.+VM1f|#$k|wy;'%,29@<=KrbX?Գ_' v?lk(i_ET d  !v 0. XHVj B!Wr,%A^g vVw e @> 01 ~ cy%   Oe  e & * Xy0EJzfwvbl& Oe Wqwf0k`ailb( *e Wqwg0k`bilbBv=m= =Bv+=m=:":+ +;;=]yvwUdR>>RS>?QJv6wggg; C ~ޅ ʷK *Bʳ_#ʪa) <ʞ -ש 8 ! d7d $׿7$WV W WgK K `` .g <3K BfN#gX)U 3g -Z (8  `7` ׿7 V WS-}w P Tu(ibOOiǭa)1=<-3u+$DG %e}=G ~.zv+0< jhbW}Hj ?{XT v^w%%oM)fmE.bb>(tRKTk// bhSȽcP дv 5: tLh@X-dVh+ h@7 П׏]ػwR5: 2.h@adVh+ h@7 "Пv : tLhW# "Њ׊dػw: 2.hP# "ЃՓҶ: h0v#@dV+ @7 "ОvRwwn: h`v#uB +Йv : tLhD) +}֙$ : h0x))`# ~v 9:: *tLPRc Q GQ@Q B PO b՝ϯy9:: P0(c PHGPPPHB P0@,dV-+ ,7 b֜$v9:: -#P0'c PHGPPPHB P0O tvYw9:: Q(c R@GRR@B Q@(֊Lvv< : ht47ffi͠vSwqvo:۵qzuunlA4A3Xjt!͂vRw4{yl@:@08af5I}qztuolA4A/besf46ehhPvw Khjd89޴`xi]0@9@08ad51 F;PtuP ˋ1 ;9kV\" uPP-ňͱ0vw!fig;pPP AmZ99ͱ1vwFpq99 PPunootwu _   SQSQ QSQSBvw˰ _SQSQvww==' mw6 k" SQSQ L:<_  Vv4[& an;> . >_J > _c> _h viw i !viwGi@ vwQw "%v  2AARE @ UAAR>E A@ R9E @ viw]HH....H...-././F.-1z wJBBawm3mwwmig <iE!Eii  Bv /vwtww3 w $ VvwDwwdotZVzz{ywefwr`ropyo~}vDlk|ណKeG lw}qph}p~i|{}dSȸn^Ђxni{ Pl|sz|~pETkVǎvC,x|ф|x~VHK^dV.Ywdd{zk>pXHqz[uX]>r~?-lp|h~vZak_hHXqqj}svvu;Optpwvww1{9s~|co~~q|/r2u/vwwtww3 w $ ԉWmu2f{~|ws|sqzz/xyt{{2c| X2vLwgigigigivy|zVQN6ߧٹv7ȀyK=7]6MRVb|dyhu]o؇widač76o>]J2CZVSUÕ9URWzYUSTYTÕ|ˆ8{TTSV|yMG?Z~WZ{|z}l@\GRMY{ZXZ׹~Q]kּzM[XcNnEehm׺^Ȩѱ}{wRK?\5v:ENX4?Rnxhze~nb\v\J` <av/w rt`= Z|ov/ww7 `= =jV = kW ~K  . '3 B8#:)  - 8 ׿7 J7J TV  UW hK L . 3 B"#$)  - 8 ׿7575 ZNvnw`|=v܋Rۨw$$_<ř\A**AG G>\x |&{0)ԾX)(BU@AB(;K98KJ67J7vwji5$LC^!8-EeDQPŲgUCiaJ-=$@3  lA=ԜĽ?8HpOMFǵkOG[qLh|1ظh7Fa_?U_c?HJi-a0v&Uw@?}?3?+ X`6&&T!5z:ljzh8ʷk)9aV;W_g=HLi-d]V=% !%6$VVuW`w ck+3iPJ@l#"vBq3(| f' o f!vhh/ /7+#4 ;̺x$D7`@W_ඹҮWancq\>@ >6_ >} >cG jl ( \vwbC<C"D7 j DA>v)_ 7 >A.w\_[ >vwN>vw_F av=m= =av+=m=:":+ +;;=; S_ Vv4[& an;> . >_J > _c> _hZ PH pux p|qBfRRհEUTfCA*3yy933:yy3pw<(As5+p}:#*C`FTNȵeK.B3|x-JdSp||\ XB:Ԝ6!5BnQMC˻hMEWjLb}/ؾl8AW_;TVc@GJi1 pv.Zw.>A}A*@1Ye4..p|+=t7le{hA ˺h,8XT;W^g=FLi- dZOF# #+4!TRsV_+x mðg$6jNE:ipvM( fIpvs//62. 3лv&6>_[nenVS\繸ާJpS p6x p} pcG i k ( pvwkC?CL7 !j "LA pv) x pA.wux[ pvwNpvwxFp  9R ^  pvA[& pnq(;p . pxJ p rcp }hpv  )FFIIZ PH pux p|'-'V'&URBBU&K5<<5KJ::Jpnw8):nf4"pz!7-AeDRPƳhTCeaJ-C$p3  ><֜Ƽ9 8ApOMFɺkOEUsLg|1پj5F\_=TZb@HJi0p0v&UwA?}?2A+ Z`6&&p"<7lfzh9˺k)9[V;W^g=HLi- c]TF #*1#UPsYa)vmòf#7jOE:ipvqK( eIpvsf/':21 :йw #>?`[neqVT[绵ݧK pS p6x p} pcG i k ( pvwkC?CL7 !j "LA pv) x pA.wux[ pvwNpvwxFp  9R ^  pvA[& pnq(;p . pxJ p rcp }hpv  )FFIIw { y%5 "/f l{, vz({h  w2vrwr[r [U q ~ ] gw{M b8Z7( j " 4YȊɈGXN1]] s 1  "evTNEA[uHMN~>*4J T%7v  S"87"NS%5eR_WCܵ#YT69W$"߾S"tvo<< > t6" !vgu  c{*\bS'R7 Tj T>b NbMM# p p%R@$Rj $R$JbZ{ j #\jk \B =t6" " yvTw%c{ yvSw%y8D y vDw%82 Ty[%LdzáFo{~|ulxMNc\Suj ^y0%gB$y%r 9% N(?#quӒIplftO

D evUwI?[sIHUѼqH%3U ( #tq" j #\jk:EH$y%p yw%;9 VW%MjfZXC^W,XX&%"vSw/0 D "vDw/0x82 T"v/w/0W "vDw/0&rC vDwf̗ 0"C pl, ^ lHB9 lv/HW 0B$HjMjfZX o pֶ$WWlvDHAC vDww2v82 T ww2%9 v/ww2|W i'3=2K!vrw vDw[r[r ['i82 Tvw[{BIN[NI@B[[[5n[F  )JnF  e nwF 09 wh 讜׶LjdZXnv/wF 0#oW U v.X 3pF y vOw vDwȤ 0682 T~w8] ėI!~ ] gwvSwMg\ 0tO^igwm8Mg\ !v~wwMg\ Pj6#v/wfwMg\ `= #gw{Y</[ I[.SCT Sw s 10.D w  :1!? vDw s 10\C s 1! w s nҺ1Msg?o  " z  w "09 vqw "0b M~77%-lrnk2OR!2[;DD|p?QdO2>T#"PtvovSw<< 0OD to:< 6!tvovDw<< 0y vSwt6" 0sD > vDwt6" 0l82 T?'d#qu ?!,rƺ}gSL12J-8Tfrub]eqHKY^F@`m݄,> vDwt6" 0&C ![vg#qv/e(;g!Ūm!vgvDwGu 0YC !v  /e(;  [c* DmJ c* 4ټ  wc*0|\9 c*0r vqwc*0hM.xw{ AjgDDk ? vD 0i82 TJ? vDwZ j #\jk0J82 T vS \0|D v/ \00 W vD \0VcC :vSw&  %8D 2 vw6wP D >i :t6" !!gB4u !q *vTwX *vSwD +vDwi82 T)[~)dzáFo{~|u@lxMNc\Suj ^: w9 6v/wFoW 40WDr 6vqw$M-vDw0C i55!ivsxjL|~F@]w1%mKKH ֶ4y%l{, vrwr[r [U  j #\jk:DH$y%5 vf{ VhwX+Y`ol{,  \vrwr[r [~36+$WQ57V$#Q#U;9;U ~ ] LbR,S`b8Z7( j " 4YȊɈGXN1]] s 1 J #  e$  "vg[ g[gevTNEA[uHMN~>*4J T%!vgu JbZ{ j #\jk.vBw43E-423Q2R14P.PBm5ކrGפߐ4BNbMM# p p%R@$Rj $R$b  8)9eeLr^-,see9:{)Y 4  j #\jk:DH$  "JbZ{ j #\jkY y%bFHc91 # ,2QOD]yEKFŀ=5 - {  v ~~SjtCrK|Ge_  tСMl{, W!BĔ/~BZ9WFUo' `m ? w`m 0uu =%aėvvh ph' b8Z7( j " 4YȊɈGXN1]]vrwr[r [  "vg[ g[gevTNEA[uHMN~>*4J T%J /!vgu Jvw j [3p]is/5%ɽ@v|w77Lo/IF4T4JFIH/R@d3iK׬2ANbMM# p p%R@$Rj $R$2Ei} Ei3iv*Eii3iV,Hj*jT$+2QN^ ?]sEKV};W>{N 10',0Y>O_Hh 91 ',2QHO?\sELV};C~7,gzٳbx2xcZ5\hcHE]p6YR116LmbWD~Pv#w~6OS+4#31&yCot 7(#Z-.TZDCY.-vfCK{ffW76MBWm ~"f4EзCQ:_l#"", QI$v. 1Izj?n0ԻVR\wrg- vSw 0D R~8*=Q ư}oUV:(#QU"2̭MsldqQ> t6" U 4q 3v>| hL#,0YN' |9DbwS> bSb SL# ,0Y>EC]yFTDĀ@ܠ DIOR\wrgu Sw=%aė0fD Nvw  j [3p]is/5%ɽ0)v=**CFHbie*;iT$ ,2QZָtID\yELFa [?  S(!Eʚxls{N.T- w    v {m@8 av?G c/ET usxŵλmF WF\pӄ-Ūmv?X {=?"cx  # ?.wWowvj-{j+j8%aP5uZuv?vrw[{ r[r [EJ0 HIplftO;Q!$ٹ|oVT:) "QK!RlkbZ ۲JbZ{ j #\jkJvGwZ{GGG8A j #B9Kv?X MM# p pB`@$Rj $R$}v1ly~q}g/W/R}<RF6}vLw`{-դm@HLMR\{rguv?  DU ~53I!:3RT.=1@m_TC߽`{v{W9__[@? ` _ r:m a Nvw /   j [3p]is/5%ɽ { nv/wF 0#oW #v/wfwMg\ `= w &  ) ( }( |ߠvwJweg^^gf_^gFyS# ySC YLjLl=Xbc7|]wJ*9H56> Ӱ;< Cg^^hf_^gvSw'ǒ vSw>vEw82 S[ @lyLNc[Suk ^w:v/wUka' vsvqwMvEw?8CiJJ!ivswjL|G?]w>&mJLH n pֶHh%cy%C ~& ~|v{r8239tt23uNըtBvRdJAnsyAi_V|,J89KI 66J*=TAuvw@l[D*֞?t{p|t{|3yx923:yx2lryC]`^*9 RԪoDp|(K2992KJ77J%RQBtuy6m`P&Ԡ5zvwwTxww | Xꗑiꕕi ֒ $Hw3]X}23%ET  ' + 8     F  F t  g x~.>mdh;W)>B1PiNSi,at8i;Mz 4Zjqv}!$+/7EIPq'3;ASWo#-4:>CW_co'.3CSciqy %+16=CPW^cht  ;6%-628>˧Tg^e~^DZxԧU0e +dS?@cֲRB!11>=011.: ?!,rƺ}gSL12J-8Tfrub]eqHKY^F@Zj' w2)@4W#OE3@W0K{iTĿikOBpP %J ?]k(hsvhgMa՞pffqk6`P+ǭɩhJKkdOPh kqjn_jouszzynx|s}pyswER>4YOzy|qx~ij=pztruv `ooyxw7hnqFWr^N{u~`rdzqz}yZyu_w~|axvk~N 9˱5xҪwZb|{{}q~wzwC-pj]iv]zjh{y{N "mG7oG4{ 9I *K#!'̲DY*K'-MRJdaG5oo@g`PEaƹpͦǮ_@ƌְѵQ\Ir_JFPglcd rkdc pvwpLK7wja][bj77Kw88~vK77ic^]bvj BeرӰ\>=f\C^*c[65e^c$(?=!  (MƧfI dojpZY V+VXxe`U{jho{ipF Hj$WW ,DJN鼵zjSP0;|8 ҳLmg`oG ڶĿ@n{{si]k6=_RVR\ڶĿ@n{{ti`]k6=_QWqcRA]ׯmYSJ51 6:9àPmclg %G)_qqU  Hj H;qAfh!{./ݳ  ; r'al0EdYt~L[kUڰaeh_x` rtjgzWֿ|zymrv}x}WoAXQۑղy|2&Oms7ehx#Y5H6JXZ]tt G 'i}=G }z 68!$>MU{S=6ǸvLs[msP@ǭx[0SFě R] G $j $&rB x )_׫ DJ2T#1BU07WҲn>Hh,t 7lsq:rwssՓ@\~nr]\p~@}A@_a;*c |=v܋Rۨw$$$_<𻚹ř\B)*AG Gę\6 RQ|B)*AG G 76L q(q(?ա¿NfsGL8֭sT j[\ji`_i ؓ@Z~nj\]p~@}>9 X  p=0.7fkjzchguVXbbZ;iuwiԶU'&ypZNA 7M-^ip`oh^S^}Yuqxum:]lst__ty|d ZT  Z8tO^A h ڶĿ@n{{ui@]k6=_QWQ|=vۚUۓw$$wb+8cMX/ę[[Y}\RQ|C)(CE FQř[[Z}[QR|D()BF F lyLNc[Suk  ^6SEI6"&QO%%L#e"vhecvk'S#"RA%&B& C >z+/<`QETs PNC&~~ ohG؊Preu a1U/#fzzxKy3VboKy vV YT Z.[;/a|zz7!O2]ap8N#ZP2 nW6"㕖 mz m p|+(HyB52'Żqg\uR7_{?Xirs^^?'10k@xC4_co1=aB*e ~~1.8ד#s~~dS@q\E   B:.i9;m' ߵa IJ a4a );h.: F OK2T8++92DzUnk[\ji`_i vw Ƌ yUjMFr2n$ԯ9!78 9Jh'1oHh pv/c,wVG, w, , w,:2oc<3$ v//Ecroc(..)')(,( h k.tc"b p|waR9-%3+/o16b6o]L"V"kHCMe綴w[aҜzzxN[aCp w{q~zb~<-S"87"NS"78O^>W  X\<'־_m Ҿ8v~#foFl޲ J8=011.:Kγ_'|Hb{'c`H?j zOO( pvw(ׯmea])*+tE#'&u*(Pmcmf psg>B@.j;p,bُUU䡵ӷ|b\J8?6Ri^{$>DG/l=p,W͏TTߢж|b\N8B7RBZ<"Y,TJj  .. a"ss!:q]O KUc;h[T;6+.\1ֳ$Ta]@B_Ϯhu>i U_U vOw{ yiiwxnnxDX>>YTJJTؾ:I'~/ w jf,,~LE9bge(;gg a |~|Υx~zX]o~bx| &)--))..f|#% vGw =vz(wth Hj vI;ӱ|`WG$PB*S8/II;I_,+@ m 1# ؾttIzj>n _@ re| c|? ѓ@b|mv\]n|@}EJϔ?b}ly]]m}@}GJ?vz(wh cjv5w^gh]pvA=Awl =@@A A@#@=@"@A A@ b=Kl7Kjٽ kg&^sh^]C~) dzâEo{|t G,j  j 5G;A  @/n\`iíkUTil_<6464O##Ny>Jj 0J7 /Ij DI1666 6,$,^,$`P't/_O(u/E7 ,EE*EX $2#eOeeP"e%v_{i/e*;iԤl@ cKL  :.Aj8Vt51-6@&.w cb=Ll7LjٽOlI^E)gg)EIaYvE`'EZ] .S4%:T[pYv5w`(59: vwwM==mw p% T 1vw,wmDD 5 \n_Nw DTa=SҫMj^ZwNGiЌ*Ty0FJyfwvbl zHqWdFdjrv9! ! w v Cw /!9=oSNB̹kOIXmLM|' CY;8#CYk^kCVq ,%)wmwwm==wm c y'UF}G Q| b e vwn l kmdcm vreuM6kwy.6(ʾ {uk{XDpMRAl +"CDhp)Ul9?h40 cd ~xw %wjL| ~ vw0   v . / tClw_H^ }FzbrfQc yV w0 .vA vs vf vw vw vYw v ' |N v>a \[}\  D  DFLTcyrl&grek2latn>(AZE 0CAT 8CRT @MOL HROM PTRK X cpsp>cpsp>cpsp>cpsp>cpsp>cpsp>cpsp>cpsp>cpsp>cpsp>  $%&'()*+,-./0123456789:;<=   "$&(*,.02468:;=?BDFHhijklmnpqrstuvwxyz{|}~   !#%')+,/135j 0DFLTcyrlLgrek~latn (2<FP`jt~ )3=GQaku  *4>HRblv(AZE VCAT CRT MOL ROM TRK F !+5?IScmw",6@JTZdnx#-7AKU[eoy$.8BLV\fpz%/9CMW]gq{&0:DNX^hr| '1;EOY_is}aaltaaltaaltaaltaaltaaltaaltaaltaaltaaltc2scc2scc2scc2scc2scc2scc2scc2scc2scc2sccaltcaltcaltcaltcaltcaltcaltcaltcaltcaltcasecasecasecasecasecasecasecasecasecasedligdligdligdligdligdligdligdligdligdligdnomdnomdnomdnomdnomdnomdnomdnomdnomdnomfracfracfracfracfracfracfracfracfracfracligaligaligaligaligaligaligaligaligaligalnum lnum lnum lnum lnum lnum lnum lnum lnum lnum locl&locl,locl2locl8locl>loclDmgrkJmgrkJmgrkJmgrkJmgrkJmgrkJmgrkJmgrkJmgrkJmgrkJnumrPnumrPnumrPnumrPnumrPnumrPnumrPnumrPnumrPnumrPonumVonumVonumVonumVonumVonumVonumVonumVonumVonumVordn\ordn\ordn\ordn\ordn\ordn\ordn\ordn\ordn\ordn\pnumbpnumbpnumbpnumbpnumbpnumbpnumbpnumbpnumbpnumbsinfhsinfhsinfhsinfhsinfhsinfhsinfhsinfhsinfhsinfhsmcpnsmcpnsmcpnsmcpnsmcpnsmcpnsmcpnsmcpnsmcpnsmcpnsubstsubstsubstsubstsubstsubstsubstsubstsubstsubstsupszsupszsupszsupszsupszsupszsupszsupszsupszsupsztnumtnumtnumtnumtnumtnumtnumtnumtnumtnumzerozerozerozerozerozerozerozerozerozero&!" #$    %)T \ \ : : \ p p    & J p  J H` &H>VKXYZ[\]^_`abcdefghijklmnopqWXYZ[\]^_abcdeghijklmnopqYZ[\]^_stuvwxyz{|}~rstuvwxyz{|}~ *+,-./01234567     !"#$%&'()     !"#$%&'()*+,-./012345678899::;;<<==>>??@@AABBCCDDEEFFGGHHJIIJKKLLMMNNnopqKKOPQRRuVW$>@@EKMQ&S^+``7cc8mm9oo:}};<Ts"#&@BJo~7;<IKCCyzv`flHT`n~ "(.4:@FLRX^djpv| "(.4@LRX^dj  $(,048<@DHLPTX\`flrx "(.4:@FLRX^djpTVeUWfSbLsX{YtZu[M\N]O^P_Q`RaUdlX`|fFGHI`abcdefghijklmTcr '()*t+,-./0123456789:;<=>?@ABDEFGHIJKLMNOPQRSTv      !"#$%&SU! !DDLLRRaadgiinnrs  !!$%#T^%ac034::5DE6HH8gg9:;>EF'BsDTxx yy/OFGHI !$%^LefbXYZ[\]^_`adc`VWSL{tuMNOPQRUT&K  "4DZDD22  'KlV'R<'6rr 'TTT'4444'''v'd N': vvvvvvvvv$'K(KK'('ll || DR`-- !adefginrs:DEHg'T`-'BDT[      !"#$%&'()*+,-./0123456789:;<=>?@ABDEFGHIJKLMNOPQRST!aadgiinnrs77::DEHH gg!"#&-.XYZ[\]^_`abcdefghijklmnopqstuvwxyz{|}~*+,-./01234567     !"#$%&'()89:;<=>?@ABCDEFGHJIKLMNRU$%&'()*+,-./0123456789:;<=   "$&(*,.02468:;=?BDFHTUVWXYZ[\]^abcpqrstuvwxyz{|}~   !#%')+,/135xXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRVWDEFGHIJKLMNOPQRSTUVWXYZ[\]   !#%')+-/13579<>@CEGIJo   "$&(*-.0246yzNTUVWXYZ[\]^_`abcdefghijklmnopqr      !"#$%&S >>@@^^``ccmmoo }} T^ ac;<IJ'TxxM V`Wc] yLzOI stuv+'$%&'()*+,-./0123456789:;<=   "$&(*,.02468:;=?BDFHhijklmnpqrstuvwxyz{|}~   !#%')+,/135jT^ac L#Kl|`abcdefghijklmKK   DDRRT^acKK !$  {/H\8 D&HEE3(4/X>. !'.;&&$/(13&:MqT>0TTT0T-T1hTT.T0RT0eT/ JQH<>E0XE' <#RO+U-&+] GO;O%GWOGOI+ROU-M~ AJ !EE!/)0 1#KXXO-346X.3*<FOL/07XYO-77-MMMMMM0>0TTTT----T00000B0JJJJ>STYO######I+&+&+&+&+  <+GOI+I+I+I+I+3I+AJAJAJAJROM#M#M#>0+>0+>0+>0+TY-_-T&+T&+T&+T&+T&+0000TGON-----FL\T+;1hTOO+%T%GTuGTG HTGOTGOTGOG TGO0I+0I+0I+;+eTMeTKeT"//// ~    ~ JAJJAJJAJJAJJAJJAJH >>!!!]0I0I+/ ~ X{4)?Gz\AhDodvSvg{MqTTMTT0-ThTC.T *0TRT ><<5->X++N>H@JX+]MA(+#N>?+I >FO(I+n IF(M+@I5E5@JI+@J5T TB0/-T-1T cTATMOTqTTTcTTcT.T0TRT>0 =F<TnTTKTLT0Tu#1/3OO=&+^O^OOH)WOI+UORO+S/]O/.0O<OCOOO1&+NO+;"2ONOSO  0I+QTOmmTOgTOPTfO>0+>>Fn/.nTBO-Tz:.%G)&(T^O0I+A>0 *,,*,,;/8_-a-U'$'*3!"FFEnn'7*$'*3!"FFEnnAVT5N7*7*$7)7)]7bzbz[z(<P<<))M+&3U/*~31&/xddxx((Mb,P(<<**P h ~;TGnnF'7*$'*3!"EFnnF'7*$'*3!"EF(\83_!'.;&&"13&)0 13.3B30 !!8A))+&3*~31&,00 @0L0(030)00$0&0)0<0 0$0D0L0D060D0*0 00E0L070L0[0L00 0,0,@00.00A0L0*0"060L0D0D000 @0L00?0(00#0(0)080 0'0D0L0D060D0*0 00E0L070L0[0L00 0,0,@00.00A0L0*0"060L0D0D0@TT?T0\TTTL0nT(T">TT.qTx0%Ts04T cJ 0TTTT((((_qTx0x0x0x0x04cJcJcJcJ %T 0000`T_TTTTTL0L0L0T0nTy(((((C(TBT">T>T.TTTqTqTqTqTqTx0x0x0I;4T4T4T   cJcJcJcJcJcJ 4 "q{--^G{M3_Tc(TnT(T ?TSTnTx0(T>T .qT*x0nT%T  5( x0 5"T?TTCTpTpT5TT.nTx0nT%T 0  pT=YT[TcTTETGS T0(T("<ST 5TmT x0T ?T8TzqT 0   ==T@(T[)pTx0TT(CT.EE4E0E'EE!/O-4O--foR5dM$J?V_-a-*>._0(0kUP h 2 $ " $ 2 6 7 8 9 : ; < D I R W Y Z            > f j k l m n o p   ! -2 J MK    <  a2 $79:;<=[Xkmnopq$-679:;<=DY[]"279:<RWYZ>`$2DRVXXdf79:<"$$$"$2$7$9$:$<$Y$Z$m$$$$$$$$$$$$$X$a$$f$k$l$m$n$o$p$$!%-%7%9%;%<%%%%%%%X%j%k%m%n%o%p%q%%%!%)&&&2&9&m&&&&&&&&&f&p&&!(2((((((((((!()))$)-)2)D)R)X)[)})))))))X)a)e)f)j)k)m)n)o)p)q)))*9*;*<...2.6.D.R.V.Y.Z.m.........X .a.f.j.k.l.m.n.o .p. ..!///"/2/6/7/8/9/:/</R//////a /f/k/l/m/n/p//!00000!222$2-27292;2<2=2}2222222X2j2k2l2m2o2p23t3$3-3;3<3=3D3R33333333X3j3o3q557595<5D5R55a5f66-66676;6<6Y6Z6[6}66666X6a6k6m6n6o6p6q66!6)77777" 7$7-727D7R7V7X7Y7Z7[7]7m7}777#77777J77777777777777X7a7d7e7f7j7k7l7m7n7o7p7q7777)8$8-8899999$9-92969D9R9V9X9m9}99999999999999X9a9d9e9f9j9l9m9n9o9p9q9999):::::$:-:D:R:m::::::::::X:f:j:l:o:q: :);;;2;6;D;R;V;Y;Z;m;};;;;;;;;;;a;f;j;k;l;m;n;p; ;;!<<<<<$<-<2<6<D<R<X<m<}<<<<<<<<<<<<<<<<X<a<d<e<f<j<k<l<m<n<o<p<q<<<<!<)===2=R=m=}= ====f=j=l=p=D D"DYDZDDFFRFFH"HYI <I <III7I"FIDIRImI<I>UIiPI<JRJVNNNNRNmNNOOROQYRRRR"RYRZR[R}RRRRRUUUUDURUVUWUmVVVVVVWVVVVWWWRXXYYYDYRYmYYYYY>ZZZDZRZmZ>[[[ [R[m[[[[]]mm-m7m9m;m<mR}$}-}7}9}:};}<}=}Y}Z}[}]}"## $-0<DR#Xd#(  ("RYm>( RY>RYm>( < $-<0 6(;<DM<R V[  ((   Xa<d - ) "$-679:;<VYZ[Xajkmnop)<"Y[DRV DM<RV(  YZ[   & )>`$2DRVXdfXXX7X9X<XmXfXkXmXnXpXX!YaYkYmYoYpYYY!Y)ZZZmZf]]}]X]a]f])^m^o^pbbbmbfbjcccfckclcmcncpcc!dd!e7e9e<fff7f9f;f<f}fXfafkfmfofpfqff)gtgXgagogpgqgiikimipjj}jajjjkjojpj)kkkkkmk}kXkfk)lXlammmmmmm}mXmfmjm)nnnnnmnXn)ooomo}ofojoopppppmp}pXpfpjp)qqqmq}qf"#>Xado     X a2 d  -   )&X&a&d&j&k&m&n&o&p&&&!&)ooniprobe-2.2.0/ooni/ui/web/client/fonts/charter-italic.a043b97f0bac1546f96bc31abd6956bb.woff0000644000175000017500000007132413071151301026676 0ustar irlirlwOFFr FFTMhDGDEF OS/2R`|cmapC%cvt (('fpgmeS/gaspglyfdK{headi46 hheaj "$xFhmtxjDLnlocal7 dmaxpnd namencX&XpostppզpreprXtgwebfruQ=Fcxc`d``b `b`@17xc`b\8iSCf`(Ȁ *" ~b|L #@J߁xc```f`F1, 7%Pǰ?!c0c"cc$LwD \0fWa!:G ZcL7$dz,zo_?X~}p{~̻%On&01522 &t aaecWPTRVQUS70426153wptrvqus  OHdhim8m,^|U׮Y~M[mݵs)we=.dhPV v]vòI r144O=|7^ΰ#=S~޾S&͚=gϝt ^&.UOQUb(K;3H8M,#5x]QN[A  9{ Սbd;i7rq@D گH!H|B>!3k4;;sΙ3KʑwkS$6NH덌Zlfu є;j=o)M;Z ;4: !qKͺb00.?R4j˰Ѽ34@Skm!qK˦6$tUS]`*́Vy &ҷ$, b 9@HƼIJ;ㆵƑ6O'ӿZx W.\vUi+-nIjm-c;lN , !$Ba 0Uj%y&4C 3,3x0f N pέn; ^JU%us=;=ŰcfL&h6WY&G$OQbN6F&"zFpwȼFpHZgWS.y.}":Hvqǽb+o;#b<.zc&72 2$~1 d(Jr26'YKdnV`P.gNtuᴣ=Fl;٣,`WwmR ޑYcL2E)2BTE:a`$Ѣ[.W_wT0F|S[TxC]Zxo׎pr%+0=^e$vǁR,뵳RTMxԘb% d``]Elzd Nǒ&CU'yFr re9'A^rFO p3DrR^x ΙRl3R3:lSCzyi+ui>jk/SC>MGG|Hӟ ҟ:|Q MpԤtM^jf; 2bsVәl.#h}$I^aXxvG ˉY ݕ\Ig0ɫ.j#+;Z1un:`koudsjW#'}c '7֮"{222ugN^&q.[QLiSFvG3Syx1͚%zn^NIw9O?qSeyxL$L'zc՛O^zT̪̫,d%yw[XO{^ccukEM٬5;ڴ$۶HOIf`Cx40u:zcUuN$sS}D56kr?1pzͬăvFb;oY]d;+XIXt z/]"W mv3lT2moȕS YK|y矆5ۄ MQ;)ۚM4JLdIf6r** ӏWD;׌p=wgn*Skڂ"2F8/O@)Jrh,L7_Qr\%\aNC0N:FP z'ق˔6ea"rxP$UNٯ3N,{meiHsX~DŽ ̽_m^JGan#Ev+`)!EAJua)J[j%mn4F`2⩉)X e! Vb#>bܩx2w;w17~0j7J(O6,F:XE ؄7BoFH캿7Yp[2V:g*h}ZBReLG'B͊{֯\nൊ5 D2Rs3&~[OA揗 7R\=b06(@^>g_`yj_B nFƒ ԪȃHalYg#Ao֢yyTWM[wcۡ{vh!?s )/zঝЉȕVS0w@7R`,s>:SDmA$шjHd%ӌNKњ6# 30[ęẫeM.hܑ ,grϮDxxQ-F2AEb<#A)\M ~p^ Ha1Fi=HREDjh^785z:JNM&4\ (Ʋ+zZzܦI]s^#ývHUjvmɃ;}XY%01Rb(z'{$󅍹VJquS1ҁUPJ~p*g`=^ 7+4x/f穡MC4} >:mi@)I>a7; F~сJg:}wڴ5zSn<|{/i{ɮѮ]ٹvxYW>W f۬D+E)Քјpra2MT3fPXk<)-S/$ XNk i 8wO:JߚS,z$ʼ[IéE᱆y+h$jXQ2}`L>w0D 6*dMr̀%wNW3y;TgqM>"51揵M[lsi~y󺭓f oГ"l_W:ZSE_ /_kav2ug'V ?$}BQh] .UL 5 FP 2"dlƚ6-r];\!ɑm;&5u'{7Ng;-ft`aQqXFAŴΆB/$Rlb ':2N5fvy"h8&*!wE)c4 e)6E?p)cx8XM(1d ,:"Srڵ]xʘC=60o`R [d NvxK#BC0VFbH> BD 0:zFEjd)N[5gdHg`t}/jwto y7ߑѥ<*5u( (73@Ir3"lݏ O+>Ć<* |4"DF=YЕ4xT1 9GP_D^1nh}?+]n -fDm^?]zCl`V1C9JpjE+JCi-K5eb0ۼWSt).^v Aw r%BFebGyilFNKQ A46:FI:d jj<+GzrXpIl p#M]ڵvjg7yXvAtsCx{?q$n3L3j{z]D.M7҇]yF/zX20c5W2уs&pGPH[n؜ƚ\eنܡ_"gBL7#u%ˌnqQfFr?Y."c#TFIpp,k&q\q i=38tti Q?D: fi Vnp/5"~`t2EI<)`h ̀iT Ω9E404L/LBx03M 3J/'פ >$L?'ES 'b%P΂eB.9{#sؖ|wfOsng29.=0vh[Wp@CuS;Wމ0`!=ܠi!n`B#Y)&łaGªBKiТ6jFut rq*R(ذ*e7mYCW+n~jp{9x56G*/P^y#U6+<h^)co*/ktuNkYE  EFj2m3)ɑ4+G6eWi2M|}\ ^s0vWT'%`L6Yh[Qs кMĻ6y.Jj`Zp8R:`` *6/:2:2 `Xmd'nۇ!H~-Ɉ*}EAr.^(@ ~y`_pxrvf/D$wmͿG>4 840_?WOҦ}sV wF0;u[85eAzN5YoJB?M~R #H˥bG.eevs/Wj]FuHtc$G!M:+MdPU:H+&/OE) D"HT3%lhq jB`giCh ׼PX*Zyծx4x['~"on}Ӧdt$Tu~ `UO@&J$0y'jX"(HR,[T,ʩˬia"pIE%=w34{g9=m aZ/R3rah6'-,Ŋ7ÑYy6f*Ŕ\hTSᙢ^D2fQ{y3Hs٥u_Jy=M&Olsmnvf5h+-0ƒPJK-/WqKk 3f9p J8ݴ%2OUbN41O,,z ];eeq&čHV SBzBĩx~tk0Ti(XW2m_D=im_SQ"@`^-7maSh9l sg/ Z . V9#vbd]~tR H^u6:{c톿(3ﱣ{j_NIN`cF6٩xB5nϢõuC?i#㒙H :eck}Nȿl~혳) ~,bُ Qn7-c}Be#(`:BZt#ݩt%qol|ܽwؿ؆ɋ&@420O4?qG;q#TŘ-E#}#˘H%0J(3#k*S-R*Z[E5bA5YHFRGwz܈7h=~-`1~}u?H=o0mYKɡ9G|Oc D B8U:L~%/ȼ"-/`0ꐬ5)#Ȧ%Sa8s=#uR}-Hw8L7ylc*GG^;:1_ 7i}b7VoSURY1TU80{`橿/)/83v@Rt< ?/ TXxaFL* ܱPEL Pմ @#4J%1JO/,甅9i2I+1TB(m\~|): ޡGn5[ޣWyb+ZgKlJsVMN΍,`i#`y s?S/71YWSnK ư/";uX"*,|(\lY8ښ~KFz?/w umחwRؽ!CK 161V17ͫs\Hgۮܵ1ڡd+wSeղ&HkMcFf-Z;[\ջ59{cn/!,I{3)}1ȵ[NVZ͏7փ^aFˆidWQҞlhz[%,Nw&f`G|K4ZDa!C5xM\{滯2seM߿~QidEvƟdLqba+Z.U7r/:c1(aff%׌|cXtemJ+fԕ䘎bBC-(/\uF,)\e\r>*ׇ5FsD\Ubp`drΎﺭngoo+ScX2e1Z(&țo/$sYH O)KSp&Mh2rnl_ PK;ֈӟy+{ゥy%2S|QVd`-Eq ppO:[4iiFG3:xi @ʁ$8ziۆoK2vV8eBw3f/v('a3gj=DJRL52U"DMӊq2*4rj̾ }k?{3:dBWJ_^~d"07XLE+ˊH(S[q CmY޲:hb#z}raZ2] F7uXGO ٫M*3~L7L$fG^7@%7m0Qdm<!*Q QjL8MVI51#%O&5eHog'==Y덏5  1h嵎O $SI)Hڂ*Nc\5 Vtu}GypfM5ߕyY,{rI"Q#oe= b:-RFX4pcd 1yYcd5zna\LT˚:_~{*'a_"OhB=K2U$4 tXV"p-K9qߤte]0S՗Ev1œާgd+=6s%kV` Re, =aaw9&[W+y5{ P4a45FA0F3m2G:S.,A|.Iߪ3kT$hՙ3 ClzO>𞤩ǜߚYeGPͶڏ&'v\ pba뾝78WV^ߧ\* 6t:{*eͨ/_ؤL%2#;@jiC+:YYCy!:dɕBt[83tjug~1!s}7NۺFʽTnChOon۰(K!?_3J 4c'`#CYقU1RfF"2=1|QIƻd㺁 ߻9X'Gzs:u/m5:+Mm:.{i)}ei -VوWbTCj>M;QRjc k*(xU:^pN={- Kpq!1 )I,ݕahķ]pݰ6%Lʍ5\S3>bF\*0PU2"ȧő9Ll4300ukREQ&,f7X:T $0ufHN#F3tZl[VL4MȌMv:W9թQQ˿Z,lcz|7fĘ3FQt oocNø=̈́%gK#h@PU)Jr@ RTxK}F6kt^ãd秭vpo-CuxlT`:In줚L^T"mޘ͚?@`Vi˿{XĮ֬.D< 釛k-|Zk5#aruXעO]x!y ʹ>@B_CW6ˬ 5D Q7HԴ q(dž(Q80ٴƽ'.۰o[0Rm{sGpk6g+# \Sw0jupB P'y@h-Qѥa Xv'3ˁ<"VrMhby^ܕdRNqkjW4DwmU+M6lߖ>RN?ޱ3;awo}E٢)!LB׍u3&D~ NyWCaEkjyvأA!Eav:]cQ$1[f,R( (P ؋zN7vyO4mrbhRwY{BǮMg/DO38@d$qbAw̸mJ Z|ZcT.VK2O5dG8hBH5 =0勤œՐ-$=k~N_[c0`RNsWIljMT&KEaeMm: zn–i?xȀ[K4/RQRO͍$ L"DuF׆Wgˑ@&ްy֤\yhդt6ן J!gJ[Ըg7٭qlg'Gi9Wl4jʲ K7@?% d4rk7s̈́.:Xbc P6QrdI&[ۧ\7vkR5T􃱡K*[SĮ G_{1irE;y Ͽ27o=c{٨lp]de}bLGALtǬ^ 5 ]_O@Zhg$z}lG+[@#x"D" yI)׃"ca$/H^h9Nxj2c)0?D5Uu5B"j=9ڴn*SHtȡ|H6n?4L=Ur9p[Jbpf^"ɏ*ݪXJIY &]~ރJ03̴Swom&AO$BYfzpSKP/?1azi}[:m!Jsy]<H[?[e86(o 0mE65K%N.XlpUk0+?@i?e za,x_t@]YwΞaN* $kz".g-}7p3Ҿp2w=߾>OzVkq~2Ec48g]UW4.j&D#mZS*$ֆے[uC{܊ݓWuuㅬ1<ꮘٛ +/u7Hh棇T?c>C~O0ԽJ?5V}հX(=SbkAA랙iӃeN"T0H\% F@M"W"NHNC%Bze镴񉰷?-]5\ZMlds}ےqY_o~w87}a* L;Z&4q$#Ҹ=*C+ˤ4h!W)D rxaR68MM%V߯掁S0Kg%L5>-^N"|O?=ŗ^1{'p5` 4^?֬?[iiKv:) bkd&Е^ڃJtHysm[Ove<6֙۸vgnkC\skw:b=Bx.l8^7GP{OϕJ A;0)=HC Y_]ڕ0nrs'&Pc˧r0}wbS^;9%o ].^㯸KqV^gOC$尖j|#zX)T{2BО͢w=A93J4fEl釄0MlZkK`V+LU z#r"J&Gr##}+'gpYkdxv}p#G+{~Gvyݠ#YLi{\UXkJuverb, FP^g/2 2nUݪS_~qKYxmӴ- c1ଶpydp Kvl`?ҟfAv}wUuмK'y'7c5/ڏ֦7=O6s[sp ֦@oo/=`MTVUilO CC M^#'u?1Uf@u7hQr{YJ鴷amw{yy$. 4E6ex)(FDHQ-Iǰh ݮs(zW0bg-]ah{Oq ')(]v^XT4jɵ|r݇_֫VS.ڻ"\V-dTWpݽW8|ȥwK}MM +Ny /SPzkfD4iX%…h Ƕ=vgQ!ʹݺ;`ɣaFg0k'"wro}壷+/ܧ/1:gQg:Ch$-YVoh#VvM/gFDW1,'+VR.X<+nCk!hp*M Zk˥nd to9Vh0 ?wUW@PG)/+XrnSWSBd5imYW!fs8t\UM.LThF/ϴN`57_מMuZp{Ǹ/#0;s1UڰՂOuR+iWՅd(խԋj@LJcU[Js̓ɺ>X6࿜`t8GsS g1bGhK^?+Ba1ŭ(4%iի$Nn\Mq^(0,5y]:|$س:pϊa7m#Fљ~bё)K C{5|J~mUlf3pN:k JCX9/mkd)w/zm휯)-&og"1uzSx$j ah`g(ڊm(qҝ '\5D xKB,Eiv1nu62ѥrCO񧟦oWX'chb)Q6TQ[Q^,:PvTf,!Ba@=6v%?1[Vdb: $W#>SLvyI: ةB-'A!BGu+?=4ѦW5&+,zJ)8o:=w aaX22(X -%S5Qf5GKzil̴$vƦ?i&mË9NH߸Z!K%MgF/}HY'FLݸXQ*ޥ '^,é''|fLGdLèk n#k\K`G`( L P(іh^?fヤ7?DR]hA=HNf,%NƩV?RӢ~=~?sI? wF}X3޶;Rt3g[GDebCP3paS4Rրb 8e @uCɾÙxתL4AapmcJ=6ǰ 33"'*/zw9wG/?>PyaǕd?Bݮ6!+!X*oL(5AsdHNzѢ8*Ԭ;nf%cFiEn>5߬H~mL{n#1 D5 ,;ҌjF #Kk!ڟ(eAC$UMfjy4ϾN_6S' Ę*MVz_dILbr#F;-~Eg?KO2?}kTZ1c7ggil,3ıo4gݳ)^z!Ֆv^4T\ M$2B#l_e4)LMCiˆlGo^+#Ϟ"G-':[+6*bNAڵfl)$ ѹ0ͣțe$mev}Ҏi/،i)VLcۍ}g7pRlfY܌2 R oג֔U僗x(WPgv H+m:+H,D,x-/bK|ٚC:P[ o1.8&wg>X,#?CwoSw}Qdڟ[j94?J󅎾kDL_߇):].yX 4OzrPkgګ%zFNu E\t{''H0HrHa h$MFuyʥ JثS9"ZxhT:/a-l@ weXR ueg*ڭw^ܹ"9Zu|?<>PVǗXZ9+<X'^<ķ/]G]mv팏I0:HqS-p h#kI8){q`JSq|/<#BP7ٰKuF=I6ZV[2T/ <0^crb6:6QOhI!Il_D-mg%O <lZtԍy;ޖ3#Ē["Zr<'hpޮ۝7GF\2+NT6 _(*xUp#TPy3HJvو(Oo5Ih-.FFmx?7* Y'9EGv\?_`9(a)Z#uɲ̈́7/79{a̢F3 : ǙUvN,i8v"1fE TƧW?9J U y;:YcOƞYD;~SU;9㗲FRYYF`MYX1eM45ٵxXlM]J$rg&հm:e_-9YWY[%%*tjcJMQ*SV}w%Fx(e=TJL^CNi󦢑АSQ r@~/W|^j<|;/-? >Nah&S\2ϵ=fǞmxIe-;0cL9>1٤ SfG|*VX…Mx NC6FIAi7Y<h)C|eҧ S*I]ZՒ}wL{+wm\b$:sW̕ސʎƎo}7X.nOܴbMКLWwtlcQ/$H+;l+_i6wa,XW@Dޞ t̽:v,0)?WHLhY`z1rwajJT-7Ӏԭ5qCV`N8"]qx99ݝ=W͑,ԅ+kJ?h}?WZ#4Fm Xy{W3*IËs LشCr$ Y݃VhO}e'|NG?=&=gy^K$P#ai̢. [*n˷J6no9~) }GfVn~=A&(9نm@V^u@8 +@^c͜jQgImͧ>~~C9?J䄆V9{,ҧ#4,-~i`aCT6a @9p4d&6i&6F|O,;d/<4)溰/ή5dhtqSzbz&NG89mIms羺x ֍Q.Q\%UJMq[M+n-(eK_0-A+AEe x2 *”P*-2?}9Zt9-i+. 6/Ů*wG(%UNcD_Mci~m mݚj\x _xX%>‡C1r(r]qe }q=pj(3*;(Z 15B]ow.z9 2^,`MZ.h/%xgQzQXWJ i$hJ'>[ l,ڲ2-WKp+euTWc`û yO7wzKo:fa_b#? `Dڧ*^Fu[,sm x;P xpC1 lQ[&ƭ-M B]6rqȋ!D]~)IbsgZĆk6jgIآoܳ55L]˦=ǫ+8=Ģw_p07/jWkʑlTb~ 17hM<|m#Dy*WkS'mmRK6;jHyp?E7iBmy.ON_#fsؤ9s yRÒmPs۠Q99d.)Vl=jœj3Q;r [h$^SI>g}yӌ:uyy=kaZei^ɴ<:﴾-2̥Wrj?_ieb]ԪNΠ P`q~Yqrh %xtaر"v:Ӛԁ˨t"[qSF֨ TZ`9{^pg ki^?2`<̕7>BMi׭alZdMdg/ӮK5`bdͱ[Ա_~ᱻ^#كeGNU3zq\/te}=l~Lf P_mAhg{2iŜ =!9R]0s!D !uBqAq#ȭ~.) pC )ф8I[Msj>unI|{6{q 1Ɂ} ?Zvwww6)n3{w}hoML-=ozF/-y M2B֑I imN9AM@4*Ih! Q>xנ +,VւF46!ueA"&H* %0ϴ p ikGw5FCš_|؀/7P"U0;©_xt7&^zdp-zOc >~G@'<.~_p9fdl:^FItT88GNSN:;ʣţ"gz|K&7@:Wi`"_-1 l a0C8gXrx(؃15/;<`s{9;=s՟\JGR]Xb ~b ! F !ʋXBμ6F4.KZ[I+M2MU#~o=a>C#p]>i}]s7q2Wl. 0m{c.A݂:~ٚ,J7M! `{*r¿O^]8 o`|>H2R@"T% ҅ŏ~o Guk ZvՐtP*`#[*Wx~ ~I"pYgvGAgGT]N2pR\!az-3We7/3c <0C xKp@zK$nd+/}E=R.1jW8 `~WQn8hI;C[ EcNCW3))[`5QR񲴆30xrP/6Pk}`\鲼`TYs41?MN$,&OﶙE to7L'ށ-YA@ l! &߻ɞkEȫBB"G8 /@LoM~#o?@ ]x\VyTv⚼ @)j_j89 \Gy aea:WmS &Bu;t R$9ؿZ==3V0~uprfh^ bYr4߳bnZ♍{lIx2>r1xa(ylJ _? ~J|:OҒ͗'l߾uw#~K`E!\v-`\_Yl4 $-S5]'c ?HN0҅$ڎЯpM<1{ l J_+lH,,Hկ1֩24߷of?'PxIflqf C8ɭa:G Z-1 Љ8}̹&^XR1s/v̋5clP%_6Ti,Kg/i8p0Kx7al]^*׽>^BFj y.ؘy YI7< ㅃ7*%3gtḦ^'l7{ rs0z8*ٺ5x4u!o_aj ח~KcԅOP6n%5*n[A0]z v85꾓?YK~BIЀ 2pZ-{|"k>IY{{9D.9Dx/HA$t)ME>E"!#8"#DJs8/Q{.}%gט_Kz5a8@{Zei=1D3n,٬D97z>Hn=c̟V=nuq_J]BR}mE=$)9e^ FN~FVנZ-a9md$ʜJ]KA~ XSӄ6!&fy;{)6(Vd4c<}Ѵ 2.5Ed.@m߾K?kK'QUB;w95a)΢..cWԿ/u 16Tѣ}z09^rJ x_A9UŸ9J+yY_d_9A [+&IdmRM2v0gx3VE+-\Άgxm,rB~,R.p^" D n 2 $ Fj|^$|4<r&VVt.*  p !J!"4"#L#$$%%b%~%&&''(l()$)**+D+`+,l,,- -. .>.//D/00P0n1$123l34H45f6678$89:Z;D;;<8<=N>>`>??@:@T@ApBBCDDENEFRFGHRI IJ2JK KzL LjLM(MNOOhOP$PQ2QvQRSXTTUV VW&WXLXYZ0Z[j[\0\\] ]@]l]]^2^V^r^^^_&__`0`v`a abbPblbbcfccdPdRxTMo@N B GP@Q% EĩWMv%8 q> E vyfvGWDn7uym-E*w $>C`S >ޕz5|5|] k?Ո4${e4vģiV.@r_BTfr)89TJr(OJGE)V.D2' xc`d``=S@TP x-PEϻPHo(Hqtn9WVEtWv?ۅh2yr)gYT6a%5*_\D?xLC];sk۶Զm۶m|>LU+_OH>=ZG: iMkȈu8Dm6qW΢ $rD\n-xrm#82˛tY/,"2khtn.t,8HZ(OcBZ|֕ІDH[(M(g(עw4W.?r9h*tnPt:6dZ ٜ2ͱ%ZG?w@A5m5PѮGʃiW_:-m@ $:HK8`ZSi]y!m(oM壴5F^w:K'P֫F;(u]T {wh5 ݜ!(N6D~-;1d7ӺYP~F*_Bm jǠ-@`&jpvQ3xK{(V}4 ;A9CwXSU @^xˣ(((((((((EJ0WvjѾަu),a"5 eλy[zT `eʵpt;{nh6qR:сR|P޴۫JW?cFdYFJzW?.%LIOT];o&Xǎ`c|MYlǪs8lЯBsuqzֹgDThy[lrW+ C۴W L^w  w5la]R EXi4n8!)EeSMk%-i ha/۱:Vw;RsCEjSp];>.Wrǣ'(eU#o;z>jnUoY%F Km}/7op.JÔ*DD=0n+/)'0fΨ`ߨY tؙ[X֮TUچ2mxa|+A'H͒Jg-L'Y#4ax`8H t9ez6ndd+I=G# ýݎAנ4X~%7bӌFF7ERu4K,zb[:`ūM͂ 剱K$JytMU.Grbyhnv8K 3T%;rB^e f|` T]9IU2{,'wa ujyk!n8tZ,5`N2y7,cZs 1~/O,?*7=Nx0,pI0\a .N ;~mjUףգT4&@wٝhz^' 7QuEEp"m2>ތo)ox"ustU4fYhdfQ3N#N]IKhbN >sh_‰BkO%#?wf t:o"ഄMsOU©#4 CVpx kC\i!dž;?cEhBLV?u1KWs_xp E{k۶ڶmN֮mFMjsPz̞ C0﷍߁FF۽ɪzR/bkNѩ:M -ҙ:KgW _Jm% miG{:БNt ]FwzГ^}G0AzJ/i_G a(F2ьa,&2La*Ә f23z^F`!;q8's -6.FcBL)q@qn\ǥqy\w]qOܧ]潼^mz-k6h[o ^t5{^UYq<7FTB/.j9,^jMZ%U/sC>{jVu6zEjs 8( ;6QnԟK+Rl#~2'x?>%A9/<1*ς,:yWޓtf60?WgpMdlݵNiRש@52ݩR6jU}nS|J~oy[}9 DafmI&om۶m۶m۶m۶m{x!މOn![-Vt|wFX%\X+a#lCpw{JO( |TJPAhɴ2ZAi-m-p2L I*idZYQ֔u9Eΐ%e)GW1TlO%VJRlj'ZԇQ}Z7S3M~S7LS_,m´~0qX~ߺhݷ>MX~j?!aZy5.v@a:̆66{Y(p߱NBjiY-GZhtYpWV1Ezѐ /bX+b8'.\[ՊZ9Vb|$L1/VXVxw7ޟD2ZjŨ=u>ԟ-6f?D$kx9γbD CjIWz7`r51-ԞOm9DDaԭv6*4Oضm۶m֠iչݧb/lZ2ONS#:3pg$g3Im3;tuX]  WO'mS)Њ<}P'q}LՇ#)kMzA)R߯#X T,@Rf*fNoAUjj+rUjZ@sFȝrjN&Y&R˫r*(PF8-S _ w l>.06G$tk=os_Yܬ1bXf հ: `w1pjcPr<9J<;g<^L_{<< >/ċb4[ޙd!&B)3):]$=̙lVl<whMR73#D^kOw?l`u0L(q$gA»8f00/1X6C9 ! Y&= 2m۶mcmf۶m۶m*鯘Y.' >'3Հ/V3wQlE.5.u. MDC+a1}1e1=Qрi88i<+ۼû|||*xO/2[n+`=v[Ijy^Gj8s8q:ɝN:'dv:ٝ.WIq(]tSzIo 2BF(-S[|W_$P$XB$T$\I HhX2FX'䵖7ZAjEyVZE>jUV/ZCjM֖ZGuZOEUk5m6xXkMM56D\k M--tŲYNkИЊњ9І91e`uYAlalQ1 솉쇙쏍 vN.n!NaN NI#ncnn3nk'ga De&C&GU@5Du5j_QPуEГEыЛч%З%яП&eS, a%!XAXc$3 [\\\{\\܀܈܎7܃܋w'd,AtBVY'e,%:u:Su.::BGgnѭ:=X[ݩ{u]Gw5ˤeVY5kfSYhlM6l17aa,ȼuЃzȆПqS߶m|O@PHXDTL\BRJZFVN^AQIYEUM]CSK[GWO x0vSԶmof&M6c֜y -Yb՚u6mٶcמ}9vԙs.]v֝{=y՛w>}ן 1c3CBb_[@3QCMR5s˒zaǝ rʍ'kmb +Wb>, nWEm۶l۶m۶m϶mu=ILYI$iCd}A·E yK/KҚWٓk̡KHߐ1}S-Iѷ%A3|nBP~)JBM$-7l"bd ',_$h! ;ha+4ZO$i I%iAH&:\t$HIQђlc$qyXˋ:/\~|)֑~kWߊu߹^7bO ~Kq𫫀4bѴn=҉]5dE3$6fvՑEl.Z#<ݵA4k\biny~y]g[J.( tQHl-캢:ZC1bhI7Ķn8ʈeHI˻Q VtQIl7Ơ^ZՍC5biM.biu~JAh{mюb.~]jAbS`ŎIn*H8]'5]t˄MbfW[Эn,xOw %vvG &XFz=b Ng\M\HX+?žX{͡Vf#b+Kԟ~,X&-4D{hbo@I!ZJDhYT`_Q}B]?> B#4C[ 0z'[Dgh `%Jc0F`$$ O)S%JgJxΒ-a=y t7XE7b{+)%8-(#$+ '/a;=(czH oӣ>1KLiI8Gc i"2 Ҕ& ӛ%Mo/URFoTK&znwKvzbzInzy~,g+z/7$2} _H )dI{GI}@ JCZXRjԑx$m @La#h ЖІ]" q%Q*Ľhg fgC1]+qe:${X̮JHܖUft]{еXFKܓn&v;Mt}.=$OI<,۸ob }͒;i/Ӣ|IH|V+ZM⫴$_N_%v:*ɷ%cIE᷿ضmƶmLl۶k+1m[jxj:=J(If-AoHwI'-#_tDMhDMiD$hDix[loIO;ŷ7ķ7zK|\msķCߞ~(>/H||3/wߊ/@ߙ( I|JJ(KH(Gm%2m#:m+&m/6,킮6 . h>+kGL uբź"jӢbi1quhihqЪbi5qOӚbSh-qhmɴTZO\Z_lm )GlW\WzrznAqCbkGGOmO@H7>#>+nm(676IIč2iqhW㴛崻IC S%n%-vDH]m#nQvn3ľ3eYb_\q9t7tct؏tttKt؟tt_t+tt]tKi[\aGW\OY_\Qz@!=(=$ֈWkLcĕbMh4^)MW&5IJd4E\*ւ+KZ qh`%-6戻JFONO{Aψ{Iω{E/{^[H/kO/-WuWb5quXzCdzS,7(O_7,@_7*H_7.D7)B7-J7+F7/N?7~(A?~,D\TCd qKOWboĥo>߉ˠߋ}NI$8Y'3Wo~;gVDq'%J$ʠ$%J7$JH@ߕ('Q ߲w$JcV5CDJK${3-%~---#>E9RZ^JZAjZiehUTcw;%wDЃރ{҇_C>.,}OiC ]hhSgh3 ߡ%T0?1)]_: н:}8nFKhAc$x h٭h*mh4 vNfrIXOKH@KEˈEV-a%CFV#itg=Л=.]Mtֳ FI8@o%nVHb%%E$$%@KIJIKKXN+KKHCIMHXB6000 $kY"^VE5_jV˰,W 90=3ƊH1 q4i#h&8|͖F; 3)Oqѳy LzYUzE!zU􆄃uG2w.bEKI8G1 WS.g$\}%$$%1T^B (,IwVG-?]c;7MD ;_;~>l0 Rh&xc`f[#,xH%9׶m۶m۶m۶m֭.6/mUnuh@9+D PreB9QTEUP-@Q7Bt4-Ekf D'ytF } {qpb g9p>\W5q]qo<t</+:9|KB!IL$'iIf'eI R4#mIҋ !$2, R'r%O+B*h@Q4MLSь4OѲ Eִ+MёtFt%@wу=Oѻ }E?2bD,Kr jk:lƱl6[ֲ-l7;β{ȞwG\Σxlxv^x]ބxO>T>/:)~sTQ"H*҈"/2%$zb(fbX+8)Ήx,^H&CƐdJAfdQYZVudcJ]d79TNGP]E8*J2**ʪ*jZ꧆1jjڦ#괺n?V}Dk:N,:.K 6zEzޤ&4X&Ic|`jFbfjUfmN檹kYkmfm[V l+}@;Ž4;ηK*Ʈv{ڞ{>tbd.jkZvnF nn[ֻmn;ι[{:#re*AQ2tc)`A2 KA_6P0F?L sraͰI> 'EpC= τ[y.7>¾ko~'~_~?OWcFD$ĉ$|'ͩZ[m۶m۶m۶m۶r( ڠh : ƀ`XV`   801Ё>ia%aXփMa8Nsn;xWGF I2(*ʠʨjZꋆhhڊcD`5N$k9nx8x^wC${)~?_$IHRx$d yIRT"I#Ғt I?2!, 6!%r<&׊g%,KXQVF+U*cU[m>pk5ZdX{c9zm;.`+ٵ&v;=ԞbϷWڛ]!}վg??ؿ8p')p9UZNp9CQg3Yp9[]sƹp9//4&MJf9h!Z֠isڎv=i: :.k'9zާ[vcܔ ׸in[ŭq{QDw;]ntwݳ}~p,K̰4,3 R"f-alln{˾<6O!<</V#!||_W|Ϗ yrz^k{,oNyW;sSI"!R#6#Qb!eb"vC⤸ $~q$>~:?/+5~3' ſq m#(T m`j X NWo0Cf JaݰE9 GypM9 OkI:1e\ɥdFCdYYE֖dKAvP9FNBB^yDM@>WGQPUJܪ**ꪞjڨΪFjjکꜺ~:NfZhAgtQ]FWֵtCBt_=D֓L@/VG֧E}C[E6M"FcҘ&)hJ򦚩k֦ifjfhv9kyi>_D(#"e_鎣LJSosa%KnJC;38c8h [ p+"{/^8q}9ŝ/}tݔePҶT` r(+T ĐvȚGRZS;οO.$YٝN)Ӻ+hՄYK+,s2G܉erC 5XV` TЩtؓB1ŞQLE*"r6)ĐCэ_mw_1>>|Ŵ2+} i1Fd V[5)P~$B|?CO ץqunX3F d5XQ` P#$懩sUr+Km.I$)jH_uE>OYT @aIi&O77YW~SJ *fC,9PJѽȤ'ǹ/듭oĐBteUy|5/MTCvqb}xi Pi }  93PINby'|2`0ryiy?^ ZC dxW˞Eƹ|r|E=YIr|]?=2H"T@u  2+vj?< ZO-"H^]Fɒw`52(kyY dP>L8ܯ~`>olŬ`FC dP 2Nh؏ '!l'dGZ4p/Yvé4pE4o$llϟ9ˇZ 9P3e? 9h!;>7Կ@zI tMC/@QkādF&M"!2A EAi jpR DC)dBQSʡfu6:d 4 Rȡ*h  "! (@ F(cH!.8*jC=. N & {2 >myB oXp}6>͆G=dx#ha *Gnz ~woxv-/?5۟/~uo|k[_V, ga:'z߃R; xo/|حcCu.gabIxΤH~U/oہxu:[:_ӵ F3'-{A4Bf]?̾{NNe t)ӇBMR@ j%&zHRe i7!d.!w "!2ȡ* (` H! (xJĐ@ P@ ЀKmB@ 9u@ VH&-4 bHrHĐ@ P@ Ѐ+` H! (x "!2ȡ* FB2(>K T@2Im2(Auzr[?[iȅP$ %DryIVC.""AE(H$H$ -""^1"\DE"E!QrHrHrY=J[.EBɅKkc;#\/rʵ?r}%N7v!:ؕr]Zo~|6"D(?}"1=N= bȵir+98kG޾2[8EJ(JK)L:v#7t@ P@ 4!/.k_Ga>o% gu7\ړT}h9\/۾q2 0)ueh;O{8qyJU֤DBMKk!rJinC?KPn7˝yxSN! Q@${ppsJ(H?YbKuJRȤSjZqOx궁%T+`Dݖi{~ׯ-s1yO6'Cϱ,E: DpN" LU@5X8,u9PB\PR" *WExclwҍ#|r0W}S+ L7ݝs~aZ~ݚi9O\r(n,J[X*Z uM*JW\B<$ u.Ԋ)|<'¯-$ C0XpЀ/}ebVZHaFZ ZHA6LagzGXYGz ]&eFSUl*n;*n;vk/sێӮcWqk'ĥ,QjD" ,Qs ,8hC-$ Ch ,8hC-$ C0h0`ADh!AzyV@  B :s XpЀZHA`^# xday ,8hC-$ C0/h0`ADh!AzyQ@  B :k4" = 3v3$ fO'w'u %k5t2ooOE'x|KN=_wѷ8ƩǗr<޿*#ZJ77|'u*MOBQ?YF0WyU4ɠm۶m۶m۶mvq,?$gg7wOe傹17_¿Ec/GJ,Ka>lNKOb<1dM6e.gEry<FrRLP))<,]6VدWoi:A?u*H,`և_F`GE΁n{Dz#Py.~^Ogd3:c)hb3Yͬg62K?5_Y!Ԋka  >ZkN λ]ʮo7سr{}վdd D(%ʈ6h$栅(wNvQi 634 {q,gq\ ]q/dzR wG%&IBB8`;d Fƒ)d 9BN MfqK&nOw]r'WT&i9ڐ:[>z^} d,=¬+ϪZ &El-ny\tV^ttcނyo>cd>/Z~?OTDQ@DCJt}1RSj7=ss*,w-$`Eb^xԠ)bGzikk4U<nߙnſ,AB, G!DDžSBpI&o;aH"/Slأ}yrfX,9j}d3$3L#sx~J/!l|N̈89 #DP[y݆ܾve9xV"A3̃yD3M)L<20*j]=;Ў>`qyoI`X#-ǫqVZ<9̞ѴҸ{9_ ZdSyQPSx)>MlXXvqlgzv]lT¢ml֕w|0V0ɍg[Th\UT{lBhp'TL3k.7%m` 6fjQCS$ ˶'GeDqFѽO:*ˡF콮i&G1d$pCd@/ `$9 !r?FC=S;Ί.OQ7ߡVYe30ʬhD&3DFX턲f_BG0_S20dGAU &}s>vJDcɠK9.-#H!%SHF# O H qDsDCqPJ IWa9),gL&" 2 ^QqKՑ|z:A5z)_đDI͘Jw䀘QRٳ`JRJRqgԄ,^3YB!CmL(Cd`N*_1cylL aO?(9>1"Øif#9Dc5(󡌟#SYQr]cxI9QQ*h_p4p>oy;1Dٛ5b6m_zom ?~*]\=<$ b(Lyz]n䛕^pen/WY(Pe/l " *[SV\WQ_]#>Cģ&o߂  3C_F#;x?vT̖)T0jb=#ȮWǻ:I9 ew7m [ *JqEp~ cI69s p{0_1g r(6-Ūq)j1~]d2% ;+WGĩB*A]Ldrt֒ĭiD1 c dP0 XW&@i0RWx6w:p%9(XuymI3ɮ lg}miZ@NQPrv>5u{,_ːaX 4q);|0ٻs^h:.;[=#F%P4$'ii{z.1>kZ6ۜxs #2HF$&&PakJMc< Ѻ>A]5MMa>"a )`D2rt# gU0`=0NT *c;cp#]:k0f?-|W6eeaX#A ĐM"YM4TjgJ̉"fy9Q7)D| Z'o5ŵNa$V}te1]pƇXF Sس.Twj$]B<Ծ@ML(XIP/LK{M`6W#L]=ڽ("szj}e|ϡyf]g=|WӦM^>ַxqT-\9yO 9;p 5C*Y!)_&8\QYUpiuh3jܸ`]~eR%UU_s3v-2E OFӆ#`<I[~ j&~Wjt߯4~5i!FWyLQ]WہܣD{HMpberi4؉!8řc꘸Gb? :$ j h _ *)ܠ}Pƀj%"u]!¤=W p-ebOR3#jI%Ѡ4Cq|:T$56z"W8LkҠ HLt;(VB_5>uq>A_np]"(C`c:[Z (24">ƌx>/Ŋݫ !6i)%n*۳@.G/"~\Y|Zuܷ|-l߀ڳdU꯷Ҽ\W>~~ LxRIy$N .$ +oٌr2F(?>@u|{cB@\.1"|vpP^('*mc5m 8(pdp@tXdy@5Z+} ';V$~pU :呡DθGBc?2yGʔm28V:|# |?CҘWZ{?z?lOM.[}"nioq*T 1J* me[R ѱ)Du\Q\EA?T\ʗCHcy\S߷sG\Rߓk#G0G MXKeZ>dĂՠ?@_ Jᭂ Kk2eS3ѱƃmܽS!+S"܃ _>>r!9ŷrlWv!Sg%(8!hBXkP $Mϕ^ |P BTwO}Zߓﲅy9ȗ-)ܞfa,ڛ6nCLB!cQ20FbL1{Zm_G&N"4UIJ{A$ f\hM[\H;^՝in %*^l@a<.oavEqV#2j2d"+vs^K\G1 .%XXrLLwЅ ¸ ?(2(݉B$cemRܗUا:H#+75^m{F-=Cd7*лgD`U=Z{-**;Z5lq]gW'Z*ҨmwYו7j c" BF;)ϕw %E>`[+Z[+CB #^_pɀ11L"op0|(7!l"2Jįb0~Gi \sx(Sf=jKzWv o=^PLyu9&ڝ6 :A.ua{`DԺGpDw,>6`A61lwXHg -gڏ%"]'_A[0R0av]@#`xfAXK~%#]bhp=`5^RX](Y6K5;j@ݸr?42`KUl |)qbwJw4. 'PT1bv,0]|>jU6/ oxwzY/ <Ц n`#01ҭtX?|CPzrRfuj4j2lpcK_:Yلl##9 0҈eN,i撆.@XCŪކ2a>pT1#cM =\)zsI{L %v-yHSQڀtȆQST C& zr2Ae&HB/}X7@69SXP+``Z/m˿Q= %#]koW}jM>vh־Iy'LMv9u-a .a0 9ГS,uR;&C8_Ʉ#|VpȠD[+uJ[^#b>l?9K4ԇWP.AO<d6011 V8%ܙ4Mܹ:|WXn+!Ӄ Q0[,' &XFưZ!RxF)fc#|D-xHݤiش޾)HG jgg`wvӪ6/$0 0 ;PF&{h?↖2s W0[B"/\7U) W^;"`@9=*asxg/Q]pXh4R !))@)뤌8[7i⫍mϳE<@&>x0ۄqx 5<-c:7` K ~ߎG{L)u (g8~![n'6vؠ"zrA y˽pǔ6)RSwgBJqΞTQWjff'#ggHqp޶l0sk:QGo߽yx)a_dߧ &G`) I7uh Wt4' ed.Զ <6I?Xb1{岹p1EU 7U=sYSŵ$6 0}5H8+V``PA H ^ZՔZ(}pCE"҉gk{cq+VƸn'TTxJ*/x9-;uDH<,QXP֬jռ7; kzDZ)`^2`77P:%p4`!s$`{Fm۶m۶mk{o}[IRiB6!  p%[^cڦ7TjeycR5Zgm[|x~`].aRawdP[7߾c??u,'ݩs::}.fڹj]ׯTum׻?e5fs4g_}_Ga'6؟o_c =P7>0$0#)p)4Sv``~raHLʨOB?vy*n W/P$#$2683R:QHEGDGG7G4yԁnH=n+AiEZCj|Vsk?f2r5Cu#O3~of,UYYd}lWvzel59r|eܥ*T^ͽZӼy5=&^'拥Jj:Fǎ!(ye܉'45<>2~?N"U6*=KO|S2l\U* xP%zƷlMƲ68dw۶m۶m|oH.zj E1bOb=LI=I?'w$S2r=y:ELDIY@9ByNSi}ie4/Or zW+}14À1v1[0%?Ù˙'7YXXD`5Ҭ嬗lĶqOqy g6GIpl\岹nn}|Ӽ|_w i@&hCW/"-P x#)F8T8E]xMB$DDEED}IK U2N2URG*^CSҋҷ2, Y6MGvXv_n-_)*t"H( JJiV o U'n*ʭW5Z5OCuZM_%K\җeXru*+*Jg9u\@L3@3Xsjc;X_;P;_{@{[Geuy}z#߰҈ƣG& 40ݯ&WkL55kcuMC>kp4j\glޤh7-HG`xCC3;BCPE(n >>~Ÿ+̘a Rl+v[8pˑ"5ёS+ѲhM4]} 5f9cX$D91!I*iKFǓWS”)՘"iszTzcH~Ifҙٯm9bΖ[[4OΟ_.- BEA]t˜¼b"-~[xx`* g۶۶?۶ߐkjj1d_ץ]60JhI& O'&'Z't4"vVd,>R/A^H@H~FeCNΠfS/ihA t%}`X^B̍-L 1M(cb-a-gmeXD,MuK.-1M&OH<=137cxƑ 0uu23Yd* e/Nn$'-ǔsVops9fʹ&>,@@PT5@=pgsrM\?!o}Wȫٹs95yʼ޼`5G_UUYppAav+L:m|2/7? Ejg{CÄ#!_X""—p"\ nGAB>_Ff~mef^@+/i2Dd.J*NbX|]L2B2]2S2[2W2_rHR. Hb%+JJ-=UZ\j-[WlgYSY|E9\[1 FrU?+*_VQŮzPzY:P~]3fe vhֺ] 646od7 mb5o.jٲN˭-Vs+6F/m=]1㫎3܎_u,5Kut;F )EZ' Ȧ~]U00;k VQ=RwiwrrrW %4( QU:C]֨hh~\4F t}D-ŵtt?vk)tN]zH2,62/&UG#z})}i}_sfm2-?[-ɖ,Kb,> lyhahlg]nwS36flb[Ŧ9mmwmllOKٿad?ldgՎю)e;6:8.8Rq׹Ĺsp:]\3]+\pmvqu]v\tWK^Ǹ׹q_sg/=K={9{:=j;;Ļػλɻ{y~/[ߗ+7:<^ Épg90 `3:v`g 9Pp! ȯ& rID)EZ=bG`$B^' n^P1Z t$]~A4Bhځ(z}Z2#DqB)O >yᆰ99!E#%=EF'EEWFMDQG4[{7sloZ 5lt=ec| kTa|+߃/<K\[q?1d`+b2xI\$X'p|YuEul}.$Y DȰvlh"1F%B| c=k-b^Ȃ(Xntb~ZW_{393sf풷K߮{۳ MGV𧖹Gm|;o۴zkӶ[7s%Ɇڒ`.j(kj)|5Rk],IE#8` P6"uF~JMI|:#)+viIቜxq*+8#mYc$;SY=T7/ѯh4Vo3lo*>֖"TX* &Iߍ( 5;I+5mn6Fۖ?ZlHYƏ:!1}_T%%-T(>̦I[PjKe*+{Sc'e+Zj0o&`t2jd]FW 19"\Oo +ST;wv2k.V6rC־km!trd !uqt(# νwAZkJsQ#( g~ ZAa VMњ%ºTA-ۇBf&c􉭸c)@BJ> `.YKn{٫#SV (>2eoL)_RYE>$аrcoeAۼ D?/MNFjT e[t\Uw>_e)KTj%r݅KTejo'{0FXsDm\_RGSWGoLTSʺ@VQè?o E]nŕ|Dl=ZGg?SY_*HQJ SN4[[.A!2ye_& +{+O]:3 v,u_6~qS,J >6;U`Ф$-Y`CsiPzFZ1zRZH6EOɑ ݦi˸1Y:de[o=9XwzZ܂}$c7{'ƶojg#!q/SQff,|fܬ٨"޷Sy y6 ;:9z4v#FF~ ORēBleߒϡ3oP(^¿ըOeKEi?$߃ڥW {vݻHq=s+GN4;@)d|S{koJ[lr g}7[[υ!g`+/ςQ{v}w0O$yh(C?.??1A83jwuG:jVܐ^1.泌w7֧h#Q-(6 x%EW99#,bT'E_/(ҟ+Yl}G=-N:EV )T¤((Gz[wɉ]7- [#h sCX.|5F/IZhGkHb#Y7ÑHaxµAk%9?,'_/u Mq_w_<3wH.ssvvG٥RJ;y/*ygu[A{]BjI #*`l RSEȆRX33l 9V}$*=\TI^e,+_qŪʢ 5T2 y4|S*.3Pہ\Dxֆ8:[7ÿaP7"57y/*#v 7ķ۝«ܪ[Z,>JZ94ey17Vǟ?R.ΥSBUE4g!sg:6_ЇP9}Gn!S',(JNǀfRV;cl1B7j;N;-ްDcG KnQv zJB_~Ő> j[vyvS3G@~-6HPWJbrW:AÓTu6Q'I]O0E* t@~-hvl*d>ʹ,~ k7(d  *K:MbZ Ɋ4yA4ȓs3`]v;<fFF,wif豕"l7Xnf6U ajyt֛P AB+@DuFIqc¼VRyO]h}cjc~)v!`9 A Zi|^qt%LL6At2FL7U=_B&d=hhg‘E$<u {./sB\Tb6Eb8@`E)kR;Ǽ4'nyv n^XL4zhM*TЎ3؛j< G}@ٮUVMrfNMTp޲01ƂQv fn,n|*hՑmL%Bme CO0 i+5 "Ngk<jSIy w{fL2'BL9w٤L,$` ‚e"r{9C<+@s?z]+@m.xLM~ љڎ^CܴKV *Di?Z5J)C0UwDŽșFkQyt]*\-j`s/YBCUW]rX.۔fz_XHr8\FIw L29mmA#-f׊7odX9It=ۛV/U+{ O!|NxػDe~VmP_8ermVS"O) fP(u1^Pƅ Ǩ2_ ޻g }Fp/ӗ͛w+ɪT+G`D?ಝb(h$M À]Rr(i]~^qyJum |iD]G2elH_☿~Š`V )1oϦ2s)PT$/5꧓m5[[9_ΝWoUW4[>./͕J~}/fiXWK넃/jj2#`Rrt}Se_gQ eɭ%I'M- wTGB/,1%,1§ֻ4x)Gκ2 4FG3p{qK2͇1> aé:;j_z$$K ({ ^@ :qcS"*c'_SWTTPs򯕰$F\=E("Z ,#i3l°g'euk7YGh+8k߭ynZ;u 舃_V =|-ძ7a[t=]4/`:3RoL^ukQ4JJu+~*;):ި^O뿄 Zh۽y@;&rW*ZOup[,Ǩ<N%7DZG4#$b֯} ۀSkVY|pUZ~bl#^4*b9^5*.,;͝Ccos}KO+w=*6ޥo= )>U&AvS+@>UGvrj)vMJB$e:ʶuu0:A~"RL5%k[>RB52pNzp~K8,y񃆎 K0MɎa2b}oq/9UT\OXF'T^pRg;k6ZqxeI A*8Cp"Z =D?{`]>TMt\^= .^2L..4Jںv鼺c+ ^{`}aj)WQŰ= ܥ91gWZyx+}tUFkC3P.@OIeQZHGw/T~m#\INHKCZVZzeb`I%:M&FL;(Yѽl*H ns1UG-cONo]/)G#Cy9b鳾~^H\/{jsIdy'&Ҕ09,'h+}q0$Bp0y|H-A]D@zV8v9Qя8.~  #;_i^ #[ơ'6-{ Q?-؂ 4w3[yL휗cFy.i(j}Ibk ~T=zv'D\hg|ţ"{:x/\UcfU_-qOB՘4Kp!4inH< Ik+/'"ύ)_)Y()΢ڰz7@\R^=bj+ 7"%)3W@4Vk).Zu&;<8?0"ZSI)iq[b<$M>Ƨ2i?<A8(9~~΄ghbix3 (J$_Nc+(JU 4PNg˵ثKhHERUӴvhv?KήI8&)?? YT}$񰤹oݭ4 @`iâZ|u#̙5Rc Z)ȔW36v3];,^C#Xu6~Hs֮]1}' ~G'?ћ 4`pOdHsDhk{5MU{.6Vs NyN>Y83;r`sҿE_o <#*ݖ(tj`f$jfx"2mӺeTHpQGyZP^f_ P}0WͯO} 572޷e"d ,س˻i|Iiy( Kg8ՍȠjxhX;$g;T:YLΏmb`mWOݡnu˒C+=M;yBn3-`ѢS'vhQ?rd`e([<2+=iVɳ+W DNӚ]ra%7PrM/`SaMخ&L)@,œ G+8@2IdCZ4ą{x)lo ob`9X| `[u Ofy=3>鱆(a>@G^ ׋bDHrz@QTF-!x튈"*sR}.ɗѿ;;VṶT*<ȡsAOW~B{+sWύZܵR1x#;'vS!od36ge_  %$]yEӏ1Jj53o3η² MK(ۀTgzWJ`a ԣANշaz\ ˶p@Y/u2A82`x2/o+84}c2;0 8+3}4œ.ͅz\fC3kYfނt!KbH2Ow!_#pAD D%%Ld%.iֆBK W)Q?qSaeTDH1g?<@/vkzSk~b|AXQ:(T,xn :apDv˾>Y_[6^LnQQꑀ"r4v Z~IHA4XrDKT*$SD*C2pl+{,{,q6'CJP;=ʰ)ҁ P:0'iW<[-oUV6!1Gk>-g޼Y殱zC ReOoQY>ZiץUD}+WH'rDMQU_qO|5H`O<"Tz1 C]]n GgDnO!A(r /Щ@ڙe}o{jwUp%uOoAd5h|#u7<Ҟ~{@27"M!9ćii8uZ`Rw8E\$wLS@ގyXBK/oZlz SGj_{#X>_jΔV:G +Y5As;C Cj{"rùRG(# = ٱ3S}^Znؘ:> z\4], l,?NBD$?~>)Ugr$d _oN)p붦g'iP!ԾWPCD;n8[q%dK>bXky#굽`7$AXk*]y@RQZiW: F~)2doeyC@y7C EWyGcΖȬJHw@; d(v c~6X7Q`;.A Y&t 4N d`NebIgP-`drAYM˭?:C_~SM~QI,N[/A 6%G{`k’Lӽ*6i0Tq̾s?7{z~q!mI9K=f)eJ+|Тŗآ1Z6O< 1x53`Q(J\Rr+ὨЯeWՇ2h+ȷ>h&rhb+-27YQ[r1\p*njuRA>I̖.:l+sMg!ƺh~$=FL pu bWTwb y-u `יּc >1 ]Okw Uee|mڀ%D)ieDgZ8wlas֜՛ˍ/+6h.d*œ~sBZuFdjtaN@d<'1)S]6mD OubE|ouyfF6<|~Fpe D5TŕBNXDHz\~OnER1;54EybbP!XK5%^K.$ j)9SfC>}NK$@h:QrK I#F281.;Kg)`|6A!z)}&vR>iZσ jcOjj5!e#Ut]RPr'(τ`j@ݻ+k"ߎE ٺo{Wko]U&bA `C♗ A'G5~a+hlZmƚƷYUC.|м5\UVW-$iW|6i(! `> {nݼ[]b xKK.]VlՖ̮ ~œ竈,h6 JU^*A#]z ?wCm5>EO Z+"@%>& dY!͖~ƣ%p=Uޟ=s>a#i$B~RvSN_P$/A]'\4FY g&Y}ռajp9=TC(ܐ<}F &^ @<Ƞ'Ʉ5(( +"@5tґr\؎v_ʄ2p`ǐ,,$ąx20w@WJ%*~{z}5,:5=<,Woټ#nuzwhd7n[]11W5Yg3[?ΦCrVWBio=mkx'׬30KW]H;,d*~e8w.i{SR2*ӼHm~Mu4%@]u L}29vkjKDC M_C)oha#"OEz K0198hS<̮|!ӝ\m\r=F:L2%i ٰ ,1RIPTߨ{+3<+}m9&W{Ҩ{4WRp0J8.SͲON.X^sBߑvFrw7]`2dX[x)+Nݝgl}Zjz3O dQ!7m"3Qr$./re%%y5oF![>Q҈`Mc7RWdF-̽V-˥lKĶllKv(O4b~ʐv=4:Ј` n3ҰoC ⛷r/v3Nek=hsV\M4pMmh!17s҉5ZH@=w7/Bgp]Ul9:|"`rVCy!iۥՐ)j$jRAtp)AJ<'m[t#˺5|ct8/a"E Lb5cbCڬPE:` qRuzج+p~=^yp#؂at0h+[au-tjR8=BU!= '(99_DnȻm:)%'!yk@>p}|jLE+XXU_XvB'l1^C+m!NBx^2~a"}"Q\kef7+2CX!Cˌ BRF,~pB]ftQ WN rw-L̓H+Y0"5MaJewdM0);bNSAAUՐD\v`sPO0,D:tF}d0´ ESo@Un6(@iETeoO8UIYBЯ̶pmF5,RȐE,\>?k3v;B[Ck>~ bGm>SMp ;H 2`T Ŕy K6;IbkL$DeB?0OdpM` $uoNJyuO?ȹ I2oMjPӛ8ý9AWM,-s X_DL4TS+ǹStYζi \Ԗ $ݹQ 7w2.׎!y`aoϺUh^`׃aCKsƫ,2 nCInnG:!*RbjA`s0X9tg]L:^Y]v+=XzΜ=ϳY922(&-/EM)ҎeH:!o}ҲdHِ؀F ЅCu2BL Qx 6x{,&[n 2,C20 N)1R|O\:ޟ'F c1?r -bN|6֛y }QEɖ(Cjي"x_i+2-%Dd,#3nˆlD_,Av!"@ BΚby Ff@w!06`_,lSyUFHFȶFzGyʹzJ-J9YY|FеC\w` J4IJ) Oϣ#-vx,ֽCF򣓙䝸bNs<ya0} MxZ |A[S#/ >Ё;sf}MkK|c@d>BxH&J`eF_`1G11lQ_/?tz7bE\0,9Bjo"W;IJMر/;g۪)!‚ ū&K}9ˉO]Ccxwhk=(m(>_?9{Yv<:2*ATe&2dg|J52'XPy© uU"|} 5C0y0 v҃4d(:EP܆ZdadtNxlp@4D=h=h4hwb΢`Np|2,\8GIE5>..>>.~ΑG>](AVKvHcz+i7iY~MqZp%;?Ohj$;"I[M]JˆyX$h<&CObF+8ۈi >T 4A|R뇢Մ,IJfT` P~~9{)A /#tS/ZV +2|n>~Om~?T)G(ѣ0zHBETHR"Zv2n5[S-•ZW(AC5-e!`,,^6\ 5K- X -X 3lKdU>b?}Y_tTr+iB\S\ -Oq[18xs^C_ͼܨiO"\p/Í^ÍW>􅕸mVP_ԗmͅՖJ'N@ Nb-M8xC_Pb!iV_٤27}|!,C;svfnu`%:6"sJkҍJBrv[WgoӲq|t*VYU-"ZUZen=X,ڕL ZQjiq!,e]ZC /T q9sZ6НZUee=}IʅD\"WVF9L:G9*pQs$jR$Q%My5*jo@Hi¿EO0x=j"jԚ.Αb] <-NKc'HrP޷+|qA\޴-K0PbAۧTPN&C=8؏b|NW1ea3? ;BD4= MtWI&ePSMWKN]hpױ墽3@5v[ZqŞt`3O&dPm_]Ы6Ӂ9,;a)#@aF-M?4Gt像^?ȟ>H'ޯGtc{)EBŷj( QGs$m覐kiG N<ՠRgo3AN;K~#`4'XY} 5# ֤6]@.:A {$w3o]ɺI3&'0%42F[׸l$EqElϸWDOTOԙ]>Jx}@G/j~W/A yQF% cɅYXFJ)z.gN+s[`FmŢ*rIũ35QfT3ԩ~!*<5Qjw2lEȐWANF:φNUNn6)gOy|z`e.5p2]M*Xox#4F"2 gp(.'s#L6mf%v%9htfpGl1 f> ﯲT{UڛH>aJ3IG+-8 `+1~k0k _c@º{ V ퟁV`HړÉ!YM|ShO)j߱;bE8 $ (gf`,'3D:pۍ+#P===VD6Gh(y?@ rGeŚDR{E, xU]9*7 Ą" 2Ahd`]ڋ.ҶFCAIrov{vu'74?~=ͻ>n~>]Zx L:7}gjWk𘴽5!4h5+'G .~wjtiK#10k7ʌעd3i1".h*fֻrTS8Cy`&}|0 ߑHbYQRSaXS?3/|lة%=)n9Lq<1`vV.* &(uHSp|HGϹ^mDF ci^*qDuoeas5]?R}<$ydGCL %Td??ռ ɏ T_1BX'SH+=?ꎑ5M[w(% 6 p1l~N~]෣oFߕ;6h 52M4]FhRX+,{Z}b!9:,ɝs igX"GQN46Z˶vBHbMF|3!W" ߗ:y̱TyX$JzWjZ1By55 0b+`2AulFc(`& {]b~m l,U<2LPWFޟb[X]F L p&#*DV2HIF2"#c !nN?N\=lF-LP=> ̾!3f^Ӣm1oΑ_pZ}pDUSY!0,VYvEUZVSv?'z BFA`( QRBCi @W"ܑA\2Wa$ULv M+XFP!V 0 )PLV>Xvzbl.AyL%|DB@W~wK dVt](LR0, 4r h:YdD11r0=R9:4LאAy)'埮;űPi j58˕ʻ{ rXYϞUy?Z6u"gd OELAd!y5 <:/XKR-P )ן~ mM1cT*Im,RNV9\=w/;ǹƊ'G/o9A5UFdYCTpBO Ӌ ѯ?`#Q, 3v^0Xӏݵ;?v'H+[&ybhV_+^lcZռZL#0GGKFtKpL`l<#E4(VRL8eQ~ ZE70B|4M]64S+!Zeu]Q M. o]ҐQ:Zi~_Zj@xr[VJ*5|w~0 ^8ݻ^DEu%AE#6+n(o2FPxZ-ޠR@D*vVC&-O'*.$b:" $V"BS=;g^Rdn,!e ?-QK!ba4Ѓ%g*@7|ލ"y/==3C*qeK \ p jz{)> 1`}!򈍂u\Ts, %LD|N< ΥatE jsSX{jw)_W'j139Jm #n8 bp[bJy||}|ˁlijdPX@edf}f#|WjXvY{%_#S观#n{4/|t 9U~na: )C>_8b_f#6qq{6 b>P F2G8`GNEmUn6 8/6P#=(UXcs>EL U&0'!m>3mΧ}~LY5Lǿ,6AC`` &Nt^ͤ%EJ!rotJK8 {M+66f$tl.F`0 h'@2i.P#FSu?iwd#)=T?@:5leLqyEV=ct%!%዗mV+dfEiOM`ȇƅs,1htAKG3)qYpYCSKT۔Vx Yy$Å!c֯xtP r-K4YF86_ eA-s^TsO&'8Ң; rY h* )*_^= `׬ڶm%o8˝d8(L=3 IkC7GmAe u+ˌ̍߈ `8#pFV'o/@[jA-0@{y_W֯Xse}G3Āl @ 1bӾćBk\ 'uXn0 `Zs#jW0mBn,×qF Aџ&mzb)#bC |("*2bxހ1ux^itd t`fhQ?'d<6QKkV&-<% C<3Ovz6g͜:"B}`}i@7丌OۋW^ s2O5۶opC PȇdV})mbj܌(&]ER,BjQ.q"Lc GyE@t>n#=z0)qHgG|Oz%mHkhCqeO,Z0ڪ%sAc( 3B;љH[PNSLRHhwOpG +W~R hoFs2_ݯgdžkTHV%M`M'GLqK{P'xȸ+Cj-A{ UtX, C~b(F8"8?/h: ZXtf~˹st{=u9{cO]{A y>r* [v`t5 jj !ٯB:Q2:tOB},bPqj1stozJ*s{L0~ھ>,e>#3lOqpaG!ۙx2<8RMp9 OaRu,J+,??[n4-*צ*#pUBwu˲0Md2ABC/@|9Ra @}3z(= ې6zmpT͆d$Bn%V5H/I?^ t )as.~DY8t4tmz f6*MOڻ@oһ΋Z d6<[\$VlSƕ#GA(0~wsͅmwԧ^rD_^"g]aD &BAe٪} $t}-Rx&v9pN em ʺ`YXR}6F"'sr*WH;X]nFi%vP)D!w9x:'Y @2@W1H CpA;0 ]`AG wG>|> .sFMGO4ɢeokOB]MIQEy)F6+d\jDM{G߂|jؖKmkP_ff9<9Dį[OEYS=Nd#$ I>vHM]lUb$#[DElQ-V·qhQÑz9k-/-;z@0rXl2Ț &FR4:cwWfjg_-ݒm? ۰ZH@Ob .a6՛0I2[ij=9VkF*c"%"Y [0jئMy\M";SlNMJt})]=mقz虦WڄX&0A`Huċ.f?%BFz\ ƵٱE)oC`.eCG8fB[ݏ9KKBt6`cC7q>l2Z~: d3>tg}[(XC n0R%@t%> ;y:[}Va$15=4PVH Za'`'A &J ֝jh-dgc-l5|B\s m_DLAc'y8 3+wMS/pa'lX7_n'WX4YvAuI6,C;bl ,\5% &Iψ3 ^EW N, ?^><ڴW&^kK|)=Pii#9|1i/M|KAΤV zP:IiT%'c[/@ &W)A훻~p&g.B]?0afѣ'0+꒬8/r2,v3:_2)4xa*Ir7gnoY^ݔ (hЊR: :¼A '^C99%5Wtz%5 Ԇdu\*x;1)]b.5jΐ P+*Fk# W% Mx bY#CS+.,UcQ̯zLK+efT>!FM q9ُ);y$Ra@ zXI[|F/א+lT,5 q>iAdAІҸ%;;'ҦAw{YxHwD_%ŭ' YX9r`"C$ִ d)sLϥRCYNSp4_e-!٬L͞<qsc7V|1v," ISpkZȟfۀ%aɧ[(md3 =X2@!^걵)GN` <ૐ~G#C(EPBEhTA:/keh1$l){ 4V, G2ĒB7y$ʎb(T0Sq8K\ ,PY) $zrh?0lC5l&$l={#R@_F@HRcijSfo*8x0oCn[tg]uVtXůYFJX01ѫ22})E|"S08v_\sHzk0_'I-Mz=t 58鎤3b'4GM:\IwI'[&~MIW< =$g{͘y0f~5Q$sI  >9H檠J *P܀4(tHu WScW]5oTE˝ݙ6?} n0F 5 PӡFB;,K꧗Vpy՗Q7 GLiKOz3 M밨RN(XxyAݙb%a~kT)gڗ//x]Z8_g*`@ϸ ݩ+n8Vy zbFhFM-QSZZĹJM]ajIlQ\>ŔKTKMa6quǮՕǧN]dsQgw]cD L2!)AS} p*.c,4‡[b1y$9=y^f!(DXgĀňɉPqO'g$P}UUiŐ!3W4ރ o~~lj 'N=JJr.ܼceaam^!r@PVŕ1P6N e4tfD3bH R p& y@!sa[VYNbֆNt}ψ)hA^ ؃4<Sꐌ=@ZT )t ن7̬$,`pJ*Wh8D`/qY86&Xrg7; ]Q a1*<@\T@U)6˜=t[g3t$K=i)ȎaEH+ PJ*hAsK=]tbعhm3(/LmI1܋Vp6'ZA.z$:u`/-1catF(aUcR=DfBJ2 L;6 5胬|%7!걳)^%rqiވx$urX:RXE.$ 3!>q-֏$c11p J01nQk/(H3]UDZ[*E5sNI[?=|hcګ%q7m&S%ѺE! ]`(73A;SJ;1ɁgnͮTւLU=qB({4x|վ6fݎI,(yU[ӊ֕Zad'Esy!F0sĀN:yR$\ /XC%wrp\TEF[ jKfLa]G-:.r!F*k-a.LQedo* zaD\(1hqD ~6z00h{ndzd[0R&F>b.I\g~j2}3䬰ḟ#n7ƞڪf1:0}q0ƲIIQ ]̕^ Ɨ*Z%T`Ɂ9r-Zk1Od<¿$8ړ%AOЗb=M[S+OoXw;Z2Àn˓q,/±ܙgI@]U ͕yGG[#cxvbNP!E;BmRRsؿx.b_;A NӺӰEUWT YT2Z&~SsbDG;D| (lK\\=6tLrvwPP~+R~\TW4_TBoM\6v2tl`}u˃79EXY(MdYv熵nּk %޼ZRtM pM MDHF9?3 c<ի⦦yC̛g̛\gobz*ʼ- #k p_o/^!Lx|'z 61?ٷ YGF6avU έ;\ qW>t0X:ry) rRgՇcB _ bL8҉$dl]a:ح鹙 2gg'*óo r@9xkXWW.Q뀵(F Ϭ/Cz&{'IF9qiy('&B9 .05hT pG>7(Ц!~}65r=ډ̣Z׬{*NA#ѻ;Vzݩnn01<4 -KzP|Nd'I}NmpSxTǾNyrR$cXtƤ-|4mOߜ& ~ w Tp`6jVOm]c1VX͎ |cl ZWB'p//QxGn?o/?UDOHָ15<N7Rx&tbb%Ł%>[_Hh) 0S4J{ R$< ^z[lB#dWۓ'1M }) ѧÍJ ^lQX&'+a;^ȉ8 (rd}W)K`biy>#\SIh/LSf e S0K(B X<q&`'~.}¥ rqR4$HZ,@Қ8  #EU;|dQc[ [kʼn} BW(C4r}ĕ*vr$)U-C[|Ϣf\ 3~׃׈ZRrzr>Hb E`%Jj.q0C /l|Q!'z0ș Ʊfs< 8K/є[Qd]1&gL"̲F!"{#5,Ldx*_R0 :KHR/4<8\ZAi#phk]]j59UۉUXsQQ KOZbh>?OLT%GylG]ՋeLMm%hY)ԢL\Qu#ȵiI 46m(:|o<ڶmmXir7&7j/Z9aTj 6~mSF9pnepx 7;S9i,a}5lvsA\"^iLoO)[[QwlBldaY.%+Cza|-8JIH䒝[ߡ\|w,mef1;T5&`_|SW?I!̌MLСۨ&7ѥ❝ǧ4DR5ZyNC=ĜpGT@tf|̹݁q{Tݖ *5 '>2~J0ŜX N1l YTAfwC}~ag[+6R8~p>8&joԃcAсa|=ɇ=]&1'WNJh8?C^B9;^ <0iG;х䉝Iε3 ?'a [ص`;?[RKށDުiڮ{LNT%G Lު!;T/!jW 5JL>=W5rR-%ѼuMh2:*4dGR e! ..Y pUzzoX%2qz9ewصH;}f* r ;RnjKL>6HbXAcEAlY[ZmB&2Oa5 -+Q/{u2!_RG@'~FmIoݵߦ^/kW)KdЋFG|9+b$#M*0Ǟ<6<0rG ږya1Fb&t!4F"/-: ,.?nnn @J)&QD޹lk{=_O|@"[ȯ P,ȄlCI9xzlU-ws"$P=q 1PTLa,H 8RϽ^!Zuzڦ=HWmZn7=\}Bgp`Od/@~}U^aq[J(olU+7&maOU71f0SHj[5YNyjm0J !}!<#4JaIiOpYaוVgΥRSBTO 3wOwB/=1A<{lD~_m::.!hT:LkG :R*@tl*.nw1>>-lEyq7]lugro:pXD`5~Wz@|`:Pbaέ7x=cv+|Er_\YHQV0S z$LR95¨&OLcK<#cNSl#Oe4YcFFd\"w#eRsLip.=fyW&:2=[>[ϞKÿFHY~ӦTlmP@3%=6'O9X#9j lR.j21I`Iap2$ؗat1Odq{6I)噑+Ky:X|XMGTbz\3iGSkG m QlΏx>uJXe&+ڈMjļa-7-u6۸Qemj\y\K}”C UCt-9L垿p!oj"=V~v05H/`K)RetW)[%oWuvA1[{9AMV;+G r9 \=vB,nol@;ҭ}e2@F~v6T>@C2*ssջ(?K' + 0_iGI'EB*hS̳pUav*^jA:(GqOd'=v.7] &K<$%Ezk"M֫kZ֯O lx^vS:$[w'*OoA@ {%0KԞ=1^ Prd~a7[]v:ah٧nM-G|q6?ߣ:rYۋ"}v%?J2Nk5M<0D/۴=9==ġ,][K1cvӅ1d/dᐯܮpBb>rixx3i26Mn!1I<"R%[~\oR>vt)\|8ܰ/ >G җ"Wz%*N&阨(5 KE3d7eC{9,}dQ ɐ}Nbw0ÅZ Y

-t^IL!^T0}nGjԈD(UiWϥ&%D*o"V0m30[y4&~}7kˋg{B(Ndᙆ&^ڰZ^Is4&FyЗ ۗ#2,t9mVv N0 lz=.տ}&U .mqf?efkaWsNB!&˘s~D!E5ji-A_]ێ )$ܐ,uq.GmZdDe/v9J 7pVk*u͏@K@=q䑊7k\ת:9C=2NN8 ftH%H&,YZ]9:Ճ6EQd^n.bzFl>o%M^jQk k`V T =U{'Q6R67ɦtڦ M8t Ld'{'x4X_.sҟH(? =4kWUEÔZgfiCVS0&:jaDs{i̍ua@mr ?j.{[D6KEqj*[\5"ξ,$0[ytOx5lG4b.54GJYYsOQeWIJ3Uk(U9ߴ9#`9ʋ 2X- "r&0jք΄E&ѽHFAVHmKű{2"šzc5{/h R"Sۣt*r&hr> [ -YXS$ȱ5ka ^?Agq~WͻAWͻ;tKLsҫvOd'bhv*hà$tfWAJ#J_$ z1\_ L2+n^6 CAY =KAy[/ISZ&0B0U-Ku]b "',[į&3aWF 6\ՠ"\se\נ8"J|(Yaֿfbp-A .%8溶}⾌]%lcĘ*X"  +jF 4:;f] cf.(0 _ք23}oڅy0DAa(æ Cb޷۹T{8 E0TxЮMӨ҂OσCNOOb AA|+s%da#vĿI+Rˢ/¾'!Sf؏6)iC ;UjEZRpD0 ;8$^0Mx]-23H(q)Fү"?Q%$+symv[G%m!k5Bl*_ l/P?g!DЋﭢt^1܀Q؈ʁEd-%6=ofayF,MA9bEZ.-4|Do9&f(k&꤅EF,,ˢ*{4z.jc)[4\_u1?E^-uӻKǚ|X^ ߝ9@V 酠z֝Tcd̉mq?iÙĢK!WFoٳdp5E<ZXiԈ"zuWy1KjRߝS_3!_ÞFPGh>В¾,h9S0'ZĜgr#IS) zAoEzC|6Sk §NC|2$(h17sWXF7^R(h[kRV j!t=*t\ZX:΂> `)D[Pd ЦOR}d> ,RAODĄ zПJr edE %>06+bHLBMITWtPR@$@2- ~ Z Fnh'b)B =&3 !/BWu#$C(*gΠM?'Mc_ՠ k@O#* E{=3(bصXcU&g2'53Us q' qNipOk`L4M-ͪ|5JWv4-mVBER̩.^ba:D=+%~8T+^g#XςB条; ]z>_<"F{u6 7ZF :ՋH;؎ޒSBNca_T v⩋)R%2Č JysѢA&,֓YAo a?zP؅GUzߣ̫8klI3)`ڠOǰhfJ~3؞ODKG*s,G ڗ)YAp4~tb`(0qA6o)$X  JHD`*܆!_`z^G, _PƞɎJK(Ow?gcfaQRVֱ@cb*yKdMxuߜ?LcyxڻtVN)3ʏ''w5 3'gBUB{=T|gs(NTlR*Z(OO&^fuspc5J|Z"3NvY7mǢPN<­x Ї U@_7fgZ",n'F`55 OX_դ|`=p{ّCaBԧ3$^S]% :k8ɂ V+`)B.i!FS(nЕ,"E9f`0_D %8 _|eOǙe~ZpMޤ‚(@X|icsJ'!_잃ml`!XFZc5%H*<(AR0f  /d-"X=XcD`3$Ų76&Spgh|.fr~X`3O 0-Hf,Y멶͐-+&`{hX9 hȦ'QЎfP6Ff#G6PhrVf oTKfy/E5$NxhQG#ZREB[GE-:͑) iO)D~ NՇݡ炓!, 8z"=H޽ GO/hݗd?Oh )jxu>L44:шW)T *aQTc<>{(Dm g2EM롤>7h0&w+(aBXTs/pE$z7XHti?4P+T΂ZBVI!yV഼!Wx_R_FRvRaC|+|m)I#bS[\ "ނۉw`P`M !C*¤X!L8FCX>~^{^aObf~SQAfL۷b^]+{h',_@>=?=>|Πɕ[Uysoz/t V/˖M/X^+ {^6y6u+d mY21A<0 +Aҭͭ-FfDo#1 mfAɰ%GfYruo\ynj%)\[K<[J(r@,A L`Fvອq}Gȿ_U d>&)cq~pYӹy󕛃]וo^{\w|[$1djyYċ4ءA#{dSaZ!)ƞ^yB ^8&k5bδ"k[Yk󅃽p:A,ά3S향TeJҧtinvB+77en|!zYGZ9ms肪E`*zᝪ) qm+ <엣[\%gQ"hI>I H%J/:߼ :ͩ&>#q3tRiubby޽ɋ/zjR7XAa* 3 ~tw2?]3LL> @wj茆 "qrqd6GUq:[˲UnԤW=Q́=,vL-W}f߮<,@ z0 tm ^fad~pq#;L@> `1d ;dyn);tCu85m!*fveaxUoՒ,l]8!Rۆ9b[x𤱊H! I/L^zRxda)IejN_.8 ,$TdT Im[:|=j/;|D›m} u/v5=Ss& W~婫ہVI왓 ٧L!2j2eO}?(bM xgxɱUggGBN(8z\ž7RڅFg8 mfOc%#?{[IN5pNR!_2ְ<:e~^*o_}^z$1l1n].ηNV_~dfv7A"Dy'yQ5." g4?ʑ+sD.b0AߡiEiusYR5hOBD:yўVy2ș~L6>6,!*.Ga^S^Iz%|xR;5(}vSӭ#G77旴鲠H:%ֿNJ ?" z*A/gBh_[kX<8ǿkEX}r$y{2`C ՓYV{D_ꌙWq9F3mWTb/,,rX(5]^P]}iӖ/3a)Ԍ{t46<>$tPo,fjX!@BDg`z_ n{FgP3QܮnDBBc*>.%I1诙eω ,@c.(mƳdX`;> ?.2ZFLA }$@+$Ɯ'4_<啠&UTWrz {͑00\kY +.WPǂK`>e?'zR`h1 p8  OM;\W[ K$tuDtz6BNUmz I4g+G o qؚF9q=s'd~=G/!%sX &,s9پiI`x7;;W7qzVz[YIDjZm/g ւzX[Yȸ"-NJ wچK+e[dɑ^po Ʃ<;;ENlVߴo|I pPʖ-5^zceųV-]hRsrൄl7)@aܱ Q8ր>I.*c>.D82"#ƄÞZ?I #>`?L(@a?YaeCJt m²狼Q{?h~ɧ5PfK|ik4 ,׶ (G?I0tP~N' +#a8~h?N0Etxz`4#%axb9_zDXV}"GSy#)޸>~c"RpFer4cn3irP8'6lj+\'Rr&/;bxq{r* :,BzRs<X3 Q$ @;CC聄՗7t 9o1 "1˜9Mpv.'{SLNLs: /,s[Mۂ|MF15 P6&JFTcco&R)!aG:~sX(da FhaV6pJ 6B :D?(85Et#( IfejGBăZr4sVLln}TSjr/)GJc_=7w9;-Q-q>7f[W)g s_Tq)hڇA ]weB,X>t2Dyaܼum\Y[hFwqIoJ.ÿʺ:B./() ˌf^ݜ7J$m֞»z6<~Qŀ?pt4/Y@>,ϕqSƃI8͞4K}Ǎ^_| ѷGK>*~?vaE?vP,s =C 1$?&QcdZN"3=6CcmqWԾKÌFW"!,(@M,Βj"XJjaqY+wGt[z`WdK)bdTd%س:Â"qGd6`x 0*U5"jF(d, [hh,Dj,#}"A_]5u VWC<Ѡ j9NFH6 nBpĈrdQ!Yf4nA:P]\E:$ Q䭐 (v(J_]ͳk?Z+C [C#+=aC~bt7z!3&uFB%CQ"kp?O!8*?иȒ:` ..YοfRO/B}:2R%㪏d@O~UGO}σ<m,I"/:dSp1!նp&,$w!9z,I t-.gB+ Vb[\6IniL# ) #^Pt1Ik&!D>JVط;)Įj R Yt!m#/N+6B2h)qPOmS2&^jidmEXI[;g]4h^s\"`3D(0i C?SA`2Y]yiW;I.}mJc5>f%HE9DRFzM/Ԥq~%ICK?p\8l\#&ZAKruG۫Vssp1 t=ߡcnEߣ==yU8c+hLtƤ4"e Βg-׷y?!pA U]څ$]=pUéj5nJL.l*|RI }{kl>bNsFL#?.Khcwb3bcKc/O,EOqtsӔ5}ԴoM;,˒/Y#3;/?%&)1/ Xć_1{=ʾ/A ;Uso۶m۶m۶m۶m8DjZKm6G۩=k 2U'/OO^OzIooCo;SWU]9z?i 2`h #`PPGC3FM1˜d,69`4;s|f6cV^Uڪo5Zs%e+NmZvs{=^dwڏOr iDZN7@C4D44 I Dt]J%tNr')YGtlvgn.], 1 F&.B[v{f{OMV#iTW~6I;$OWJRJRtQ*uJϤ亮{Y!yb:DCP5S/Fa:qZO%4#t 0U" ݮ9 ݧ3v8xŸQgoPMGk ڿypA28FP 1vB %w %c /:ҙXs5ŎNN>kj{v99쪓dФqQi.}Dg>sH{@6LȾD6KRD7:M WJ}%ԓoO)* ]gwv4Ӂǥ}qٻC}%Ճ;0 c`<<c@XY~90==D-G6%Hp,b!Cupۡ[b[7= }鬽;b؊,ZAUO<4$K6\C\.Bڪ~fvVMSN'SSeo:u~!ql8Ih^TP`&A5;K%=`V /|DKE0FCw*gqö?NJ׋D &ōe0KJ²G/K TANl?[ق2Diw3b JyK=ɴtCb;/y21[ Xjvx3߮hPy;1UQ;;>8H105FJL*9oW%΢V2jv\bO:Rοpk:=rC삘{fZr<2Ekɖm˞ aeSbnv.LV=>~eR@aB,- X3{Z,f rQ\[$W@([+ڱB_C,Us!{!cZlh,|8r:=SL,%(vjJQȶ+K6yzGJ:BGqKg놦+훦M߱ySÎ!L}nn6?B".nquP~˕HMvVs߾HA_c,(1gi9 %p.CK~g1g~_ AzU[TaXQj.@hH#E ` dh!U{ r>s/.:oM,(#iҙ笥efl˥G_MKeSX9{HԊ>:S-ʎ rǵGCCږAn5>aЊ7' %F#u5&l?ujKӊ9W|MPgz@#_;P\X%|E.uyG:%)\_Zπ:նAԡA5J@z/Bei[ww^xu05toVdɝGܻG'і *#9Br9ӓWGŠ]T/9!AM$}cS&A1w ^5:򦦝\ˎms6V8;lU7ǜGBUX]..Pf-%jSv0p'iӽiu:3dzz\Ϲ:*J1&gF'2y<L#4Ft;8%k9re^>y#3Ԕ].fD:[]&"܅ԽDb_|_aFu$9jeu"xt| ^Q3[ fę)a}s+v*ۋ짠HGk#v0Rk ^LN'ԕe]F896ADKXS2kf;G=9b[@; W%j'nWtIޭHtE{luOY"0$ҙzhQFׅ&..$[NH18A[z[kHgdQC7t 8 Tط'ZDEF%<:~>6#K>lW9t j ư-^ss*p\pH =YggŨM n!9g 3X_uPp\]}ͭ66X99Om7Π&QuH$KDRzHH$"Q"q65'Tf]d&k옳Z$~ Jg:-` dBy] _DB ~s`F?^Wd5REL)(ptzf0uˀ+/O=N֢YO+98-p*q":)Kןn9.>'vK:%p05A4 7X@VrTvσ=+x+/APIi Ib5[ǜi8tMuk)7u޸FT8$*X3[z?$ڬ!]7ʗDϚGP˅hĥԐz3G^B WÞ/8:O9UM_h|٬JLhK H"C44J⠁Is[I~EߑcTۢh:0nKe)JbB#Z=Z]K96!vEqz۹nw/TVAi}7쵙̌ʢQH'XHXyj,RtAӾ$ cI!۴b SxQ?iEҞA(ڲ; DˡC *نg6!A,VC04Ϲ:X/<қ EO5ڃ]IgsP\ez׊TdOú'_v~9++/)[ʎU,?a7|@ ~uk&w_QbN].>4" ?3#''3*(0"*} O8N ѸeT(i8ƒe[%kp-=Vj9DcxAmOmQ~~aQ9Qxx#5/;,||=o 0a(qF\ Sjg0R7f, M>^ %+H/B1 AxH7k;q}zqg;x,Qԧ:%g'Dxipn =|@+'q{GQ.]#֖`R,㶔_/`^YdAQZט]]\P1,04XGl۱Zwdm['bÂlE۰Xc>'PK43iƀ$" })Lw%-%ZnN &{o;(Aԕ咲G'\`^]Hl3N]Kn|"l(Ɓl$% 6kptFkptjԟMY? ^B}a ġ/W(<*~sxtb~ciP/~~Ѷ'1J=V "+JʩHcQ=;0SEYV^~lu&Η`V?g^?7&XP!O?nyAF, a"k.#΀_ }Z~ &jBiBW|.,9ya z4zB:Oɏ?+<;iQ40ƝZ4R㝣 tLthR_~e~p\/~'Gm~\ͭ"Wt|!ͫODMIէ%U4A=$cx C$::c*)7JIII }HFCJJ69;\5s,Z{ZU4iiuy0Jb~:JN׶ňT_*TOܦHv˦~1UK-h&l%+Z_`o<[H]IQ}wC o:76T?YҼܥ5EKԋڠ/*? v !s#b. "9k7* {BlBX培>d˽d6L>RWrbuR;.=mH'lHyd]JO'Cdl}fuAuSKPӳ Xy;K,..ӓ{rLɆF  "Fa~=KTPGGņ."C;@#dET© arA( 712xv ȳmp>#n}3a*% BILzP+(9 U-opTL|HwښM QϦP7 5B5A?֫hO/-X &1C#=Pqԓi Qtӎӟ/D,ٽR1D܋; BؘzJAT5n"ڧO܏4x~9㏜cT+X5ƺLpH,<*ˊYQξy/WR(knk`v{"?lY\xŘT\oU |6! 1$GjwY3S_iN B8RކW4Mw9[vo-xYXEiiHfqX#H g,-ӛ0tiȎyH@Q$ Ġ7KɃɫɗϷvm%O&Yd?oK YAVd#9lg.PG bÜ0ۜ`'nYۘoay<b8F"%B#Z z`w k{-NWh{}ӂ}p=Z)3p`/Nd^XO \e1YG6 dm@@]BVzq h@}t?2cYsu~adQ##Fdh̦@OMD0_Jvؿz(u 8f'+ǔiZ0֌bMwq9kB]DnAHFU3k33O'q4Dǚr6$5wL%*F>HFd9zr,92 'b&l f$ͣyV4+Rv`1VbOCq4NCq%ǭq<&ǧ'2P¸^yJ!4U&UR/lƛ2T[`V@ (d Ƚ%[9?u>YM>F2rT@@ YEr:Rrg aL>Df7-; ̏ M֓Md+͒j,T{@X9ԙrKj}.<yi}4MOS'[ɜy#s'k|h5znԡ3p,=u`p7ڨSVsiۍJھlH]cy~rp_]7sr[z>DV(h,݀uz,&g9d}@\L]G6M]Mc2AFȵȂ"c';|J=<! n`K)n"39d=GSoEV21MMp6YƓ&B(7Yd +fex,d.3èPKm}Rm4ON Sߺd8ws.`62IތxB7! =1̜{M4L@ fD a ۡf]4ahXi6]\2<<܈/Ej:gz?D4E! ͪPIz+#L)N(k:S1ޛ~<'%Hr4~%}ĸP:3d~FV xbf4c]lnVfe8جgUBupY%2̪8dV$I ْFɗ|2dDX6$YvdY&$nh=d rZl9S"Sn!ym1WpZtVpRpOdm6ځKpn\D7ynuk< ug鮺+.2]KueZWrSzވ+6Wz7~\#Agp>/&H?ƭv;w .p[ =nM]ųʍuM ړ@t?b1 GIHH 0C1#td" amz4 \^ QyJm `G>U? ?/]y?k OTOT秄g礒d,F8jZ:zyHS0Qhٚc?-p6iVy?oHNn5:$aeT#Ì~4(bHC9 9GXlS+JHr{͓gli#ձWlx,ЃzG_lvjŶSvSζm|}qĆ$*<#5CݭZZ&:8S̶HBV֤F;wY= {ͻ> )/K (- D$׻M5bي,Zf]lǝsC׽S9*Fn̕*G֨բ۠v9axS^}['&UntQ&n4J,VV=l!'wG<%odEAg\&M4|Znzmzma\pG=eo[Yx׸ٝƘd2+B^GvW#_H u5, e*Pn*:`}:<9zǾi׎(]lmm hڶl~m۶y7v95zTȷ n;nGф8x%ގ3qy ;0Y|!ߧ5;^X eXM؁}8[.175Nfl/k͌q,Nƙ8jqsc#ދJ O6~_ώ-iEXM؅C8w<O4+ZdQ0>/&c_n0/9!/*l6!,InxaLgqx%^xR.U|U U*?Vgɣ9~o<.4>㝸z=8D)zd7x9^W^}1c#Ƙ' xxhpMDK``V`V./ۢ_I|ōxĵls{:NF/uTJ,zT*Sr&#EU.zb_/[3sK%^S?+ I- ݻضmڶm۶m+lm؞Q"sɼ3?!=,g{ f*6E]uQԯ]M}ߏR RGr!.˹sr;ƕSW. gC&Du@Q;DZ B&U LeU^ Q .6cav>8Kp n=x]|EXMTFL] 14$ꄨ;D=) QzLԣD=(QU%%Pe*a5;QW e-m+fWD}(Ь&ՠ-FnfnVnܑ;qg+w܃{r/}/<@vu{!̓x0<ɣtϜ cy <'dSyO1T> Ro+P#u};Y$e,e\VJY%ke5 ق"2zr 'Ir"ir!owDJ]kunͺ 2Vbnm6٦timͷ(QG PF3O˫l{B=ԝzt#@Pе.$_s\H;9%t2<޺LW*]tn-SK,eEVr Q6dSlͰY6قpE :߅E`:)De)Q2lz4}{FGA;NhS: ?n~k|G-y7yZ浵X߼g| gHS42)i=,5tG%qEu>km& 1 }5AAn[BO86UKC09\#(9Zc˽bto`P~[qmmɳ#xx !Q{! )4I2@@7qOINhMQfsS:e+g9#{眶/r.sI<\皎oGnrC+-e.w }3LCؤn1LPj,67f,~-U:EU=.gum$Hʲ,)]ePor˯׎.Gn#WNapCd@.${ΤUݯ;S/J$F|%7 -&UD&I¡s +\1 B3^rFSHDH:G!3}pnt~IsS$Z$Y_ùAAI01Y(b4bAbL5ńl<D2`ULcC~dc!2E6"7ALEkzlV͂_[&?'E6Vq̥_\$_#l^`5(9hqc%a]]1HDŽ _ZcAx,NzI2(/X&~x(CPE2הҜB3@JXٺ42g9>{.e|헳Al9 )&N!Q]So!GVi=(oqhnֵF]{g*Mݪk] ݷ~xk3}3]^*|3)cer#Tm %&wؠTCrH2;#n$,dԵͣ_;LIY!JREbNd@!k6&$4C)kb\aM1pBMPQrg݌"iNt;αB1tGJ 'ŀh"F$MH!&xfߞ-\;ty&Jy$1,ԼB Hfz}*{]zbW5>"_:tBX1"q%<'S Q%pזBB:HIMe FKDOK(%s'Pxcw4/j;kx~#IjM 2edđ ^aA2aE.)3HA|Al3H .5{be$qEƖ IPΛ3]Aڍ6%[ﻤ0݄ҷWGTc[c%B/zݻ Nz}c`6̼] UK҅:QE:6%q1wc[0ҠaXH\;_}" #c櫠3=lmvh$u}dn ]} ۖ)ҙ-v٘kuu(QILkvI=4# }=v]Ӹ4n.Ӹu"^aN2`Í#$BOqiB5pAx=Abgu}?{yAş_#d\ʟg "u$g H}-aݢ!:#&R;&A4IX5r;lBpkI _s4xNtఽ)JG$ռhRŝ;e~x\GOl&;ٝ;۶m۶m۶ߩ&u߾6L7r;re7wSEQ'+z)crc Lc43NZZH:*XX6ԓ&R, &qDQ`]/="(BfEChFdhprQC%(WC7E&%D~E˃7,{(%|G,e )rNJF[:rd8k9S]e\]B-UE~6etfMYZ/0?P,KfEXpJa :󔭫]WL/%=2ִ{g4R5t6YߕxQ!I;|>>:FփœGrΰ\_vxKV]xr&*Ye'I3.awSoɥb>sy/R/Mfƞyy#y*ZeÌ='t1ѯ(r>W画1ī9N9~ɫd3ݟ:߆]=hk4Em|NO 'ųG[^y"/x bLWx$8AAq!/6#/I֍2ψ` GCqL"M Q^x͘@Skς1z04g`EK1ǘ2 3a  k3@LDE\~gpg}]g~{}v BI+{jAMu/6ٓUPxH{:F`" lU1h}qJ8%tCp r wB^_0 1!>r\gX-bݍw;w+w۶aHH*BL7rD0h|OKM9R@X-5ő1ް6 I$h&)4zl<̍SX LX HrHxz* I%ˠИ\>kA8lI1$Pq+bϧм LTH*Nf><I+\Hg Mpe rX: %|xp&7`)IT DOJQjPб'#4TjEpZO^ru9e- eA+/8ˬB*?c_:;4Mp5&\сLmB|w9ycNy@SoroMJ6r֙+/ժvSbF OSW$/n\q+4鬏OUؕgR7tWdoz]>BbC|Viq-DZZ+~i@YG1(}FX2Vk[ۖoy35ݡ Pq(v40fi&Ic9 ^_*'Q1# pxI gU3 rme#ճV( [QL5HXOpJ`=#SC^0egt'sB,9Jk^|-/>֌59xoslQ굯C(Visb{/b-W-4U\)zQ 7{3ͲP@-C<~ǫ_Z6.h>$aTa mYLӏw0>ύN[i/])|э-ԦԲe{Gi]@q}jvZݗmiJN^~Fvqzù; 6Ʒ:t3wUNwq 7fp;`y9dUZwl׽ťf0u罳mZoO1ڢ::jSe1W_h:ڳgqWj/eVDIS݊̏hdFۡRARO&sp!>s >EgS΢X3 &xh,r˷F_i*7+2)Z61tv= HGau9ͥy@S{,Kv-f窿Vg[Z*puXrB -z@o@]3wW\g\5ZQQ}ް T a*azϾNS1k?&7ЖqB5eIݎf8 DyM)AL~*e`+5 +.fqz2?e-fQyL }M&i tD IM`1(!\V"+>ҡx $qe[WI# ,@)VsQn3YFm*:3;,vᲓ=*7ձMEzs]+K&SvBU@vv߆萀qKxīBѴ&`BΉ[f|hc>T|Zb@Sæ^_57nkxS`|8HtR7HzPi.mr4sTgOlS?CFfD@hXGN "!2˿u< v6 bpXa`pwhYT)I1Hzh`$:pAk"{\H%ocd?E O#YEZ#zSDe#c(`+ldv{=vmڻzLo6 v?mWg\/ <>8N~s1M1,>k@{&FOLN|`}/_y%)ڢ9H{٬& /Hİs۪(M'Vg-Y-ˠ~95=9_{W\ds2ڤq9۴ʤ ݓq_nx=陼ء4~':nރ3Ū%HTY)ɮ7Ŭ[lb/5š57ͬ9?)}e uqD;}ew!u;Um.-zƴg>fn ԽoY#mHK'Fx 7/0 hC(ldEDk)0t_S5B:I ΧYeO.0V9TMPTV!Vp,:$xep:2cˆܥljEI3yefhq&PΞ2!BD6!F_ior떾N>v#L/xygoj弋 ?6;`az!&bkxQ3E|dBw`i_df YEs3s9 j/ؾsnyMSu*rVC@\ -'.|Z_Tx|~uKvm:kbO<)-'?y4sU$.6hSmo;Ski{X7:'7HMsŴljvq,8~U׸8-]ÞuU. ޽ *{`k`QZa{͝0]R̛^Bdǟ.*xD9V9?xߦ=> ~XeZ ݥcVix⭹Og]ex48bKoAP l^32j %``eP.EU|6OC,,EZ.>"ߍMqrM(! K! q!Ą( IIB<r_zG! T*Br;JGrYH FrL$© ydYCDaŨhv٣=sx]WWP*޴*}z2($5^,>6!iég5'26o& O^ 飢ܢn[%TfлK%hX ύ5ڍ][_7ߣeagO.6VvT\/lyz-[=ZjzV=/ ]:nJVbv2/=тWv|;tV)uǣ5y*uP$o2t%ob׎\_ʻp̎O=` }W9*̊ _-"Rz3 İ+8\w\/.C]{0 zR Ş.QK ooniprobe-2.2.0/ooni/ui/web/client/fonts/fira-sans-bold.5310ca5fb41a915987df5663660da770.otf0000644000175000017500000027002413071151301026064 0ustar irlirlOTTO PCFF x DSIGp GPOS [4GSUBkSE#OS/2@`cmapNώ\heade[6hhea$hmtx`7BkernDT6maxp{P8nameH*post2X B/'_<גׄL P LXP{P{4XKX^2<  @ )  VR R^9b 6* #( K i .*  {  r   +   lE T F <K , \ TDigitized data copyright (c) 2012-2013, The Mozilla Foundation and Telefonica S.A.Fira Sans OTBoldCarroisCorporateGbR&EdenspiekermannAG: Fira Sans OT: 2013Fira Sans OT BoldVersion 3.001FiraSansOT-BoldFira Sans OT is a trademark of The Mozilla Foundation.Carrois Corporate GbR & Edenspiekermann AGCarrois Corporate & Edenspiekermannhttp://www.edenspiekermann.comhttp://www.carrois.comLicensed under the Apache License, Version 2.0http://www.apache.org/licenses/LICENSE-2.0Digitized data copyright (c) 2012-2013, The Mozilla Foundation and Telefonica S.A.Fira Sans OTBoldCarroisCorporateGbR&EdenspiekermannAG: Fira Sans OT: 2013FiraSansOT-BoldVersion 3.001Fira Sans OT is a trademark of The Mozilla Foundation.Carrois Corporate GbR & Edenspiekermann AGCarrois Corporate & Edenspiekermannhttp://www.edenspiekermann.comhttp://www.carrois.comLicensed under the Apache License, Version 2.0http://www.apache.org/licenses/LICENSE-2.0,, * ~~7 (6 O\_cu     " & 0 : D p ~ !!"!&!.!_!!""""""""+"H"`"e"#(#+#%%'+ 7 &5Q^br     & 0 9 D p t !!"!&!.!S!!""""""""+"H"`"d"#&#+#%%'+F.vTSRM;/}{usoka_WOKG0.(&%$!RGD={zxurfJ30qoך"  U  ~~bABF77JKMNTY  \_&(a56dfilm OQ\^_bc ru !'+,./135  7 9  :  >  A "D & &G 0 0H 9 :I D DK p pL t ~M X g!!h!"!"i!&!&j!.!.k!S!_l!!y!!"""""""""""""""+"+"H"H"`"`"d"e""#&#(#+#+##%%%%''++   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`aDrdeiFxpkivjsgwl|jcnAm}Gb;<AB>?:KgIJEy@CHKRqNOPzSQL2FiraSansOT-Bold8HPHK$*07>DJU`jtz $/:>BHNU\bhov '-3@MSY`gmsy*5@KQWakry ")07>CPZfnw -7CKThmqv{ ")07>ELSZahov} %,3:AHOV]dkry !(/6=DKRY`gnu|      $ + 2 9 @ G N U \ c j q x     " ) 0 7 > E L S Z a h o v }    " + 4 ; B I P W ^ e l s ~     & - 4 ; B I P W ] g t   # 2 ; D L T ^ g p x  &.6?JX`lx(1<HTco| *1<GMWdmy(3?NXgr~%2:FU`n{ -=JXiu !*6>CNW`nz(0<FOYbp}!*4ALQ_ix!/:CMV]fpy %/;EOYcmw &-3;BJS]bgqv| !+5?IS]gq{%/9CMWaku )3=GQ[eoy!2@O^p|*6BNYdv+<H.nullCRuni00A0uni00ADAmacronamacronAbreveabreveAogonekaogonekCacutecacuteCcircumflexccircumflexCdotaccentcdotaccentCcaronccaronDcarondcaronDcroatdcroatEmacronemacronEbreveebreveEdotaccentedotaccentEogonekeogonekEcaronecaronGcircumflexgcircumflexGbrevegbreveGdotaccentgdotaccentuni0122uni0123HcircumflexhcircumflexHbarhbarItildeitildeImacronimacronIbreveibreveIogonekiogonekIdotaccentIJijJcircumflexjcircumflexuni0136uni0137kgreenlandicLacutelacuteuni013Buni013CLcaronlcaronLdotldotNacutenacuteuni0145uni0146NcaronncaronnapostropheEngengOmacronomacronObreveobreveOhungarumlautohungarumlautRacuteracuteuni0156uni0157RcaronrcaronSacutesacuteScircumflexscircumflexScedillascedillauni0162uni0163TcarontcaronTbartbarUtildeutildeUmacronumacronUbreveubreveUringuringUhungarumlautuhungarumlautUogonekuogonekWcircumflexwcircumflexYcircumflexycircumflexZacutezacuteZdotaccentzdotaccentAEacuteaeacuteOslashacuteoslashacuteuni0218uni0219uni021Auni021Bdotlessjuni02C9gravecombacutecombuni0302tildecombuni0304uni0306uni0307uni0308uni030Auni030Buni030Cuni0312uni0313uni0326uni0327uni0328uni0335uni0336tonosdieresistonosAlphatonosEpsilontonosEtatonosIotatonosOmicrontonosUpsilontonosOmegatonosiotadieresistonosAlphaBetaGammauni0394EpsilonZetaEtaThetaIotaKappaLambdaMuNuXiOmicronPiRhoSigmaTauUpsilonPhiChiPsiuni03A9IotadieresisUpsilondieresisalphatonosepsilontonosetatonosiotatonosupsilondieresistonosalphabetagammadeltaepsilonzetaetathetaiotakappalambdauni03BCnuxiomicronpirhosigma1sigmatauupsilonphichipsiomegaiotadieresisupsilondieresisomicrontonosupsilontonosomegatonosuni0401uni0402uni0403uni0404uni0405uni0406uni0407uni0408uni0409uni040Auni040Buni040Cuni040Euni040Funi0410uni0411uni0412uni0413uni0414uni0415uni0416uni0417uni0418uni0419uni041Auni041Buni041Cuni041Duni041Euni041Funi0420uni0421uni0422uni0423uni0424uni0425uni0426uni0427uni0428uni0429uni042Auni042Buni042Cuni042Duni042Euni042Funi0430uni0431uni0432uni0433uni0434uni0435uni0436uni0437uni0438uni0439uni043Auni043Buni043Cuni043Duni043Euni043Funi0440uni0441uni0442uni0443uni0444uni0445uni0446uni0447uni0448uni0449uni044Auni044Buni044Cuni044Duni044Euni044Funi0451uni0452uni0453uni0454uni0455uni0456uni0457uni0458uni0459uni045Auni045Buni045Cuni045Euni045Funi0462uni0463uni0472uni0473uni0474uni0475uni0490uni0491uni0492uni0493uni0496uni0497uni0498uni0499uni049Auni049Buni049Cuni049Duni04A0uni04A1uni04A2uni04A3uni04AAuni04ABuni04AEuni04AFuni04B0uni04B1uni04B2uni04B3uni04B8uni04B9uni04BAuni04BBuni04C0uni04CBuni04CCuni04CFuni04D8uni04D9uni04E2uni04E3uni04E8uni04E9uni04EEuni04EFuni2007uni2008uni200Bafii00208uni2070uni2074uni2075uni2076uni2077uni2078uni2079uni207Auni207Buni207Cuni207Duni207Euni2080uni2081uni2082uni2083uni2084uni2085uni2086uni2087uni2088uni2089uni208Auni208Buni208Cuni208Duni208EEurouni2116Omegaestimateduni2155uni2156uni2157uni2158uni2159uni215Auni215Farrowleftarrowuparrowrightarrowdownarrowbotharrowupdnuni2196uni2197uni2198uni2199uni21E6uni21E7uni21E8uni21E9uni21EApartialdiffDeltaproductsummationuni2215uni2219radicalinfinityintegralapproxequalnotequallessequalgreaterequaldotmathuni2326uni2327uni2328uni232Buni23CEuni25AFlozengeuni27A1uni2B05uni2B06uni2B07uniE000uniE001uniE002uniE003uniFEFFu1F310i.latn_TRKLdot.latn_CATldot.latn_CATparenleft.numrparenright.numrplus.numrzero.numrone.numrtwo.numrthree.numrfour.numrfive.numrsix.numrseven.numreight.numrnine.numrequal.numrminus.numrparenleft.dnomparenright.dnomplus.dnomzero.dnomone.dnomtwo.dnomthree.dnomfour.dnomfive.dnomsix.dnomseven.dnomeight.dnomnine.dnomequal.dnomminus.dnomspace.fracnumbersign.osfdollar.osfpercent.osfplus.osfzero.osfone.osftwo.osfthree.osffour.osffive.osfsix.osfseven.osfeight.osfnine.osfless.osfequal.osfgreater.osfasciitilde.osfcent.osfsterling.osfcurrency.osfyen.osfsection.osflogicalnot.osfdegree.osfplusminus.osfmultiply.osfdivide.osffiguredash.osfdagger.osfdaggerdbl.osfperthousand.osfEuro.osfpartialdiff.osfproduct.osfsummation.osfminus.osfradical.osfinfinity.osfintegral.osfapproxequal.osfnotequal.osflessequal.osfgreaterequal.osflozenge.osfnumbersign.tfdollar.tfpercent.tfplus.tfzero.tfone.tftwo.tfthree.tffour.tffive.tfsix.tfseven.tfeight.tfnine.tfless.tfequal.tfgreater.tfasciitilde.tfcent.tfsterling.tfcurrency.tfyen.tfsection.tflogicalnot.tfdegree.tfplusminus.tfmultiply.tfdivide.tfuni2007.tffiguredash.tfdagger.tfdaggerdbl.tfperthousand.tfEuro.tfpartialdiff.tfproduct.tfsummation.tfminus.tfradical.tfinfinity.tfintegral.tfapproxequal.tfnotequal.tflessequal.tfgreaterequal.tflozenge.tfnumbersign.tosfdollar.tosfpercent.tosfplus.tosfzero.tosfone.tosftwo.tosfthree.tosffour.tosffive.tosfsix.tosfseven.tosfeight.tosfnine.tosfless.tosfequal.tosfgreater.tosfasciitilde.tosfcent.tosfsterling.tosfcurrency.tosfyen.tosfsection.tosflogicalnot.tosfdegree.tosfplusminus.tosfmultiply.tosfdivide.tosfuni2007.tosffiguredash.tosfdagger.tosfdaggerdbl.tosfperthousand.tosfEuro.tosfpartialdiff.tosfproduct.tosfsummation.tosfminus.tosfradical.tosfinfinity.tosfintegral.tosfapproxequal.tosfnotequal.tosflessequal.tosfgreaterequal.tosflozenge.tosfcyrbreve.scf_i.scf_l.sca.scb.scc.scd.sce.scf.scg.sch.sci.scj.sck.scl.scm.scn.sco.scp.scq.scr.scs.sct.scu.scv.scw.scx.scy.scz.scgermandbls.scagrave.scaacute.scacircumflex.scatilde.scadieresis.scaring.scae.scccedilla.scegrave.sceacute.scecircumflex.scedieresis.scigrave.sciacute.scicircumflex.scidieresis.sceth.scntilde.scograve.scoacute.scocircumflex.scotilde.scodieresis.scoslash.scugrave.scuacute.scucircumflex.scudieresis.scyacute.scthorn.scydieresis.scamacron.scabreve.scaogonek.sccacute.scccircumflex.sccdotaccent.scccaron.scdcaron.scdcroat.scemacron.scebreve.scedotaccent.sceogonek.scecaron.scgcircumflex.scgbreve.scgdotaccent.scuni0123.schcircumflex.schbar.scitilde.scimacron.scibreve.sciogonek.scIdotaccent.scdotlessi.scij.scjcircumflex.scuni0137.sckgreenlandic.sclacute.scuni013C.sclcaron.scldot.sclslash.scnacute.scuni0146.scncaron.scnapostrophe.sceng.scomacron.scobreve.scohungarumlaut.scoe.scracute.scuni0157.scrcaron.scsacute.scscircumflex.scscedilla.scscaron.scuni0163.sctcaron.sctbar.scutilde.scumacron.scubreve.scuring.scuhungarumlaut.scuogonek.scwcircumflex.scycircumflex.sczacute.sczdotaccent.sczcaron.scaeacute.scoslashacute.scuni0219.scuni021B.scdotlessj.scgravecomb.scacutecomb.scuni0302.sctildecomb.scuni0304.scuni0306.scuni0307.scuni0308.scuni030A.scuni030B.scuni030C.scuni0326.scuni0327.scuni0328.sciotadieresistonos.scalphatonos.scepsilontonos.scetatonos.sciotatonos.scupsilondieresistonos.scalpha.scbeta.scgamma.scdelta.scepsilon.sczeta.sceta.sctheta.sciota.sckappa.sclambda.scuni03BC.scnu.scxi.scomicron.scpi.scrho.scsigma1.scsigma.sctau.scupsilon.scphi.scchi.scpsi.scomega.sciotadieresis.scupsilondieresis.scomicrontonos.scupsilontonos.scomegatonos.scuni0430.scuni0431.scuni0432.scuni0433.scuni0434.scuni0435.scuni0436.scuni0437.scuni0438.scuni0439.scuni043A.scuni043B.scuni043C.scuni043D.scuni043E.scuni043F.scuni0440.scuni0441.scuni0442.scuni0443.scuni0444.scuni0445.scuni0446.scuni0447.scuni0448.scuni0449.scuni044A.scuni044B.scuni044C.scuni044D.scuni044E.scuni044F.scuni0451.scuni0452.scuni0453.scuni0454.scuni0455.scuni0456.scuni0457.scuni0458.scuni0459.scuni045A.scuni045B.scuni045C.scuni045E.scuni045F.scuni0463.scuni0473.scuni0475.scuni0491.scuni0493.scuni0497.scuni0499.scuni049B.scuni049D.scuni04A1.scuni04A3.scuni04AB.scuni04AF.scuni04B1.scuni04B3.scuni04B9.scuni04BB.scuni04CC.scuni04CF.scuni04D9.scuni04E3.scuni04E9.scuni04EF.scfi.scfl.sci.latn_TRK.scldot.latn_CAT.sccyrbreve.caseparenleft.caseparenright.casehyphen.casebracketleft.casebracketright.casebraceleft.casebraceright.caseexclamdown.caseguillemotleft.caseuni00AD.caseguillemotright.casequestiondown.casegravecomb.caseacutecomb.caseuni0302.casetildecomb.caseuni0304.caseuni0306.caseuni0307.caseuni0308.caseuni030A.caseuni030B.caseuni030C.caseuni0326.caseuni0327.caseuni0328.caseendash.caseemdash.caseguilsinglleft.caseguilsinglright.caseinfinity.casezero.zerozero.osf.zerozero.tf.zerozero.tosf.zeroTonoscyrbrevef_if_lDigitized data copyright (c) 2012-2013, The Mozilla Foundation and Telefonica S.A.Fira Sans OT BoldFira Sans OT)!i;Qz<%)KZ[ Y ( E $  2 G / i u 3c lq=Ogt|*O_3=F^ 1GNZ^di6_"T\v*Vo'P_ <CGi| *3<LXdpz "8LYcjou~/AQ\bhl}!0?N]lq'3?KS[ckotznv|pfa^ih`o@.+8419 JЫHi^e}aK_s̟W@D㒫 R"DB"MRBDN:dU?BcֳX Y>{ty,vddqqeouqHT`q FhI]iIC)]$1( ~ij=pztruv `ooyxw7hnqFWr^N{u~`rdzqz}yZyu_w~|axvk~N 9˱5xҪwZb|{{}q~wzwC-pj]iv]zjh{y{Ne|{s2wLsNVyu~ g\^eg_]g|g\^eg_]gg\h| ^ h AA I:\3k`AAk\:a(&JI" ›V&QTve`N}omt}ln}< g I 躢C U ŔXQB8( ::?ĢCoepi ߹ɩ3m{}shZm08]LLQe߹ `Zm08]LMl\Qz妹/{omi+\IA³yfS@&L)\ &U7Ak,W&QՃ܆+  {ݡ "utm=dŻܺ|lVE08$XW#G @%n $F\h4i gR,*5 U \::gE 6!)!IyflttannoJPasIDn JrF: 4K .ɳHZ3 J.0MTNc`I0ZwHmcWPeq̥cIͩŲ_]KrdQOWn9yv=~>w[7aa`ar >&'wa6'`aa~` =EERaa`a 4YOzy|qx 5_di7DaA f 7( :7.}Y mZKteT vyyjz4x<Cƙ j B z3v84)4zya]d%E;$^9|848&Ȣ'XᰱC p G  H E X"<! ܿDK3S2+*22ҺWq ݋8''''7jնX vPHl(ۮ,! BD! ,&Ig&!Ksv$OwHOy-y>"sOA"y$$x$$MOvsO-v$Y!wRO!x!-!y!?!qYB"y$$x$$MYvqY- H W !8!vw u OO\L@J \vb 6v 34+~vq}vsy"4kvjvjh[ D!pzcYM<(, x?G#*N+[mx\[`lHFQY8.Ze( +7l*oTQqlZ[m wp  |d JRpRp)Ja vw;ܔe`[)+qA$#$r,)CoeqhrCG t+cmGmͼha>(w&d^Zxߠ-q?n, B6؞;g@ nq-,28yZ[cz PH/w7IYTn ̘$|7I lyKK_TLse j, y PH 1u1A9MJ]9vq ͏JJӤŲ}cZJ1)=2 I7' ot# y dT Wd²gssfdO^Ǜsolxo' ((( %tx  G: FV z  'P ]9:x g ,2,5.'ALO^=iZO< ->Ab.յZo`GI +00++00 wEv 1 SM.4 vZwp {jiy{pqyCU55VNDDM )vow4tc ;Y3X{ k4 ~z# |~|Υx~zX]o~bx|  X"B z y Ij  vJ Za {I: vSpCn fB{|ƻi lE z `MʗWDZQ KU~tVvZR QDN|0 `{mw]]m|3{7HJ Ovow4c ]Y *HHgH rq :e v 0w[)><0)0<<>)>Lh-F5%%FL? D:8~]2h D{pxetl An =/9Ai93;/ AA Lvw,wmDD H  $- c[c LvwmwDDmwwm .-././F.-..HH....H H.itGDj]eg^jFkG  zw ddXX  \}u2;Kv_rq]h 412%0r2zHA5}76 dSTd vwi wM ==mw 8 G Vw2) 2VV2 xeB{|ƻ v w w# : 4?4 wtk{XAo:00(Ǽ L  Sw  w w =&. v  v?wN ] 4 v w,,% ?z zq ejv^p+ l] + 1w v$wm  DD qhz vIw mwwmmw Ȫq)Hv se@a  CG t+cnGl{ N   44 ߽wr.  Fz {  vC | Q!z4ka\ c3, w:D4 : %  v5w "  4_(_4Ig(g Y8 cXYcaZv; w4=p vxcw 3 {v & wtww,do+ QktUg3ɩsUGcbY B @$%?B )) 9 YbcXXcbY 1w-- OirNb9ճyMvw + :9 ׷jEL^fFV]a15 ʯuU]goS^ea3< 4/4  mYSboONy  M7v'w) Ua  yw w ( 48p  v ]vv Qv E TddX z  wȧΠ wǮΨ lyruhe.& X #+ v6w  ݐ O    4e w4 vw vw 4z ~ h vw&5& v   &(cMN Jk DZIc 11 aXX} SQS zNyUxhWg Šv[ z sJmvvbOc g3ħsU w: {jjxzqq L 4B:  : cXY w4 4 :*  -IO  ; jD B dI h 7|B`gdfj}srx{0 e~  :oAuiwvptykcD@*mC{v{_;v8^O #/YiJYgw#;D  7 9 K W f ?   / 8 ? P ] l s v  ? @ R d f &(`b%a4x ;Sew 9c ;+>^| #DZo&9Lc$y8,AXo0H^wUl 5d5M_y /Qo7S} P j !!)S)m)))))))**]***++7+V+r+++++,,4,h,,----,-D-P-`-m-------. .5.F.W.e.{..../V/q/0 0003050A0H0^0000001*1K1\1^1112#2%2p2r223343P3f334s4595Q556)6366667c7l788`89999:C:P:k:::::;;@;;;;;<+<}<<<<==J=L=i===>'>5>P>i>>>>>>>>? ?}?????@=@@A AxAABCqC{CCCD D9DBDcDDDDEEEEFF@FxFFG5GGHH_H~HHHHHI9IIIIIJJJJJJJKK3KcKKKL^LLM MXMMNN'NHNOO!OSOOP P)PrPPQQQ6QdQsQR4RORiRkRmRRRRRRRRRRRSS5S}SSST T:T@ńDŽ΄ $ BKUW] aڇ%')4Aw*:MifˋMsЋߋ- T 5J؏[6uq NPReŒђ)+=dw“Γݓ"1A`ؕ>|ޖsvӨw88&Z).Εr5dUp~mdVxwC7|O3v{|ww||wˏvZJYcbY/JI>I\ $\ vtw;<bHmz@v<.-~S{Zvc׽;'F>2LbG3PaU; ?.ՠtRU6*ɥHgŰ5.skf~`5Rrebun^l_| vw5G 4 v-w{ ct(&;&bMb Uy1v ˏvJ YcbYc0v6wT !kz j 7N7\FͦXKKpVIJoGv2;:1wv:;vv8wp0 8"x!#eR8m9,&>]DU@jS:VJwpNgPdzU7 /"8|RB>,٠<(2>kOM6oZTflOgyҲpFM`hMWbb17Je<v% @w0% >3x3 4QN!%0%}z | -9t 7mi|i3²q2Fb[D]^j.:Kb6!!;B5yeWLJ-wX Vx`a x= Jr!/v WK w%\ /5)" JN kv{4H8.39!.!7ɶj1Q6dU^fְΡYfqhvfˏv YcbY1vF b Hb*rb } NvJ9%;H6C,(AbHQ<wg92@r%6J `r  $$$hExW?|Fojc$q`!B6jZ[m{TLS)7!8,Ҽ_VJa4RYYPI䝣~uwpfayu F$3 A+  :n@V:o* Dv J :c 3 ^ ^Jz @5.vw:_: *vw: ׽ :[ :x| 9 ))0  AD]H/2ZDDIDKv yxD]H/2ZDDIDA|WWw|TMCTO4þ=:F>>  @7A$ xvP:t:h:) 8YI= N j:6P '  c0v6w! k% vw2ZZ0Q&c??w(vqwdl % z=fwD|r2z"_t VUo_kkoxsi g\P<, f|v !\v8 p > 848|`WNr@EД  k @5 p@c ewEr 1 z4d]vHwp g/zwp 7  yw444r{_4z]4]-UTqV[waKSXrU] r6 LUqV\  ! ]va ywDraey ZQuT`܃!jqvs챢i g]Q]va yuiUi `j[V8 8@ Ⱥ4z8w4b  5:% 9 n >?R))'))A-&9:g]g|g\go3`m۬wh]Y%@AD^vrsk%"#!""!"!"!;Q)'NO)(QP+(ON+'PW%lW\NvO0ơ\X ?S09Rg{ƅub^k}Mnxoyn"O ΰ Xd bd bv.r{vwZwf1 /0 11 0/ 18 1 93]34$> AqxjtСv\bUrW , ȤL2w(vpwE lay\v 2126y DDrD3}ȩqW 4  /99)=O ΰ ebe)Hvvv3w l=nL h|T@ )Hvgv =*nL Qn, )Hvvw8=h A@ @gR*@5Nr i %c IcXYbaYZ/ u vpwF$iLj&u vpwF$vw; u vXwF$1 u F$˶ˤ;o{~}tlyKK_UL u & F$c{&u 3F${ P {gAq i9 IG)j?004qA)M ϲ@leapL5O:=⻳ykRJ-F|c&o&$ pw:o* Q&$ pw:o* bD; VvXw:o* 1 V:. o* DI& vpAT 0rԈ& vpAT 0~; vXAT 01 X:Y:YFT :j&s s ))0  B vpw̷ AD]H/2ZDDID0y&vpw̷ AD]H/2ZDDID0w(; vXw̷ AD]H/2ZDDID0y1 Ʒ AD]H/2ZDDID :?B AN NAɷ AD]H/2ZDDID6-&b v*wO v y w>>Ovpw )0&vpw )0; vXw )01 z :- /:)6&svpwj:60C; v w  GA.5alDIwڴj>A-PT: @7z6v4Y<:v4ԣnl>2"5dvucywwY x BPzA.76# 7 F? vaw 8 :  k= . 1'=V;. x|>VhWgeR83(= k[KKl ˫Y=ǣ`@Bޒ=vpw:F>> [; 8w4b  ? Ť [:2>=> B 8 ww412,b 4 Ž# =vXw:F>> eD 8wvaw4b  R vpw@7A$ 0; 5:% 0D? vXw@7A$ 0 1 vaw5:% 08 5 w@SA_@ txdN?# A$L3YmtYWbkGGOY6.Yc*ȩqtxfB{|ƻiEF57:rEM'({|r`C9(?@25VqohlnyZV\b<3bn؄*ȩq vXw@7A$ 0|D vaw5:% 0cRxYvP:? wfB{|ƻiE>G<wM Uvyyjz4x<(Iu#xvvXwP:t0nD zvwcw42U* xv4P:i*4>G4.: +bnGkvpwP {gAq i9 IG)j?00 :v; >>OB?; v vwYw7Y7Tj? l w@2A:$  Fl 5v2q::% U x P:628t6Y ;c ޶S "VU "S3` ;w+"P   vw?4p4o4~:WX u F$3 Tv:I  V:o* P vw:_:z \R88S#^,^f|WWw|WWw8DWH,/TDDID ׽ : FcI]QC9 ))0 ovwbb<Tg' AD]H/2ZDDIDv_KLV  =Y a W|Wq a?PxvP:t j:6vw=8'8=J$QR#K5?M!FRQ#?K> K_'co ʹ&L N @ 3+3UNI3Fq\4{+3s3,JvMS X:Y:YFT :j& :Y:YF6:[&z 16bm ^ tiigҏj|j~qn sZ%6 9E$込;c{0dO 1;&5(:  C 1 [ 14~0  vw2 &444HM6X z 6bm ^ tiigҏj|j~qn sZ%6 9E$込;c{]vaW4(0:)>4mx+-6⠾5"?mϤoNPm\Ysӽl/9aiNaqsh[vw7%M|bfhbebYv4n v?cT2R,hz 83:/#724(K'?{r]K9)CK1Lfc)_T>%$j]NMkךɹcf(O ;&5ز  avw98JoV?3kjOEe\hx\Pir.TBh47 YUt|oC E zwv/^065-66,ɭXC^CLiE^EiYM p ~vvw4.H^Qm͂o|z(].sPWPp4 ׄxuvww3fCd&2@eQaG7Cx|pDVacvwJ05n qX`0S'YAgi av3958p8\;&S˹QWmtWN? *I$@\v;y@V ! Ǐvv2 w4 4l2 X{ ky leaSH 2]va 4B:maey4O3:9:(Ckqv­fgZP7av ;8UnW;/oɭoYPB1" -*N]rnz wF 9l[KJls^$9jTy|>4C-;E$87:x ]M1 ! 0Ӑ 14,40(*:Mw 1< h0nV:. o* DI&T*vT 5^2i  D *TvvpAI 0; 7 =9K {iQI/F|L׵Cke`oM @7A$  X:Y:YFT :j&*vw:  v -::A|3 z67-GW}Fpngv`IZ|&;ciBVqܲjA c V:;A$53*GV:V: ViܲoC>bmBVcT r,AZH&,ꟿ&$(DkOK6ȮLi> 7b7isw7b7i0 ͠v YKfvv3:3 p:ILpngw`HZ9 vw:_: AD]H/2ZDDIDv_KA+ xvP:tvZwh yvw<9'8=dJ$ll#K5AM!:ll#4K>&KT'3Y(p(ν3&K&N %v: Z:AIZ| qN͠ I: 8 I6/%v:  u:;6/" q ?:DBI<77LDu;bi@Oq޲jA q } ;A:J CR!T-GV;u;biBVqܲjA  q } EAJ HU#TLEu;ai@Oq޳jA7 =q۵V _O6Vfc<1VkM|$G+DkXR0 z 8v9yw8AzPw|O8$Gu7n8I8X <ػMHG\K=8bHGǠvjBD::I{P*B'+Nh-J /oҲjQB^ zw1K2أŲRGfh|8p5X^jj$8&A65E_pRp쩴ۤwTƨe dmVOl 4.5B^tsRKsazicsv]R {_Fw\>ʘ+>M}Exv. p Iv*+*8*]6}>~6yXihd*x8G6v !M* Nxx7 J 6 :r bs#T> E wE ̥0ۋ*p rx x<0-vv2 4"h24*< !]TCn >R^-אڎ֍T\Xvvg _/(p  ! v1 4%p eI1%1]va ywDraey ZQuT`܃!jqvs챢i g]Q<,/v1 /p 1# r /14i / ]vafw6-*-6DUZ^|cg*hc\LDA *fw A~<`o^Zkuu[o{onut{kYUUI? v0 1/#p h J141#1-v( w4 p  4{)  89-4-9v0 8 J1-99-3!475!5/? )6?n9;d39/6p U cNQltZ@GN78m9-f39/7NQktUg3ɨsUAN!6>m9-4 XEũg;P/Q/diQhkeE/cw@:<2 5BLubX2z=vl yw4#3z3C>,01/xOnd4Il%3!oUJNlǫTvM:6p MM4EJH<9BJXon>MLC͙6dIrv6 1!W'C w4p +cmGm CY.NYq]_1 SM.4` v. 4 I0M? 4 6M^SSےoXQB8( ::?ĢGnemg5:% dw]vHwp g#v 47z"2d79m9#<zQmtY@Q/%46 79nQ4Q%Q4I%BVlzZgħzZz 4rx x<04#? i w/ *v0 1/$p }00>1$1-5 eP:DAG20&%DDDAbjCLeزgIi3w47"6?n 4{K.[N[ q s- 8)ؚ5wh~nz?,?`wxs|g}NG ֛Tv/ -I /-/v. -/% -%-}I^v:E"L>(:"vr p v.[ oP1r4r%vO:DQvE*  K:; xx|4 _ 8 A>,AZH&ꜿ%$2:lRL6ȯSj+ȪqtwkvtxeB{|ŻiEJ5'6 :%twlutxeB{|)T> % gu׆*%vOv Y?!vE*p M E,;4Ix xՠv1w w4'3GB06{1M1i4I4ƭ3v~iw,j~ ~<.3i[qi,Av '@:JfT79Q=:Πvx!p 5!54x x=0%vOv _:Ij ;vEvg _/(p m J1+qA5O:=⻳ykRJ-F|} FWlla]?]䳳qrgzյ@leapL?,<ŔXQB8( :54Ukjb\?]㴳# ֵCoepi j:6]]vwH/afM7-n 1CNvvv wj:IDn JS 6.v:v5]]vuKwH/I/K7-n 1C.KJ2u/%vOSXE 7ND"ln (lI]vEv + >%; Uͽ :::I:z|u~luKtLX:>?/>4p Y4{~xyYp}Z4n&KBРvr a<{գe3rz +P0ztzA'+829< E4IpaV2̰f6-mJo׊P5khOs7b7i 8e &E  [K8[ q vZwh  Ce i &/ K  K y0=Fkv|g[[fh]#0>kv{g[[eh^K >d|v2:Lv_rq]h0>>Nlu|g[[eh]dlu|d2gZ\eh] #0>=kv{g[[eh^dkv{g[[fh^iv+i +*+iv$i 99$*$99NpvwO[N99NO9:MOvJwJJJYbbY YbbY8\ Xd [ e ȼ I$@ ȯ _#Ȯb) 4  +Ԯ ; VV9  ExZE xY i ILaa, i:2L @ i M#iY) X+ i +\ ; \\9  Z Y z p r}ᠺs^S8$"6)fAv8DMu8+61ǻpcWxU@_yDcȋzw 4 Qw 099)Ew=I0 v" '~/ cp]J}!1VK*}!JS v^w%%oM)fmE.bb>(tRKTk// bhSȽcPڬv . =nL h@x,gRh*h@5ڗ~Owv T. =6, h@agRh*h@5ښv  =nL hw#څyWwv  =6, hN#~߃ܯ =h0|#@gR*@5ښvJwwj =h`|#n@ ؕv H =nL hb) y( H =h0) 6f#tv =*nL Psg Q I Q@Q C PU Xߐק =P0.g PHI PPPHC P0D,gR-*,5X( ~ =-#P0(g PHI PPPHC P0U ivKw =Q.g R@I RR@C QD(͑ )Hvv? =hn "?eigvolui0)Է( $1"1:^kvvnU(y{e(.(.:A_drnvgd f$1#18`lu8#?ckg_v+fpc@(ֶ%wr^:.(.:A`cqnvhvf w5!bttc#Ӈ~vew*&ie<!#tcbÇvw%pbc#>u]''rkP vw5p'#cbu Pf`_Q;A w ;Q QSQS4Bvw˺ _SQSQA ww==' mw6 k" ;Q L:<_ br }v J] i 227*r ,2< b -brGbrYbr^ܔviw io l((9[TAܔviw]HH....H...-././F.- LvGwwJBB awm3mwwmigQ;<iE!EiiA Ҿ4Bv /v(2 ݁S%Vvw2ww.dotZVzz{ywefwr`ropyo~}vDlk|ណKeG lw}qph}p~i|{}dSȸn^Ђxni{ Pl|sz|~pETkVǎvC,x|ф|x~VHK^dV.Ywdd{zk>pXHqz[uX]>r~?-lp|h~vZak_hHXqqj}svvu;Optpwvww1{9s~|co~~q|/r2u6/v!w2 րS%Wmu2f{~|ws|sqzz/xyt{{2cրv8 4p ѯ}`OA3L;$^98488W2vLwҽgigigigivy|zVQN6ߧٹv7ȀyK=7]6MRVb|dyhu]o؇widač76o>]J2CZVSUÕ9URWzYUSTYTÕ|ˆ8{TTSV|yMG?Z~WZ{|z}l@\GRMY{ZXZ׹~Q]kּzM[XcNnEehm׺^Ȩѱ}{wRK?\5v:ENX4?Rnxhze~nb\v\Jd[v; w:x| `??zR; H7 `-?7jZ7 jY   I, &2@  9#<)   + ;9  HHUZ UY  kIL , 2@  $#')   + ;9 22\~ vtw;<bHb Uyz33Kȷ_N[HHN3G FF GHBBHvwk0"q"8e 7m"5#(?dBOBl]Jfd=N jd5 .!7~B<,ٟ;'0@lNK9oWSdoPex!ӲkCNbgKVbb2:Ie;L * B6y66SW#*} +8  6mi{i1ıp1De\B[^j/:Kc7!!:Cp ydYNJ-wX Wx`` w= Is!/v Q`K s%\ .6(# KN jvx1L5z -49!. <ɶo*S6bT`cֲΣYgpfxfb Hb*rb } bJf m& v we39E8 3 ,>9 n >?Abv.rUbUrW b v*wO b ]BTAïhT9B8wpbgPz`A /"8WE7,ס4*+FA v. iW v*wO PKC  9z  p Wb柹r^^:(%/-jCv8EMv723.pd]xUAc{+H\  v Q] Nr ]26< -GY^ ]PF iyz1b1E̱^eZJJeG@ MM@ GHHHH `w0 3 K `"l! 7"5#'=dBPBl]Jdd=Q j5 ."8@<,ٟ8(0FA v. iW v*wO PKC  9z  p Wb柹r^^:(%/-jCv8EMv723.pd]xUAc{+H\  v Q] Nr ]26< -GY^ w }l# 4  <-  4D: up ' !vop c {:T.0LX{C p `6 Uwp SF /  "K %v  R"DB"NR"@VP _RCവ:cX@DaմX 49>e  <" G P t  4?p ( ~y FUF;$?n #?`y wy CHP]]GK<A7Fn 9FFzy Tp 1* Qq  88<" " lvpw# ^&lvpw# g/= lvXw# 4l# Fʷʣ;o{}tlyKK_VK l  # R4^ ]^g|^ ]^gl# z \'gq UlqwA PP_ k<%txfB{|)דƬ<okfsTE[ѵ}oUM94 R@#v'ȩquvpw' I&uvpw' XO= uvXw' 4u:94:' =T^ ]^g|^ ]^gvp G 0se&vp G 0}= vX G 0f43w J  &S&/ +B vpw "0H& vpw "0\= vXw "0I4  " SB :7 5:"6y^ ]^g|^ ]^g5 w33R  vpw( 0& vpw( 0W= vXw( 04 v6H 4( 6\^ ]^g|^ ]^gzJ vpwT410=?= v9w4%9MhtRV9ʮtR9%=d4 /zJ :]4[F1:YD^ ]^g|^ ]^gl# hlw# /: yQ HieֶROT? :5f vpw<- 0=  vXw<- 0u4 vIw<- 0 Z  vWw<- 0)qE vWwD:̡ 04Ew u' Sݸuw' O: uvIw' Z F< 4KYIieZV?]㳴~ g{׶ yPPuvWw' ,E{vXw:T.0v4{w:T.0$: {vIw:T.0Z l :2.=0> v kwvXw844k8k4 89f4Ǡv w48p == vw+ x29=>-  vWw9>gQEe vpw <" 0l= e vXw <" 0x4e8K8%twkvtjDG 4t{iQE-%K"9R!btzhgjuRPW\82`k(e vWw <" 00EGY P %twkvuweB{|ƻjD' w 3UȩqG vWwP t 0lEGv P 4&' w 3(% DD(  PnB (  . w( 0W: 4UU4( 6z vw( 0jM )lw4p JqkOPq 4 77Ylmc]@]㴳 յ᪶`J vX- 0f4zJ vXwT410;4* vp- Q0Z= * vI- Q0 Z * vW- Q05^E^'vpwgq UlqwA PP_  /= 5vwOw33R = el 8u28:<"  G U P 328t 3 {)vpwAe&)vpw= &vXwf4+W+ʷʣ ;o{}t lyKK_VK4FMw: .vIw*tZ .& fE z 9vw'M *vWwEl ]2]# %twkuuiD3}Yw3lGLD@]䳳qrgz׶3l# HV p ' LXzJ  \F1:XD^ ]^g|^ ]^gl# 4 .vS p y VwSOTKAup ' * QL{!6(6R"DB"MRBDN6bT=A`׶W_(/(XC p `oy @MOO?KF /E 99, =  " K G P t zy Tp 1Yy 4$p ]4*.61M5Q.*K5M3Vi>Մl0)ؒɟ M{* 3#9i8\?,̣49C Tm/vwD .$ZCIi1N/(n j2J wD .$ZCIi1N/(n j20 vowp /ERɠ vvV 4#pV4"?F L  " K e<- G P t pzxw8$n <X7nccx:&-Ӽgvw65bl6@C7-P7ID@C6MW`9ڃc*ۓ9Xwy CHP]]GK<A7Fn 9FF ;EV4 X2V Vv3+EV2V V׋9 -4%7V*Vk'(7]H[OhrM[9׵zL~! 6p m  2>3*6dS ! &6u 8@3)8]&SOgrM[9׶zLX@ 6ak˯f/g!g+f_E]mf;7]p9ZR,55Hn_S7{=v}w<8{>NR'='/3#vPnm4 2+*wɷ_`]LIev\.9$p \\4g>3M?YmxC\=IĮ.\Mhu43 ' ?T^ ]^g|^ ]^g v7 <LzhBnܹ .vS vp 0= n@ IYll떻zrUO80 RV :ѯArmdpTe  <" X3{v 46|#Ve%*6dH?|,  &^w4245 ^2^4 2e%+6dHSixNb&ճ~Q A4G vowvpw/ERɠ ["= rzxw- 8$n <X7nccx:&-Ӽ0 j B33G)P %7oXw3Xk'(7]SЭuVShyM[){'p R"DB"NRBDNNH_!`bFͶf+떵|J - FUA˘2xlq}N?n $?.vS )w4+ Sv )+).v p pK-4w vH +C!S M: 33###9%twkvtjD\?̡5;@ \nׄ)vHvowp /3> S vsw- P2!1sYps--v .p V+V4"FRA4%obovHv kw k8k4 83Ee* <E[ѵ}oUM94 REEWllc\6hٲ ٮ<okfsTzy Tp 1zv>wTp >>4>BA@%n $FACuvH_CHP]]+=I<A7Fn 9FFy 4Ľp `44|wp+Y*Y24X"M<v Fw4>p  ȢpIG4NIS`|rgnvH  +DX{/f8FG:UW*A.@oZP6Ӵc+ztwJIef*gbNJ D  ^Mb4.$ZCIi1N/(n j2{'p R"DB"NRBDNNH_!`bFͶf+떵rzxw ;M#8$n <X7nccx:&-Ӽ} vI G 0BtZ 6 ; VwS Ua `+?w 'vw5G '4 '  % * )tp* ) ˠvZ7Y8 /HvK?uK Xd bd  ebeNy 5 %b DGbbYY8 vpw;Ԉ&vpw; vXw1 a˶ˤ ;o{~}t lyKK_UL@e w:vIw"o& l&v{ vwM vXwGD l h2h# %twE2}Xw:lGLE ׵cr\ Xd [ e i 227zq0\0t09:1wt8;vF̤x.\KiSIrv|.nhaz,,E DF GF@BH,!GWHyz{1obO ϻΜ2zz0Q1z;yv59;7xx9pv{,Џvsnrrt&lUP,G̦r-z ,l,G9 FF9 GHBBH,`WJwy|#sj`l̞$vwek w{v8 4p ѯ}`OA3L;$^98488W陎iꕕi 4  $(Z b+JoA|  ->btALR  #  ! : r Q 2 V f / 6 O_;?EIhmq/Sdjq05v'8pDt6ehm'8`:_x)-5Tanux{"(?Xoz~!5;@FL_p&6FTXbgow$*06<AN[hu *5@IN|K6S@}qG!ӤxMxN81I)Fȡ_xʅrRbw6fwlvi  lZKJl ˪YG#87F>)77(= G 4t{iQE-%K"9R!btzhgjuRPW\82Ze0 @ROT? :5f _@ txdN?# A$L3YmtYWbkGGOY6.S_@ vV\b<3[lM'({{s`A:(>@25VroglnyZ vqwVDD;wjb^\ck;:Dx=<wD;;ic`^cwj JjЬ˫bFEkbKKY yPP JqkOPq 4888  njc>*!1SCokooӓ8|U[zvoh{  ?I? Bii9 5O:=⻳ykRJ-F|L׵@leapL U*FYpZbTylbdY#>L  E[ѵ}oUM94 RW!:ұ<okfsT 2 4&KƦfM  kvmtge 9'9n 09>4oGdo#~:ٵ I)0YZQ){W 7! Ir'al0EdYt~L[kUڰaeh_x` rtjgzWֿ|zymrv}x}WoAXQۑղy|2&Oms7ehx#Y5H6JXZ]tt ʋ O4 :8=#@9f@R|KFOиrCqQmrEK4ӬtUZ:GØ˽$|I+4 47DYb{UQwWtwcsvWU {cN~[;Μgo PiQc fNw"+VIe)fn #feWI6ӎۉl3lZBelDF[ײnI E l$\-{+H}+?L6 7,-5dnj|jpoxY\a`U)iuxhԶQ,%}qWFB6G,]fo_og_R c|ayt{vp˶ˤ; o{~}tlyKK_ULs e a(]pxwgfu|{i RJ""R6^ ]^g|^ ]^g3y C\[=n 9Z\3`Ίdž#IWMku  vA1'GXoaio[6S@}qG!ӤwNtN81M(E ЪVkϫIj]e}bI\{avìpqscvjvgƣa@Cݓ Nupe`AV ѻqK _ vK34#9PftP\3նzO9(>[ K(?*22?  K*Y.I "W SXE I_ ND"ln (lIP3  3  33 eMx AAo ]9a}||C"M0\akDN3dO9o^Fܒv # kB0011BF"+x>;c ޶S "VU "S3` ;w+"{  D   ,11+ +&, H h_^gi`_ih_^gi`_i+l[zR q9W<\*+SKD\<: dTTc²z `P?? 8Y''YR7yܼVz w4>8s^<))/#9./h1e> p_Nd7wEJUm䱬{d Pjn #(^=aJgg\]fh z|w4>8oP!50%1!8-i1eT o`LG2~;CVl䲥vazZ 4 qћ/y{xOX_Dr AY oFF a)Rp&Rp F vw;ÔeaZ)+qA$#$r,)CoeqhO--KaBagx I<-n "-?hlVes*92 #wP*+9#*#99 :_: _ Y$IWH<J vw ZQ 2'B8EAg>sx ԏKK֤Ƴ}d[H0);2  q 4 z G#87F>)77(=;îh5[ᓯRh]1giSXX} K> :m@CJZM'fE<@IIZ+TK>eMoU w 3U4U  vw  4C:}35IxR-S3+x~b t!Tm<b' J  {jiy{qqxCV55UNDDMBxMU55VNECN:I W!A  q;XvEMSa=i\T<27=`0ִ\icIKd¦kvH %>G8n D8G.>PU ʸʢ;o{|t  k} ddSTdò "'G nL{hAn v w { a||NDRV~KZDȚ}`W9lM~`m@0 a|lx^]m|3{8Iߔ3`|ly^]m|3|7Ia v0 0w[) <<0)0<< <<0)0< :T (( g\ 5P4jfh^] 7/}bom\\pl`.1231M K'-5 vw"w$utt$uAA=HHr@E 4&KƦdM  kvmtge B U[(wiTV4vP4 .N"n D"09$n V$5O  S v P =p X'w3X4ǢoJ p H  =K `]t]r` =N 9T \Y|Y{\ 9VvP:a<G:գe3 .0pcp'pcp3-?@B5%obo4  %Tm<at!:}36IT3+x ]v *#*a *#l v +,cYc c[+c+6xx :x: 55L%%5-hL?]㳳gz w F : s  N O  v;    =U_>S%֧Am\`|VNoƌ kpzaE%dWXdcY H[qrOB@ 0W/O`z r ='' I {lw I| %|WWw|WWw ˜. ?Ax`Q6yfgutZN w}hI]Lrwmwwm==wm  x U8U  s vI I 1 6 484V8Va }x<]0wcsq[n w _&S& wwN :h: |wrbPsR4X<` 6 OXq]_ FT  v{w qYO=xecjw[Oy ɩ3m{}th v$wJJ kuu  `_^`W vpw'' v00w  8AN vw) 4 z:G5v. gcwc_r2?&6  wm v) )" sea.nhXXn稯g/ Hvw])*[vw  0B(MZvkb zw 88 { U8 Gvw^2% , r.\  0 w: wI 4 ZV?]䳳q crvfw:d: w  w  G+$8Z  Y FF X " k ' z Cw w6///6 G62<,ִ ? xeB{ z p vw :\4 w;J6&b # ţuecrrPVf\>/ I: I/6I /&A>P n&KY JT`zrg z (AZE 0CAT 8CRT @MOL HROM PTRK X cpsp>cpsp>cpsp>cpsp>cpsp>cpsp>cpsp>cpsp>cpsp>cpsp>  $%&'()*+,-./0123456789:;<=   "$&(*,.02468:;=?BDFHhijklmnpqrstuvwxyz{|}~   !#%')+,/135j 0DFLTcyrlLgrek~latn (2<FP`jt~ )3=GQaku  *4>HRblv(AZE VCAT CRT MOL ROM TRK F !+5?IScmw",6@JTZdnx#-7AKU[eoy$.8BLV\fpz%/9CMW]gq{&0:DNX^hr| '1;EOY_is}aaltaaltaaltaaltaaltaaltaaltaaltaaltaaltc2scc2scc2scc2scc2scc2scc2scc2scc2scc2sccaltcaltcaltcaltcaltcaltcaltcaltcaltcaltcasecasecasecasecasecasecasecasecasecasedligdligdligdligdligdligdligdligdligdligdnomdnomdnomdnomdnomdnomdnomdnomdnomdnomfracfracfracfracfracfracfracfracfracfracligaligaligaligaligaligaligaligaligaligalnum lnum lnum lnum lnum lnum lnum lnum lnum lnum locl&locl,locl2locl8locl>loclDmgrkJmgrkJmgrkJmgrkJmgrkJmgrkJmgrkJmgrkJmgrkJmgrkJnumrPnumrPnumrPnumrPnumrPnumrPnumrPnumrPnumrPnumrPonumVonumVonumVonumVonumVonumVonumVonumVonumVonumVordn\ordn\ordn\ordn\ordn\ordn\ordn\ordn\ordn\ordn\pnumbpnumbpnumbpnumbpnumbpnumbpnumbpnumbpnumbpnumbsinfhsinfhsinfhsinfhsinfhsinfhsinfhsinfhsinfhsinfhsmcpnsmcpnsmcpnsmcpnsmcpnsmcpnsmcpnsmcpnsmcpnsmcpnsubstsubstsubstsubstsubstsubstsubstsubstsubstsubstsupszsupszsupszsupszsupszsupszsupszsupszsupszsupsztnumtnumtnumtnumtnumtnumtnumtnumtnumtnumzerozerozerozerozerozerozerozerozerozero&!" #$    %)T \ \ : : \ p p    & J p  J H` &H>VKXYZ[\]^_`abcdefghijklmnopqWXYZ[\]^_abcdeghijklmnopqYZ[\]^_stuvwxyz{|}~rstuvwxyz{|}~ *+,-./01234567     !"#$%&'()     !"#$%&'()*+,-./012345678899::;;<<==>>??@@AABBCCDDEEFFGGHHJIIJKKLLMMNNnopqKKOPQRRuVW$>@@EKMQ&S^+``7cc8mm9oo:}};<Ts"#&@BJo~7;<IKCCyzv`flHT`n~ "(.4:@FLRX^djpv| "(.4@LRX^dj  $(,048<@DHLPTX\`flrx "(.4:@FLRX^djpTVeUWfSbLsX{YtZu[M\N]O^P_Q`RaUdlX`|fFGHI`abcdefghijklmTcr '()*t+,-./0123456789:;<=>?@ABDEFGHIJKLMNOPQRSTv      !"#$%&SU! !DDLLRRaadgiinnrs  !!$%#T^%ac034::5DE6HH8gg9:;>EF'BsDTxx yy/OFGHI !$%^LefbXYZ[\]^_`adc`VWSL{tuMNOPQRUT&K  "4DZDD22  'KlV'R<'6rr 'TTT'4444'''v'd N': vvvvvvvvv$'K(KK'('ll || DR`-- !adefginrs:DEHg'T`-'BDT[      !"#$%&'()*+,-./0123456789:;<=>?@ABDEFGHIJKLMNOPQRST!aadgiinnrs77::DEHH gg!"#&-.XYZ[\]^_`abcdefghijklmnopqstuvwxyz{|}~*+,-./01234567     !"#$%&'()89:;<=>?@ABCDEFGHJIKLMNRU$%&'()*+,-./0123456789:;<=   "$&(*,.02468:;=?BDFHTUVWXYZ[\]^abcpqrstuvwxyz{|}~   !#%')+,/135xXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRVWDEFGHIJKLMNOPQRSTUVWXYZ[\]   !#%')+-/13579<>@CEGIJo   "$&(*-.0246yzNTUVWXYZ[\]^_`abcdefghijklmnopqr      !"#$%&S >>@@^^``ccmmoo }} T^ ac;<IJ'TxxM V`Wc] yLzOI stuv+'$%&'()*+,-./0123456789:;<=   "$&(*,.02468:;=?BDFHhijklmnpqrstuvwxyz{|}~   !#%')+,/135jT^ac L#Kl|`abcdefghijklmKK   DDRRT^acKK !$  {"9' :e( .69EE *,"HK%  3"5% H5"&* 0VoA@#AAA#A(A/|AA A#ZA#jA; 7XQ LS EHE( M#T>W"*h)B>.*>(7O>B>IT>W"=<9E wqE"-0 @wq.&AXKs$*,+a'*#MC?@";-XPs$--VVVVVVC@#AAAA((((A#####9#7777SXA_>######I****BB>IIIII*I<9<9<9<9T>V#V#V#@#@#@#@#AX"a"A*A*A*A*A*#)#)#)#)AB> F(((((6<TA)./|A*>*>(A(7A7A7\AB>AB>AB>BAB>#I#I#I4jA=jA=jA;;;;   7<97<97<97<97<97<9Q SS   hCI#I; aF2NVsCpQ@albLs/ !VoAAVA A#(A|AL A"#AZA SML((SQH.9:9Q`> @H.?9-.C?IlO9M98( 5(:9I:9(A AB#;(A(/A rAKAVVAoAA~A!AArA A#AZA@# IWLArAAWATA)Al#-!.>>6*X>X>$>@Q>IM>T>R#X>+ >*>Y> > ,>0*F>.!5>F$>L> #IXA>!wA'>zA'>sA`>:#SSQr+ uA=>(A8 (7*AX>#IKK0    v,"(h$i$W!#.<<<hh!-##.<<<hhN dA(N-#-#- - Z-QmQmMm(<P<<,Vx*W"" *& "xddxx((MbBP(<<**Wy~.A7hh<!-##.<<hh<!-##.<<(' #e(*n  3" 5%H5&* -0 @.*'*9*0 HH(N ,x*" *& B00,0>00%000000/00070>070&0700 0090>070>0M0>00 00,000060>0 00&0>0707000,0>00+000000-00070>070&0700 0090>070>0M0>00 00,000060>0 00&0>07070[AA;A#ZAAAR#fA"AJAA eAv#*Aq#5A  Z7#  #AAA@""""\eAv#v#v#v#v#,Z7Z7Z7Z7(A####\A\AAAAAR#R#R#V#fAl """""3"A<AJAJAAAAeAeAeAeAeAv#v#v#P45A5A5A       Z7Z7Z7Z7Z7Z7 ,  EHh`H7Xa"AfA"A;AAAfAv#"AJA eA"v#fA*A ("v#(&A;AABA1eAeABAN fAv#fA*A # nA?FANA|A%APA=A A# "A"AWA BAfA v#!A6HAHAnA #?DAH"AOeAv#AA"3AQEE,EEE E"s$,s$<>^`@,MZh$i$ K%n00gfWy2 $ " $ 2 6 7 8 9 : ; < D I R W Y Z            > f j k l m n o p   ! -2 J MK    <  a2 $79:;<=[Xkmnopq$-679:;<=DY[]"279:<RWYZ>`$2DRVXXdf79:<"$$$"$2$7$9$:$<$Y$Z$m$$$$$$$$$$$$$X$a$$f$k$l$m$n$o$p$$!%-%7%9%;%<%%%%%%%X%j%k%m%n%o%p%q%%%!%)&&&2&9&m&&&&&&&&&f&p&&!(2((((((((((!()))$)-)2)D)R)X)[)})))))))X)a)e)f)j)k)m)n)o)p)q)))*9*;*<...2.6.D.R.V.Y.Z.m.........X .a.f.j.k.l.m.n.o .p. ..!///"/2/6/7/8/9/:/</R//////a /f/k/l/m/n/p//!00000!222$2-27292;2<2=2}2222222X2j2k2l2m2o2p23t3$3-3;3<3=3D3R33333333X3j3o3q557595<5D5R55a5f66-66676;6<6Y6Z6[6}66666X6a6k6m6n6o6p6q66!6)77777" 7$7-727D7R7V7X7Y7Z7[7]7m7}777#77777J77777777777777X7a7d7e7f7j7k7l7m7n7o7p7q7777)8$8-8899999$9-92969D9R9V9X9m9}99999999999999X9a9d9e9f9j9l9m9n9o9p9q9999):::::$:-:D:R:m::::::::::X:f:j:l:o:q: :);;;2;6;D;R;V;Y;Z;m;};;;;;;;;;;a;f;j;k;l;m;n;p; ;;!<<<<<$<-<2<6<D<R<X<m<}<<<<<<<<<<<<<<<<X<a<d<e<f<j<k<l<m<n<o<p<q<<<<!<)===2=R=m=}= ====f=j=l=p=D D"DYDZDDFFRFFH"HYI <I <III7I"FIDIRImI<I>UIiPI<JRJVNNNNRNmNNOOROQYRRRR"RYRZR[R}RRRRRUUUUDURUVUWUmVVVVVVWVVVVWWWRXXYYYDYRYmYYYYY>ZZZDZRZmZ>[[[ [R[m[[[[]]mm-m7m9m;m<mR}$}-}7}9}:};}<}=}Y}Z}[}]}"## $-0<DR#Xd#(  ("RYm>( RY>RYm>( < $-<0 6(;<DM<R V[  ((   Xa<d - ) "$-679:;<VYZ[Xajkmnop)<"Y[DRV DM<RV(  YZ[   & )>`$2DRVXdfXXX7X9X<XmXfXkXmXnXpXX!YaYkYmYoYpYYY!Y)ZZZmZf]]}]X]a]f])^m^o^pbbbmbfbjcccfckclcmcncpcc!dd!e7e9e<fff7f9f;f<f}fXfafkfmfofpfqff)gtgXgagogpgqgiikimipjj}jajjjkjojpj)kkkkkmk}kXkfk)lXlammmmmmm}mXmfmjm)nnnnnmnXn)ooomo}ofojoopppppmp}pXpfpjp)qqqmq}qf"#>Xado     X a2 d  -   )&X&a&d&j&k&m&n&o&p&&&!&)ooniprobe-2.2.0/ooni/ui/web/client/fonts/fira-sans-light.7dd0ad25580893d980bbf0475f88aead.otf0000644000175000017500000025752413071151301026575 0ustar irlirlOTTO PCFF T DSIG_LGPOS [ tGSUBkSED#OS/2 @`cmapNώhead[6hhea$hmtx2(kernDD6maxp{P8nameYpost2 BL_<גׄ P XP{P{,XKX^2<  @ )   R R^9c 6* #* M k .* R^  $}  r ! ? ! lY T F <_ , \ T# w  Digitized data copyright (c) 2012-2013, The Mozilla Foundation and Telefonica S.A.Fira Sans OTLightCarroisCorporateGbR&EdenspiekermannAG: Fira Sans OT: 2013Fira Sans OT LightVersion 3.001FiraSansOTLightFira Sans OT is a trademark of The Mozilla Foundation.Carrois Corporate GbR & Edenspiekermann AGCarrois Corporate & Edenspiekermannhttp://www.edenspiekermann.comhttp://www.carrois.comLicensed under the Apache License, Version 2.0http://www.apache.org/licenses/LICENSE-2.0Digitized data copyright (c) 2012-2013, The Mozilla Foundation and Telefonica S.A.Fira Sans OT LightRegularCarroisCorporateGbR&EdenspiekermannAG: Fira Sans OT: 2013FiraSansOTLightVersion 3.001Fira Sans OT is a trademark of The Mozilla Foundation.Carrois Corporate GbR & Edenspiekermann AGCarrois Corporate & Edenspiekermannhttp://www.edenspiekermann.comhttp://www.carrois.comLicensed under the Apache License, Version 2.0http://www.apache.org/licenses/LICENSE-2.0Fira Sans OTLight,, * ~~7 (6 O\_cu     " & 0 : D p ~ !!"!&!.!_!!""""""""+"H"`"e"#(#+#%%'+ 7 &5Q^br     & 0 9 D p t !!"!&!.!S!!""""""""+"H"`"d"#&#+#%%'+F.vTSRM;/}{usoka_WOKG0.(&%$!RGD={zxurfJ30qoך"  U  ~~bABF77JKMNTY  \_&(a56dfilm OQ\^_bc ru !'+,./135  7 9  :  >  A "D & &G 0 0H 9 :I D DK p pL t ~M X g!!h!"!"i!&!&j!.!.k!S!_l!!y!!"""""""""""""""+"+"H"H"`"`"d"e""#&#(#+#+##%%%%''++   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`aDrdeiFxpkivjsgwl|jcnAm}Gb;<AB>?:KgIJEy@CHKRqNOPzSQL2FiraSansOTLight8PD ݛF0$*07>DJU`jtz $/:>BHNU\bhov '-3@MSY`gmsy*5@KQWakry ")07>CPZfnw -7CKThmqv{ ")07>ELSZahov} %,3:AHOV]dkry !(/6=DKRY`gnu|      $ + 2 9 @ G N U \ c j q x     " ) 0 7 > E L S Z a h o v }    " + 4 ; B I P W ^ e l s ~     & - 4 ; B I P W ] g t   # 2 ; D L T ^ g p x  &.6?JX`lx(1<HTco| *1<GMWdmy(3?NXgr~%2:FU`n{ -=JXiu !*6>CNW`nz(0<FOYbp}!*4ALQ_ix!/:CMV]fpy %/;EOYcmw &-3;BJS]bgqv| !+5?IS]gq{%/9CMWaku )3=GQ[eoy!2@O^p|*6BNYdv+=.nullCRuni00A0uni00ADAmacronamacronAbreveabreveAogonekaogonekCacutecacuteCcircumflexccircumflexCdotaccentcdotaccentCcaronccaronDcarondcaronDcroatdcroatEmacronemacronEbreveebreveEdotaccentedotaccentEogonekeogonekEcaronecaronGcircumflexgcircumflexGbrevegbreveGdotaccentgdotaccentuni0122uni0123HcircumflexhcircumflexHbarhbarItildeitildeImacronimacronIbreveibreveIogonekiogonekIdotaccentIJijJcircumflexjcircumflexuni0136uni0137kgreenlandicLacutelacuteuni013Buni013CLcaronlcaronLdotldotNacutenacuteuni0145uni0146NcaronncaronnapostropheEngengOmacronomacronObreveobreveOhungarumlautohungarumlautRacuteracuteuni0156uni0157RcaronrcaronSacutesacuteScircumflexscircumflexScedillascedillauni0162uni0163TcarontcaronTbartbarUtildeutildeUmacronumacronUbreveubreveUringuringUhungarumlautuhungarumlautUogonekuogonekWcircumflexwcircumflexYcircumflexycircumflexZacutezacuteZdotaccentzdotaccentAEacuteaeacuteOslashacuteoslashacuteuni0218uni0219uni021Auni021Bdotlessjuni02C9gravecombacutecombuni0302tildecombuni0304uni0306uni0307uni0308uni030Auni030Buni030Cuni0312uni0313uni0326uni0327uni0328uni0335uni0336tonosdieresistonosAlphatonosEpsilontonosEtatonosIotatonosOmicrontonosUpsilontonosOmegatonosiotadieresistonosAlphaBetaGammauni0394EpsilonZetaEtaThetaIotaKappaLambdaMuNuXiOmicronPiRhoSigmaTauUpsilonPhiChiPsiuni03A9IotadieresisUpsilondieresisalphatonosepsilontonosetatonosiotatonosupsilondieresistonosalphabetagammadeltaepsilonzetaetathetaiotakappalambdauni03BCnuxiomicronpirhosigma1sigmatauupsilonphichipsiomegaiotadieresisupsilondieresisomicrontonosupsilontonosomegatonosuni0401uni0402uni0403uni0404uni0405uni0406uni0407uni0408uni0409uni040Auni040Buni040Cuni040Euni040Funi0410uni0411uni0412uni0413uni0414uni0415uni0416uni0417uni0418uni0419uni041Auni041Buni041Cuni041Duni041Euni041Funi0420uni0421uni0422uni0423uni0424uni0425uni0426uni0427uni0428uni0429uni042Auni042Buni042Cuni042Duni042Euni042Funi0430uni0431uni0432uni0433uni0434uni0435uni0436uni0437uni0438uni0439uni043Auni043Buni043Cuni043Duni043Euni043Funi0440uni0441uni0442uni0443uni0444uni0445uni0446uni0447uni0448uni0449uni044Auni044Buni044Cuni044Duni044Euni044Funi0451uni0452uni0453uni0454uni0455uni0456uni0457uni0458uni0459uni045Auni045Buni045Cuni045Euni045Funi0462uni0463uni0472uni0473uni0474uni0475uni0490uni0491uni0492uni0493uni0496uni0497uni0498uni0499uni049Auni049Buni049Cuni049Duni04A0uni04A1uni04A2uni04A3uni04AAuni04ABuni04AEuni04AFuni04B0uni04B1uni04B2uni04B3uni04B8uni04B9uni04BAuni04BBuni04C0uni04CBuni04CCuni04CFuni04D8uni04D9uni04E2uni04E3uni04E8uni04E9uni04EEuni04EFuni2007uni2008uni200Bafii00208uni2070uni2074uni2075uni2076uni2077uni2078uni2079uni207Auni207Buni207Cuni207Duni207Euni2080uni2081uni2082uni2083uni2084uni2085uni2086uni2087uni2088uni2089uni208Auni208Buni208Cuni208Duni208EEurouni2116Omegaestimateduni2155uni2156uni2157uni2158uni2159uni215Auni215Farrowleftarrowuparrowrightarrowdownarrowbotharrowupdnuni2196uni2197uni2198uni2199uni21E6uni21E7uni21E8uni21E9uni21EApartialdiffDeltaproductsummationuni2215uni2219radicalinfinityintegralapproxequalnotequallessequalgreaterequaldotmathuni2326uni2327uni2328uni232Buni23CEuni25AFlozengeuni27A1uni2B05uni2B06uni2B07uniE000uniE001uniE002uniE003uniFEFFu1F310i.latn_TRKLdot.latn_CATldot.latn_CATparenleft.numrparenright.numrplus.numrzero.numrone.numrtwo.numrthree.numrfour.numrfive.numrsix.numrseven.numreight.numrnine.numrequal.numrminus.numrparenleft.dnomparenright.dnomplus.dnomzero.dnomone.dnomtwo.dnomthree.dnomfour.dnomfive.dnomsix.dnomseven.dnomeight.dnomnine.dnomequal.dnomminus.dnomspace.fracnumbersign.osfdollar.osfpercent.osfplus.osfzero.osfone.osftwo.osfthree.osffour.osffive.osfsix.osfseven.osfeight.osfnine.osfless.osfequal.osfgreater.osfasciitilde.osfcent.osfsterling.osfcurrency.osfyen.osfsection.osflogicalnot.osfdegree.osfplusminus.osfmultiply.osfdivide.osffiguredash.osfdagger.osfdaggerdbl.osfperthousand.osfEuro.osfpartialdiff.osfproduct.osfsummation.osfminus.osfradical.osfinfinity.osfintegral.osfapproxequal.osfnotequal.osflessequal.osfgreaterequal.osflozenge.osfnumbersign.tfdollar.tfpercent.tfplus.tfzero.tfone.tftwo.tfthree.tffour.tffive.tfsix.tfseven.tfeight.tfnine.tfless.tfequal.tfgreater.tfasciitilde.tfcent.tfsterling.tfcurrency.tfyen.tfsection.tflogicalnot.tfdegree.tfplusminus.tfmultiply.tfdivide.tfuni2007.tffiguredash.tfdagger.tfdaggerdbl.tfperthousand.tfEuro.tfpartialdiff.tfproduct.tfsummation.tfminus.tfradical.tfinfinity.tfintegral.tfapproxequal.tfnotequal.tflessequal.tfgreaterequal.tflozenge.tfnumbersign.tosfdollar.tosfpercent.tosfplus.tosfzero.tosfone.tosftwo.tosfthree.tosffour.tosffive.tosfsix.tosfseven.tosfeight.tosfnine.tosfless.tosfequal.tosfgreater.tosfasciitilde.tosfcent.tosfsterling.tosfcurrency.tosfyen.tosfsection.tosflogicalnot.tosfdegree.tosfplusminus.tosfmultiply.tosfdivide.tosfuni2007.tosffiguredash.tosfdagger.tosfdaggerdbl.tosfperthousand.tosfEuro.tosfpartialdiff.tosfproduct.tosfsummation.tosfminus.tosfradical.tosfinfinity.tosfintegral.tosfapproxequal.tosfnotequal.tosflessequal.tosfgreaterequal.tosflozenge.tosfcyrbreve.scf_i.scf_l.sca.scb.scc.scd.sce.scf.scg.sch.sci.scj.sck.scl.scm.scn.sco.scp.scq.scr.scs.sct.scu.scv.scw.scx.scy.scz.scgermandbls.scagrave.scaacute.scacircumflex.scatilde.scadieresis.scaring.scae.scccedilla.scegrave.sceacute.scecircumflex.scedieresis.scigrave.sciacute.scicircumflex.scidieresis.sceth.scntilde.scograve.scoacute.scocircumflex.scotilde.scodieresis.scoslash.scugrave.scuacute.scucircumflex.scudieresis.scyacute.scthorn.scydieresis.scamacron.scabreve.scaogonek.sccacute.scccircumflex.sccdotaccent.scccaron.scdcaron.scdcroat.scemacron.scebreve.scedotaccent.sceogonek.scecaron.scgcircumflex.scgbreve.scgdotaccent.scuni0123.schcircumflex.schbar.scitilde.scimacron.scibreve.sciogonek.scIdotaccent.scdotlessi.scij.scjcircumflex.scuni0137.sckgreenlandic.sclacute.scuni013C.sclcaron.scldot.sclslash.scnacute.scuni0146.scncaron.scnapostrophe.sceng.scomacron.scobreve.scohungarumlaut.scoe.scracute.scuni0157.scrcaron.scsacute.scscircumflex.scscedilla.scscaron.scuni0163.sctcaron.sctbar.scutilde.scumacron.scubreve.scuring.scuhungarumlaut.scuogonek.scwcircumflex.scycircumflex.sczacute.sczdotaccent.sczcaron.scaeacute.scoslashacute.scuni0219.scuni021B.scdotlessj.scgravecomb.scacutecomb.scuni0302.sctildecomb.scuni0304.scuni0306.scuni0307.scuni0308.scuni030A.scuni030B.scuni030C.scuni0326.scuni0327.scuni0328.sciotadieresistonos.scalphatonos.scepsilontonos.scetatonos.sciotatonos.scupsilondieresistonos.scalpha.scbeta.scgamma.scdelta.scepsilon.sczeta.sceta.sctheta.sciota.sckappa.sclambda.scuni03BC.scnu.scxi.scomicron.scpi.scrho.scsigma1.scsigma.sctau.scupsilon.scphi.scchi.scpsi.scomega.sciotadieresis.scupsilondieresis.scomicrontonos.scupsilontonos.scomegatonos.scuni0430.scuni0431.scuni0432.scuni0433.scuni0434.scuni0435.scuni0436.scuni0437.scuni0438.scuni0439.scuni043A.scuni043B.scuni043C.scuni043D.scuni043E.scuni043F.scuni0440.scuni0441.scuni0442.scuni0443.scuni0444.scuni0445.scuni0446.scuni0447.scuni0448.scuni0449.scuni044A.scuni044B.scuni044C.scuni044D.scuni044E.scuni044F.scuni0451.scuni0452.scuni0453.scuni0454.scuni0455.scuni0456.scuni0457.scuni0458.scuni0459.scuni045A.scuni045B.scuni045C.scuni045E.scuni045F.scuni0463.scuni0473.scuni0475.scuni0491.scuni0493.scuni0497.scuni0499.scuni049B.scuni049D.scuni04A1.scuni04A3.scuni04AB.scuni04AF.scuni04B1.scuni04B3.scuni04B9.scuni04BB.scuni04CC.scuni04CF.scuni04D9.scuni04E3.scuni04E9.scuni04EF.scfi.scfl.sci.latn_TRK.scldot.latn_CAT.sccyrbreve.caseparenleft.caseparenright.casehyphen.casebracketleft.casebracketright.casebraceleft.casebraceright.caseexclamdown.caseguillemotleft.caseuni00AD.caseguillemotright.casequestiondown.casegravecomb.caseacutecomb.caseuni0302.casetildecomb.caseuni0304.caseuni0306.caseuni0307.caseuni0308.caseuni030A.caseuni030B.caseuni030C.caseuni0326.caseuni0327.caseuni0328.caseendash.caseemdash.caseguilsinglleft.caseguilsinglright.caseinfinity.casezero.zerozero.osf.zerozero.tf.zerozero.tosf.zeroTonoscyrbrevef_if_lDigitized data copyright (c) 2012-2013, The Mozilla Foundation and Telefonica S.A.Fira Sans OT Light(h57P<Vn%8M  6 P e 5 = J R r c  & ^   Dgrxm 58FRW$]ex$\.]p 6HS}(JM]e -O]ag$1Oarv0:BGK`uy#).4ET[`p (6DJNTZciot "(-8CGR]bt{{ss{{tPt{{ss{{twtr'al0EdYt~L[kUڰaeh_x` rtjgzWֿ|zymrv}x}WoAXQۑղy|2&Oms7ehx#Y5H6JXZ]tt|~|Υx~zX]o~bx|kqjn_jouszzynx|s}pyswER>4YOzy|qx~ij=pztruv `ooyxw7hnqFWr^N{u~`rdzqz}yZyu_w~|axvk~N 9˱5xҪwZb|{{}q~wzwC-pj]iv]zjh{y{Ne|{s2wLsNVyu~ p3C:99"#špe_a|T2D ,B <#;<96"<su?'*O?&'P'* [V7>T98ehnrG@Na0DU]hg]r=h©ȶ{i Mo U9`GyiZƴzv[S} C?&G[oPiuxlmT]ѳkUGRi  ]68Z]88YڻZ8 زeg|qr^^q|e\X=_E_*m "mtjwt|udǻµrP Tbէzwtbw H&.RT=feM6*BECٰ:XK6_]E:blܪճY9෹ܴIR:l`P<Ac~cXJ BU::bqnsKLSiAd*"Af#  Gl^l?jbVV]]nFX^]kdiwܶ~fԼZ+ sоj[XD/>]5gooYkob]œFD{Ml}keoBm~\~5ty 0 i|~gzooxxr MUѸF++1hBW39\BI rrAAe pmq 6| ffee!WD)9w Y;)UeȱeNOieU_οH??DW1.Y^XZ4 ^B n^_T<5Ph2)4&"2"BNhL_?YX;("R+ʶȹ̀yvp>r| ܳ|Dq{}p}Rbl]XX;2*vJo@w|S;@Vt@<@Vt@2]no4]sJJ<sJJ9oq<no<YKiwC6!b3TCx׽EkWQ@v h9bb9b^ Nn(9Xz>iwiһw*bWH,3CC3/}]X`7$9QʼǻfH[@-appQF!%/_U@RS6R.NeR@d)QpGp"XVǩ5iX ̀a\ɲpt+QPF+UGf  r ] @yͽviaWK"DL%$J\BQyoWmY ˎ3WW=APAN&$A>Ə 0 w  XdW^ z4[J秷}zyC\f2l m ڋpZ;[p55qbWXs`v ZG y {\LLPKDDGP)\Gvw Ǡvp>v vpٴ}zhYQ XX;2*AA X_tR 4Og7!&>29 3Z vAw  Sq~N_~¨Ws{V5_ȥ~S|Ye{]slOW S.,X,..,,A% ,~#( vAy5wqYADyDD5S5CXCyCXCAAv-wdR[RRu+++7 E B7SCݼQ YP77[  .wQ.+X+$$+++V7HCGdHn|X.ZWrK^ĸ]@ vBwhgWlLNiLRS$TҺ q_Zd > ܽaý `rr` `Ƚaý `rr` `aPw D~Ua?&T˥lk`[vG8V˧U nC*gsUTR2sn9#V& JkWV4Lvߺ jMZ\jW ] ;ű Ѧf1 Rt jY3  Oh\bI1W$(ǸjS .-././F.-..HH....H  `ufK[O yJrC # tw`V %w ̫͞=:HnXSeWC.8i?^ Z0*a0(w,wmDD wM==mw mwwm==wm 7 !(/#5\p,.Qg ,̨P/twLANtd\ wmlq   Ģ]CMORKVym` |hc:}o~{syxrr2!e2! HRHR& AW   D _bN <#;<96"< vw  uuA A uu  Nv  B9= A o Y W+ v w vwr wwe vHw 3H-;AĪ̲ mwwmmw T[jWne渺 ؾ v w AydUE';[2Mex 8vw 2E ^-CdThJD` n ˂ n  9;PFWiQd HaSgDZǫ̴} F v5we TPM@ ڿW!NsFsKvkw  vw S(*ET$BT_di +5-+'0- RyyR B   vYw vz  ^LYgs$R~_-Ca2G_/F\n7}(<` 1Y'4LZz'=Shu6Wm-AZp3t # 5 E ! !9!N!|!"""""# ##<#V#l##$ $q$$$$%%:%e%%%%&"&9&J&b&t&&&'2'|''((F(V(k(~((() ))I))**1*O*m*y******++!+E+M+U+a+n+x++++++++++,,),7,C,R,e,,,--S--------..N.V.y....//2/r///0W001?1M11111272A23 33444r4{45 5`5566S667E77848w8899T9h999:%:8:::::;;X;r;;;;<+<-<;<~<<== =#=2=T=V=p====>>:>>>?3?[????@0@@@A`AABB,BpBBCC-CZCCCCCCDDADEE3E=EZE}EEEF-FFFGFGiGGGGGH+HuHwHHI IRIIIIJJCJdJJJKdFdNdWd_dgdod|ddddddddddddde e5eleef.f0fNfPfwfffffffffffffggg g gggggg"g-g7gGgRg\gdglgngpgrggggh=hhhhiii]ikiiiiiiiiiiiiiiijj"j$j&j(j*j,j8jCjMj]jhjrjzjjjjjjjkk;kkkklllYlgl|lllllllllllllllmm m"m$m&m(m4m?mImYmdmnmvm~mmmmmmmmmnn+n-n/n@nensnun}nno oo-o>omoooooppp,pApTpgp{pppppqqq$q1q>q@qYqoqqqqqr rFrrrss+s=sPsssssttt1t>tLtrtttttuuYuquuuuuuv vBvgvvvvw-wIwfwwwwwx xxxxxyyzyyyzz>zxzz{({v{{{{| |"|9|W|u||||||||||}}}}/}P}]}c}n}p}r}}}}}}}}}}~~7~9~A~g~p~~~~~~WYOZЀ߀)+-6LւLN`ǂM]\h#%2Cх;Us݇/v-d)hΊ i13@htNj׋ / Y 'v  XK v ] B 3LT1 wvxw>Dwvw>0  5#HZBBBG v&U/Ky1P?lljnffi/^B/YHm[W Ӹ 3 ̐$ q}E JvTzw1 QgTUQRcRjcxũܼ]kl|~ALvA+=;#&<3wvwivZw::"mtjwt||ǻµrP_a 舿UD'v w 9Q.Vgtsr5t9Zc} ^ 9Id$auwy8a2$`7)vw* 0]vw* 0- vw* 0;)' vw* 0 TvwzUAPOHu-s,0- ɠvܽ w=APA01&,<* ]Rl 1 Br " yBl ۺ:@&r w" 2 l v:7r vw"0;vJ/1 Zkj[Y)ɲv?)qe_a|T2D 3C:99"cj`fI)UBl v: 0r "S vw18' v%8 кw19B&׺%2 vw1cr7v%; >1ae vH%6֫-wv APP5' ewvw' -w зFPPF_q xT N  ( { " ^ ( xTN  3B{ 8^ SBxTMm&{ w^0n2 xvwģwZkk[Y)ɲAvUwrwĥYlj[X)ɲn ;xTvMC7{ ^v1vA ypN Ɂ Kvuurwfx^n 6 3 o d ovwvw Ƞ 0$/'  d 0oI8vA 8\A6m  suw<koit{ sv v qkok j0F- Uwvw: 0- k 8j Uw8: k knvFw jPc vww: Pԡ kvw j`K;vww: `:;k wA1Tc˲dqJlU t=[d{Dq{}p} r-Q9Tvw7CP=A(߈цAS0- vwB KE 9|<7CP=A(߈цASg  .{ 6O. 9w7CP=A(߈цAS0^0 vwB S /B . 9Lvv|7CP=A(߈ц/rm0d_ ASKvu 7ip?e_껽%Ka ñ Ѧf1ؑ 5ba*b`7) Ḅ  # xBкw̑ 5ba*b`7)0i&̣ w #02 v=w̑ 5ba*b`7)0TkṾ vEw #0P! vv޽w# lQ*tqqC5v3ǪSH5ba+b`A*+\\ <#ʹ1_ġpe_b|T2F 7H5P_6hgJ36"<ssF,*OA&'P'*B @$- vw{neeE ٗ>@t vqĀw,{4n,H v @0  {nGSvw) 0A- Z +0u=E vw) 01' Z +08v@R(4 bʲлxaWR-6I(']` fk5-EV#;MYhbYo3aZv@U,Ħ(ۺN .g²}scYJBT;:cpmrMLSi:\Y]ݽ5t55t5;YV];A?cP x vwLws 8<] s& 7 mv  l 1  X-wPPD r[, 5ba*b`7)xN \A6m y W pA@pAC 9y 7CP=A(߈цASqFSATD5ba*b`7)-v LA ɠvҽ01%,<0A `:\Y]ݽ5t55t5;YV];A?cxM8 wzUAPOHu-s,0  _ 0ylkRd+yLvv Uy s 0}yvwLw#F8"7HI0JaR Qn}}8] _ LvVÂ{ -'.#J NJ&(OR^ lkRdXvwmTP7+cF8ni`fxXLlkbrMr&."W `pt\Lvv €ʸû ((}H!'#@k#Zef[' &*bc s |vvw2guovl}nGPs{ԡT^bNp "}mvwހ4 /ŞD_Nl-N\uh'vNJvTzw1 QgTUQRcRjcxũܼ]kl|~]vw":RT8uk^NM?8Xv{wtpt\Q6OڹP?\̵Ů{tdY@&?I.Aau7uQO+Z\̣  #vvow#ml[oomAksj}\lljcLvVSaēUt9?GN$6Ă#A(+YA+QXk[XvRvlra]*)\!뻲~l]XP4"/%TeӀVw <#;cO؁O:E@:"8vh<*O?&'P'34FvvwKnЄlicZFAksj}#F8"7HI0JaR Qn}}zLvWZw[mRpGp'67OW“OZ4RR WH$T&دL2+PA2KLvwwvxV#SMTv>E ~-+C >T%LvWzwwW_a“O9F}}QF9".MG!uwVSL*wLRD3||8c 'vws 06% 'vw#F8"7HI0JaR Qn}}0% ̣  #0y #F8"7HI0JaR Qn}}05y ||c0yl v: ^v2v dr #LANud\ķP/"0p]4imv ȶ0- (TĴ{i^V:% }|.ȧjlg_sD.[) xN xM8 ovw  cvkZ|s  |h Ia %6½w&PPA+5*('0-Ym If %^v cr k- vLw Aw] np"t]^OFV]V0R& S%%OAPs& ɋȽu=,uA08&'%3(YiG_ 7 mv v%۾PX%AakiwPQ]Yiøӫl 1 wA@JMTeSReǺ`GMkC<4 h4Tﺹ h08GPwvv d}p A C -wPPD5ba*b`7)-v LA ɠvҽ01%,<0A `>4I$Yo9+I >ʸz  ! ߀6wؤ±sJ`\yAs&\pVS&L&A7Lk?g*=Q#ICg5RfMi)XIĜ=WL\Po<;It.$frݵkOPii; 4vn; @'Ko ]o{Pzbt`We@@Y$r "vswsFsN!:*+:ljRe褺cyXF { 4WٹRghcI{ w4WٹRghcI0S2 svr eL̕vvo)չ#ipo-{ Z>!>\Ǐǎ#WJ+vyẉ  #vooo` o 4 8vnMnnbLvvuNn3fY"w\ҰDN)q5qLvVUewEtUk]R N,C9ĺ]u9CX QVtZi=X]i۰A((a<;MYi]oX;a((۾nXY{ y)L5HbbF4L(  oRooR܋ 8RosoTosov oRosoToso LOZn ^Lwz R pv Lw LR tbZdw<=DIOsg_dJ^XF/Tbc{vUwn@A::3-)ozR8-F./QD./R,1vlu llW\U!IF,EZtX3\ϰr vw"!K Kvuֻw E{R<>[ű Ϩg6"ipAf_幽 =LL4vnvw;0E obZ~l]XP49;$Ğo .IZ +b { 'vw^07% rw6 o d fvúz |cչ#_o ŋjkwz޸A]X D 6W7U8/  3L6K dTw{Jul~o{X6 LȠʙi{  O!(QtkmzY 3jmv w= VA4vnw];Wwv f G ::f)[ >v< EmF] A@JMTeSR^HswsFsN!:*+o ^} Ǻİ`( C<\Pk؈4alvAjRĖe(XF mefyɉ3ayYmJrCsr o ]A}LvHw w/JXp_MRwH`H^QAJ}vsw &6Osre_sS :ArCpW5 yvA,;rPrOZnPeL-APP yw 8^V:% }|._kl`])ճjlg_sD .fmĴ{ho SPt]XP49;$clq__)ɲo +I*+뻲~ly zUAPOHu-s,dLvlweVk“eQO/T2Ty z:]LPOH^[dLvkiweEi1_k“c,BiO/T2Tv:|-/ERmLNZRUI5Ywy)o ^,}5HbbF4L(֠vw %ÑAPmlYrO`/d}PE"vBwRnoer].c2OjLRS$T7v w =PAˠv(w;ű Ѧf1 RtxN v:vw 1AgiMpD$_}PEĢ v0oRUw: ,+v57 0@-Ln`Xd>^e{ :Z,\:7 ^^{3)>9D#HOub^eM +-Y)NV74Th B{ 84WٹRghcI ASBD 6W7U8/  3L6K dvLwAw] np"t]^OFV]V 3BbLvvu8Nn3fY"w\ҰDN)q5qSBwtd:\Y]ݽ5t55t5;YV];A?cJDzoM)fmE.bb>(tRKTk// bhSȽcP 9vVF  h@-$ hq 9ҶuwjV rh@#$ hq Wv+F `rh%  W˶|w+ rh%  WӶ+@J qlGh0%  Wvdww+=Frd%  ]vNF `rhs_+ ]}ڶԱw+jNGh0[_+ vk:i*F `rP"GGGIgF^kuQ M Q@¡Q @ P> w۵qk:i,J -qlGP0"GGGIgF^kuPHM PP¡PH@ P0> w۵Աw+uk:i-GP0"GGGIgF^kuPHM PP¡PH@ P0> vmwk:i($xRGQ"GGGIgF^kuR@M R¡R@@ Q>Rvv5hF   !2 qxvw;q x}qsqo vw;;}t vwn!2 qxx}qsqn )vw<q}s  kKhww‡h hmmhwYh panoJ`[WKkjl KW`xJjikvD4D_QSQSivD4D QSQSiBv_SQSQiܵw==' mw6 k"L:<b B]RvwfGwvwivŽ` *maS6? O2BZJ #H G wvwiviw iҾqviwGi @M      h  2RAAAPU$Rڐ,>eh,,9[PAviw]HH....H...-././F.- vswJBBawm3mwwm݋iE!Eiiv vivwҢiBvw!Vvw%wwdotZVzz{ywefwr`ropyo~}vDlk|ណKeG lw}qph}p~i|{}dSȸn^Ђxni{ Pl|sz|~pETkVǎvC,x|ф|x~VHK^dV.Ywdd{zk>pXHqz[uX]>r~?-lp|h~vZak_hHXqqj}svvu;Optpwvw1{9s~|co~~q|/r2uk!Wmu2f{~|ws|sqzz/xyt{{2cvZI2vwҽgigigigivy|zVQN6ߧٹv7ȀyK=7]6MRVb|dyhu]o؇widač76o>]J2CZVSUÕ9URWzYUSTYTÕ|ˆ8{TTSV|yMG?Z~WZ{|z}l@\GRMY{ZXZ׹~Q]kּzM[XcNnEehm׺^Ȩѱ}{wRK?\5v:ENX4?Rnxhze~nb\v\Jb kvw j`K;vww: `:; f n\ fn\  ޠ qI   L q = W+ +  x . b; %  XX Q b\ Qb\  Ҡ eI F  3 [$ q = 5%  +  x . V;   LL g[R K-v..wr 69/?9/66Y"HR "HR&)i Yah=Q=%7LٷWG0eZfYq ^ Y '+v  XK (v A]B5PT1 5#HZBBBG H I8 g /t A/YHm[W ,vw3>UvllwBqD <V b BvŽ` *maS6? O2BZJ #H G Z Q ivķwNNwN 6# >7v..w OdX+""Xdd,d [mbI-tfh 61LdDRmĹW=&!Y&-ar])+FR BCɠ˷?>GnXUgUC.9^ vAlw+A2  A^@ZKB%OZ`djPs9`_xh{YvP1XLv 9J/#bELY]5?"&7;BvwS-Hd`B`G H h8 g /tA ^YHrW6vwRHUvllw`qDvxn xxv]|n |CXC]]DD|= T a `vŽ` *aS? Y2`dJ-HG Z Q ivķwNNwN 6# >7v..w&99/?9/96&Y [a b=Rh'nP;#5HܸWG1QYfY% %_hp`+-FU BCɠʹ=}L  D 6 " vmm! 6+"mh3%Ep'0Rvһu?(%|ScLF巸?98>97B? FyF$Vv k  } ; R*XO+)Zi 8}=>K_]ji }NP}}SQVi [5X yF$$lvw'jn]lvw'L- l vw'' l '7^< l vw'su lvJw'=-} vAe(ģjpjcxN$: ]e v> - z > o,' z > 6 p i  6 +( vw" 0 ] vw" 0@- vw" 07' "  ( vw" 0  wP  vw} ; R*XO+)Z0] vw} ; R*XO+)Z0- vw} ; R*XO+)Z0',' vw} ; R*XO+)Z0 Vi vw[50- vw!6+5Rf1#Eo'/V w[50 l'wBlw'T&v_ &̮_E_**Zll[X)1 mvw40b2- vw40' vw405 A vw vwRR!^' v wLѵER;R;EaL e    ( e   6Be > o&zv|wĥʲRYlj[X)e v> E7U 0vvwmp 6p o0v6w vw Ȭp 0' vw8>}A >}@wvw}0T- Lw8}A LvCww}Pf Lqvww}`H;L }1Sc˳o_Cq)/ i vw60t- vw<6RA w60a0 6 LvvenCoi=nb𯷹TR\XẢ "  AB ֺw" 0& v=w" 0TVނyvew+%#V(?98%' KP&!v ӍDEo]xws vwF- >F7 vwF~k0yvwF$0j8- yvwF$0' vBy:ĺ( =h©ȶ{i[V7>T98ehnrG@Na0DU]hgasՇ1ayvwF$00Vv_v (k )aVvvw\k 000VvE ED7YHE]  } ; R*XO+)Z \( } ; R*XO+)Z 6B w} ; R*XO+)Z0'& vJw} ; R*XO+)Z0'- v=w} ; R*XO+)Z0VvAw'ڲϭR*XO+)ZR ;_ll^\)j  }NP}}S0:' V w[50p,' v X 0- v X 0oI7v X 00vw}  FL- vwwP - y 7 l'f.O U V w[50 l'9Mv wz_E_ػ2^5^f.X O ql" qc]U >}|i }E]@DD 6Ql[#YZ^[ " v !vmm! 6+"mh3%Ep'0 Vv k Vi [5jvǸwqr}Q4P17V0O4170r"f k! !"Qv=wJJ}X D1==0XRU-PVTPUc z > 7 V w[50  " Vi [5c l'<<ƥ 9Mv  fKo bngncxRXdffĦd8f.;vw}^CIR`JJ_ tZ_7VrVH i h i wh 0$&v ڕvv7`p D O " v !vmm! 6+"mh3%Ep'04Vv k kvw}`*lAgj1}^I*N1Erv/wsnZ4FFFG6Yý0GC 4'/.,'0R/Y*Q Rvbw}olUvO1eQQS Q ɼ䋻www8}RwTw www}RwTw=*cm^[%vmw}\mmR \p,.Sg#1mwmRƥxg pQ-^6LI'M_iiehq!T]?%?Xtg]yv_wgP+./3~3oRK(J~I98?97L<àv} }}.-=T8as'}1$*H¯fv9 : 0v S𯵱RKVym`ek Ģ]CCue;qMvvwȵ 0- o 1mbYC)SR'ģjpjdyM);,yF$U z > 6 }0v6wp ŋfvɺ<-|V m |Wp,.Sg#1䋺zwzRzzR% 1 :\t/1Sj#1 ek vwvw- kvw }`*lAgj1}^I*N1E0@P @:R<\< pnɠ #B+)DD"wE('i  ?L_9_Pxq~q~eMvwg;WMvM;))MF\;w}^CIR`JJo a? tvAZĚ_(VH `Yrψ2a  `o ^QfK[Ovw'CZKL={&e&dT'vW!]}[OU[`ufw}RRvAqvk`\C)SR']mm_[)سjpjcxN$:gw}>W39o ^ E7Lqvww}`H;wPJvHw J J JKJ A~ J ,,~wvLw nnnC ___W %sW &1 UC vwo]vw,- vw' IlBw&vw7vwn vJwz-v=w.Vvw0 0 vZw(_avcw*T@qQLI)ڿtڿdBct $05Kds'09BTfx $.6>ELQW\apw")049BNZfr~zo&|oqyysPvjzXZWrK^ĸd9W1!3R-LȦɰRnYeJBbƱ ?&%%J?98>97B= ѢLTJtUEEt̢1PL''MP1 ȵsRVclM_eqlnguɿa\Y8Z[ygbm ~boLKgcKiiolojyS=quu F muA@uAM#S!  @m)mgo{||tnqT`nq\wz ^oWR-6I(']` fk5-EV#;MYhbVm' 4 bʲлxa Ag$6&&"gPd SMS d ykfjQ*/SCedy`h{&nLKm^PLjf4R ShUSJNlR %Sï˵f QkE.GGGIgF^kuM ¡@ >^V:% }|.ȧjlg_sD .fmĴ{h pwymnxwp dA յēe]|qr^^q|eRXzqqzyssy Pt]XP49;$Ğo +I*+뻲~l ^Y> *TV+"͛M] Tyf`Y@;AƳ|n 3 틽k4A@(AA͚SHe 6j*f7:Y\0tf`['['C 02% !oibf~[.I(+컲kw. tDq{}p}# [fǰɪT<hqhybbx!)Z-qd."Y)@ES79Zgo{||tnqT`nq\wz^IivķwNNÿNwN 6# ># _w 0 jũzff^._\<ZzoVmtkx_yᵼif\bnNMcápyZ G0l^l@faU{W]]hFX^]kdiwܼzaY+rоj[XD/>X5finUmidVŒAHtOlxfao,>=Q/A*AE^-VkJ"5b$:h 9u]$"[eoyo{m@dUQ^^r\rt W-/V> ? V mULMn ʩV %L lkg &1.)W?]i2fTN6@Z'޵k7LX+)MӶWo6ðc=Nk`Acgg$ U|]`YGXȽлnC A vw RRX8Xdwvv%' K2ac| %Jxyz'YiD7B=L8(XUk v!,w|\V=,[, CK//Va gk3+FY&=OZhcZp!# ; dȰξxbv"+w[]W>+[+#DM12Xbho3-GZ(>P[id[qވ"# 9  cȯͽxc3de |; aAZhyxw6"<su9Yq*2s*O?&|~~8jJ' i^HZA1 mg]tN!T&|p|#va`W+5:pDZz  bSMZ=5 nh^tO,V#}jwwbYX ::3tGZ_^s9b9b 7eYe\  VodeU!(2!.$#8)GViKbB p\YA4(\+˴vJ@wg:@Vs@<@Vs@3]k4]sJJ<sJJ9q<k<s3Wറt|qqpTs  7?TbiK?Y4t{{ss{{t]t{{ss{{te%Ol(4s >NWv]:Q^Pr_ J3D)迿%>ֲK3HfU_HGX/& LvVRw3ZlēUt9;RFTiLa܏QŭB(+YA+QXkܻw1(7?=3,}]V`Cb[E 5UʺfH#_:({ rw^n ;#nB8#O[>Z^N ׵K(&%'%KDa[M=P#9ip?e_껽% zi ,,,  Dۿ˼viaXL%DL%J\:QyoWmYƎ+RR;}R\KCD vw BZB_ D7YH AA ]wwxD]S]CXC K 𯵱RCue;q ֻw E{R<>[NCRiOb=LL %Aksj} v-wqg\88PK@@HO\3 /  !lvfw't8}jjf0 *Ic.T yA u 4MMyBH:AM?T" 4kMsamS_** n s]ƛ|å5Vs3{PstWXsT~3sNqeQsrx m mJnnP cc P0p]4i   y R[RRu+++ ñ ϩg6ÓJ`TUW< xnmywppw}.wqQ.+X++++V3 ;rPrRP k:i π{u .fQocdddOmf_G<9:#ʽ͸ v*w )V@19w(X71n2RTUg*Cn7Lv˺=tZ\t a$a Vw  K1AIʪdY_VsVF\E5 v8OOL ›2.GSyj^eغhPR`d9]] W1!3S-KɤJ`ġpe_b|T vY5wqYYD5S5CXCYYy4C5^  wuA@uA L]Ny jwBV 08-+%3(Yh Ga EDNs]Xj׸aRBCqJb ?&%%J RvҴ wmwDDmwwm U o2!fef2!nqur}y !(/#5\q+.Og",EL E z>>zzz ĺk4*Rn2!2gbg!2os} R* ppp  %X  8q w Xv )`C; w ?!7  vw vw  )v%ww ;WA)HbZgKwm w} jbd~[ i v w 1PL''MP1  v v? o ưadjX 'DT`djMk    WRJE^VYV  vws x}^& ޾A(AZE 0CAT 8CRT @MOL HROM PTRK X cpsp>cpsp>cpsp>cpsp>cpsp>cpsp>cpsp>cpsp>cpsp>cpsp>  $%&'()*+,-./0123456789:;<=   "$&(*,.02468:;=?BDFHhijklmnpqrstuvwxyz{|}~   !#%')+,/135j 0DFLTcyrlLgrek~latn (2<FP`jt~ )3=GQaku  *4>HRblv(AZE VCAT CRT MOL ROM TRK F !+5?IScmw",6@JTZdnx#-7AKU[eoy$.8BLV\fpz%/9CMW]gq{&0:DNX^hr| '1;EOY_is}aaltaaltaaltaaltaaltaaltaaltaaltaaltaaltc2scc2scc2scc2scc2scc2scc2scc2scc2scc2sccaltcaltcaltcaltcaltcaltcaltcaltcaltcaltcasecasecasecasecasecasecasecasecasecasedligdligdligdligdligdligdligdligdligdligdnomdnomdnomdnomdnomdnomdnomdnomdnomdnomfracfracfracfracfracfracfracfracfracfracligaligaligaligaligaligaligaligaligaligalnum lnum lnum lnum lnum lnum lnum lnum lnum lnum locl&locl,locl2locl8locl>loclDmgrkJmgrkJmgrkJmgrkJmgrkJmgrkJmgrkJmgrkJmgrkJmgrkJnumrPnumrPnumrPnumrPnumrPnumrPnumrPnumrPnumrPnumrPonumVonumVonumVonumVonumVonumVonumVonumVonumVonumVordn\ordn\ordn\ordn\ordn\ordn\ordn\ordn\ordn\ordn\pnumbpnumbpnumbpnumbpnumbpnumbpnumbpnumbpnumbpnumbsinfhsinfhsinfhsinfhsinfhsinfhsinfhsinfhsinfhsinfhsmcpnsmcpnsmcpnsmcpnsmcpnsmcpnsmcpnsmcpnsmcpnsmcpnsubstsubstsubstsubstsubstsubstsubstsubstsubstsubstsupszsupszsupszsupszsupszsupszsupszsupszsupszsupsztnumtnumtnumtnumtnumtnumtnumtnumtnumtnumzerozerozerozerozerozerozerozerozerozero&!" #$    %)T \ \ : : \ p p    & J p  J H` &H>VKXYZ[\]^_`abcdefghijklmnopqWXYZ[\]^_abcdeghijklmnopqYZ[\]^_stuvwxyz{|}~rstuvwxyz{|}~ *+,-./01234567     !"#$%&'()     !"#$%&'()*+,-./012345678899::;;<<==>>??@@AABBCCDDEEFFGGHHJIIJKKLLMMNNnopqKKOPQRRuVW$>@@EKMQ&S^+``7cc8mm9oo:}};<Ts"#&@BJo~7;<IKCCyzv`flHT`n~ "(.4:@FLRX^djpv| "(.4@LRX^dj  $(,048<@DHLPTX\`flrx "(.4:@FLRX^djpTVeUWfSbLsX{YtZu[M\N]O^P_Q`RaUdlX`|fFGHI`abcdefghijklmTcr '()*t+,-./0123456789:;<=>?@ABDEFGHIJKLMNOPQRSTv      !"#$%&SU! !DDLLRRaadgiinnrs  !!$%#T^%ac034::5DE6HH8gg9:;>EF'BsDTxx yy/OFGHI !$%^LefbXYZ[\]^_`adc`VWSL{tuMNOPQRUT&K  "4DZDD22  'KlV'R<'6rr 'TTT'4444'''v'd N': vvvvvvvvv$'K(KK'('ll || DR`-- !adefginrs:DEHg'T`-'BDT[      !"#$%&'()*+,-./0123456789:;<=>?@ABDEFGHIJKLMNOPQRST!aadgiinnrs77::DEHH gg!"#&-.XYZ[\]^_`abcdefghijklmnopqstuvwxyz{|}~*+,-./01234567     !"#$%&'()89:;<=>?@ABCDEFGHJIKLMNRU$%&'()*+,-./0123456789:;<=   "$&(*,.02468:;=?BDFHTUVWXYZ[\]^abcpqrstuvwxyz{|}~   !#%')+,/135xXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRVWDEFGHIJKLMNOPQRSTUVWXYZ[\]   !#%')+-/13579<>@CEGIJo   "$&(*-.0246yzNTUVWXYZ[\]^_`abcdefghijklmnopqr      !"#$%&S >>@@^^``ccmmoo }} T^ ac;<IJ'TxxM V`Wc] yLzOI stuv+'$%&'()*+,-./0123456789:;<=   "$&(*,.02468:;=?BDFHhijklmnpqrstuvwxyz{|}~   !#%')+,/135jT^ac L#Kl|`abcdefghijklmKK   DDRRT^acKK !$  {\d RZ sdE7EA%FEB\x"<f--< '77\EFF<AU! ]n,F}nnnqFnn !nn FnF9nFIn#d #EZxEF-( -DnAGAAH#En Z nd\nEn<ADnGAqnq?i (E-|EA<\?1 |?H nXoFFBP&FF;(DnZ\MXoFMM'd! ! ! ! ! !  ,Fnnnn##}nFFFFFTFdddd9nNn - - - - - -@-AAAAA  $  .AEn<A<A<A<A<AF<A?i?i?i?iDn!  -!  -!  -,FA,FA,FA,FA}neA}QAnAnAnAnAnAqF#qF#qF#qF#nEn)O+    a i7nZ  !nnnPndndnd# nEnnEnnEnE@nEnF<AF<AF<AqFAInqkInq\InqF####qmqd?id?id?id?id?id?i#(#(#(H  @-F<A#m ]]&4`F}}.OpfcP{\! K ! ]nn! n#nFn!n  Fn2Fn9n2(P@AAHZ i5i@ALj7<A7HZ2A iWDn7<AZ75_ACA5iPdP 5i<A5iPnn,F#n n!n n! 9n]nnen nn!ny FnFn9n,F "7nF(nnln4n$#on]# -OP&nn: A} ZnZnn<AYn<AYnDnA,A Ld<CnCn nn-n!7AO+nA Z  ,nO+nVn +F<A(nn3  !nn+nnYnYn,FA F(<Un;nnF(<d<<nZnF<A "0(((FPPPPP.._H\~ZTFTF2963<:=--MMM~~6M;(3<:=--MMM~~)nFPNM9M9'3M<M'<=M(<P<<?! PIF29\_"<FF<\xddxx((Mb$P(<<**7<~ Znd~~M6M;(3<:=--MM~~M6M;(3<:=--MM( RZFJ(f--<'77FF<<?1 ?FFFTF0..~Z?PIF_"<FF<$0(05i0d0A0P0A02060G0I0N010;0d0d0Z0Z0^0f030$0]0d0K0d0s0d000L0Li0.0O00]0d0_0A0Z0d0d0Z0B0(05i0d0%0\0A0(060G0I0D010;0d0d0Z0Z0^0f030$0]0d0K0d0s0d000L0Li0.0O00]0d0_0A0Z0d0d0Z0B>nn 3nFQnnn;FinnnnFtnuFnmFn#`d##      Fnnnn""JtnuFuFuFuFuFuF`d`d`d`dn   FFFFQnJnnnnn;F;F;F;Fink)an'n nnPnnntntntntntnuFuFuFEPnnn####`d`d`d`d`d`d###uF#T^*H>8^LI|Tj ninn 3nn n#inuFnn Ftn7uFinn2e(PuFP n3nn0n ononnJFinuFinnF 7bn(KnHn3n n#n3#nnF#n,Knn enjuFn) nnfnF(+n(n_<onuF nnan4E7EABEZEFE-EA\FBFdTT >4&JBI|Tj((TFTF_"<J(0@0%f7<2 $ " $ 2 6 7 8 9 : ; < D I R W Y Z            > f j k l m n o p   ! -2 J MK    <  a2 $79:;<=[Xkmnopq$-679:;<=DY[]"279:<RWYZ>`$2DRVXXdf79:<"$$$"$2$7$9$:$<$Y$Z$m$$$$$$$$$$$$$X$a$$f$k$l$m$n$o$p$$!%-%7%9%;%<%%%%%%%X%j%k%m%n%o%p%q%%%!%)&&&2&9&m&&&&&&&&&f&p&&!(2((((((((((!()))$)-)2)D)R)X)[)})))))))X)a)e)f)j)k)m)n)o)p)q)))*9*;*<...2.6.D.R.V.Y.Z.m.........X .a.f.j.k.l.m.n.o .p. ..!///"/2/6/7/8/9/:/</R//////a /f/k/l/m/n/p//!00000!222$2-27292;2<2=2}2222222X2j2k2l2m2o2p23t3$3-3;3<3=3D3R33333333X3j3o3q557595<5D5R55a5f66-66676;6<6Y6Z6[6}66666X6a6k6m6n6o6p6q66!6)77777" 7$7-727D7R7V7X7Y7Z7[7]7m7}777#77777J77777777777777X7a7d7e7f7j7k7l7m7n7o7p7q7777)8$8-8899999$9-92969D9R9V9X9m9}99999999999999X9a9d9e9f9j9l9m9n9o9p9q9999):::::$:-:D:R:m::::::::::X:f:j:l:o:q: :);;;2;6;D;R;V;Y;Z;m;};;;;;;;;;;a;f;j;k;l;m;n;p; ;;!<<<<<$<-<2<6<D<R<X<m<}<<<<<<<<<<<<<<<<X<a<d<e<f<j<k<l<m<n<o<p<q<<<<!<)===2=R=m=}= ====f=j=l=p=D D"DYDZDDFFRFFH"HYI <I <III7I"FIDIRImI<I>UIiPI<JRJVNNNNRNmNNOOROQYRRRR"RYRZR[R}RRRRRUUUUDURUVUWUmVVVVVVWVVVVWWWRXXYYYDYRYmYYYYY>ZZZDZRZmZ>[[[ [R[m[[[[]]mm-m7m9m;m<mR}$}-}7}9}:};}<}=}Y}Z}[}]}"## $-0<DR#Xd#(  ("RYm>( RY>RYm>( < $-<0 6(;<DM<R V[  ((   Xa<d - ) "$-679:;<VYZ[Xajkmnop)<"Y[DRV DM<RV(  YZ[   & )>`$2DRVXdfXXX7X9X<XmXfXkXmXnXpXX!YaYkYmYoYpYYY!Y)ZZZmZf]]}]X]a]f])^m^o^pbbbmbfbjcccfckclcmcncpcc!dd!e7e9e<fff7f9f;f<f}fXfafkfmfofpfqff)gtgXgagogpgqgiikimipjj}jajjjkjojpj)kkkkkmk}kXkfk)lXlammmmmmm}mXmfmjm)nnnnnmnXn)ooomo}ofojoopppppmp}pXpfpjp)qqqmq}qf"#>Xado     X a2 d  -   )&X&a&d&j&k&m&n&o&p&&&!&)ooniprobe-2.2.0/ooni/ui/web/client/fonts/fontawesome-webfont.af7ae505a9eed503f8b8e6982036873e.woff20000644000175000017500000022655013071151301027754 0ustar irlirlwOF2-h -?FFTM `r (X6$p  u[R rGa* '=:&=r* ]tEn1F@|fm`$ؑ@d[BQ$([U<+(@P5`>P;(1lhԨ)YyJi|%ہ^G3nڕ ͐Dp\Yr LPt)6R^"S L~YRCXR 4Fy\[7n|s໌qM%K.ۺ, Lt'M,c+bׇOs^$z.mŠ h&gbv'6:smb1بm0"ǂ*Vc$,0ATPT1< ;`'H?sΩ:NDI$T[b4,μ」bl6 ILi}ی&4m,'#ץRwbu,K vm_-\HHH?m 9P)9J$ƽ8~;rn=$Nddn!';8'N!-Jʶ.X= ,"`: {K!'-FH #$~Z_N5VU8Fȯ%Pݫ Cp$Qrʽkk3ٷ:R%2{ީh%)8 ILK6v#,;Ц6N2hv OOt#xTBfq^#?{5bI%-WZbA ^1n5צNQY'S!t" `b3%35fv;lά9:jgf?grpx | $ eZ($w(ZrSv+ZqMݙm?&s[tSSj9?| >G,bDշ^^:l3NA`5 26LpS Aߧ/U ֘'9\Նt!l PMR9n `(@ Hy)MdM 5ԤH'ґmSuo9 1 tØuc@]KRbNv("y뽻{ cscz&p5,jn kN!.n^Uu@|?v>rUaHR ՑI DˋQ~p ܍;;nL$t : hFCYTOFNN~}1"`a(?H \u0LԵ'͔PbnmOJl?s0,8xBBF_RiZ~e#jwhOc*&F6 Yq{}?>u.4h%g`& )R5H}ˤkܩ'JOI_qOb'HǟBYEM6v5NJ ONF Nx(1:\߫Ckcb8Q d[L(el+2u-a֘d5;N$"HSFo2i"\h7IfN8qx#v 6um `NM-J\FrDZ0#'ꥈnGjLچXʌAgYs*Y^ٵ;"$hb=ϛ0vH-.D܎Yd +^{Cm,@N<.VMS+\D+R|6 'q\T9DX<$p"酦$ҷ ,psTbNkI_` FWV%w~DԐ*xiy[rZ[S%Gs`F<ㅣ V+!+؍9ykfb82s}l;[)e$Tk)v9{uut޳@E>|C<\4%Rv @׺C8\~)#k|.ao00Gq0%hp L"+>% ^MˊNsq=䦆K4r-*%h#%;pP馔hC= &)baKL@t!~2S]rYlZ63ўJoOV;h&gO5RT/}{AZ&St ͯPC0D,pbpзz) ]I>Q\Bl"^3R>r*C>xPUz}Y=̕}ж 6-`/"H o&DI0E2Xa-{5< ,}``6jiim'w5RF,ч%SYWh6L_i샣=i13YI7NCpIĔ(r0{jrKТo)l3naT1\IE(m߃Dle$ÅwXU(@Ma"n,*vG̨x>G Sg̉"Qvb0*zPEyɉ?7$ %GpdY&f!a6|);u7#34mJij oOpȁv8jx(K/ZdxŃm7V_\fL7 pXzH7-,(1KHbe,r-pL3=T2t2ټXk:Z5spSsT:.]D"@-Ȇ!A2ɶ-F}˒2BǃQ)tç|#4|\㨀`fc,#g1:-ty ]2Z~.)nj%RK(y`8C֍zK-N `^+n3ϴT3tQأ4<>:J0È%ݑZab`vͬaT/ZaޝГIi W1_>)H"p |7mF^Z~f0J^I3V!{<+OeB#BcjL\-Zh[I<qv~k]GTD?S/-%ݒ7 wi|CIqwcWx /7xHO/o]G]y߃#7b$tR$ ]a7FѮ,n!rI|28x6gSh R^^D.xMMS?漞'G#~+v4d!FyT9-fVa7hB4,2Ɖ&vTHMqp4?R\Xa<4@MiHD_ EgRyMlTؠJݮ yc"HJ, 6u/ڴyVnJn۟H\PRBd|4_$k.w™IpS$|}j9m|1ߘn9395qS|xW9BVZ!mK/Ln;iu$*t3Ͷ@}B{Yԑz2Ju@a\MR7odze7/$4]^2kh$=%1IB؃ H|N.[M\ Lb1Mg:NV._0,+,ht7l8s~IV^ N˼Mؑjك- oܮůQo[mj=rm>~z4$M}z sh""u7V{RûݦO-D9V٥gIʎKLg۶BTP'K̦ qW֒3ep&ےLhpNaS w &;e(,-7vx-w$WnXUt8Y?KMctY؃p*Շ-БfL|[nL }4{5頠3᧌ n$$,+DNԄ-HV>HOs\-;W6NM8Fi;7k26%֒a],:!ʲڽE,{U nawNg.I9r:jFbKΨf)*cG5-kb6UЩpZMO`$WDyA߻[4aJ?fD?=d(KD䴱:D/[#$A #KH.:x?%Vr@[B$}coS6`LPfM&ɔA<:vÚ Q~Pw[+`+j V+R*ul!|+'KY66_ud}_[yuۘjo$Y=yjRi)bԋLaD(XUwIڻZ$7ڻ9&4Z'DF[N]~dD?VQWͲ}vS>Nm+SqHaU!ΒWb_+UO]^l59 @1'A^mo:9ףs-N:tD-zkSja4rczFۻ ޿xv7[äC8#7p5+ ~*bJJYzֳw+-p/LL[cgnlcaPHF$}9`\ 83Ym1b>~ƽJ؂ϏyBs="f(zKM"H`wcEd:b86(9<clݘ/kg G^ESE)5G_^k߇ v̚}T3;6 WvTCP_k._eєNJL{T!6j>h0 #[㗚Kz,!32:6d>himE\=H Z+{6@Wʯ&lC',rX !8(\̭2-P8h@C4 <~Z7j%) eeFpZ'15 ^6B3nco#~²qR@!ա z^Ks]T@TNT ,S*@7CīɅLiQN, #:RѪj91-YPN¿\&yL8ӹ&0cvƉ\JA;Q;]IM8 sMf?԰Irr!K9я8p}Q콍g-*sm~XP0dM^?DdIm8eCN}cà٭$s7ۼ#յR{b4vMql)vOճjְr1f4cs_%v%lKZNi+V3'~NMG@HBb+vVFq@ݱuKZhp@E0uaSXdUK}ԯ8GXKiI% uR)EI-ږ8|1GΞf6Ȁ=!KF6Qf[X~_j\^͋^k`DsG]~㤛yo};+i%N}Q0ԥUu)M[Z`"7 ?/[C{l)$Mr|^ a:"֊a l>hya{2>CPL j?ntg]S{UӇ('b'fg0ӃLPAMtd)2úY!v&`o2P[ aޔ5 S|#+7J #ȸ_dU6#VDB"K|)otkl,lU)ݹe5OyUAt2_ n53e*1v(K_HvVʉ3},ACUƍ؂Cuti-]`7]R !zsNt&̉̄k)SL̹y7$ϥDJNd"9 31 IZ(^( lw6 /@YB^}OT~9cc]{)}D8${yc,ʤ{tAW3zHImD4ܤUT3dID) I۬.d~[ -K^2Zc 8u,Y^\_ԁ_+cJ$\2:ZW bBw=[1'NYVz4;(fzNUf(p֙!x#L=#ŋThnba˳",T\o!@@sN%| tXj j Qo5oeF)o 9˷:h*'cJ孏[{ȄNfnz]8F/|1v g@J:YնNu:dhHo tM`R̍Ri:|N_P"B@ m`a:M  c2Ũ<ؓUOS\%a\Ap ꄯe\A.̰{wǿ~6 ;s2ŋ`W`TyPgee0 00}/ǔ;h[tGD5^E#hȍ:f? u3z0ڎ$T^TAhz x I{5'rK zo l֢,b89-:G|W)bA5G<*ٕ:ğ!]gj~O&UN뢹8 g ]-WW(WNI3Ngr3|m m'=[n힬M,?$HDD-O?5uX]˓37>*wg?*!JyT@ UgzI_7&\tH.YZ(4Y'd T Fs-qya7 [67K&J/$c/x[ᶏ;Īz1Fv]G'ڏQBSOІ$y(TS-;hűzT%Dts"=gwUuD?b$Zr9G<&Ña^2_Be;b~փ)Ό2j r8]'7 bChTd )+ mD).51-|Yy*oڤL 4A她= T@|X$in.KI|R@P@P*ak@ ۟=I =l[ג"hX0QҜf˒펖c<#9`|cO}$o>eX<`,o_K3 p{YAn[9M T(!"?Z]iEm Ğ>'{Gt *~y`'A?٘#)o($ȉەLvYO1o_& .mv!*)$zmrt(:GGbeVwi$CO1 cZZ0G 7z@Jy~p)g,gYL.$, -<k{yc*02/q1gKM&R<7xCy[Mʛ #ͺDya3\wfwrFĸM] \NsWݍd<ӡW064tȴvȻ0>ԯ ; )f#* 2<h ~'Bw mH/wqMog C)̵67#BS>_-[L|RRlQ}\TH) 9Fa"^bA:ݳQ4' =sO '@.Y&8z ,i73y;U}p/I  xVxilFZfhXc.b B*|&|ge/kuv\_Hb dpG/A}㬬'xȜՋ;E !Wj{ZI$z{Op;x=׺q{5l23O =@jj# GYTn>&ެ#CBϩzLuylSaa0LTv3,2 sdTrU}El1z`Xa*h{qiuU\"Lд@TXRUFg]sE5V0X/ukzB'كJx Iz7YΕ1tyΚ_}|xm[xJ}zlDVrcsdsqv[&`oUl?<jC! OeqB=J\`Lr孈d1MhowѹKiģd*;^ҋ$xHUU`]GkCꆂOQSCwo g~yG8P{{H.$6!}d4,q>`llUMBRPe2A1RHqlBQ$W%bhBÚV@(?FAQ}dl+bNIMdT"+ƌo0`89\|5 ޣئ(y jqm(<\G 2dTP0$n@ Ē!X 㺕Nkճxikiݝͨћ"0?^2XF,{sr_e@Vyg N_iwq;XED\b1G(RsT<\ډQ2tT ; `[,AkKbDl#b8,]i\|kCxLq~r Ά>|žBab?aag30( j"FA*{ߣd]ř+XHzs ZSLu:˅)ҲnJEBnS>Ħ mh,RT~}9, /.H~!`ExOۖ mwIl꧴ёUzzk**|m* .?~ chp?eY]*H|̛1e?V; ا 2PQVlW6m5O3'^x,ҹa)TeUs10ft9T{!L@OLtǽ!^L!ti ^:CR K ?2TYx۩Fq#0 <hѭ)kesaTl x9d%+b8XZ ;gv8 n7ϻa&^ob{w OO7jϯزΞ,~WYػqÎzVoλg'5("ե AӃ[:P|Ӓ+>#2?$MndueSJ%e؞~Uq ޳҈zRnп,7˱>` /uFgOg)PJ\)Xk VF"\tr#wE]s:Y#n8 Lm"6D VġH`Q ௢үQkG ]<2N?U &|a_G܏}di!:`Ⱦ[\,Y]JϹߐì~OA%> ]2Pl5pOѐ[ʀ4O@¡,Ҭ-,4X7-#?3{M·C18aY)M"ka_=4JqM?nh6kɜP  2;3 g4ՍZЦөGZk(m pv riZF}i:/czPuVQ9E&'/ v<2ۊYQ)j.HN11sʗ؋{ '|klT%1ꪋCgQUJ['Uֶ̝ؔ{81 rnҹ} :,й6X7fe' NM2p|4p6Vn듁p&S=[- ߞ~NjIY/c`YAq6-Y30#V~hsEPT;ub6WD#N1o>)ΘCx4$/jl1 y./,Rr[YE*GЕKm/|7 SISƗqF㍹6:cVs @w+k1caíw0 :Y5Q" +g"%*2t`Gݴ f:hN33^~yө)o)l*H-;+|+[-ZGXf~Meb75[ Ho}pi8;`$7~Yw4RypJs}!*Yf~W]TKV0Fyl$"\AE?W ,[b0q.|xZ/ˁ]P*4$*(R7L&`goTܑ.$V̇hULHnei_"o߁e*mbD2u{ݹш ߶\ؿZDܚ vz1UlRl-wk2VxՑ;؀400=ԑx~޽ګ o2RmԔ=_rZ&ן/߸([C{%b[f.\l$}VچU*B3lRPf d'GLc[dN %C9X5h _ cҠW?+`ރχ#CBW'B~cb 5~}`AE((r{2me5 t>`vd, p*=ϕƼ' o$ݥ;f`̢tɟJ$HZKԊk+LmR21,qF p̹-J%b=gV^y~׼0~-Pת{ƛB2XZ?oG!xn.}%}Oo _?bJNv$bl;z`&Kx^]"d+g eI2 B#(ijNN>SwF W |b WoW^\q?1>BL/=iR,cykWZ)BUkjy4XK, 3 F9pKuշ q@OAvyG4.,m#D"^ѣ8lQZ1C\4oJܨ힊dD6h[|L]V~.:0z*HX,Ͽ7zUQNe.7$:.0֣Mj9g {2ڬCO墸N٘@.W1Dz[[M%V5r!4&Ur s7%yNJ(?nYm"TCMmr.ݴ{bSNT]*}v`1^HvNoUۆAS6WOىe [(B͝to1bϫZH{~N}Vˋٹo<>#oTFD"%73.(?f]`!1%UqL:蜧ϸ|@8'+VWu۠0 } +T/Qnl~c{pa=V:#vm~1t 0SPH]/jg/!{/c jh[=U@ʍqIg6Mmq%Y8dc`"Xt>"{riPO?0=/9FnV}OY[՜"I {GEz `)ӇrOoKY꺧S4;L'>cN@8 ʋ{삕zb8_xV(X"]ΔěM6w,fgf+͜)TJUt> -]z}o*mGŶ1S<۵&:QzHjljL F,aY"'LˬɴbJp{6իh]m E= ~fFvE`EWinux8!GVY??7K^+[2%_mwsZMZ?vl9fO {,'9/} T}6VzôvU[dT,_uVE+B:xaY.L4rP1"nj[)Xs54 4sS6 {(,kW :Dm3/ T*z'1o'3ow|Ћ=Y< aDm?F_Y3f^Lff'@&M7F0{GTB/fzqc].L.In^Wk(hc!Ȝ|%?%\6Qn*0''Whĩ=ŝLCgR񛙌9V玫؛AӚTQyč&i٣hQJ,#|d驺z|yYH{FI%ORD&k' (kͷ_uXT4JotǠ`X l/-ԩ TBIjԛ/ Jn0,ħXBUHhFe% 6% /:&zLldKT ^Gv͊SA4:DIʯ< !.1?nTzhԓ尵 ZBCnI~+sm8T=f!c(KHSH7!LS.D4$~]ٴaGsiK7"dϸ}|{ܰQ7r-ŷzRaV]v4t2-讨YDیS@%_B(FHke%&5='jF,GoW9;(ڤX3z`fM<~1bR6t0luFIj˯JoIqĴ(cǘU@Ѣ#e&Vy( {̧KuWKeZ ^>(wDI߹}x ƺ5gYG22& sσ!q\ CP%U fbS'HLbi,sF67߼D g̣oGa)jS-&>7yCCΖi]MR A0 KfF=z ggtf7Kx [ L^.[ԭ>Zc736c͗qw*CCV<])E9)ϛ0lSM.$bASHib%zqݓV޷ʀ7+8{ \HAZ#[80* r[-swnxP+HElY./k6wKb?88GI. ur޼l9Eiޜ`"ƃȇ˺&vIբu*J\[^enQ%j ?{nW+1 ZC $3!6/SG @4ΌE!Rd8hg?J~u? ZiD4K{j%)'xMaYvkEt,lc:wXk||2$.Ey=x*-LM_xC{t4.<Pr͙s1/N8uu.ӿS_rj]\av^sQ ZŜ-DuSg6{${r25>, hcbJ֊?${ouo>ͨvCl(N9ߖQ]}3( z^)(Үe}E1\pB(yf̷HY/HI;,q«=d&T<)3SfV1ړ'vhD n$4n'r}b0DxoV UJgIN}4/|ߥ\$My"j}jib!NӽSBvC9wp7}5q2ѪҴUÍ,鼁I};Y͜ȝDJm[Osޥ$FlX~=/_SLJ&^( qwv# ꒎.P:bBfV2qgnٙ l8VӅb0aG-OTlO=AfWO׭OJ{̑Ͳg k:I3*zA$̊kP `nFGx)GRPE%5\}3۵RuuW-2G%voMk xBuFN7ׂkV)12dB!4 . N8O,f2TiV udLzyug’;Ks'^y+7UUOBж+$%O9elե*c@Fc6ggMU_~1fvV5 -V 0 )_D{Գb1#Q|k9=?Pocs$&}BoWT"M =Dy$,IN,چ wIxE6xnCC-,ϕ̲Y :y~ʝ،=Yc,TxeqUk*OTq\E*/ؒ/NSUf:b?īHt$ٶUfudH"$2kQ /WiXNx r6_y{?2ڽC~{u8|܁Sf+{30`wbcCQ+zƪ\T-{]ξ6Ѯc?8Z~|&eD9qW2R,Y+y<`OwAbz6|]:qZOVgM̥ickJ0=,4,am"RC#,c fZ6RcGŢ:)e eIr6.Z;P+O)$\wIV(h`z{%fpxl }onr 7%ӧ{ xm1oВiq JO'V!"=$ ї4KS+&Zۙ'憥Y^e~},x'"so߮d߽}{.kTJY;ffjKVB+jqMWL"e/׶߻YfxwI:kIq.DzdLWim]ɗ] f)B{lֻ`j~ކ;ā;~7-zAX'tbWO.$GS0Ra#QPO|P[ %`C)c"ͽdD1xp_s*5ac]܎*t]8Ju׷uO աH>hLkq7gR2,ʪZ]|$CZm qX LrSKb홞%H/w>G9(|vvNnNvX N Ѐ`p+{(u\ sQp ݨ3q\͟$ﵧ;QSřz[jl 6n 8DT}㔨PE %BWحYw.!/^mdSZ~j=*Qgd⨎0t]q-.PJBp1 ثatl/ypq{~TOH6 uNwY| AVrwDh4Kk+ /@ @OJZB1[?l{JՊq9PvoY6CJ$H`7Ei)*eK؂Y8{V)b pNv/A%;uh(w̃l}*4y|uV:&*P;LQg*}OW;xT!F[ o l*KKUvܼƌ٫NY4$Gd+3$KVZF&FuRj.GNۖ5ƴrevvvȬ2MC[)|eGyb{)ڻ.I{l1CesZthɻRæGp7?(dW^=  &fV͞iϟ\G6$$uP=ou87[%>`<.$MtӗB)GjSQUd`S"3ɽ}MױT th?7]iEHzş|-tdۑ,:Dj7lD6٧-+}ZU4^xOݼfQH U;"I{)1Z.@2󄖩b+qzV s^>V[ŵ-5v]蚮c""f\߬<ۋcy#Qj6dr#ȑJ4lO(yN}$m [-|Ԉ*S\ќ臉@ @ ie'm'q$s'B੻Ad).* _y#z_Ы_{_a_=+䊒ӌϞ'Pܺw GJl.rqZvD(DCG&Cر!=ǣz4v($;{2 @iǘupcE  hh s> L^fڻw TWޟR /_IĦM'B.,P-Hj)%PDp2^^w`K֫KPa>ξ﫥jϨg)KSټdGFYG$X` 7%ҀcKQO"BաB'^.`";GleԒO^l:Q>45e=[7$z iF\*B'ǝA koMFc3|Ӭ%v>!]€'! }:xi/xcR^WICz_`~cVFvf]5OnC?ҷ79']/g}փiUIȃOt̒?k:[>TSiE<7E-N ؐw;mDu[z+9g_PO$UYN[#jI&3\e4n)Rvcx/VC?Kg{GX"b(6 ʛ| RrI&-Nձ*?2BpEYP [.r?gOh/%lROE f N=d&u_qb? X°f:J/ }?(u6P"L~iV-g1YBg  }HK24鵖r)ۡ#|ti@@JR[k xcE^I2߸dVoqPkZa2H/=(c[lW%icXchPq6cM? }iShRm]6;?'B}gMmǞCj,vԱ>G+zYl?Gܦ*{.m7AT^1D";RUr"bhlqw$/gyRmZp%0Bϝ#4b\q0n N]M J},QrQ*ͯA\')yz'KdخDWdi@gzu'1\}^qI<>e^h)Q*lzBl? gGZ0`~9/ie+UrWWs6 g*D}zyn+ህwUӋ։fG%!L[#"h2fmh|Fqb}*H#znV˴]xA 1mk ׂV|=@=OBzPd5Vrl$ZՄ88^Ϗqp(:A6J5PY2 èV'Gpe᝭\hjp1awʓSA$|HE#7ч|p* `D]ZB-\6iWẍGGG׮~YJT7Mq^#0õqb0KVot[ Ֆm^k k-dpݟ^ Jd3ݕFFTϺۗ9o\S8qk"σxL_:PLh0!iˌ{8:zE  Oy/Иl ,)GqQR`\ J>[ip&Հ@ $:Q8Bt:@`{>'aޝu99'LcиđHhd͞YGf/ N=Sf0T;WJ& I 231kÉr`}A̶d@ \q-9(B,vѣALXqH[!f-t|nPΤR^bGOf=+hWD;Kfx1^ U]3@jK8{V. "k5hG¾pC鹒*6iS+пu4495dj+ KkNqBM++?{2MNJVu90$#dV/,) Ak0Ƃ^Fߛn<%Jvq$d @ww?Rs D1F-_E1}zcƝZh[$&DWx&fe% ~) ~XLt˛҅JK//(F[ KY=;ؕb~$Vd]8|bJ):v 3RRQ}˺O kUP}SV xsQro3z2F'֯nN?{"]1B+յ ;* eO]-N~2̜u%l(Zb9Mh]Z3')9#>*%)V`leY.5*D~- d5JZ!QӦ^fP/fj TXX&(f!Ý^g/j< /륃S'J֓5V^ ߟ^m{2; 0i7$&⩵ӵXEOSx5DZيt"hv_CS~A$<@ f\;Sa)6C_Ί g0(4i-k< #5t\CCh> ;!` 3-6htD]SeN }}"#Qn`F:>79$lVe~̈Ja%q~ܣ˴^lC f+/ eBa<' \*FC;|c ڀNf!L2i~<[ p&ѕAknnr틧n&fvnjn-25(!rC~D"`\T'j P`0iO͚Fkrfuəکj\'3!BIElQ?m12pQe>RwتD.ۋ XN#'Njjо4!tK_fR!@棼CJ-jaH* Np@wV[; ➄sqHlڜA?y "j!<U?hk1oa޻e8S1Н䋄!9hI B 9Ko_([f0o! 31C;XIh$ɀ禹@@0Wl ]&)s64wY3c.Mg ^1Oqs#Ms3ZNLMi} 9U~x~{$6FɬQEi2WvYF AVl VDXer(ZeͰ3)\t5\^"rШs wP5f7NK$f^q{"L]z`@DQh6f~hG5uU7G~ .#3P TV!nژPf6Չ>l6 9@Җ5Ϛ62t@7 L2  t'ԯbHԼwWfɊ7=.=bx %d? a 9epHҩ K\ۏ$C%0 ntv:M`᳑Basp& )"-qc @Ibk3ePF8ZmUL((qP05n'CVijɿX?qg^:ӛ[[PV8 6=Iɉ(cG@Lb!ll8߬MvvVbq~/%Ii҂ϡ֣T=!BPS:muvPsϥ;Z|s,G:pHgVuZR>f@e⋮@F<6Ͳ.L /)X 3"LN>^m w'>\C]9b Jn)snt__xEKD B $gYAV>g$%L0L#{&ΝFtd\P=a4 8"<ܝsL^^NEcvH-_>֋;|+c! 8O/.规Jn8&,%st]6( kH6 Fq#(ۉ[y{0(^ ֿbףŬ &fzCqI<Μ$((h\EDCc_x/E.:i^+Ο1צ҂Ji4@`lxNL$搘6T.?4] X1h|}g8<1Ȥ< @K// 5pלotpa jtbE Ey&Ц4`د$L"Jvi ljZ%=')8e`8T*M8.w~\(Htv r"jDoGG ilHe%ia&9dd>-i lMܰTA$VHG| $ :1R s\Z $Pjۇ]ًg8`簆 zߒVXݕxrtX/Ap2^[1~R{뚬ɇ:kCU'5n%'CXP06Gۮl[<NscOFeQ-gi$RNo7Wz _t"?z6y/H}ё{qL$ -a[st nSn2ğ@ѷxHNp2& 3 fx) WP'h7f> s!;p&QcN>OgdHE1u {^گV}2@JHS>!~L^d r5/GyNW-`ɚLJ=(RV2ȏM;:-A0<Ȥ L1L~.ܤkgLinNdu'f]BsLA5ShKvvn-_e9eV"mB:GΫxcZX oyHKgT~cN¸OZK:bA%9C ]oʗw1)(t^?uƦ-A99NلL#A2Yu5/_=fqljއˡ?uArZ]AX _vM1V&P\6X2m7䥱[lҏ'AQ6R S Q}딭SeS\D-wLrTC]ӎorly݂XJ^fo - ˰(X3R>\# 9VP饘QՐۑ,aeX#*gVTnqGL(Z)oMi!#ZH.$ɀW\p*ȶ /.gy 9L2p(#Z-)ijjԭ=0b`n0a]k2I)XE8fnDη%8CS.oěNg'dp-J=aYɹبNkY Ե=fNH^f<(|E(SL\>u4vdN~HN[nDeh/ڈ(21he_ʔQnV=CHEgi~%B15czŕ v >aY%e&c!pIB 8г]~A-l641/[\\Z I T4Waa8'lxRYNej3:-:G6vad$$`M,ܔCz3!q1]Ӌn#xBl]K^t_@YugSk]OƤ&v:NaLewɋ-hY}:xi O x|+^ñCq%]{[[q" x@LupՔj -[=ئ\ ejq[%^W'Hjyc%J8Imx=C/].&w4D,Ƙ3"z`U |M:3Qc!_ǣW(WjqS#f(G4GޗI>nڄE٩^˗nHG[M'C&Ǹ'orUmNݾwJ?6\AbGNzŽ2qXDIa'HVT으Et|G3( oOtrJls<;3)YQ`gw8"o&7>cѭ^@& tT}g$}0hh)GTsy4r o MH; Φw~| !( ad" -sQg#,1M|/uhR-.k$GK,݅1a=aYPA,q%! ONzvN6^>ƬAvJFӽ) /ުl̒B3GM'[,n\\kѣ m1hmo>!jM0C <埵ߎ\`K|_xN`ǀpWJ jHLM<_=CM@Wޅ%ꉷdžf%Mnp Z3@>'Md Y,BTuJ:o>b^չȑދGx_W`H "=ϟz&=@%ӌHqixDHXxjꄯK |@QTP+:uc}ОT B5ڨ81hȩaFuXLc[nNרxtNDX*N8s7|2 R{>}78.GyՂOg#Qq'g fKY`9h2„6$} (T?}A`78LHFRG EFJXw!SKr@EKa2'ʌ%v[؟[7SFjj[5hMt,^i#Coq§ZeteWip_t^*>VlhZQjXB㨪9q7@'[=eH+^їa/G6z<6)yжDHwFv2nF)%d.)ەP6^÷r {hj)ϰy"T㝼jMUd΂Mݱ[Dg4{+ݝ:<9qAw L}A=£6۠evAu+U_Q3f?R\0R R^ ,VwW2`A vG<9 4nX;? ?*uV0{[4"΂,qӼ? p}_gKB_ %_g=Ih|.ݥąV^1䓺0 "{7ms9ꛦBNIpi{ ]J :My%uGVց kkpyjp:G]Z$0 _N+M7Y2l @x6q 459OТ}Trf52k t߲}pU\ursVlתa޲ }Vm~3gm,\7m}-*,EHq$Yx=E_V'CRiND9/ Cbx@8`2I̪,!f݄nE8b+Q2쪘CZ^?GVf砱(BIe+9: A  v4RBH zѳy|x֣W?EtFOܔc=1E$V(T} rY!HhQ!.F/ dիG0;j86t 8y QG/Za3= O_ؤJPגIRsZ=|ڼA##su曻;..tש:KIT'6m7":sbqyL@Z,Y bg,n{O;]ɪ!_"=cӺdij2GBX$|i!*nT%;*^3/cEs4CwLj})<(YpHwW^HL- vpđ@wПp̹UK>1뷀L˾f0pΎ=_! 9q[ƭt-c\ @q]CAJpPao|ylN{F*3FxLTv0ԛV,jHA(\xxtP R^Sh"HJn#_p.$s2iB{TuZK t\LI%* P={b"UQ"VR} >Z ŊNVݮ-Jh σ ^ ;FQ,*+""00):;:VP8*e(7Jl0oHe^Ɗy%`4Y[eX}6KJ˩^#<ɝI_/23-@l4`P=K&=.)՜XvLfo BG]ޮ+؂PyInV`k-~SddcU.gƗ' 1N0P!ίH]Hf[Zx\. +\_4bOv#v!l,x<DxIN-Fe,/\mdPyIrǐ&$GKKև1qzG!A38̍97U;ȴVeg ݌LΐotpR# AD䶅)m"ǛX!-ΜaR_});;6П(o:֔qC^Ǖ۵A=zOb d~hzn/J~ǪŤzS,JJ#2ŭi Z~_{c]obR:v:?e? tZ]ָՠgժMk&zzq%UCW\Yڻes7ivZdTVQC$mČki wƿ#;̋ %yG8@5:yq)|⌬N=Bց^\S8]]?{rW[-+Wq)^2-KK0g4LҼ&OSPdŞ-m>nxQyY崎byCQA)BD`<`7%f"Y>ШG]T}_T,a^&xԠ,v4EpW¶SANⅭgj)&d 5 4($sDBݦxOhXQLw`qnPsTs'@Tz,2J*njވ4_}3יjҫ-%i POF?kjS#G'p1Jmba[2?kKq!@-^Y97*o0iMl=ߺ(7g_ǙWأ.. pk #c]@qos]vKi]C+K6 -/'S{VF#pƦuO&gzutxeL.vsMfџ@/)uA)0!۽)/Y_$mU?S^ GqVċj.vUH0mǕ*3bt3($F#PhzZo\d沠pmL~L jbmmK qsN"Q_Qh9 -㳟CUџO=ކy5 YkN.eui#uڒࠠp *!C_߻3Qpazmg- -k 8Z莧YPdM`TGhѤ]:dVNvcW:w|kҁ.:ӫOڑsw pT %z΁ه*0) A&3PPQ_i.-Z!%Ttf3k״+f6 6mPяH4ׇ2 umMCͥpm*Y˭9_J[.9&,rHi߃8Ʌa[Nnx J#u:nY}lzӮ^Y;zӉ1`7zv/_眓{='T `Jټ]ȇU)K{v[՝y`-0-?^[mSƐ=O#_DqqmR0) ibJ}I克WTm Aj/bYFNGuc\:i%fU,pIp ^yBcx2 Vb6Nd ٍәTlW{tĈT{S/QYK7#pQcGogQG?e<tJ83YިF^:̊|ʚ8`r}QhF4뢺j":k2;k.,&zTIFTy=K;pr$Ѳ8f_TIV[[ź`.N0U8IY D57o- !mv9\/KR!6 b\+'Ie/aFzͷ{P|w4ej-t۠^\SK+'JRSf4Ԗ+e"Ӄj\ʌE.>p!\B}vچN!"fR0rG߻* /J6Mn~}}<olϸpf%n~WXUlA!ˍ!ӫ8iD*z3@EYoJNC8f,R ƏmwE(iwLe7xЬ2Lz B,'\n@Oޤl os4PcXY }tp- yC&z Z`7)T)0jJׯ$7 ۷oUckwY;8>+g6w&$>ނu> VZJg˿=>Oi]@QYOƽ AIN%F(Y99JC4Q@J9u3p=0A1 ,^>(HRBxLԇj-ap37ubNV4|u砋ale zJ@5yCQ@RRqO¼p1Bj*O|O ,0߰ʹн,u Hs5IJR(+FL?Fh#~J1 p)O"-Jq Ƀ7u6(ۄ!P@>Á1 &'s3هX,9Y|sACEvp|̺%37_*xC8 <"'"G!£V볩s&<6D-mttzq5"mJ}_(^m'Vs۴F>}*sVӇ"m9oq{o! <]w@a#aYY}i|#r\I _ߙW+"푎Nܞ0|98ֽ .yfnsˡb~p*5E#s vN9>cQG!Ú8Њy6& -2~Q[aṖо)5_[z_itb(߭O=C/ P4? 9T,1լ9"fP]SԜ(0v4sJsbnQ{} #@ɏU^R+/6' Kh-Fs5XޖXyXQ3 WKb"&â{[mpZֶ/ʲZ[Z-l$NeWHWM_ Vӧxs䀱X )oC&6lktIp].@?wShs-$9nP[pYӲG:Etb&< E_p0JtzX B.R .EĎu-0OSBþm Ǣ]vd`ÝXP[ VC4O0&zu4&Eʙ'tAB%+DˎG~AxCPKZnRgx+i|oʜ8oqJ`G~ ɕo P 8yuq뢵𐠵Ռ=ƶT·n2paA/F[ ]+p^F(?ɬ3ggQ)ĊDLm4G;?81[ѫT> =Q8)ʒ5ck+gdRA|vakBcz[C8^'դOS0* )5r|Ȥ^?z}[SWUT}?LU^}L 6h8 bǎEڰn/MA66Mkr0.'})X "9O ~.7@3_~I*`֣q^ Q(Tߠ1``w2uՓأ0F(zcgsSolP8C4>@e1bς zF]5Qƃ/Y vAfGWJ;=yw@Rq\kK0{2tv0="w 0Nr DnJ`37%/-*R.U+[lQ7H0x/{džq8>6F'0*G\Qa$;hfEBC-`0)y[hʑV H2pCxQP¥9>&zgိ*+kɼ'W_~IPg_CO{b̖aշN ~A'/I팟o" ܬ*0wKOLxi1M*ˀzܗ{ meJ!,O'Z2Nm:ܢ*G`x]sҶ#fD\FIHw]I ?7#ȂU.5w5ɮR?70:3np&9&VupAFsUc;I}!\Uv}bz:9y! Rξ N@)0ߗDd;(AXr[BNa+{?X/Jڽ՜vݶ6lҤgO%P (/V j>MTc74bɤ^~^()yIЄe7a'xU$u8/NΨ'nh贑51;^n48ߖSqF; Jx]]Y MG-WM_ KVgGg>W&i& əۣκ5XnF>gla⧲0x){8}>;|9 i 7?kNW APEjpYrҊJp7~V8o? 3#JF ;Sl6QAiCfT0YwI+~[kB41L[*;/jLAM0X}>.tغutjiZ6)udn? |n4oZ8H/h!}I>d _Y3rDwc6ZKجA;T GXKb4p:I9m{#?{X%CKM;E({vT6 LaY}jOѭTв`u Jۃ2f1D/MR1Cb @#^$yH"c%߀.MtBl7 ^]]]*eg^1: v"t2=M@f]M̟D_w`tјmuJw"BhO;ֽ.w3,eJVKmC2LCyӝOLU{/\"K h bxZLRiO(=|V})׾[[P[n26YK UL}W0$ڃR: O3Ij(ΒRօJ )HInS(gKp 2\oNya軚8'p%KEEgO[:*׸pⳇWFt!Woڧ"˲"CրooBJd;'K͒__hv+ dލ 'VmI.^˅ 8BsfG08ռ*ʮ ꩐Tҕc6s~JimxY~V)Iƛ+hΜ;]EBAАQl"U,C)'fC{KD]p#(^ys==UjonlVeuiJ+$dU#;O ?92 <;q>o Trx& ['-xp0j[;3Iw6N?;K9YR2vrD3' KgՂ?h?r_K& `t͡񟞉y7&.>tu4ߛG :^MpvwڴYz~ڇձM٪!RWd;# ^zʈQ t\Wy\OJ14:5\ SXT ݓgvV9UkX,miM\(n>EI aIi_,( ;.s)=5AI(wXg}4YDp4{jq(Q ̷ZJUZfK*xC~p"2r#$!JzZY.^|h}zXaIEXgt^4R{fLypᚚ1ި|O 25" tUAޗ@uRPNX1ZN/ܨxIQ×_y6EK / cuDo7դ |2VC f+H :`wiy~wkt@4OE],<ͦ?sb1- JAA2-=t칙Cõ̍: Ba;WCEΞr{`&,'t[8qu -(J]4 ʹ5ay hhY.4j&4a q'( 5sXGjWB~cm۶/.6a_A5+=d >Ĺ_.h8tBs0HJll[UH4v. >]( k9. UA:,A-wyʰ҉VjVU ^}|wTHӘ,Aq0;,ZD*#{lH7bRX0CduBѢ5d=V\T=Q37o qA̐AOlܿ!{_uD G_rkߘT^}Wo).8|gWPCeJx6N(~v_;ΞS?W#M˿^SmG θJQ50 i<&+;V=KrU e#,tFjëΓU|N'uLx&) 6wrroG4 LR gnZa#t+2>if!ϥ)Ǿ>0$&qqJY\IS(ˤ7^+'wٚze !e-ݙ{awτ K"Jd Ly"FջPn)ж w-YU6L8"!ѡ|Fj=cȠERz!z|%%N{9c׉S'I#ܳ&QFn๕ !JƄeeo},XM0cs9]e08ux޾B䦂@h~T$% ?-&=EsnϨf'$Є`9wvȒߖ$sNy7zԯ3.ɉA>c,vA?p-?#Gv˧hm,QvG=KԾ nk@p*;rQwZ*ړǤ 3νեwR-`Qz\ӧvch:pZ7ןg~#;xDtO|tҺ}&Y9ƮpbuU[]Tι#UFo~yեj`a~.;&\UBD<j5yуo)],+]*D89żmSTI9⺹"_KKgh&\^a= X(u`mgO,Ӊh}y$ے$ E[b \ڊxl~[l:鈼,g\jgY '&f)GL|ƭ*Qpr~;ZI] !q٘ >0S|_Aeg<28@+5 3gKp:ELBvKj:*&z0V >GXCJIOErWb$W+^jɒϖ6HX#18 ˌ5ԋ`֩wGU,03 ̵1 Q&g;!]vX~0a \MF4C&h VӾӗ|怙w9}9/HY1˚W(u2igo}9~!V7;:H xǗ~㲿vWزj w$kʪe1Z^W$S+ļњ,-3!cmh9% Q*;%_8FV(s߷f8dشgm5@@7V։!)^`#m܊Gk!yu訦(+q:­D݉5/bwb+bᎁ6}HЛm$te1-ě G]iܘ$Q:npysǩBq8Hr-;-cN*rJ]cGYucyUku DQ):4^K<|XEޚ.Hxr亞jΚơ-]eU6xbk_loⰯuvoLzA+$^ҕ\w%>[PG<2FnD!$Sx8;;(~ Wou\Ht*GĞv:[Lr-yGm k-6K=9D>GkaDl9*K2J8OsP"偙bN% pxcN&ay{Mlƪ3#LmN̕&>4wՙި|3}+e}_,,ALu[ϲQJ5'z@NԝZ̉ED@(PVdl\8N&,)I]dNY8+ʞ_wu⥊8#+1d8s6Ǭ}壯 Uyfc+!)Ȧ1[N}3ǮIGu]x~^ʔ4 qd[>,{1#^3ID=q$%ɥ:A*Cg R@ BH@!Tnwl˭a]ɬz5 {z1R&l\WџgEIّt)8RTp*YMڋFfR8VYbJir5Fč N4egH%<ټ njc*v<᧼ /Ujao.lGvAvPؠZj9IdAvƉ< jO3j5KhiMt|en*=-ABQ׍.|"?Ïs\Z%gt2^L#;K0>;!SSI!!H>S|BϵŵQN,$,J,ya>A"TSMK"I쫈+;;Ӽ[5*^1!;m--?wb^eCiO{*NC/.Ms'  f+vS'̘  TkOHLTpRs#2Y@2N6^T)u[>4(n#*w²Jb$ȤFTxM3,"& ܴyWm k!o , ˒e6GG\r]U2%8WH CQo娣)*[zb2nʹ.CL?gl2\#.WY`WG>r8e1jB Uq8`{l_d9)\$n +L[o"N>eYfC-\Qz%seg@% I^؄*ӬD/j1'$YF\(AЃ]xiZk$5U܈?ZN:5ZC'Zܤ}w~HEVN'O:R|J%ءC.^ڎ`g͐(3!a [0ɘ»#c]j)`rsJ!*jcf`o+ ;mxx 2= }JKo a XN-K;xL@@a,u]ϺU,Y;Ia˯%y\ #2"daE޵>P~?nŠv]wZY׬a)33t2T۷MN6=?Cݹސd}1y"9gV˚!Z1qz&Ww-fRC|K>'cwA?`6$,|Ckٝ0->\#˽5KLiTom\[کNJXu}ꕵۡx[@4u g@+"R.AST+8S3r P,qݕV^fbڝ]d|k xtQ ä=:qC/ѾK69@̦8ۃ)6mkϋz{vC Gv̠d lCȇ`hr.SFmإ>2푈n\y 3k43b?sNjT%a)2}7 I }A6m"o'iLII5y?|Ue-Ңhb=Ϫ۱_*'{h3ry":U@>q|J!׎72ZΝ ]p%},r Tāeu1't̖Xm٩X$:Dl>OKX[;4Eh!BAjZ<|:f^Oh5a Ku/bztw~8i$oot^3Q?rLˊfoInHiqUgg)Ӈi-aui4,a{ nY$HkJcJ8@t1Ay8RQ)( qr<'T2QUET ԫ *DWV-J(YWZ~]^oP6{ [=ʤƔڗ>!C/9kyyrL+>;ʒ[/ fn>O< 1#ryw70"aYM0Ib8H^-ri a ޴B7N9!gI 2iOB *{Ȫ!&FsSmt*Vch|ʢ&E=E+BJ&Q"/qd"8Yn$:W|8a% F~\\ =w帙"i4}BW3߬[o4Yf"31Doڔr]CpϼAylk7S Lj @>s%0)uA 9-^{#x/ަL[`0/(?¨Y)؛a wI{ddC1ڐGdj<R0*eYCNsI(~.D*; ڻ{VqS[BOl]yWMRZ$.%qj"̙.9*H*:HfcEpRoQ#"htL\V Of}=Q]LH|_~kϣ񏈔vrți&!*)rIb@쪖%M5Нs!N=3h%`U3yV| pk,6խ]+{EΗ\^yn۔.*QzMOտD'TS\0WU'5:#h΅A%EZʜ5bҜ6M.^qӶX(1]l(4AҢۋVXkv)^ۚn6eQ~q`a4ElZ{!eٹ Rfmwš|Nwda{%Q cygRA9zXBN|5ّO49_w9.fo(D\EPl~PˢA'Ǐm |)]ˍ1<|`){y?J;|Ɠ=J7MMA~weHb^;+4T1纲ѳ'ZNWRfZx R}Eڢu^} =ּ3CAlC\'EΩ).b.-GB؄HA|ZEy˭yH: $'Xv3&yVQJ/I^ '4ZY[}>ēnѭţvTow(kxǂ Կ^gWzۼr1k }Pc.fŝL@^-7pjorͤDⶴ ppKtrU}$gmJtAPv h*ٲ͛-Zv&dHj|4P9?]]zw wLz zЩ!.+',zb8*߮$jΆ,7bCo/]Eh+#PN: q͸E@G4+5|"E@8xy>XqI3%4&Ueѣxޜ+V[ W?$U7H2ܘm &{}3}`RU=}ii*"Q:, !86ܤP'TsrvwMDKOxinM'\W mFfPOV \`%~JJvCm8kv9EgfvG١w20$-\IMD7OۺrU :Qڃ1<; -:z^%qBZKQD{җxoe%*p 7|-t<^xأbT*n }ۙo˞(ﴲ\^(Zn3fZ,2:"n@{8,-^wQRE~ '>@^U>W5 %3#X5"߶縵mw #,,C8閅WO=ĻH7=ζ:+ ᓞ(NQxTa7$m};aÿmk.47Kt݋B{Z=+IwoN.R"kO5haCK0OP$/{qu[_f_".wy$8)"oX;34Z'G&o5gȬ [푂px$~VlYy?A:O0O.?Iv{~ lz]%xդ1G2 ͯ4` 1w^"B~<׎kh:&9Dɗ@ I4|ߖ^y~r׮ۙ|,y-nQߖBN"n%;TsB֭f =3EXX7W s i*(*+"AC.ڥ+:WR^mSQMz+ . sS!F]bZxL}NN $pgvE mA~DPh#.0k㲧on?֭l/Ox$] L`.\(P+:rj{x}cO#V ̥): f(ýQ ǀ*[յ~-`h1):ҙn@-݁'>c(>,U0.Q/sU*kޑR1&&;{=< QdÅR%R F@"zEG1M}<*:Q5 zW ՟DKj~_  [#Z/9XMFۇ{7șک+hsDf!!/y {ܸ=g0<)84TMʦzj^K"$L+܏!^\*d%\%Ns$Z:˼&,t 'U}~# \ɝ/!-mYVB-Ei8ɷ92jW][тQT~79E3SѧB0n+\q\Xh;edIx6> XCVrpNFK|99QPba-~ $GnX?:a.pf. !®Cf߄Z$ ݞ\؉jrvb1F4 %B B k"r,$$\7K5sn_ +v P$ϩ3/x>Jaw/TiXFN)@ԅAK$r>Gnc QR] ]e\C w^ʺ𑞯W6ު}LB|ұ61R pn=  b>@kDRƌB MQnh50qb9j C_~Poaʀ1>bשiv63u_;fj/1'y9D8a n+.Zfq>ZTΟάs6 wV @)w1`h |ZwUia{]"5 X MDXfl|6b3Z=cddž/bWOgL  Á^ ~Їo;Lx0e_Z,Cõݷ%"({>96?C`/}G(? Zi 6m v{L3Z[ax'96!12'pͥ[˔))L@ƙV~+r2ʑkk9Z 0NG25raQJ #+Z,OhO :X=`O0 ߋWݴcZBb4l’ٟsԳܻYj(J՜:qZo%9" ]c,:ZrPA<@p/" g][uoW(AǸ3aIL/)^j_s;_"KY mĄ"oj=1HfΤ;F U\V>{9Yc6J?x̀W0M-7ؙHrV2 I<( 5uywjBtA֏o\e3YL\ʺkl#ss˯Gb/kBZ0rDhDq9WzC8 @C4.7U{_\_}#!|z(12Od@C?x7 N.?yjvGCҌ"ʚYlC`2'%b[iܫ6hLF HO] M"U1P [9X |UB S~z|.4TP{.b9py-~^z \@JX`nbDWpk9_c,:2YaFμҦ׭b1DLcau"ҝTT 7+ovzӀƣ iO~}$f}e]Է99y26WLuS Mvq9t)iG׉06G -0I#u1}ŭ[cz6WŁ!-pi?K8'`PCrrp\B;ki~8߯I{'DʪJ"am@!BS҂ ?{łk}MqWW,/R+OC[Yw3|ck=} Qc;Y4ed6nگlc`,ɩߤ@7iM=Gs4g%rGpHC5p#S/ڝ* ϓ]6}NxErP?SrbO{Qph*LbY Sn /BZ; }m~9a4-h[ ͎ϭJ$1N&|'c䬥/ʺ&᧥,/94 g)^D/P"܈Edӽ &S#pKDD Ț M9B4Ge@f~޻;a~WOk CL T|;v)␳aH z=lyNS^xG0fx!eƸ.9\( (noAiO@ut:)SPU6&*Bvp F~[@]Ja0dTx͊ZС q0.W2v1hd-CZVA@Gñ|g;=E4'K<@|4^q |\V1p%[#S#F#-CI̥+\),Wyy:#sQP^,JzF "穼ƹ0-hq(B?Z{)6{oݔ2WCtˋg5T8,+Oe0HUܺvRrAD 6ř!D)n:nc a=2ݫws9OYV@^XI{+ #bWy+@% 0.{'~{dzr/ێlL*bd_Ecfa"sص- v$95]&,̋PLY$8>=[w<* C~$\YY7W$Y^qF%EAWQ7{EH2C)Cu͔.w9AYȓKcd Ị< wTPNwbԡ"~H66_0wnDKAANe9iFVg?#|ּ^2|Ś{A&X|[QhY^oG|#W*fe`-ޣ\6i˺.tu/^ykA/˙5nnמz]1Z[ϝomV95˅_6 e^^!MMHчVx]m$ՏKJM4F-oQC23q/T])<6.jxo/|CA^[cB2|A {o1K{2A`O F8;' 9ƀ@bR]ʷq,Vo<*l^ܫQcT_5?$U0_9׊ f)Cץ) יP["q,6 #acd$\ـݻgyZgvbԷaz8{ț}BhA{mD.'*KOik;D #/h;@± !+ګ-ckn.v$?:ܗb{azKޣdGkyVֶZͥ:'Zsg.O\/+i.5j>( =>v w=7\4߈y~)qNKss~9< k {doÞ;Z荄AR4vríḾѲʀ&_>p9UF(#eI|K!Вl036nLGe*6Ne /ˌԎŪjj՚we7r|т֔讞 AZSCr ֔BInt~-#ZVvLBr"9ŗ598Vxh_d^:|xmW(~ My+)#%ʂu~ޯщ*KX8[4XL{J.. 5|E^]sҝcC~L@!=Iuzmʐ^IU:d݌a?a2h/iy;nQo (& =X;-?vkC) fm9ҟEf^-MזJ=4o,q˒i^X\lX޳ۓ{-:V{??&*_i]Ţ@T~9{UpMXאjS雩W::@VVپ=-}_ey{Ď^gifhjrԮ 0(w90{T,OT<~ >ϷXVX8^tΪ/y F&$ZLȏ!DHn˃8mL:dJ'!c\?<ƶ}@}݁ "'||2_}W 3:}6)X.邈Iemś[:ޝrmL#hd c^o;6a!mLS >nN-j'9BPB"7%"J<Z) }B [Sgԓd%7 O MmfZdQ?8k 8VjW{z 5zՄff2!]J73Cƅ2P,Mwǹ*)5H% s9ҏtIT H'~icK"~X=~KH^!Oq& "^S9c*l`t122Qd @Z1N[ :H\t܆CeSSR|DXECydhp9@<(+$̙4;.9댋)5des׷z$Uf{<&v$b)K WTR8Yj'?K^GW{o%8dwJgMz 3.7S[^n?ԣlC9XdC?5{/{/{ 2D{D uwo̧ CjcT#Ț y+L@w1c@]?|K 9dXe,r755뼼ِ\\5A 7 [B~bs^wE)`sOrя)eަlCZ@Kgߝz/miM)|DRѿ=/|pzWPC !Uqu.fc^tX\ZZJ9V]бو+|fq,ҏA_/儘(# :ΓkQn~C <ϳMfɥ$<;eڤ1%iEUgq*;R1=XhW`VUr7.Y"qyW(M&qψb)cAnjIW4ytҝ1Q܃j 6W!hd77"N˴:CM\ti1r[?Ѓo{TEzr 6k?ZQ[7/V{.=ծ"+9= KLe,`S w9oW͡ɓl _G׆aR0e_ǁu5X2k>[:kї/7:YÒ+W.1Ade;f4Y.H:^θ`"7%1$E5:DkP2r@5ݕ+Zf}G 7R=4GObT˷ ώ#_w Taҳjt[H -ysGdhAu.Z54N^RӲG2Qё\I>]zP=>';r?8Dx[k5j4ITU W0*hڬFgLRgX,cA!*}% sY|{F+u]$_oIr+sźv8sR?,%_'N,8+ kħFgd/$[5'Zǡ)A{P {2dfܥC(QUg1r\;Hbb τe+lI""Ӝ .?>ikV2Yr.6ы<OF}Klc+$#˧{ɘ 6S9Ґud`*ٕX5=eou7~4-xf&|ۼc;¼,Z_ݥ&k㯩 \&cwFc렮7ؔWK]}QY:H A=r/KuWT7Voi;Ս+ݖO?em+9W*3Mu=-ZR)Qv!EQa(9P+Bv{@E5*q]?vS!W㐸7g!N£IrWOԇdmbWBM!*I>t39 3D˓ʬy*{+ IfD$5w[EGeLeurH1T~ΧtWyw$vsjf2(dFg]kSz!~']:4`lyi1Yʸ7yT)IJu ^ճķ'^DvIwN{+$>| ؿzFda ObDL{̬o<5|ʐ-DIߚkyBoW+o^'^N? =8\|7rp0~Iq X3 Xdyzl0E p)KdBĔ,DK Ξkm?^$ fRd9M"Q%ƨѣfHç]9_RUAq}<=^F-ڋV욽Vq*ĝ/sru!`D[Iw=) EkvkȿgouS,`*糣: g mb|{{qOuyeڬ(+7oʈz0'#2VQǗME} LK4~I:ֲnj5'Je9wse>{hPg,f!k土^Ɔl|wu|Ñ߬DQx3Ckp)eC>Ԟ$2f=:Hh5ڢhFL,@:E~7BV?Q#3QA.јڬxWujTa7`N"*kKbYJD: ,T3sq%̓!Lo oPMZ~8_BUh2|H@mEj]<m wFɇ|![$Q#zT֞N6 讎HNb!b'rV!Rn&>ww)rR`><\|a +Q۹o=b$Jhܒ"A丄uu?\hG!7˽&K>p50E*~#>ĤR>p8%q{}# pqͿfOG[pVarNv @`HrrUHkέ|zg,tQͭNb)Y0G}ws=?1]Ο.:X ӻ$Vލځsw/@@{W,}v✥"ԸzEIIKUŏIeP`fq4ꒀy]%] -"Փ9szRi ٪Ӎ럤1!Sj3 ^-S`Y9%̥ʒ>2.-}pѷ7^-R2U[KV^j]N牅a"}-| k2a^!b)-D*57hoѠJ?\ζn<oQ0^06%g>)fU*7U'M$+6_7 ԤY|jipUzǵA[ .`{ f"[ꨃH170u eeɲHk.a03eTuu+(l:*owQʑGwE8wU՛nK- ͎KMr9]ay+2p+ҹx?_Q{(Ƕ; -!1FR9nf !К?n cD$=Kn,PYgxqͩ'C }G%3CgQӜc$n%lcfUˌN^ޤM-'KVϚ9yezbQȵƏxTRQ5~ ^u9g3f {&#TuH8%2t):N#s??%?05љT*Rg)Sאy"҇SAܻ錪)qRK=WH=.(<>L},7汫ƎP s+fIX\h;sb).VĦ,|pUYY }0ӐTzqMeRp -NS\ .] HdvidK9}dqzK5nX e5bF6ʍmC@;?{R,l=pe(FM-c<: GНn喊&RaRVz*/ҴT#H6v#I(V!QҠG߄+xm2k3zU35հ2o~Gqrv * [ՒC[~:m&$4ijB84|؍pHr+ƺQ)؂I gHSba-ui-l/о0\M}K?FdD{={<ԍ^Ѡ;|x݋ ]94jFaf|l\Q!r53Lc6?aa5cG|-ls^8%6uO9Qǟ nXIx4paܽfζK~?+2yIb);(JΕFH+*1&"ɰɍPa%'of?cOOK 8VzMécg֧6Y_} om+zgT|VQ?'"xR;gO^L8;qaߘlLbL\Ww>k~[gwk:>2}ZB{W ,w&S ka@Ը?6>3n=)?{2H2, )qH` ޕ3jkTĞB?Qm$%)}bUq_cqY -_1Ӂ)j?E=7>-96l. sx"hc[y7?N - TK79|ѰxzjgmhInHog)v~ C;LJqu pmW<˗=l+(lCPm-[IHHK(|LQkgª?CEBx}QN";FNUcE\k5EG н^Jv<+Dk rKCN w¹*{Ϛ>jhÉW~{|kÿ$a=g1izf҆Mm  z`0X*+Gn ?J >[Std>)`zdM+9,Z', į>cu}nmĐN=z8$Rգ3c 1MEKY$ 5 ]Y^=xܠKHUNyxUqYd*ggmnL%r䰼!@Z"["(͘pfk"v$ρ9&LIQV:WIZk7TT!X52QIe(ZP b}LLϰ:.'T/ kS->lT5}Tr#e(SG:'WmP 8oVV7S*6⋫-7kI5P|-wSX-g `(TzI(jaZc^w.8g-fV]hl3.yOu2&8EAD|L|Z3ɡ2]ۑ5KqO[شܵ,Մ>k*jsέ *Ѯ|\A[ T O=5@'z=]Z(CGEfM8GWP+qNEmF068Z:b7-Ь%{Ch1^tm,R\H TZ#x㮽`Y'}?}iou8KP1㥙夆CZ"8@x µ-``Pj}6LlRU\6[ CZN"*Y=3CȾ3ڣx~,ceG ;,5R>Uw6ԼSAR7|aqu^ځ;V`ۼ:{~۔x9:7N+m1f75dGrzZFݬ(:%P 9GaxLIrl2}>Mn?KwE/:T@Y_a^OME^3 O\s _ ^9$-Q5y'msс cvV I߇!?I$7ܡ\ód[#mH܁F&8$*pw,意hiḩt-,6i0I^,`Ś7{~5QR ]5j^FiT\?8E|ӕ_eoH{UĠT&L-3QWnԤuM* ۥD+%j;bͮ' Y> (؟4 w]|/JW#ȤZca7B'8:{} N$8oQ|W mOnL)Q^!WCM8}:Nhۑc&4ٝqo_@xމɐ5 Q+t*\]w C!W^"ywne/R=`*5bJzMwZN h PQ7޴-␜EgC29*XYKUk&D\4]aw-5&_kD@;I1fͫ{C[ŏY}ExdS9ɇ@~$`KPK}=wvZR ?Ph{%Zdϙ'biys-KhOü. [4/%0y]|(珫DBˀ(D뺹"cfw8NgPmzdo *Ģj6hni[}iY LٱEf9eF8dǣOk@p#B\'Mo=) uĐEB>:6Qlo6]Z* ) ˸kֿ /d?6 Q7Dx'ey:KCaM۽T&ufTx_WD){5PJ7A 2wWqo-Cg*te j ^"~4{;fo-W?*wW1{|k.QZ" X-J/~ ۵dp;} WAD|Qķ~XC}6cT;k#7.{7c8T_4X;B*bm#"""*RJ)EDDDD̛?97t3Zkgсhzt&ޯw.YNˋվgH@E!6~brݴz]DDDDDDDfffffffVUUUUUUUi{z6Ndooniprobe-2.2.0/ooni/ui/web/client/fonts/charter-regular.0c4500a9d203a33bd879a9a0bee1190d.woff0000644000175000017500000006640013071151301026712 0ustar irlirlwOFFmFFTMhDGDEF OS/2Q`|cmapC%cvt ::fpgmeS/gaspglyf^ Oئheadc46C hhead $$hmtxd(D'locaflүmaxph@ Snameh`eYRgpostjm՛prepl8vqwebfluQ=Dcxc`d``b `b`@17xc`b8iSCf` D@AeQ1o&_n1_axSi>R``xc```f`F1, 7%Pǰ?!c0c"cc$LwD \0fWa!:G ZcL7$dz,zo_?X~}p{~̻%On&01522 &t aaecWPTRVQUS70426153wptrvqus  OHdhim8m,^|U׮Y~M[mݵs)we=.dhPV v]vòI r144O=|7^ΰ#=S~޾S&͚=gϝt ^.$)59>BVsZt6;JNSZ^bej/HQx]QN[A  9{ Սbd;i7rq@D گH!H|B>!3k4;;sΙ3KʑwkS$6NH덌Zlfu є;j=o)M;Z ;4: !qKͺb00.?R4j˰Ѽ34@Skm!qK˦6$tUS]`*́Vy &ҷ$, b 9@HƼIJ;ㆵƑ6O'ӿZxԽ |W/|oWU[-uKj[vk$nǻc;^cg$BBHcfj)ɐOfBx3o70C`;bN>ԥjE}Ϲg?O+Yɫ:{H*ނB(jt'{Q}4OTNW*c*-z=&]J:$.pʕbn ~Ƅ᳽("=1H_A!gTEFSW=|eG{N1cvp==zi(?wL]eBbJuuU p7,"$^Ps+R%_~W_#ZdᱍɭR<ҟ]8+ Ow1@뤙&v}$nTxȬ k׈TIMT+@P}M6K^UZ) J{}dCw}F^O?r|^yF<|t y:+~̅b>Hy~L6vh#wwNϟsw_:]\L?s7 R3Qab*b=u5bb^ЙKP7,Y*hV.7qfN~j}|kGm~yq)|*Nj*Ӛ8 ,^p(06=^ڨaGqzX"PZUv]$l.V~Ŵv47z!7JBQ늑{HZlZ |g5kV/#Vv©3#Z/&XJE&j% *Q4 "5 "Ji*& <AMKZUj /hg4Q)ysv良.企P]~i92҉osECmGx$>m)#, pp&:zzXA=|˂Sqx`t 4itlK݁ Am&#b"hq%w|Gwx߸%n}'v]U9K@ݥ&"u^[K[Xģ3e4YT2ڲ:VhaWkaB3k`-dX_;!ݻkw]bxƥ[=]\ kwwza_Va_,d)@loLVn !cboAi0b)XǬS QMVWӯ7l;{O8Ŕ3?28ɓҋ#brf3paVyGf 譮hP3467ٖ|b6(k<>Xy#o]wʥw\S*d6l8VPO;Nl<|H׼mئU\n\D~ND! wK- 7;QF qa00Uki,x̽+-DYU.{+tk/]}?uMOOt]Wlٙ*w;qֻ3a9*G0cA ssc~;ϯC& wix=tKkkK(z3 1O>EBrRsGEŸ"@;KK! "5 <DP(DT/!g=zbKi 4 k˧vN b$]N{{02RW<BKxP",334j"7 _ξ Rտ=r'-WHz_~<]} r} ٵ8H+^$ ?b}R\4/6PEF]ӅLdHTuرl-OM }l1yt5߷jfLd/ܼXuu|AzvWw3GuG)2HVI-@N@U-:?fuu j'pLz Q!CCa*WB/ŷ7ou*2vZMOxbt GWUsCbpȡhgo]H/xbU3r="JWH@٘ax`rTrWJF5zhIͤ!Yܵ'>$}gKZJrUʚ+nS|j[nowW7^m:+["qzycޮaVXG/m מ}np~NC;m^ XK"I<b, xaէb! k( [Vf)1`7.?QHu[I7xZ7Ĥ=TeޚۊQR ,|@ˉb3z6rʘJT%Jf};C#>p/)kkuk6ʛt,VC<t:`-<7JAJEm{6KLܣ8!nw2mPL`.EfѯxHWI]~ iL[P(=E|K\jwSG^-9t{?|lz}!^DK^/b"iNbh,6Nr2?a%J<U:M5˖ ӷv_y* OLk uq(!/i9Q*"@ E!BP+d N?19ANǺӏNI &8@ Yʤ#BYRHE,LZ1|Kbk=[%VU,5@8'X5b:ˑn[[%v%%8 ;osY~U<4&'I 7~0" U0k&K,]G2$\PCLŚ=Q-(e`d慰cSS",NfQG%x^5A̩ZZe{A 7=5sտr0B+M_W/"n1skCFZ$4юu<À',hJ@UKP~9,/OI eh3:_{gۍ|?\pPRde: vF}ͬb7lK%iY6gMl-_ѿOkFo7p:% "F5e {;Fxy.&֒\(x%aصOӡ*zyٔÚfMLTlq ۙѣ'+#\"\n&Q.(PU K֮XKyF%z / ,~M`' OBt&vK줱C^(tseC"VIT;2dk_U̱(2_O>K7ARk9=hر6D`"czEC(srQEUFO tؘ a]lkH*21 aܾ*c Zm bRYNGsiPvnQU{#g6Bg <(Rer3\5YW*(3Ȩݰ9~7GN7Ѩ-X1&v2~8Zq,%?cwʃ4$@fp3O>d>֝CX(7cYoA# w5d\KM&ݳ5}O{y\n]{'{>pK`aۖkN[vf𜠂=[5鲕X?f1+(!*.:DͬaGZ#ImsPo<0>W(Y``T -iF]`d/sǝ{}výuKOgo:xFo?{]|7Ǵ ~7{aIYp?J['&FBVbT#9Y Y"d˴5xư/מz\T"U"~oܶMJ{xĝ܌/eT;<$qQDc]t,/djG 0$ t^@G߀a ¢>HN)-!371h+IJ2gT] ޶s_wnsGz+X"|8T]tt1g.ruٌ<a31xHgԘ1!Օ rd g, wbP,sF'ɪNsrElQ^z?׽cيCEu|^+;jx˛8:Gy+SF}eێ?OU N^GخL  nr%_US$kǾ]ֹEy~.\,}q1=jk^辥\T1y|wcN`x챽_FٵǏA)>|MNX,uDj:\,6}hd>؈ݑ(2qt@+/ؽV U DOp1[ҙq>ȕ{X޺ҭARFZXQЇi#k&6з; Nsڬm;M*`krGǖB8_O6`hc5OX<I26%5c.h[^/mQ]NwZ5zP _Y/6(.X̊Su0(/ FR=n,ax ?ױ${il1NzL 6ϨikksLO~7^90B ޮVp}V[@_F3Ad#`=nqJ ;VdUM8-ia>&\45V7O[vvaҏ~qs?s =)|Hu`@ lϤx;\gO̟ph1DbHx~kfj|>(>2S#|6e&Ē%)U'x]/ueby*QEiCEhɝʚl<;MOȌjf=' bJ oj^?&$i=6}P\UkZcqbn *)bYrN^(LRckJKE (ʉ`2y=jI)NbK+a`/6$'o~W9 +;iOfT:ز +FӝJ6sBp%X ~7gWCK-:˱\^HL1%1ToάZGmK,pٞkReᣱWShw:Kg6fbW\s,X2[Rڤ_NisJdIHd{mYwSF[Nؼ/vO>b\Nޡ;n~8EpyJϼNO~xHht4v$Oy-2bhd"|g*QYqSт̭l)1gW*%aOqxets-߾벃q_gϮy=mߕ{j (Kv*ұFPWBE,KGWW+FVv06 3 b-kt'fw`_"h<)F;hsVqC"eykv%;w4jqm0UY@Rs IcZJkAKVClpNbeIC/69Br] ^QbOvzp?.a:vO0Tt&Hwj%nV6uL}{U鹀5WGSUT$`"˓VOoM*bQ͌()BzV-YwT<|"|6&߽apum\;8@{goG=n2UǦ=Bl/\JHĦ|&b%WB#! 'Xk+b9uQ D "Xc},^Ԍg$k@]]/ת5V]6Z6rߔ<:!]*Q>߯[3#8DK;1C\xNXGjjȦ! fG=Ua=X$QPYx08)Na;ZIN\%Z屰qb6M/81*KߞIv'RpH?2SɐW6R)f>;0k``b/m\[l S/Цފ:F@bݍuO(xGƓO/Vq@NzO=>-o˜2!qijPW]~8\>}-{0zǢ-(3yY|5A0NBaYzVDTU>ӟΑ+Mޫ,}=bSNC&(^7mv1kb&v=Mfug–2r'lU̹|lk7GM})R,*9\`ļżswI(g}Z5Ჭ,1_p3Fb-ːHNs,J18s!SP,ہjcQ/8[_`> $HԵ yW2Ҏ1[ӭUh\4އ2_q&ybh3͔lVOlin x!DIFbF4eDZaYȢ 'gɕcRwlv/ÇŬf3V5Ў|xQ^ꊅðT.IAg2Ÿl4:nKnàW;/]74n-kq8'IgH3g;OqK˼l 2m.ATM1N ©ـODetO D Ybr'*wI\UraS= ۆVvbò-WLEZǺӫlxynǮIO`Rۋयy5 ^Čl ۋl<{N 2N(gR+j<$w M[?tf*Pi+wmZ,Dɇ$1֟Iڪ^j} {u+5='a]: zSBL|\|F߿4"F ,Re֔eث=°\әK-j\UQX2~XKF ޕ\>6 9t9g%RS&O̓؉YTsz02dxQ]jh чS-g圊zYPi\=YsxǜM]VoĞ9cK+3Xj5+d4KV]|c&} U]NjcuaXUܠG?T촓q ' <,7daGvL]شRkXBψ+Df˧}4Q';賱 Ӿ f~-D`B}| \ J`M^bS"r'7P-c"㖦0;ni |-㪬SdJXUWķ,ޑ)A&,-pdq545ϭSjx+ut÷n3Y\:?KWMgMCOj3%Ut9JG[Cퟅy ]ӪE9F;Of0j%yr>[>.л3n信N4ȾyݔFۯql}jqh?/B{.%w=29#j_F띷93gMiVayAsd @F)cZ(ZߵeB;[?1i3(ms, dzyϰwM_`^M$?[djG4KmVO_\R.?3vG}~\g*vY5\1} IV_|~,hG-xyQruk&t"wЁG.YJ6ntlP_fgCY}Z2:ξ ڼt>}Ao#6ɣ F @5fu$]mTYnNo#}ox aʏ".|dqEDJytsjqɢu}-k֋7K,tp%|_)d7 K y).hq~67D_TRѥIҪ 2|Ԩl.~t[.C}^+/۝+9'u]^/]\26c1&V5ٸ>dxnGapxaًl6;jfh~K8Fj<C8!\O&Ly͉+Oo;I8UZRBx/R\%+tŚ v Yf#sU]XT:UcÞ)1lQq!w#/T@Kd3y*Ѱf#3~I^}9<)&:LYYoͶ_G<|c+<к"6.xF9\\@ג2фHՔiH%X+Dү9 n/XK޺X U:SBڡ/QSR?HyJ ozc !۲|{"Z`>CBK{S?r x|XgXȧx+9B0U|Z%-b]ia"Z WRB4ټ$(NV͍b »)i:2; Lo%[& [YS'rryKGvmUj=qPe]-X$ a3-FۿC16S?՚b7Ē-(35&="E-5cE> c38 TҊ E5f' _oZʉ~zG?VNOOOsPkܱ\7kp\oYz̐+B>_t̏ ^;a;sHaD ,3ZP:y<˽4߆aY~c2\jF<؋jwӤp1"6e8(U+'.!k]24BXv*4&u=5hiQQ|LlϚf#;:iuT3r3Z=vxuB[Τa{[NcB57F{Z]{ .ݾ+Th%h^Cݣ,zz0I,M 7I*M[Ѯ!C -1WqsLx4/6_$F"^$b|u",wsFpO-qyu m۞^0v7 w;xw|Xj++j/l32{Q)s_aMނ$?gEӮ%,Y[WU:)"s,Sf.J_;es7Tf꾇׭}o߉UO==tّÇxj٪+ݾ=ˢG~[?zmepr<|Ç_~Ç>wO+=[o i'OywAN8N`B>wk`oӅ)l½eS1>( H(Ѕ-Z8g B&_zk-uX,(;ڎ[VvɁmbOؗo XWm`{W3r%Hx5KK>}ucoba%41[Hi)_qʯ5)Vp6WEXy2l"\LM0y-APWJ jv{v$KeCIMaxy$/n,FF/IQQ]A3½^c\!wvܸt!*Z,s^&ɵXlZ-M9n_KjfEM >DOEfQ@AqDz>><::G[Gӕpʲom#/KÇCJ^wh#>{"@?dJNWGgqn,uscjAAk |̬'JSA(3S9k@3Syfuem%-ݴm%p\3l'_.oyrc&8a7:,'w!zܗXs3 NVkNC鴜1:}^V>aj&ExkJ}`}rcS-)+7DV>s@ mTܢ 5@a*ȮXUΊg}LXU8WCTiT Ji^/UJ;ca+i`d7~c}sewTbG2/:ub1>ЈlXkC6 U0SP\zЄ,# 숧8&maT#cfRf43S4VO09p,2-g+k[#W椪Ivz*]+B "Q6G)<\btL%m؆<l@$izrccO奫|~җ!p`'%V-eenj,j|6څGJ*S8pژ PIJkopZZ.44"y> bEi{^! - 3L^W>DȱڽǩqjC0YE>1CG){lTDyR%N0ӵ[ &sbAޣœT4OMδŖjӪI od8vznGLD[n&,jHoz/yX6׵fH0;}E lt{akBRrfY'WÛr!<ϓ(|y_m3:;=S:x]<{sHxa2J~Gj()yOI [S NtKJj/Hv;:T'3)5sg#TPSSeTﱂ?`29\휨d/- ٕbmp쇽!ȨqjdıK,핔RUɞUf,~UsUSY) ㎌xGy!bZK;EY(%k]vioOzCL"Kd6lR~ܯte?;_o28:}R4?9u9'mxDmjo0;d*IwQ.1p Fі5t֗1PYP9u]{{߻rܔ5#qKzQ^9H`vP}ӣ{.E 8[Eѕ)BE={jzzsu\E"$CXПC9w]=ZWpv] C\_`Xtˬ'۱=~.ׄ:qdvO5khad:׋5BAqjcJspOHgDIhUK-:5';9R;ԮT8BYђGl>= K5y&ze!'z : fa: k|9 | 79*(Ҕ3Βl }Ukΰ2g s1ӳխn,d a^~Qv4C^w>#.|0: ZKMi_#I>Ixi+lHrQc!VK#:]&-=xuQ"V x%`..rWWY\J|C˖{|t,Ǣsx>4lz墱\Q(빴W5~9?4ôӻ?2j|nl nL%ĈQV9 Qz`=8WSqp(Vx Ze[BfX ) M3<666Rde(LR,,3#(c5] ].Ғ*kk]]V}{[Ra麯[s3GW5%Y/yOO9H~Q1XP6ɰ1I]^Eʂq"a,Hv? !᳈sISx0]DM5ԁgڼtce7m8bft,8gda(Y%Ak?Wc? q N na5dχ?6}A Xg<6 XAs^xgQa\A|OϷ[82&c$B)ce >b2'YCOE* gk7>޷0%Fa8o"{؊E!%4I>e9ݛ{C+yU`,}/>jGM&Uxx!N#,XZLgDffs/.c +6wq"=gyH ].VpQl;׮o;mΎpFzyO7mo8t qy#;oe?6}SgR"{[/Ɩc2d0H1y+lheQ.F{O^X|z폥}'f t'%)x4^g. ϙ>2f7\v_?}Py<ڥڻ!V +X9w1 ͧ@$L\.rtNW3ìzq:TsQPőn:u"xq+N5s\uf >eooȹT[8x6Kc}s>[,>WlJDjoŹa1rldbCَr_9,V+o m۹g='ub; /nZF@쒙7 yLhc4yIxj Ǝ#zmQ;2G Cr'RdETVD~L-*MEӝ]ewVI4U_t֖l4q178i$]:|Nnq2m\q,sz5J[]^_$kiMf\cK]kAXmz\-DP4svow'r(Ya3XeC l õG1wɐ2Eko )B)_v)>+dpjUBx"3ܱ*ЅrA;cbIxr[G:|E=ys?Ө "msa?z%ZH.< x~Q^t4y/6M^pE7G2hMsԂ3he roJK?_,!_5 ^?#M jRb`fBƆ[UVUT8{ş *8)[yޏ+0VE9:6Z S|˚Х ,jFZ@X&| ~`An=g`Yc?~Ly2OSg;q)4w$[P$z!*d>O. jr]J);łZjHrWYt1̳;kU2!]l峩[s{<ɟ?4."if:;ys0;CK]5;H[!ysQ{Y/ε|3TjC,u6]U@jm[C9XBouu|`ŸX4w ىf&X^?O/,C9ZYȋ |/G{tpOBs;D`O# PǴ1ߋI`**>kO,o*!L däQi-䭿OlrŖׯY)&K;.=Nחn[1v۱U6/ߚk\}6>Ew%q{tp>ЋwN 'H>Id9sbQl<ǮYpi.lqk#ULd:vTӒV|Sڤh0D6!O<ci C4#.:^|.bQ0DN;!tǕaxGd>k Gr bxbkh~2l/=s> Q]ըOF{u <΃"yzG_HJt}&5Z,kzXum!(v-&nn IN>K[ \H[h s@zwmaF[dHϳ Ś$&4B6=ZnMOcGF$%ҍ9|j[ ]QJSۋ Q#=VZ Xo2ajG?oѕWVtd^SO>`Bn.ŸIɦ 7ed f#exLDTcޣ70LYi1LV CE*l;Bs^B1 GUo)J9LX77#*i5 -#:ݹ͞}a}Зuu`BбlˀӤ!NJ>'@a&z bqHܸN7&.dg4T;؈*"EkaUVǷksx '"PSCi7+p\Mf~maX|c7Qb+v9\6Op4GMG-񻱕=nρ~k&a7>Dy춞{VrK3?!Hu|]Ў,f!^Isk+i2j5:cf)~+ǭʈڊ'A=G.O.h5Niq%N{6uYqwSw<| #{k}2+M䪱K_{wv́pT!O~D~H`,dغVN d2ϋ1I*<` aڥ)7$U$*7zEZo_^U:s{`'{5 6P\&^{f[r j/T<¹Z6DteLEvm桻n#{|Wa7Q^=gsQgY0X x6ϲz~-C呛C;ܗ}0JGҥ" `&g:2ti[owI_3 Nd7^<3^$Efwj58a)xti}Qx`qcȄ2  q S`>63Zcطj '{np;"Fsgմ0ׁ?$p ^E[ր"UҰg4 _,쐨-a3D++:Y5g7ܹwol5y-ӜCiN-)XAv-ʻCe:IE>8*((7"kߜÎ=x~^L\Pt"x'ނC5V}LYlpu:uΤz5=)WS &`/ / dW0y,6<>9\s|]P=kО~6cORun'YU'0}wȎqxq?kz {nF*[G~Rtgx0=; anG:m_|vf1m9$4ΏLޏc :p)srl4bP̋I;@"///:ǞCĎ V>EðE, $şӨr̯Pb՞$WkO@@Z3 WHT>fp4 ݔ=@f m%`5_2ےv^7/ I$u'] hZt٥;jql^)?Q0L`!"+?D[!Y^q%ZӒ{*a8N2A,vB6bPHlj7jf0_ֹ_[|k?*iblűǰ-yɫG kxϋ_,[1a  ls"_[GPw`@PdtfeVT,'d$lI}B`f$I .f)+qC&$_e爨 ~N5'RTXLʟdΜI5x8?;_,DGGgccF*acCwfȟ<%+4GUa fʼYd%kwiFt)x .)Ze2*1hõv S$-_m2Xt.f2Eorv! i|J"WɕhџJ\2X4#NEF']!XedGoRpXpWvS0Icp])~хviQK҉5C][*r4~Vcs9]I倘Z,Ta!! M[L qmWe󨒌bQG]/@|0Ea>R++)߶Xna/rYqALk2a9cWc;"oV,qG{CoxVqDS.|{WG31σs|H/{{ ~]>w$#/J'I(^$YBu^ w"5_4~C{pW%`2"?h^C)8H19HqYxK,5Ɇ 8(J/g[-ƥwY|Jbu!*yjw`Qu:$YvLPo7"uO)ƻd d*K6. zhO;9 R([%ȶ<]304(}Պ-Eߵ$|ٽ \|rvK( ف֎PNY!.O>=}o=wsW'>2bn8cdƻX倧Ƞd{A23Ap52uN"Dr2ŋ~@S 19bmT=BzQFFHDj3@ւKǬ}x1 gV;H]Fp(#MJ qY`rblY <@5[ E04gc8H%47 iD|/*PGň ޷0CnQCPYWتϙ7y}NzϜ>ի=1":õŷ+> }p f JNuH+Hkܤkdkqwt #qSSv,= IMQ Q^* F,$] #lnM\hto) %s}(C&!DME[n Ώ0:.? 2%7!E3=pKWYf<8, ,V"~5?ړajT2P1´pcV(FutIMn׽v?~$:VFڿ{wu8>qc] 3q[hqS/m?¿ ߶>p7ٰx^e_DU2-jΕ"`ma"QqRo溉 0G\svNYu6 f5!\ D+'Zse"N,<e|mĵ.hE7 ths`<˶ak³u@K#Onh[V}9fWt2Kx>5ҞVթ7t%G:vt{lXh^cmk4k*ZLwj'gX[ش oAXˡX@G5Hwԓ\eir"Ѫjf[CCX\Ǔ[HAJxc`d```b`Xby.{< cԐzRya[Cp,y@ڽsB/L=d>g8+{奀Cd,Y*HCJWYzh"j(@D" & *  \ n x R>>"x6Zrp86^Pd:` J !"!" "##$$*$%%&6&P&x'V't'((v()))**j**++,z-T-..P././0<012.23l4.4z4556677f78R889^9:N:;p;>?h@@ABBBCpDDTDEE|EFGG^GHJHIIxIJlJKKLRLMMxMNOOP:PQ2QQR"RJRRRS&SpSSSST(TZTUUhUV:VfVWtWWWXXXYbYRxTnPN BBⱳH% D HKDZcUD,XBW9wHѽxf̙GܒoR<#rؓ+57\h'{؃Mrlx_u9i6]4zH.IQb Ƴ\ʡP|Lr)2DJr,GX#MH_¢+HBv&PPB +b+RJ+rʫJ*jZj:"UO} DP#5T3͵VZkv렣N:뢫n롧^z[gD-̶+m|ʹw?,\'=*okmqY[\9\ueW3 \@_-uM ' kap#0hkƛhIl5*t}vϽ/rkolp3E 3M t7U  [ ƅ0u&L$f`s0c,-i f*Qݳtooniprobe-2.2.0/ooni/ui/web/client/fonts/fontawesome-webfont.674f50d287a8c48dc19ba404d20fe713.eot0000644000175000017500000050355613071151301027421 0ustar irlirlnLPYxϐFontAwesomeRegular$Version 4.7.0 2016FontAwesome PFFTMkGGDEFp OS/22z@X`cmap : gasphglyfMLhead-6hhea $hmtxEy loca\ maxp,8 name㗋ghpostkuːxY_< 3232  '@i33spyrs@  pU]yn2@ zZ@55 zZZ@,_@s@ @(@@@- MM- MM@@@ -`b $ 648""""""@ D@ ,,@  m)@@   ' D9>dY* '    T     @ f %RE    $!k(D'  % %  0%/&p@0 !"""`>N^n~.>N^n~>N^n~ !"""`!@P`p 0@P`p!@P`p\XSB1ݬ        ,,,,,,,,,,,,,tLT$l x T ( dl,4dpH$d,t( !"0# $,$&D'()T**,,-.@./`/00123d4445 556 6\67H78 8`89L9:h:;<>?h?@H@A0ABXBCdCDLDEFG0GHIJ8KLMdN,NNOP`PQ4QR RlS,ST`U0WXZ[@[\<\]^(^_`pb,bddePefg`giLijDk klm@n,oLpqrsxttuD{`||}}~Hl@lH T H`@$\XDTXDP,8d\Hx tXpdxt@ Œ\ ļŸƔ0dʨˀ͔xϰЌ,ш҈ ӌ8,՜`lHش`Tڸ۔@lބ߬lp 4X$l( ` d      ,,8(Xx|T@| !"x##l$$'h(*L,T.L1t1230345t6T7$8 9H::;<<?X@ABCDEHFHGpHHIxJ JKLMN@P@QRSDT ULV`VWXX4XZZ[d[\|]^`aHabcXdetfhghi\jxnp@svwxyz{h|}}\lt4t88LT|| 4xLX(  @lt$xLL HĠT(  ʈˠϔldPՄxpڬTT ވL <H$l4 Pl ,xp,xt d 44,hP 4   4<,,408$8T |!h"$L%0&H'()*0*+,.$.012@234t5$69 ::; ;<(<=4?@ACDFH`HILLLLLLLLLLLLLLLLp7!!!@pp p]!2#!"&463!&54>3!2+@&&&&@+$(($F#+&4&&4&x+#+".4>32".4>32467632DhgZghDDhg-iWDhgZghDDhg-iW&@ (8 2N++NdN+';2N++NdN+'3 8!  #"'#"$&6$ rL46$܏ooo|W%r4L&V|oooܳ%=M%+".'&%&'3!26<.#!";2>767>7#!"&5463!2 %3@m00m@3%    @ :"7..7":6]^B@B^^BB^ $΄+0110+$ (   t1%%1+`B^^B@B^^"'.54632>324 #LoP$$Po>Z$_dC+I@$$@I+"#"'%#"&547&547%62V??V8<8y   b% I))9I  + % %#"'%#"&547&547%62q2ZZ2IzyV)??V8<8)>~>[   2 b% I))9I %#!"&54>3 72 &6 }XX}.GuLlLuG.>mmUmEEm> /?O_o54&+";2654&+";2654&+";264&#!"3!2654&+";2654&+";264&#!"3!2654&+";2654&+";2654&+";267#!"&5463!2&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&^BB^^B@B^@&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&B^^B@B^^/?#!"&5463!2#!"&5463!2#!"&5463!2#!"&5463!2L44LL44LL44LL44LL44LL44LL44LL44L4LL44LL4LL44LL4LL44LL4LL44LL /?O_o#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!28((88(@(88((88(@(88((88(@(88((88(@(88((88(@(88((88(@(88((88(@(88((88(@(88((88(@(8 (88((88(88((88(88((88(88((88(88((88(88((88(88((88(88((88(88((88/?O_#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!28((88(@(88((88(@(88(@(88((88((88(@(88(@(88((88(@(88((8 (88((88(88((88(88((88(88((88(88((88(88((88y"/&4?62 62,PP&PP,jPn#$"' "/&47 &4?62 62 PP&P&&P&P&P&&P&P#+D++"&=#"&=46;546;232  #"'#"$&6$   @    @  rK56$܏ooo|W@    @   rjK&V|oooܳ0#!"&=463!2  #"'#"$&6$   @ rK56$܏ooo|W@  @ rjK&V|oooܳ)5 $&54762>54&'.7>"&5462zz+i *bkQнQkb* j*LhLLhLzzBm +*i JyhQQhyJ i*+ mJ4LL44LL/?O%+"&=46;2%+"&546;2%+"&546;2+"&546;2+"&546;2`r@@r@@n4&"2#"/+"&/&'#"'&'&547>7&/.=46?67&'&547>3267676;27632Ԗ #H  ,/ 1)  ~'H  (C  ,/ 1)  $H ԖԖm 6%2X  % l2 k r6 [21 ..9Q $ k2 k w3 [20/;Cg+"&546;2+"&546;2+"&546;2!3!2>!'&'!+#!"&5#"&=463!7>3!2!2@@@@@@@`0 o`^BB^`5FN(@(NF5 @@@L%%Ju  @LSyuS@%44%f5#!!!"&5465 7#"' '&/&6762546;2&&??>  LL >  X   &&&AJ A J Wh##!"&5463!2!&'&!"&5!(8((88((`x c`(8`((88(@(8(D 9 8( ,#!"&=46;46;2.  6 $$ @(r^aa@@`(_^aa2NC5.+";26#!26'.#!"3!"547>3!";26/.#!2W  .@   @.$S   S$@   9I   I6>  >%=$4&"2$4&"2#!"&5463!2?!2"'&763!463!2!2&4&&4&&4&&48(@(88(ч::(8@6@*&&*4&&4&&4&&4& (88(@(8888)@)'&&@$0"'&76;46;232  >& $$ `  (r^aa` @`2(^aa$0++"&5#"&54762  >& $$ ^ ?  @(r^aa` ? (^aa #!.'!!!%#!"&547>3!2<<<_@`&& 5@5 @  &&>=(""='#"'&5476.  6 $$   ! (r^aaJ %%(_^aa3#!"'&?&#"3267672#"$&6$3276&@*hQQhwI mʬzzk)'@&('QнQh_   z8zoe$G!"$'"&5463!23267676;2#!"&4?&#"+"&=!2762@hk4&&&GaF * &@&ɆF * Ak4&nf&&&4BHrd@&&4rd  Moe&/?O_o+"&=46;25+"&=46;25+"&=46;2#!"&=463!25#!"&=463!25#!"&=463!24&#!"3!26#!"&5463!2 @  @  @  @  @  @  @    @    @    @   ^B@B^^BB^`@  @ @  @ @  @ @  @ @  @ @  @ 3@  MB^^B@B^^!54&"#!"&546;54 32@Ԗ@8(@(88( p (8jj(88(@(88@7+"&5&5462#".#"#"&5476763232>32@@ @ @KjKך=}\I&:k~&26]S &H&  &H5KKut,4, & x:;*4*&K#+"&546;227654$ >3546;2+"&="&/&546$ <X@@Gv"DװD"vG@@X<4L41!Sk @ G< _bb_ 4.54632&4&&M4&UF &""""& F&M&&M&%/B/%G-Ik"'!"&5463!62#"&54>4.54632#"&54767>4&'&'&54632#"&547>7676'&'.'&54632&4&&M4&UF &""""& FU &'8JSSJ8'&  &'.${{$.'& &M&&M&%/B/%7;&'66'&;4[&$ [2[ $&[  #/37#5#5!#5!!!!!!!#5!#5!5##!35!!! #'+/37;?3#3#3#3#3#3#3#3#3#3#3#3#3#3#3#3#3???? ^>>~??????~??~??^??^^? ^??4&"2#"'.5463!2KjKKjv%'45%5&5L45&% jKKjK@5%%%%54L5&6'k54&"2#"'.5463!2#"&'654'.#32KjKKjv%'45%5&5L45&%%'4$.%%5&55&% jKKjK@5%%%%54L5&6'45%%%54'&55&6' yTdt#!"&'&74676&7>7>76&7>7>76&7>7>76&7>7>63!2#!"3!2676'3!26?6&#!"3!26?6&#!"g(sAeM ,*$/ !'& JP$G] x6,& `   h `   "9Hv@WkNC<.  &k& ( "$p" . #u&#  %!' pJvwEF#  @   @  2#"' #"'.546763!''!0#GG$/!''! 8""8  X! 8" "8  <)!!#"&=!4&"27+#!"&=#"&546;463!232(8&4&&4 8(@(8 qO@8((`(@Oq8(&4&&4&@` (88( Oq (8(`(q!)2"&42#!"&546;7>3!2  Ijjjj3e55e3gr`Ijjjj1GG1rP2327&7>7;"&#"4?2>54.'%3"&#"#ժ!9&WB03& K5!)V?@L' >R>e;&L::%P>vO 'h N_":- &+# : ' +a%3 4'.#"32>54.#"7>7><5'./6$3232#"&#"+JBx)EB_I:I*CRzb3:dtB2P$ $5.3bZF|\8!-T>5Fu\,,jn OrB,7676'5.'732>7"#"&#&#"OA zj=N!}:0e%  y + tD3~U#B4 # g  '2 %/!: T bRU,7}%2"/&6;#"&?62+326323!2>?23&'.'.#"&"$#"#&=>764=464.'&#"&'!~:~!PP!~:~!P6 ,,$$% *'  c2N  ($"LA23Yl !x!*%%%% pP,T NE Q7^oH!+( 3  *Ueeu  wga32632$?23&'.5&'&#"&"5$#"#&=>7>4&54&54>.'&#"&'2#".465!#".'&47>32!4&4>Q6 ,,Faw!*' =~Pl*  ($"LA23Yl  )!* <7@@7<  <7@@7<  pP,T MF Q747ƢHoH!+( 3  tJHQ6  wh',686,'$##$',686,'$##$/?%#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2&&&&&&&&&&&&&&&&&&&&f&&&&f&&&&f&&&&/?%#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2&&&&&&&&&&&&&&&&&&&&f&&&&f&&&&f&&&&/?%#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2&&&&&&&&&&&&&&&&&&&&f&&&&f&&&&f&&&&/?%#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2&&&&&&&&&&&&&&&&&&&&f&&&&f&&&&f&&&&/?O_o%+"&=46;2+"&=46;2+"&=46;2#!"&=463!2+"&=46;2#!"&=463!2#!"&=463!2#!"&=463!2        @     @   @   @   s  s    s    s  s  /?O#"'&47632#!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2     @     @   @  @          s  s  s  /?O#"&54632 #!"&=463!2#!"&=463!2#!"&=463!2#!"&=463!2`      @     @   @  @     @   s  s  s  #"'#!"&5463!2632' mw@www '*wwww."&462!5 !"3!2654&#!"&5463!2pppp@  @ ^BB^^B@B^ppp@@  @    @B^^BB^^k%!7'34#"3276' !7632k[[v  6`%`$65&%[[k `5%&&'4&"2"&'&54 Ԗ!?H?!,,ԖԖmF!&&!Fm,%" $$ ^aa`@^aa-4'.'&"26% 547>7>2"KjKXQqYn 243nYqQ$!+!77!+!$5KK,ԑ ]""]ً 9>H7'3&7#!"&5463!2'&#!"3!26=4?6 !762xtt`  ^Qwww@?6 1B^^B@B^ @(` `\\\P`tt8`  ^Ͼww@w 1^BB^^B~ @` \ \P+Z#!"&5463!12+"3!26=47676#"'&=# #"'.54>;547632www M8 pB^^B@B^ 'sw- 9*##;Noj' #ww@w "^BB^^B  *  "g`81T`PSA:'*4/D#!"&5463!2#"'&#!"3!26=4?632"'&4?62 62www@?6 1 B^^B@B^ @ BRnBBn^ww@w 1 ^BB^^B @ BnnBC"&=!32"'&46;!"'&4762!#"&4762+!54624&&4&&44&&4&&44&&44&&4&&44&&6'&'+"&546;267: &&&& s @  Z&&&&Z +6'&''&'+"&546;267667: : &&&&  s @  :  Z&&&&Z  : z6'&''&47667S: : s @  : 4 : | &546h!!0a   $#!"&5463!2#!"&5463!2&&&&&&&&@&&&&&&&&#!"&5463!2&&&&@&&&&&54646&5- : s  :  :4:  +&5464646;2+"&5&5-  &&&& : s  :  : &&&& :  &54646;2+"&5- &&&& s  : &&&&  62#!"&!"&5463!24 @ &&&&-:&&&& "'&476244444Zf "/&47 &4?62S44444#/54&#!4&+"!"3!;265!26 $$ &&&&&&&&@^aa@&&&&&&&&+^aa54&#!"3!26 $$ &&&&@^aa@&&&&+^aa+74/7654/&#"'&#"32?32?6 $$ }ZZZZ^aaZZZZ^aa#4/&"'&"327> $$ [4h4[j^aa"ZiZJ^aa:F%54&+";264.#"32767632;265467>$ $$ oW  5!"40K(0?i+! ":^aaXRd D4!&.uC$=1/J=^aa.:%54&+4&#!";#"3!2654&+";26 $$ ```^aa^aa/_#"&=46;.'+"&=32+546;2>++"&=.'#"&=46;>7546;232m&&m l&&l m&&m l&&ls&%&&%&&%&&%&&&l m&&m l&&l m&&m ,&%&&%&&%&&%&#/;"/"/&4?'&4?627626.  6 $$ I     ͒(r^aaɒ    (_^aa , "'&4?6262.  6 $$ Z4f44fz(r^aaZ&4ff4(_^aa "4'32>&#" $&6$  WoɒV󇥔 zzz8YW˼[?zz:zz@5K #!#"'&547632!2A4@%&&K%54'u%%&54&K&&4A5K$l$L%%%54'&&J&j&K5K #"/&47!"&=463!&4?632%u'43'K&&%@4AA4&&K&45&%@6%u%%K&j&%K55K&$l$K&&u#5K@!#"'+"&5"/&547632K%K&56$K55K$l$K&&#76%%53'K&&%@4AA4&&K&45&%%u'5K"#"'&54?63246;2632K%u'45%u&&J'45%&L44L&%54'K%5%t%%$65&K%%4LL4@&%%K',"&5#"#"'.'547!34624&bqb>#  5&44& 6Uue7D#  "dž&/#!"&546262"/"/&47'&463!2 &@&&4L  r&4  r L&& 4&&&L rI@& r  L4&& s/"/"/&47'&463!2#!"&546262&4  r L&& &@&&4L  r@@& r  L4&& 4&&&L r##!+"&5!"&=463!46;2!28(`8((8`(88(8((8(8 (8`(88(8((8(88(`8#!"&=463!28(@(88((8 (88((88z5'%+"&5&/&67-.?>46;2%6.@g.L44L.g@. .@g. L44L .g@.g.n.4LL43.n.gg.n.34LL4͙.n.g -  $54&+";264'&+";26/a^    ^aa fm  @ J%55!;263'&#"$4&#"32+#!"&5#"&5463!"&46327632#!2$$8~+(888(+}(`8((8`]]k==k]]8,8e8P88P8`(88(@MMN4&#"327>76$32#"'.#"#"&'.54>54&'&54>7>7>32&z&^&./+>+)>J> Wm7' '"''? &4&c&^|h_bml/J@L@#* #M6:D 35sҟw$ '% ' \t3#!"&=463!2'.54>54''  @ 1O``O1CZZ71O``O1BZZ7@  @ N]SHH[3`)TtbN]SHH[3^)Tt!1&' 547 $4&#"2654632 '&476 ==嘅}(zVl''ٌ@uhyyhu9(}VzD##D# =CU%7.5474&#"2654632%#"'&547.'&476!27632#76$7&'7+NWb=嘧}(zVj\i1  z,X Y[6 $!%'FuJiys?_9ɍ?kyhun(}Vz YF  KA؉La  02-F"@Qsp@_!3%54&+";264'&+";26#!"&'&7>2    #%;"";%#`,@L 5 `   `  L`4LH` `   a 5 L@ #37;?Os!!!!%!!!!%!!!!!!!!%!!4&+";26!!%!!!!74&+";26%#!"&546;546;2!546;232 `@ `@ @@ @ @  @  @  @  @ L44LL4^B@B^^B@B^4L  @@@@    @@   @@    M4LL44L`B^^B``B^^B`L7q.+"&=46;2#"&=".'673!54632#"&=!"+"&=46;2>767>3!546327>7&54>$32dFK1A  0) L.٫C58.H(Ye#3C $=463!22>=463!2#!"&5463!2#!"&5463!2H&&/7#"&463!2!2LhLLhLhLLh! &&&&& &4hLLhLLhLLhL%z< 0&4&& )17&4& &&#!"&5463!2!2\@\\@\\@\\\\ W*#!"&547>3!2!"4&5463!2!2W+B"5P+B@"5^=\@\ \H#t3G#3G:_Ht\\ @+32"'&46;#"&4762&&4&&44&&44&&4@"&=!"'&4762!54624&&44&&44&&4&& !!!3!!0@67&#".'&'#"'#"'32>54'6#!"&5463!28ADAE=\W{O[/5dI kDtpČe1?*w@www (M& B{Wta28r=Ku?RZ^GwT -@www$2+37#546375&#"#3!"&5463ww/Dz?swww@wS88 ww#'.>4&#"26546326"&462!5!&  !5!!=!!%#!"&5463!2B^8(Ԗ>@|K55KK55K^B(8ԖԖ€>v5KK55KKHG4&"&#"2654'32#".'#"'#"&54$327.54632@pp)*Pppp)*Pb '"+`N*(a;2̓c`." b PTY9ppP*)pppP*)b ".`(*Nͣ2ͣ`+"' b MRZB4&"24&"264&"26#"/+"&/&'#"'&547>7&/.=46?67&'&547>3267676;27632#"&'"'#"'&547&'&=4767&547>32626?2#"&'"'#"'&547&'&=4767&547>32626?2ԖLhLKjKLhLKjK "8w s%(  ")v  >  "8x s"+  ")v  <  3zLLz3 3>8L3)x3 3zLLz3 3>8L3)x3 ԖԖ4LL45KK54LL45KK #)0C wZ l/ Y N,& #)0C vZl. Y L0"qG^^Gqq$ ]G)FqqG^^Gqq$ ]G)Fq%O#"'#"&'&4>7>7.546$ '&'&'# '32$7>54'VZ|$2 $ |E~E<| $ 2$|ZV:(t}X(  &%(Hw쉉xH(%& (XZT\MKG<m$4&"24&#!4654&#+32;254'>4'654&'>7+"&'&#!"&5463!6767>763232&4&&4N2`@`%)7&,$)' %/0Ӄy#5 +1 &<$]`{t5KK5$e:1&+'3TF0h4&&4&3M:;b^v+D2 5#$IIJ 2E=\$YJ!$MCeM-+(K55KK5y*%Au]c>q4&"24&'>54'654&'654&+"+322654&5!267+#"'.'&'&'!"&5463!27>;2&4&&4+ 5#bW0/% ')$,&7)%`@``2Nh0##T3'"( 0;e$5KK5 tip<& 1&4&&4&#\=E2&%IURI$#5 2D+v^b;:M2gc]vDEA%!bSV2MK55K(,,MeCM$!I@#"&547&547%6@?V8 b% I)94.""'." 67"'.54632>32+C`\hxeH>Hexh\`C+ED4 #LoP$$Po>Q|I.3MCCM3.I|Q/Z$_dC+I@$$@I+ (@%#!"&5463!2#!"3!:"&5!"&5463!462 ww@  B^^B  4&@&&&4 `  ww   ^B@B^ 24& && &%573#7.";2634&#"35#347>32#!"&5463!2FtIG9;HIxI<,tԩw@wwwz4DD43EEueB&#1s@www .4&"26#!+"'!"&5463"&463!2#2&S3 Ll&c4LL44LL4c@& &{LhLLhL'?#!"&5463!2#!"3!26546;2"/"/&47'&463!2www@B^^B@B^@&4t  r &&`ww@w@^BB^^B@R&t r  4&&@"&5!"&5463!462 #!"&54&>3!2654&#!*.54&>3!24&@&&&4 sw  @B^^B  @w4& && &3@w   ^BB^    I&5!%5!>732#!"&=4632654&'&'.=463!5463!2!2JJSq*5&=CKuuKC=&5*q͍S8( ^B@B^ (8`N`Ѣ΀GtO6)"M36J[E@@E[J63M")6OtG(8`B^^B`8 ',26'&'&76'6'&6&'&6'&4#"7&64 654'.'&'.63226767.547&7662>76#!"&5463!2  /[  . =XĚ4,+"  * +, 1JH'5G:: #L5+@=&#w@wwwP.1GE,ԧ4 4+ ; /5cFO:>JJ>:O9W5$@(b 4 @www'?$4&"2$4&"2#!"&5463!3!267!2#!#!"&5!"'&762&4&&4&&4&&48(@(88(c==c(8*&&*6&4&&4&&4&&4& (88(@(88HH88`(@&&('@1c4&'.54654'&#"#"&#"32632327>7#"&#"#"&54654&54>76763232632   N<;+gC8A`1a99gw|98aIe$IVNz<:LQJ  ,-[% 061I()W,$-7,oIX()oζA;=N0 eTZ  (O#".'&'&'&'.54767>3232>32 e^\4?P bMO0# 382W# & 9C9 Lĉ" 82<*9FF(W283 #0OMb P?4\^e FF9*<28 "L 9C9 & #!"3!2654&#!"&5463!2`B^^B@B^^ީwww@w^BB^^B@B^ww@w#!72#"' #"'.546763YY !''!0#GG$/!''!&UUjZ 8""8  X! 8" "8 GW4.'.#"#".'.'.54>54.'.#"32676#!"&5463!2 1.- +$)  c8 )1)  05.D <90)$9w@wwwW  )1) 7c  )$+ -.1 9$)0< D.59@www,T1# '327.'327.=.547&54632676TC_LҬ#+i!+*pDNBN,y[`m`%i]hbEm}a u&,SXK &$f9s? _#"!#!#!54632V<%'ЭHH (ںT\dksz &54654'>54'6'&&"."&'./"?'&546'&6'&6'&6'&6'&74"727&6/a49[aA)O%-j'&]]5r-%O)@a[9' 0BA; + >HCU  #  $  2  AC: oM=a-6OUwW[q ( - q[WwUP6$C +) (  8&/ &eMa  & $      %+"&54&"32#!"&5463!54 &@&Ԗ`(88(@(88(r&&jj8((88(@(8#'+2#!"&5463"!54&#265!375!35!B^^BB^^B   `^B@B^^BB^  ` !="&462+"&'&'.=476;+"&'&$'.=476; pppp$!$qr % }#ߺppp!E$ rqܢ# % ֻ!)?"&462"&4624&#!"3!26!.#!"#!"&547>3!2/B//B//B//B @   2^B@B^\77\aB//B//B//B/@    ~B^^B@2^5BB52.42##%&'.67#"&=463! 25KK5L4_u:B&1/&.- zB^^B4LvyKjK4L[!^k'!A3;):2*547&5462;U gIv0ZZ0L4@Ԗ@4L2RX='8P8'=XR U;Ig0,3lb??bl34LjjL4*\(88(\}I/#"/'&/'&?'&'&?'&76?'&7676767676` (5 )0 ) *) 0) 5(  (5 )0 )))) 0) 5( *) 0) 5(  )5 )0 )**) 0) 5)  )5 )0 )*5h$4&"24&#!4>54&#"+323254'>4'654&'!267+#"'&#!"&5463!2>767>32!2&4&&4N2$YGB (HGEG HQ#5K4Li!<;5KK5 A# ("/?&}vh4&&4&3M95S+C=,@QQ9@@IJ 2E=L5i>9eME;K55K J7R>@#zD<5=q%3#".'&'&'&'.#"!"3!32>$4&"2#!"#"&?&547&'#"&5463!&546323!2` #A<(H(GY$2NL4K5#aWTƾh&4&&4K5;=!ihv}&?/"( #A  5K2*! Q@.'!&=C+S59M34L=E2 JI UR@@&4&&4&5K;ELf9>igR7J K5h4&"24#"."&#"4&#"".#"!54>7#!"&54.'&'.5463246326326&4&&4IJ 2E=L43M95S+C=,@QQ9@@E;K55K J7R>@#zD9eMZ4&&4&<#5K4LN2$YGB (HGEG HV;5KK5 A# ("/?&}vhi!<4<p4.=!32>332653272673264&"2/#"'#"&5#"&54>767>5463!2@@2*! Q@.'!&=C+S59M34L.9E2 JI UR&4&&4&Lf6Aig6Jy#@>R7J K55K;E@TƾH #A<(H(GY$2NL4K#5#a=4&&4&D=ihv}&?/"( #A  5KK5;+54&#!764/&"2?64/!26 $$ & [6[[j6[&^aa@&4[[6[[6&+^aa+4/&"!"3!277$ $$ [6[ &&[6j[ ^aae6[j[6&&4[j[^aa+4''&"2?;2652?$ $$ [6[[6&&4[^aaf6j[[6[ &&[^aa+4/&"4&+"'&"2? $$ [6&&4[j[6[j^aad6[&& [6[[j^aa   $2>767676&67>?&'4&'.'.'."#&6'&6&'3.'.&'&'&&'&6'&>567>#7>7636''&'&&'.'"6&'6'..'/"&'&76.'7>767&.'"76.7"7"#76'&'.'2#22676767765'4.6326&'.'&'"'>7>&&'.54>'>7>67&'&#674&7767>&/45'.67>76'27".#6'>776'>7647>?6#76'6&'676'&67.'&'6.'.#&'.&6'&.5/a^D&"      4   $!   #          .0"Y +  !       $     "  +       Α      ^aa                        P   ' -( # * $  "  !     * !   (         $      2 ~/$4&"2 #"/&547#"32>32&4&&4V%54'j&&'/덹:,{ &4&&4&V%%l$65&b'Cr! " k[G +;%!5!!5!!5!#!"&5463!2#!"&5463!2#!"&5463!2&&&&&&&&&&&&@&&&&&&&&&&&&{#"'&5&763!2{' **)*)'/!5!#!"&5!3!26=#!5!463!5463!2!2^B@B^&@&`^B`8(@(8`B^ B^^B&&B^(88(^G 76#!"'&? #!"&5476 #"'&5463!2 '&763!2#"'c)'&@**@&('c (&*cc*&' *@&('c'(&*cc*&('c'(&@*19AS[#"&532327#!"&54>322>32"&462 &6 +&'654'32>32"&462QgRp|Kx;CByy 6Fe= BPPB =eF6 ԖV>!pRgQBC;xK|Ԗ{QNa*+%xx5eud_C(+5++5+(C_due2ԖԖ>NQ{u%+*jԖԖp!Ci4/&#"#".'32?64/&#"327.546326#"/&547'#"/&4?632632(* 8( !)(A(')* 8( !USxySSXXVzxTTUSxySSXXVzxT@(  (8 *(('( (8 SSUSx{VXXTTSSUSx{VXXT#!"5467&5432632t,Ԟ;F`j)6,>jK?s !%#!"&7#"&463!2+!'5#8EjjE8@&&&&@XYY&4&&4&qDS%q%N\jx2"&4#"'#"'&7>76326?'&'#"'.'&676326326&'&#"32>'&#"3254?''74&&4&l NnbSVZ bRSD zz DSRb)+USbn \.2Q\dJ'.2Q\dJ.Q2.'Jd\Q2.'Jd`!O` ` &4&&4r$#@B10M5TNT{L5T II T5L;l'OT4M01B@#$*3;$*3;;3*$;3*$: $/ @@Qq`@"%3<2#!"&5!"&5467>3!263! !!#!!46!#!(88(@(8(8(`((8D<++<8(`(8(`8(@(88( 8((`(8((<`(8(``(8||?%#"'&54632#"'&#"32654'&#"#"'&54632|udqܟs] = OfjL?R@T?"& > f?rRX=Edudsq = _MjiL?T@R?E& f > =XRr?b!1E)!34&'.##!"&5#3463!24&+";26#!"&5463!2 08((88(@(8  8((88((`(1  `(88((88(@  `(88(@(8(`#!"&5463!2w@www`@www/%#!"&=463!2#!"&=463!2#!"&=463!2&&&&&&&&&&&&&&&&&&&&&&&&@'7G$"&462"&462#!"&=463!2"&462#!"&=463!2#!"&=463!2ppppppp @   ppp @    @   Рpppppp  ppp    <L\l|#"'732654'>75"##5!!&54>54&#"'>3235#!"&=463!2!5346=#'73#!"&=463!2#!"&=463!2}mQjB919+i1$AjM_3</BB/.#U_:IdDRE @  k*Gj @   @   TP\BX-@8 C)5Xs J@$3T4+,:;39SG2S.7<  vcc)) %Ll}    5e2#!"&=463%&'&5476!2/&'&#"!#"/&'&=4'&?5732767654'&@02uBo  T25XzrDCBBEh:%)0%HPIP{rQ9f#-+>;I@KM-/Q"@@@#-bZ $&P{<8[;:XICC>.'5oe80#.0(  l0&%,"J&9%$<=DTIcs&/6323276727#"327676767654./&'&'737#"'&'&'&54'&54&#!"3!260% <4"VRt8<@< -#=XYhW8+0$"+dTLx-'I&JKkmuw<=V@!X@ v '|N;!/!$8:IObV;C#V  &   ( mL.A:9 !./KLwPM$@@ /?O_o%54&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!2654&#!"3!26#!"&5463!2@@@@@@@@@^BB^^B@B^NB^^B@B^^#+3 '$"/&4762%/?/?/?/?%k*66bbbb|<<<bbbbbbbb%k66Ƒbbb<<<<^bbbbbb@M$4&"2!#"4&"2&#"&5!"&5#".54634&>?>;5463!2LhLLh LhLLhL! 'ԖԖ@' !&  ?&&LhLLhL hLLhL jjjj &@6/" &&J#"'676732>54.#"7>76'&54632#"&7>54&#"&54$ ok; -j=yhwi[+PM 3ѩk=J%62>VcaaQ^ ]G"'9r~:`}Ch 0=Z٤W=#uY2BrUI1^Fk[|aL2#!67673254.#"67676'&54632#"&7>54&#"#"&5463ww+U ,iXբW<"uW1AqSH1bdww'74'!3#"&46327&#"326%35#5##33#!"&5463!20U6cc\=hlࠥYmmnnnnw@wwww&46#Ȏ;edwnnnnn@www ]#/#"$&6$3 &#"32>7!5!%##5#5353Еttu{zz{SZC` cot*tq||.EXN#?? ,<!5##673#$".4>2"&5!#2!46#!"&5463!2rM* *M~~M**M~~M*jjj&&&&`P%挐|NN||NN|*jjjj@&&&&@ "'&463!2@4@&Z4@4&@ #!"&4762&&4Z4&&4@@ "'&4762&4@4&@&4&@ "&5462@@4&&44@&&@ 3!!%!!26#!"&5463!2`m` ^BB^^B@B^  `@B^^BB^^@ "'&463!2#!"&4762@4@&&&&44@4&Z4&&4@ "'&463!2@4@&4@4&@ #!"&4762&&4Z4&&4@:#!"&5;2>76%6+".'&$'.5463!2^B@B^,9j9Gv33vG9H9+bI\ A+=66=+A [">nSMA_:B^^B1&c*/11/*{'VO3@/$$/@*?Nh^l+!+"&5462!4&#"!/!#>32]_gTRdgdQV?U I*Gg?!2IbbIJaaiwE3300 084#"$'&6?6332>4.#"#!"&54766$32z䜬m IwhQQhbF*@&('kz   _hQнQGB'(&*eoz(q!#"'&547"'#"'&54>7632&4762.547>32#".'632%k'45%&+~(  (h  &  \(  (  &  ~+54'k%5%l%%l$65+~  &  (  (\  &  h(  (~+%'!)19K4&"24&"26.676&$4&"24&"24&"2#!"'&46$ KjKKj KjKKje2.e<^P,bKjKKjKjKKj KjKKj##LlLKjKKjK jKKjK~-M7>7&54$ LhяW.{+9E=cQdFK1A  0) pJ2`[Q?l&٫C58.H(Y':d 6?32$64&$ #"'#"&'&4>7>7.546'&'&'# '32$7>54'Yj`a#",5NK ~EVZ|$2 $ |: $ 2$|ZV:(t}hfR88T h̲X(  &%(Hw(%& (XZT\MKG{x|!#"'.7#"'&7>3!2%632u  j H{(e 9 1bU#!"&546;5!32#!"&546;5!32#!"&546;5463!5#"&5463!2+!2328((88(``(88((88(``(88((88(`L4`(88(@(88(`4L`(8 (88(@(88((88(@(88((88(@(84L8(@(88((8L48OY"&546226562#"'.#"#"'.'."#"'.'.#"#"&5476$32&"5462И&4&NdN!>! 1X:Dx+  +ww+  +xD:X1 -U !*,*&4&hh&&2NN2D &  ..J< $$ 767#"&'"&547&547&547.'&54>2l4  2cKEooED ) ) Dg-;</- ?.P^P.? -/<;-gYY  .2 L4H|O--O|HeO , , Oeq1Ls26%%4.2,44,2.4%%62sL1qcqAAq4#!#"'&547632!2#"&=!"&=463!54632  @  `     ` ?`   @  @  !    54&+4&+"#"276#!"5467&5432632   `  _ v,Ԝ;G_j)``    _ ԟ7 ,>jL>54'&";;265326#!"5467&5432632    v,Ԝ;G_j) `   `7 ,>jL>X`$"&462#!"&54>72654&'547 7"2654'54622654'54&'46.' &6 &4&&4&yy %:hD:FppG9Fj 8P8 LhL 8P8 E; Dh:% >4&&4&}yyD~s[4Dd=PppP=d>hh>@jY*(88(*Y4LL4Y*(88(*YDw" A4*[s~>M4&"27 $=.54632>32#"' 65#"&4632632 65.5462&4&&4G9& <#5KK5!!5KK5#< &ܤ9Gpp&4&&4&@>buោؐ&$KjKnjjKjK$&jjb>Ppp %!5!#"&5463!!35463!2+32@\\8(@(8\@@\\@\(88(\@ 34#"&54"3#!"&5!"&5>547&5462;U gI@L4@Ԗ@4L2RX='8P8'=XR U;Ig04LjjL4*\(88(\@"4&+32!#!"&+#!"&5463!2pP@@Pjj@@\@\&0pj \\&-B+"&5.5462265462265462+"&5#"&5463!2G9L44L9G&4&&4&&4&&4&&4&L44L &=d4LL4 d=&&`&&&&`&&&&4LL4  &#3CS#!"&5463!2!&'&!"&5!463!2#!"&52#!"&=4632#!"&=463(8((88((`x c`(8@@@`((88(@(8(D 9 8(`@@@@@/?O_o-=%+"&=46;25+"&=46;2+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2%+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2%+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2+"&=46;2!!!5463!2#!"&5463!2 @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @ &&&&@  @ @  @  @  @ @  @ @  @ @  @ @  @ @  @ @  @ @  @ @  @ @  @ @  @ @  @ @  @ @  @ @  @  @  @   `&&&& /?O_o%+"&=46;25+"&=46;2+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2%+"&=46;2+"&=46;2%+"&=46;2+"&=46;2!!#!"&=!!5463!24&+"#54&+";26=3;26%#!"&5463!463!2!2 @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @  @ 8(@(8 @  @  @  @  @ &&&@8((8@&@  @ @  @  @  @ @  @ @  @ @  @ @  @ @  @ @  @  @  @  (88(  @  ``   `` -&&& (88(&@<c$4&"2!#4&"254&+54&+"#";;26=326+"&5!"&5#"&46346?>;463!2KjKKjKjKKj&ԖԖ&&@&&KjKKjK jKKjK .&jjjj&4&@@&&#'1?I54&+54&+"#";;26=326!5!#"&5463!!35463!2+32 \\8(@(8\ \\@\(88(\: #32+53##'53535'575#5#5733#5;2+3@E&&`@@` `@@`&&E%@`@ @ @      @ 0 @!3!57#"&5'7!7!K5@   @5K@@@ #3%4&+"!4&+";265!;26#!"&5463!2&&&&&&&&w@www&&@&&&&@&&@www#354&#!4&+"!"3!;265!26#!"&5463!2&&&&&@&&@&w@www@&@&&&&&&@&:@www-M3)$"'&4762 "'&4762 s 2  .   2 w 2  .   2 w 2    2  ww  2    2  ww M3)"/&47 &4?62"/&47 &4?62S .  2 w 2   .  2 w 2  M . 2    2 .  . 2    2 .M3S)$"' "/&4762"' "/&47623 2  ww  2    2  ww  2    2 w 2   .v 2 w 2   .M3s)"'&4?62 62"'&4?62 623 .  . 2    2 .  . 2    2 .   2 w 2v .   2 w 2-Ms3 "'&4762s w 2  .   2 ww  2    2 MS3"/&47 &4?62S .  2 w 2  M . 2    2 .M 3S"' "/&47623 2  ww  2   m 2 w 2   .M-3s"'&4?62 623 .  . 2    2- .   2 w 2/4&#!"3!26#!#!"&54>5!"&5463!2  @ ^B && B^^B@B^ @  MB^%Q= &&& $$ (r^aa(^aa!C#!"&54>;2+";2#!"&54>;2+";2pPPpQh@&&@j8(PppPPpQh@&&@j8(Pp@PppPhQ&&j (8pPPppPhQ&&j (8p!C+"&=46;26=4&+"&5463!2+"&=46;26=4&+"&5463!2Qh@&&@j8(PppPPpQh@&&@j8(PppPPp@hQ&&j (8pPPppP@hQ&&j (8pPPpp@@ #+3;G$#"&5462"&462"&462#"&462"&462"&462"&462#"&54632K54LKj=KjKKjKjKKjL45KKjK<^^^KjKKjppp\]]\jKL45KjKKjKujKKjK4LKjKK^^^jKKjKpppr]]\  $$ ^aaQ^aa,#"&5465654.+"'&47623   #>bqb&44&ɢ5"  #D7euU6 &4&m 1X".4>2".4>24&#""'&#";2>#".'&547&5472632>3=T==T==T==T=v)GG+v@bRRb@=&\Nj!>3lkik3hPTDDTPTDDTPTDDTPTDD|x xXK--K|Mp<# )>dA{RXtfOT# RNftWQ,%4&#!"&=4&#!"3!26#!"&5463!2!28(@(88((88((8\@\\@\\(88(@(88(@(88@\\\\ u'E4#!"3!2676%!54&#!"&=4&#!">#!"&5463!2!2325([5@(\&8((88((8,9.+C\\@\ \6Z]#+#,k(88(@(88(;5E>:5E\\\ \1. $4@"&'&676267>"&462"&462.  > $$ n%%/02 KjKKjKKjKKjKfff^aayy/PccP/jKKjKKjKKjKffff@^aa$4@&'."'.7>2"&462"&462.  > $$ n20/%7KjKKjKKjKKjKfff^aa3/PccP/y jKKjKKjKKjKffff@^aa +7#!"&463!2"&462"&462.  > $$ &&&&KjKKjKKjKKjKfff^aa4&&4&jKKjKKjKKjKffff@^aa#+3C54&+54&+"#";;26=3264&"24&"2$#"'##"3!2@@KjKKjKKjKKjKܒ,gjKKjKKjKKjKXԀ,, #/;GS_kw+"=4;27+"=4;2'+"=4;2#!"=43!2%+"=4;2'+"=4;2+"=4;2'+"=4;2+"=4;2+"=4;2+"=4;2+"=4;2+"=4;54;2!#!"&5463!2`````````````````````p`K55KK55Kp`````````````````````````5KK55KK@*V#"'.#"63232+"&5.5462#"/.#"#"'&547>32327676R?d^7ac77,9xm#@#KjK# ڗXF@Fp:f_ #WIpp&3z h[ 17q%q#::#5KKu't#!X: %#+=&>7p @ *2Fr56565'5&'. #"32325#"'+"&5.5462#"/.#"#"'&547>32327676@ͳ8 2.,#,fk*1x-!#@#KjK# ڗXF@Fp:f_ #WIpp&3z e`vo8t-  :5 [*#::#5KKu't#!X: %#+=&>7p  3$ "/&47 &4?62#!"&=463!2I.  2 w 2   -@). 2    2 . -@@-S$9%"'&4762  /.7> "/&47 &4?62i2  .   2 w E > u > .  2 w 2   2    2  ww !   h. 2    2 . ;#"'&476#"'&7'.'#"'&476' )'s "+5+@ա' )'F*4*Er4M:}}8 GO *4*~ (-/' #"'%#"&7&67%632B;>< V??V --C4 <B=cB5 !% %!b 7I))9I7 #"'.5!".67632y( #  ##@,( )8! !++"&=!"&5#"&=46;546;2!76232-SSS  SS``  K$4&"24&"24&"27"&5467.546267>5.5462 8P88P88P88P8P88P4,CS,4pp4,,4pp4,6d7AL*',4ppP88P8P88P8HP88P8`4Y&+(>EY4PppP4Y4Y4PppP4Y%*54&#"#"/.7!2<'G,')7N;2]=A+#H  0PRH6^;<T%-S#:/*@Z}   >h.%#!"&=46;#"&=463!232#!"&=463!2&&&@@&&&@&&&&&&&&&&&&f&&&&b#!"&=463!2#!"&'&63!2&&&&''%@% &&&&&&&&k%J%#/&'#!53#5!36?!#!'&54>54&#"'6763235 Ź}4NZN4;)3.i%Sin1KXL7觧*  #& *@jC?.>!&1' \%Awc8^;:+54&#"'6763235 Ź}4NZN4;)3.i%PlnEcdJ觧*  #& *-@jC?.>!&1' \%AwcBiC:D'P%! #!"&'&6763!2P &:&? &:&?5"K,)""K,)h#".#""#"&54>54&#"#"'./"'"5327654.54632326732>32YO)I-D%n  "h.=T#)#lQTv%.%P_ % %_P%.%vUPl#)#T=@/#,-91P+R[Ql#)#|'' 59%D-I)OY[R+P19-,##,-91P+R[YO)I-D%95%_P%.%v'3!2#!"&463!5&=462 =462 &546 &&&&&4&r&4&@&4&&4&G݀&&&&f s CK&=462 #"'32=462!2#!"&463!5&'"/&4762%4632e*&4&i76`al&4&&&&&}n  R   R zfOego&&5`3&&&4&&4& D R   R zv"!676"'.5463!2@@w^Cct~5  5~tcC&&@?JV|RIIR|V&&#G!!%4&+";26%4&+";26%#!"&546;546;2!546;232@@@@L44LL4^B@B^^B@B^4L  N4LL44L`B^^B``B^^B`LL4&"2%#"'%.5!#!"&54675#"#"'.7>7&5462!467%632&4&&4  @ o&&}c ;pG=(  8Ai8^^.   &4&&4&` ` fs&& jo/;J!# 2 KAE*,B^^B! ` $ -4&"2#"/&7#"/&767%676$!28P88PQr @ U @ {`PTP88P8P`  @U @rQ!6'&+!!!!2Ѥ 8̙e;<*@8 !GGGQII %764' 64/&"2 $$ f3f4:4^aaf4334f:4:^aa %64'&" 2 $$ :4f3f4F^aa4f44f^aa 764'&"27 2 $$ f:4:f4334^aaf4:4f3^aa %64/&" &"2 $$ -f44f4^aa4f3f4:w^aa@7!!/#35%!'!%j/d jg2|855dc b @! !%!!7!FG)DH:&H dS)U4&"2#"/ $'#"'&5463!2#"&=46;5.546232+>7'&763!2&4&&4f ]wq4qw] `dC&&:FԖF:&&Cd`4&&4& ]] `d[}&&"uFjjFu"&&y}[d#2#!"&546;4 +"&54&" (88(@(88( r&@&Ԗ8((88(@(8@&&jj'3"&462&    .  > $$ Ԗ>aX,fff^aaԖԖa>TX,,~ffff@^aa/+"&=46;2+"&=46;2+"&=46;28((88((88((88((88((88((8 (88((88((88((88((88((88/+"&=46;2+"&=46;2+"&=46;28((88((88((88((88((88((8 (88((88(88((88(88((885E$4&"2%&'&;26%&.$'&;276#!"&5463!2KjKKj   f  \ w@wwwjKKjK"G   ܚ  f   @www   $64'&327/a^ ! ^aaJ@%% 65/ 64'&"2 "/64&"'&476227<ij6j6u%k%~8p8}%%%k%}8p8~%<@% %% !232"'&76;!"/&76  ($>( J &% $%64/&"'&"2#!"&5463!2ff4-4ff4fw@wwwf4f-f4@www/#5#5'&76 764/&"%#!"&5463!248` # \P\w@www4`8  #@  `\P\`@www)4&#!"273276#!"&5463!2& *f4 'w@www`&')4f*@www%5 64'&"3276'7>332#!"&5463!2`'(wƒa8! ,j.( &w@www`4`*'?_`ze<  bw4/*@www-.  6 $$  (r^aaO(_^aa -"'&763!24&#!"3!26#!"&5463!2yB(( @   w@www]#@##   @ @www -#!"'&7624&#!"3!26#!"&5463!2y((@B@u @   w@www###@  @ @www -'&54764&#!"3!26#!"&5463!2@@####@w@wwwB((@@www`%#"'#"&=46;&7#"&=46;632/.#"!2#!!2#!32>?6#  !"'?_  BCbCaf\ + ~2   }0$  q 90r p r%D p u?#!"&=46;#"&=46;54632'.#"!2#!!546;2D a__ g *`-Uh1    ߫}   $^L  4b+"&=.'&?676032654.'.5467546;2'.#"ǟ B{PDg q%%Q{%P46'-N/B).ĝ 9kC< Q 7>W*_x*%K./58`7E%_ ,-3  cVO2")#,)9;J) "!* #VD,'#/&>AX>++"''&=46;267!"&=463!&+"&=463!2+32Ԫ$   pU9ӑ @/*f o  VRfq f=SE!#"&5!"&=463!5!"&=46;&76;2>76;232#!!2#![       % )   "  Jg Uh BW&WX hU g 84&#!!2#!!2#!+"&=#"&=46;5#"&=46;463!2j@jo g|@~vv u n#467!!3'##467!++"'#+"&'#"&=46;'#"&=46;&76;2!6;2!6;232+32QKt# #FNQo!"դѧ !mY Zga~bm] [o"U+, @h h@@X hh @83H\#5"'#"&+73273&#&+5275363534."#22>4.#2>ut 3NtRP*Ho2 Lo@!R(Ozh=,GID2F 8PuE>.'%&TeQ,jm{+>R{?jJrL6V @`7>wmR1q uWei/rr :Vr" $7V4&#"326#"'&76;46;232!5346=#'73#"'&'73267##"&54632BX;4>ID2F +>R{8PuE>.'%&TeQ,jm{?jJrL6 @`rr :Vr3>wmR1q uWei@ \%4&#"326#!"&5463!2+".'&'.5467>767>7>7632!2&%%&&&& &7.' :@$LBWM{#&$h1D!  .I/! Nr&&%%&&&&V?, L=8=9%pEL+%%r@W!<%*',<2(<&L,"r@ \#"&546324&#!"3!26%#!#"'.'.'&'.'.546767>;&%%&&&& &i7qN !/I.  !D1h$&#{MWBL$@: '.&&%%&&&&=XNr%(M&<(2<,'*%<!W@r%%+LEp%9=8=L  +=\d%54#"327354"%###5#5#"'&53327#"'#3632#"'&=4762#3274645"=424'.'&!  7>76#'#3%54'&#"32763##"'&5#327#!"&5463!2BBPJNC'%! B? )#!CC $)  54f"@@ B+,A  A+&+A  ZK35N # J!1331CCC $)w@www2"33FYF~(-%"o4*)$(* (&;;&&9LA3  8334S,;;,WT+<<+T;(\g7x:&&::&&<r%-@www  +=[c}#"'632#542%35!33!3##"'&5#327%54'&#"5#353276%5##"=354'&#"32767654"2 '.'&547>76 3#&'&'3#"'&=47632%#5#"'&53327''RZZ:kid YYY .06 62+YY-06 R[!.'CD''EH$VVX::Y X;:Y fyd/%jG&DC&&CD&O[52. [$C-D..D^^* ly1%=^I86i077S 3 $EWgO%33%OO%35 EEFWt;PP;pt;PP;pqJgTFQ%33&PP%33%R 7>%3!+}{'+"&72'&76;2+"'66;2U &  ( P *'eJ."-dZ-n -'74'&+";27&+";276'56#!"&5463!2~} 7e  ۩w@www"  $Q #'!# @www I-22#!&$/.'.'.'=&7>?>369II ! ' $ !01$$%A' $ ! g  \7@)(7Y   \7@)(7Y @ '5557 ,VWQV.RW=?l%l`~0  !#!#%777 5! R!!XCCfff݀# `,{{{`Og4&"2 &6 $"&462$"&62>7>7>&46.'.'. '.'&7>76 Ԗ HR6L66LGHyU2L  L2UyHHyU2L  L2UyHn X6X  XX ԖԖH6L66L6 L2UyHHyU2L  L2UyHHyU2L n6X  XX  2#!"&54634&"2$4&"2ww@ww||||||w@www||||||| !3 37! $$ n6^55^h ^aaM1^aaP *Cg'.676.7>.'$7>&'.'&'? 7%&'.'.'>767$/u5'&$I7ob?K\[zH,1+.@\7':Yi4&67&'&676'.'>7646&' '7>6'&'&7>7#!"&5463!2PR$++'TJXj7-FC',,&C ."!$28 h /" +p^&+3$ i0(w@www+.i6=Bn \C1XR:#"'jj 8Q.cAj57!? "0D$4" P[ & 2@wwwD"%.5#5>7>;!!76PYhpN!HrD0M C0N#>8\xx: W]oW-X45/%'#.5!5!#"37>#!"&5463!2p>,;$4 5eD+WcEw@wwwK()F ,VhV^9tjA0/@www@#"'&76;46;23   &  ++"&5#"&7632  ^  c  & @#!'&5476!2 &  ^  b '&=!"&=463!546  &    q&8#"'&#"#"5476323276326767q'T1[VA=QQ3qqHih"-bfGw^44O#A?66%CKJA}} !"䒐""A$@C3^q|z=KK?6 lk)  %!%!VVuuu^-m5w}n~7M[264&"264&"2"&546+"&=##"&5'#"&5!467'&766276#"&54632    *<;V<<O@-K<&4'>&4.'.'.'.'.'&6&'.'.6767645.'#.'6&'&7676"&'&627>76'&7>'&'&'&'&766'.7>7676>76&6763>6&'&232.'.6'4."7674.'&#>7626'.'&#"'.'.'&676.67>7>5'&7>.'&'&'&7>7>767&'&67636'.'&67>7>.'.67 \  U7  J#!W! '  " ';%  k )"    '   /7*   I ,6 *&"!   O6* O $.( *.'  .x,  $CN      * 6   7%&&_f& ",VL,G$3@@$+ "  V5 3"  ""#dA++ y0D- %&n 4P'A5j$9E#"c7Y 6" & 8Z(;=I50 ' !!e  R   "+0n?t(-z.'< >R$A"24B@( ~ 9B9, *$        < > ?0D9f?Ae  .(;1.D 4H&.Ct iY% *  7      J  <    W 0%$  ""I! *  D  ,4A'4J" .0f6D4pZ{+*D_wqi;W1G("% %T7F}AG!1#%  JG 3  '.2>Vb%&#'32&'!>?>'&' &>"6&#">&'>26 $$ *b6~#= XP2{&%gx| .W)oOLOsEzG< CK}E $MFD<5+ z^aa$MWM 1>]|YY^D եA<KmE6<" @9I5*^aa>^4./.543232654.#"#".#"32>#"'#"$&547&54632632':XM1h*+D($,/9p`DoC&JV;267676&#!"&=463!267 #!"'&5463!26%8#! &&Z"M>2! ^I 7LRx_@>MN""`=&&*%I},  L7_jj9/%4&#!"3!264&#!"3!26#!"&5463!2  &&&&&&&&19#"'#++"&5#"&5475##"&54763!2"&4628(3- &B..B& -3(8IggI`(8+Ue&.BB.&+8(kk`%-"&5#"&5#"&5#"&5463!2"&4628P8@B\B@B\B@8P8pPPp@`(88(`p.BB.0.BB.(88(Pppͺ!%>&'&#"'.$ $$ ^/(V=$<;$=V).X^aaJ`"(("`J^aa,I4."2>%'%"/'&5%&'&?'&767%476762%6[՛[[՛o ܴ   $ $ " $ $  ՛[[՛[[5` ^ ^ 2` `2 ^ ^ ` 1%#"$54732$%#"$&546$76327668ʴhf킐&^zs,!V[vn) 6<ׂf{z}))Ns3(@ +4&#!"3!2#!"&5463!2#!"&5463!2@&&&f&&&&@&&&&4&&4&@&&&&&&&& `BH+"/##"./#"'.?&5#"&46;'&462!76232!46 `&C6@Bb03eI;:&&&4L4&F Z4&w4) '' 5r&4&&4&&4}G#&/.#./.'&4?63%27>'./&'&7676>767>?>%6})(."2*&@P9A #sGq] #lh<* 46+(  < 5R5"*>%"/ +[>hy  K !/Ui%6&'&676&'&6'.7>%.$76$% $.5476$6?62'.76&&'&676%.76&'..676#"NDQt -okQ//jo_  %&JՂYJA-.-- 9\DtT+X?*<UW3' 26$>>W0 {"F!"E    ^f`$"_]\<`F`FDh>CwlsJ@ ;=?s  :i_^{8+?` ) O`s2RDE58/Kr #"'>7&4$&5mī"#̵$5$"^^W=acE*czk./"&4636$7.'>67.'>65.67>&/>z X^hc^O<q+f$H^XbVS!rȇr?5GD_RV@-FbV=3! G84&3Im<$/6X_D'=NUTL;2KPwtPt=  &ռ ,J~S/#NL,8JsF);??1zIEJpqDIPZXSF6\?5:NR=;.&1 +!"&=!!%!5463!2sQ9Qs***sQNQsBUw wUBFHCCTww%1#"&=!"&=463!54632.  6 $$     ` ?(r^aa    (_^aa%1#!#"'&47632!2.  6 $$   @  ` (r^aa  ?  @  (_^aa/#"'&476324&#!"3!26#!"&5463!2&@& @   w@www& @B@ &  @ @www"&462  >& $$ Ԗ*(r^aaԖԖ (^aa]6#"$54732>%#"'!"&'&7>32'!!!2f:лѪz~u: ((%`V6B^hD%i(]̳ޛ *>6߅r#! 3?^BEa߀#9#36'&632#"'&'&63232#!"&5463!2 Q,&U #+' ;il4L 92<D`w@www`9ܩ6ɽ ]`C477&@wwwD+"&5#"'&=4?5#"'&=4?546;2%6%66546;2  wwwwcB G]B Gty]ty #3C#!+"&5!"&=463!46;2!24&#!"3!26#!"&5463!2@`@`^BB^^B@B^www@w@`@`2@B^^BB^^ww@w'/?P+5#"&547.467&546;532!764'!"+32#323!&ln@ :MM: @nY*Yz--zY*55QDDU9pY-`]]`.X /2I$ t@@/!!/@@3,$,3$p$00&*0&& !P@RV2#"&/#"&/#"&546?#"&546?'&54632%'&54632763276%>S]8T;/M77T7%>ww@ww!"5bBBb// * 8(@(87)(8=%/' #?w@www#~$EE y &L(88e):8(%O r    O?GQaq47&67>&&'&67>&"$32#"#"'654  $&6 $6&$ CoL.*K  Px.* iSƓ i 7J ?~pi{_Я;lLUZ=刈刈_t'<Z :!   @! j`Q7  $ky, Rfk*4LlL=Z=刈&$&546$7%7&'5>]5%w&P?zrSF!| &0 ##!"&5#5!3!3!3!32!546;2!5463) );));;))&&&@@&&&  6 $&727"'%+"'&7&54767%&4762֬>4P t+8?::  ::A W` `EvEEvE<."e$IE&O &EI&{h.`m"&#"&'327>73271[ >+)@ (]:2,C?*%Zx/658:@#N C= E(oE=W'c:#!#"$&6$3 &#"32>7! ڝyy,{ۀہW^F!LC=y:yw߂0H\R%"N^ '&76232762$"&5462"&46274&"&'264&#"'&&#"32$54'>$ $&6$ G>>0yx14J55J5J44J5Fd$?4J55%6E#42F%$fLlLq>>11J44%&4Z%44J54R1F$Z-%45J521Z%F1#:ʎ 9LlL#Qa"'&7622762%"&5462"&546274&#"&'73264&#"'&&#"32654'>#!"&5463!2 55 **.>.-@-R.>.-@-<+*q6- -- 0OpoOxzRrqP6z~{{Prr^aa]054&"#"&5!2654632!#"&57265&'&#".'&'#"&5467%&4>7>3263232654.547'654'63277.'.*#">7?67>?>32#"'7'>3'>3235?KcgA+![,7*  2(-#=  /~[(D?G  |,)"# +)O8,+'6 y{=@0mI#938OAE` -  )y_/FwaH8j7=7?%a % %!?)L J 9=5]~pj  %(1$",I  $@((  +!.S -L__$'-9L 5V+ 6 T+6.8- $ 0 + t |S 16]&#"'&#"67>76'&'&#"67>32764.#"#.32>67>7 $&54>7>7>7rJ@ "kb2)W+ ,5/1   #   Z -!$IOXp7sLCF9vz NAG#/ 5|Հ';RKR/J#=$,9,+$UCS7'2"1  ! / ,   /--ST(::(ep4AM@=I>".)xΤlsY|qK@ %(YQ&N EHv~<Zx'#"&5467&6?2?'&"/.7.546326#"&'&/7264/7'764&"'?>>32.AUpIUxYE.A %%%h% %hJ%D,FZxULs TgxUJrVD %hJ%@/LefL.C %Jh%CV sNUxϠ@.FZyUHpVA %h&%% %Ji%CWpIUybJ/Uy^G,D %Jh%@U sMt UC %hJ%C-KfyEX[_gj&/&'.''67>7>7&'&'&'>76763>7>#&'&'767672'%'7'+"&'&546323267>7%#"'4'6767672,32,+DCCQLDf' % :/d B 4@ }  &!0$?Jfdf-.=6(:!TO? !IG_U% . k*.=; 5gN_X "  ##  292Q41   *6nA;| BS N.  %1$ 6 $nk^ '7GWgw2+"&5463#!"&5463!254&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";26#"&=! B^^BB^^B:FjB^8((`( `(8^BB^^B@B^"vEj^B(8(`(8(/?O_o/?2#!"&5463;26=4&+";26=4&+";26=4&+";26=4&+"54&+";2654&+";2654&+";2654&+";2654&+";2654&#!"3!2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";2654&+";26@&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@&&&&@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`' "&5#"&5&4762!762$"&462B\B@B\BOpP.BB..BB.8$PO広3CQ#".54>32#".546322#"&#"#"54>%".54>32%2#"&54> &X=L|<&X=M{2r_-$$-_rUU%&&5%ő'- "'.546762@FF$@B@$.&,&.]]|q#<<#(BB B%'-%'-'%'-"'%&'"'%.5467%467%62@ll@ll,@GG&!@@@@@@!&+#+#6#+$*`:p:px p=`$>>$&@&@ @&p@ &.A!!"!&2673!"5432!%!254#!5!2654#!%!2#!8Zp?vdΊens6(N[RWu?rt1SrF|iZ@7މoy2IMC~[R yK{T:%,AGK2#!"&5463!!2654'654.#532#532"&5!654&#"327#2#>!!ww@ww~uk'JTMwa| DH> I1q Fj?w@wwwsq*4p9O*¸Z^qh LE "(nz8B M'?"&4624&#"'.'324&#"3267##"&/632632.ʏhhMALR vGhг~~K „yO^   ʏʏВ*LM@!שwwȍde)qrOPqȦs:03=7'.?67'67%'>&%'7%7./6D\$>  "N,?a0#O 1G9'/P(1#00  ($=!F "9|]"RE<6 'o9%8J$\ :\HiTe<?}V#oj? d,6%N#" HlSVY]C =@C4&"2!.#!"4&"2+"&=!"&=#"&546;>3!232^^^Y ^^^`pppp`]ibbi]~^^^e^^^PppPPppP]^^]3;EM2+"&=!"&=#"&546;>;5463!232264&"!.#!"264&" ]`pppp`]ibbi^^^dY !^^^]@PppP@@PppP@]^^] ^^^e^^^ 3$#!#!"&5467!"&47#"&47#"&4762++&2 $$ 2&&&4&&Z4&&##&&4&4&44&m4&m+DP4'&#"32763232674'&!"32763 3264'&$#"32763232> $$ g* o`#ə0#z#l(~̠) -g+^aaF s" +g (* 3#!| #/IK/%*%D= )[^aa !!!'!!77!,/,-a/G t%/;<HTbcq%7.#"32%74'&"32765"/7627#"5'7432#"/7632#"5'7432#"&5'74632 #"/6327#"/6327#"/46329"&/462"&/>21"&/567632#!.547632632  *     X    ^  `    ^  b  c   fu U`59u  4J   l~ ~ F 2    m | O,           ru| u  " )9 $7 $&= $7 $&= $7 $&=  $&=46w`ww`ww`wb`VTEvEEvETVTEvEEvET*VTEvEEvET*EvEEvEEvEEv#^ct#!"&5463!2!&'&!"&5!632#"&'#"/&'&7>766767.76;267674767&5&5&'67.'&'&#3274(8((88((`x c`(8!3;:A0?ݫY   ^U 47D$    74U3I  |L38wtL0`((88(@(8(D 9 8(Q1&(!;  (g- Up~R2(/{E(Xz*Z%(i6CmVo8 #T#!"&5463!2!&'&!"&5!3367653335!3#4.5.'##'&'35(8((88((`x c`(8iFFZcrcZ`((88(@(8(D 9 8(kk" kkJ  ! k#S#!"&5463!2!&'&!"&5!%!5#7>;#!5#35!3#&'&/35!3(8((88((`x c`(8-Kg kL#DCJg  jLD`((88(@(8(D 9 8(jj jjkk kk#8C#!"&5463!2!&'&!"&5!%!5#5327>54&'&#!3#32(8((88((`x c`(8 G]L*COJ?0R\wx48>`((88(@(8(D 9 8(jjRQxk !RY#*2#!"&5463!2!&'&!"&5!!57"&462(8((88((`x c`(8Pppp`((88(@(8(D 9 8(ppp  #*7JR5#5#5#5##!"&5463!2!&'&!"&5##5!"&54765332264&"<(8((88((`x c`(8kޑcO"jKKjK`((88(@(8(D 9 8(SmmS?M&4&&4#9L^#!"&5463!2!&'&!"&5!#"/#"&=46;76276'.'2764'.(8((88((`x c`(8 6ddWW6&44`((88(@(8(D 9 8(. G5{{5]]$5995#3C#!"&5463!2!&'&!"&5!2#!"&5463#"'5632(8((88((`x c`(84LL44LL4l  `((88(@(8(D 9 8(L44LL44L  Z #7K[#!"&5463!2!&'&!"&5!>&'&7!/.?'&6?6.7>'(8((88((`x c`(8` 3  3  3  3 v  ?  `((88(@(8(D 9 8( & & - & &  ?   '6#'. '!67&54632".'654&#"32eaAɢ/PRAids`WXyzOvд:C;A:25@Ң>-05rn`H( ' gQWZc[ -%7' %'-'% %"'&54762[3[MN 3",""3,3"ong$߆]gn$+) ")")" x#W#"&#!+.5467&546326$32327.'#"&5463232654&#"632#".#"oGn\ u_MK'̨|g? CM7MM5,QAAIQqAy{b]BL4PJ9+OABIRo?z.z n6'+s:zcIAC65D*DRRD*wyal@B39E*DRRD*'/7  $&6$ 6277&47' 7'"' 6& 6'lLRRZB|RR>dZZLlLZRR«Z&>«|R ! $&54$7 >54'5PffP牉@s-ff`-c6721>?>././76&/7>?>?>./&31#"$&(@8!IH2hM>'  )-* h'N'!'Og,R"/!YQG54'63&547#5#"=3235#47##6323#324&"26%#!"&5463!2F]kbf$JMM$&N92Z2&`9UW=N9:PO;:dhe\=R +)&')-S99kJ<)UmQ/-Ya^"![Y'(<`X;_L6#)|tWW:;X  #'#3#!"&5463!2) p*xeשw@www0,\8@www9I#"'#"&'&>767&5462#"'.7>32>4."&'&54>32JrO<3>5-&FD(=Gq@C$39aLL²L4 &) @]v q#CO!~󿵂72765'./"#"&'&5 }1R<2" 7MW'$  ;IS7@5sQ@@)R#DvTA ; 0x I)!:> +)C 6.> !-I[4&#"324&#"3264&#"324&#"326&#"#".'7$4$32'#"$&6$32D2)+BB+)3(--(31)+BB+)4'--'4'#!0>R HMŰ9ou7ǖD䣣 R23('3_,--,R23('3_,--,NJ ?uWm%#"'%#"'.5 %&'&7632! ; `u%"(!]#c)(  #"'%#"'.5%&'&76 !  (%##fP_"(!)'+ʼn4I#"$'&6?6332>4.#"#!"&54766$32#!"&=46;46;2z䜬m IwhQQhbF*@&('k@z   _hQнQGB'(&*eozΘ@@`  >. $$ ffff^aafff^aa>"&#"#"&54>7654'&#!"#"&#"#"&54>765'46.'."&54632326323!27654'.5463232632,-,,",:! %]& %@2(/.+*)6! <.$..**"+8#  #Q3,,++#-:#"$$ /:yuxv)%$ /?CG%!5%2#!"&5463!5#5!52#!"&54632#!"&5463#5!5`&&&& &&&&&&&&@&&&&&&&&&&&&%2 &547%#"&632%&546 #"'6\~~\h ~\h\ V V VV%5$4&#"'64'73264&"&#"3272#!"&5463!2}XT==TX}}~>SX}}XS>~}w@www~:xx:~}}Xx9}}9xX}@www/>LXds.327>76 $&6$32762#"/&4762"/&47626+"&46;2'"&=462#"'&4?62E0l,  *"T.D@Yooo@5D [  Z  Z  [ ``[ Z  2 ,l0 (T" .D5@oooY@D, Z  [  [  Z ``EZ  [ 5%!  $&66='&'%77'727'%amlLmf?55>fFtuutFLlLHYC L||L Y˄(E''E*( /?IYiy%+"&=46;2+"&=46;2+"&=46;2+"&=46;2%"&=!#+"&=46;2+"&=46;2+"&=46;2+"&=46;2!54!54>$ +"&=46;2#!"&=@&&@3P > P3&&rrr&&rrr he 4LKM:%%:MKL4WT&&%/9##!"&563!!#!"&5"&5!2!5463!2!5463!2&&&&&&  &&&i@&&@&7'#5&?6262%%o;j|/&jJ%p&j;&i&p/|jţ%Jk%o%  :g"&5462#"&546324&#!"263662>7'&75.''&'&&'&6463!276i~ZYYZ~@OS;+[G[3YUD#o?D&G3I=JyTkBuhNV!WOhuAiSy*'^CC^'*SwwSTvvTSwwSTvvWID\_"[ gq# /3qFr2/ $rg%4 HffHJ4d#!#7!!7!#5!VFNrmNNN N!Y+?Ne%&'&'&7>727>'#&'&'&>2'&'&676'&76$7&'&767>76 '6# <;11x# *# G,T93%/#0vNZ;:8)M:( &C.J}2 %0  ^*  JF &7'X"2LDM" +6 M2+'BQfXV#+] #' L/(eB9  #,8!!!5!!5!5!5!5#26%!!26#!"&5!5&4& &pPPp@@&&@!&@PppP@*  9Q$"&54627"."#"&547>2"'.#"#"&5476$ "'&$ #"&5476$ (}R}hLK NN Ud: xx 8    ,, |2222 MXXM ic,>>,   ̺  '/7?KSck{4&"2$4&"24&"24&"24&"24&"24&"24&"24&"264&"24&#!"3!264&"2#!"&5463!2KjKKjKjKKjKjKKjKKjKKjKjKKjKjKKjKKjKKjKjKKjKLhLLhLKjKKj&&&&KjKKjL44LL44L5jKKjKKjKKjKjKKjKjKKjKjKKjKjKKjKjKKjKjKKjK4LL44LLjKKjK&&&&jKKjK4LL44LL 'E!#"+"&7>76;7676767>'#'"#!"&7>3!2W",&7' #$ &gpf5 O.PqZZdS -V"0kqzTxD!!8p8%'i_F?;kR(` !&)' (2!&6367! &63!2! `B 1LO(+#=)heCQg#s`f4#6q'X|0 -g >IY#6?>7&#!%'.'33#&#"#"/3674'.54636%#"3733#!"&5463!24  : @7vH%hEP{0&<'VFJo1,1.F6A#L44LL44L"% 7x'6 O\JYFw~v^fH$ ! "xdjD"!6`J4LL44LL +3@GXcgqz -<JX{&#"327&76'32>54.#"35#3;5#'#3537+5;3'23764/"+353$4632#"$2#462#"6462""'"&5&5474761256321##%354&'"&#"5#35432354323=#&#"32?4/&54327&#"#"'326'#"=35#5##3327"327'#"'354&3"5#354327&327''"&46327&#"3=#&#"32?"5#354327&3=#&"32?"#3274?67654'&'4/"&#!"&5463!2_gQQh^_~\[[\]_^hQQge<F$$$ !!&&/ !/  !! 00/e&'!"e$   '!!''   8''NgL44LL44LUQghQUk=("  ! =))=2( '! 'L#(>( & DC(>(zL#DzG)<)4LL44LL  BWbjq}+532%+5324&+32763#4&'.546327&#"#"'3265#"&546325&#"32 !264&"2%#'#735#535#535#3'654&+353#!"&5463!29$<=$@?SdO__J-<AA@)7")9,<$.%0*,G3@%)1??.+&((JgfJ*A!&jjjGZYGиwsswPiL>8aA !M77MM77M3! 4erJ]&3YM(, ,%7(#)  ,(@=)M%A20C&Mee(X0&ĖjjjV 8Z8J9N/4$ 8NN88NN  #&:O[ $?b3'7'#3#%54+32%4+324+323'%#5#'#'##337"&##'!!732%#3#3##!"&53733537!572!56373353#'#'#"5#&#!'#'#463!2#"5#"5!&+&+'!!7353273532!2732%#54&+#32#46.+#2#3#3##+53254&".546;#"67+53254&.546;#"#'#'##"54;"&;7335wY-AJF=c(TS)!*RQ+*RQ+Y,B^9^Ft`njUM ') ~PSPRm٘M77Mo7q @)U 8"E(1++NM77Mx378D62W74;9<-A"EA0:A F@1:ؗBf~~""12"4(w$#11#@}}!%+%5(v$:O\zK?* $\amcrVlOO176Nn23266&+"&#"3267;24&+"'&+";27%4&+";2?>23266&+"&#"3267;254+";27#76;2#!"&5463!23%#2%%,,  _3$$2%%M>AL Vb5)LDHeE:< EM j,K'-R M ~M>AR  Vb5)LEHeE:< E J ABI*'! ($rL44LL44Lv%1 %3!x*k $2 %3!;5h n a !(lI;F   rp p8;5h t a !(lI;F ` #k 4LL44LL  2HW[lt#"'5632#6324&'.54327&#"#"&'32767#533275#"=5&#"'#36323#4'&#"'#7532764&"24'&#"327'#"'&'36#!"&5463!2=!9n23BD$ &:BCRM.0AC'0RH`Q03'`.>,&I / * / 8/n-(G@5$ S3=,.B..B02^`o?7je;9G+L44LL44LyE%# Vb;A !p &'F:Aq)%)#orgT$ v2 8)2z948/{ 8AB..B/q?@r<7(g/4LL44LL ?#!"&'24#"&54"&/&6?&5>547&54626=L4@ԕ;U g3 T 2RX='8P8|5 4Ljj U;Ig@   `  "*\(88(]k  &N4#"&54"3 .#"#!"&'7!&7&/&6?&5>547&54626;U gIm*]Z0L4@ԕ=o=CT T 2RX='8P8|5  U;IgXu?bl3@4Ljja`   `  "*\(88(]k/7[%4&+";26%4&+";26%4&+";26!'&'!+#!"&5#"&=463!7>3!2!2@@@@@@0 o`^BB^`5FN(@(NF5@@@u  @LSyuS@%44%,<H#"5432+"=4&#"326=46;2  >. $$ ~Isy9"SgR8vHD w ffff^aam2N+ )H-mF+10*F +fff^aab4&#"32>"#"'&'#"&54632?>;23>5!"3276#"$&6$3 k^?zb=ka`U4J{K_/4^W&  vx :XB0܂ff ) fzzXlz=lapzob35!2BX G@8  ' '=vN$\ff  1 SZz8zX#("/+'547'&4?6276 'D^h  i%5@%[i  h]@]h  i%@5%[i  h^@@)2#"&5476#".5327>OFi-ay~\~;'S{s:D8>)AJfh]F?X{[TC6LlG]v2'"%B];$-o%!2>7>3232>7>322>7>32".'.#"#"&'.#"#"&'.#"#546;!!!!!32#"&54>52#"&54>52#"&54>52-P&+#($P.-P$'#+&PZP&+#"+&P-($P-.P$(#+$P.-P$'#+&P-.P$+#pP@@PpH85K"&ZH85K"&ZH85K"&Z@Pp@@@pMSK5, :&LMSK5, :&LMSK5, :& !!3 ! @@@  #"$$3!!2"jaѻxlalxaaj!!3/"/'62'&63!2'y  `I  yMy `I y'W`#".'.#"32767!"&54>3232654.'&546#&'5&#" 4$%Eӕ;iNL291 ;XxR`f՝Q8TWiWgW:;*:`Qs&?RWXJ8 oNU0 J1F@#) [%6_POQiX(o`_?5"$iʗ\&>bds6aP*< -;iFn* -c1BWg4'.'4.54632#7&'.#"#"'.#"32767'#"&54632326#!"&5463!2#$( 1$6]' !E3P|ad(2S;aF9'EOSej]m] <*rYshpt.#)$78L*khw@wwwB % $/$G6 sP`X):F/fwH1pdlqnmPHuikw_:[9D'@www34."2>$4.#!!2>#!".>3!2QнQQнQQh~wwhfffнQQнQQнQZZQffff#>3!2#!".2>4."fffнQQнQQffffQнQQн ,\!"&?&#"326'3&'!&#"#"'  5467'+#"327#"&463!!'#"&463!2632(#AHs9q ci<= #]$ KjKKjKKjKKjH#j#H&&&KjKKjKg V i jKKjKKjKKjK ..n(([5KK55KK5[poNv<+#"'#"&546;&546$32322$B$22$$*$22$Xڭӯ$22$tX'hs2$ϧkc$22$1c$2F33F3VVT2#$2ԱVT2#$2g#2UU݃ 2$#2UU1݃2 ,u54#"67.632&#"32654'.#"32764.'&$#"7232&'##"&54732654&#"467&5463254632>32#"'&ru&9%" *#͟ O%GR=O&^opC8pP*bY _#$N Pb@6)?+0L15 "4$.Es  5IQ"!@ h "Y7e|J>ziPeneHbIlF>^]@n*9 6[_3#"&54632#.#"32%3#"&54632#.#"326%4&'.'&! ! 7>7>! =39? 6'_ >29? 5'17m-VU--,bW.뮠@Fyu0HC$뮠@Fyu0HC$L= ?? <=! A <`;+"&54&#!+"&5463!2#!"&546;2!26546;2pЇ0pp@Ipp>Sc+"&=46;254&+"&+";2=46;2;2=46;2;2%54&#!";2=;26#!"&5463!2A5DD5A7^6a7MB55B7?5B~```0`rr5A44A5v5AA5f*A``0` !!!! #!"&5463!2ړ7H7jv@vvv':@vvvMUahmrx#"'!"'!#"&547.547.54674&547&54632!62!632!#!627'!%!"67'#77!63!!7357/7'%# %'3/&=&' 5#?&547 6!p4q"""6" 'h*[ |*,@?wAUMpV@˝)Ϳw7({*U%K6=0(M "! O dX$k !! ! b [TDOi @6bxBAݽ5  ɝ:J +3,p x1Fi (R 463!#!"&5%'4&#!"3`а@..@A-XfB$.BB..C} )&54$32&'%&&'67"w`Rd]G{o]>p6sc(@wgmJPAjyYWa͊AZq{HZ:<dv\gx>2ATKn+;"'&#"&#"+6!263 2&#"&#">3267&#">326e~└Ȁ|隚Ν|ū|iyZʬ7Ӕްr|uѥx9[[9jj9ANN+,#ll"BS32fk[/?\%4&+";26%4&+";26%4&+";26%4&+";26%#!"&5467&546326$32]]eeeeee$~i qfN-*#Sjt2"'qCB8!'> !%)-159=AEIMQUY]agkosw{! %! 5!#5#5#5#5#57777????#5!#5!#5!#5!#5!#5!#5!#5#537#5!#5!#5!#5!#5!#55#535353535353%"&546326#"'#32>54.&54>3237.#"Q%%%%%%%%%?iiihOiixiiyiixiiArssrrssr%sssrrssNs%%%%%%%%%%'32#".543232654&#"#"&54654&#"#"&547>326ڞUzrhgrxSПdU 7#"&463!2!2&&4&&&&4&KjKKjKjKKj &&&%&& &&4&&&&4&&&5jKKjKKjKKjK%z 0&4&&3D7&4& %&'S4&"4&"'&"27"&462"&462!2#!"&54>7#"&463!2!2&4&4&4&4KjKKjKjKKj &&&%&& &&4&%&&ے&4"jKKjKKjKKjK%z 0&4&&3D7&4& %& & !'! !%!!!!%"'.763!2o]FooZY@:@!!gf//I62'"/"/"/"/"/"/"/7762762762762762762%"/77627&6?35!5!!3762762'"/"/"/"/"/"/%5#5!4ZSS6SS4SS4SS4SS4SS4SS4ZSS4SS4SS4SS4SS4SS4S-4ZSS4S@4SS4ZSS6SS4SS4SS4SS4SS4S@ZSSSSSSSSSSSSSSZSSSSSSSSSSSSSyZRRR@%:= :+: =RRZSSSSSSSSSSSSSCv!/&'&#""'&#" 32>;232>7>76#!"&54>7'3&547&547>763226323@``` VFaaFV      $. .$     yy .Q5ZE$ ,l*%>>%*>*98(QO!L\p'.'&67'#!##"327&+"&46;2!3'#"&7>;276;2+6267!"'&7&#"(6&#"#"' Dg OOG`n%ELL{@&&Nc,sU&&!Fre&&ss#/,<= #]gL oGkP'r-n&4&2-ir&&?o  4 _5OW! .54>762>7.'.7>+#!"&5#"&5463!2"&462{{BtxG,:`9(0bԿb0(9`:,GxtB&@&&@&K55K`?e==e?1O6# ,  #$  , #6OO&&&&5KK?!"'&'!2673267!'. ."!&54632>321 4q#F""8'go#- #,"tYg>oP$$Po> Zep#)R0+I@$$@I++332++"&=#"&=46;.7>76$  @ ᅪ*r@@r'/2+"&5".4>32!"&=463  &@~[՛[[u˜~gr&`u՛[[՛[~~@r=E32++"&=#"&=46;5&547&'&6;22676;2  >``@``ٱ?E,,=?rH@``@GݧH`jjrBJ463!2+"&=32++"&=#"&=46;5.7676%#"&5   &@~``@``  vXr&@``@+BF`rks463!2+"&=32++"&=#"&=46;5&547'/.?'+"&5463!2+7>6 %#"&5   &@~``@``~4e  0  io@& jV  0  Z9r&@``@Gɞ5o , sp &@k^ , c8~~`r8>KR_32++"&=!+"&=#"&=46;.767666'27&547&#"&'2#" @@ 'Ϋ'sggsww@sgg@@-ssʃl99OOr99FP^l463!2+"&=$'.7>76%#"&=463!2+"&=%#"&54'>%&547.#"254&' &@L?CuГP vY &@;"ޥ5݇ޥ5`&_ڿgwBF@&J_ s&&?%x%xJP\h463!2+"&='32++"&=#"&=46;5.7676632%#"&56'327&7&#"2#" &@L? ߺu``@``} ຒɞueeu9uee&_"|N@``@""|a~lo99r9@9;C2+"&5"/".4>327'&4?627!"&=463  &@Ռ .  N~[՛[[u˜N .  gr&`֌  . Ou՛[[՛[~N  . @r9A'.'&675#"&=46;5"/&4?62"/32+  '֪ \  . 4 .  \r|ݧ憛@\ .    . \@r~9A"/&4?!+"&=##"$7>763546;2!'&4?62  m  - @ݧ憛@& -  @rm4 -  ٮ*   - r+"&5&54>2  @[՛[rdGu՛[[r  ".4>2r[՛[[՛r5՛[[՛[[$2#!37#546375&#"#3!"&5463#22#y/Dz?s!#22#2##2S88 2#V#2L4>32#"&''&5467&5463232>54&#"#"'.Kg&RvgD $ *2% +Z hP=DXZ@7^?1 ۰3O+lh4`M@8'+c+RI2 \ZAhSQ>B>?S2Vhui/,R0+ ZRkmz+>Q2#"'.'&756763232322>4."7 #"'&546n/9bLHG2E"D8_ pdddxO"2xxê_lx2X  !+'5>-pkW[C I I@50Oddd˥Mhfxx^ә #'+/7!5!!5!4&"2!5!4&"24&"2!!! 8P88P 8P88P88P88PP88P8 P88P88P88P8 +N &6 !2#!+"&5!"&=463!46;23!#!"&54>32267632#"_>@`     `  L4Dgy 6Fe=OOU4L>   ` `  4L2y5eud_C(====`L43V &6 #"/#"/&54?'&54?6327632#!"&54>32 7632_>     %%Sy 6Fe=J%>     %65%Sy5eud_C(zz.!6%$!2!!!46;24&"2!54&#!"&&&@ԖV@&&@&&ԖԖ@&3!!! !5!'!53!! #7IeeI7CzCl@@@#2#!"&?.54$3264&"!@մppp((ppp#+/2#!"&?.54$3264&"!264&"!@մ^^^@^^^@((^^^^^^v(#"'%.54632 "'% 632U/@k0G,zD# [k# /tg F Gz  #'#3!) p*xe0,\8T #/DM%2<GQ^lw &'&676676&'&7654&'&&546763"#"'3264&7.>&'%'.767&7667&766747665"'.'&767>3>7&'&'47.'.7676767&76767.'$73>?>67673>#6766666&'&6767.'"'276&67&54&&671&'6757>7&"2654&57>&>&'5#%67>76$7&74>=.''&'&'#'#''&'&'&'65.'&6767.'#%&''&'#2%676765&'&'&7&5&'6.7>&5R4&5S9 W"-J0(/r V"-J0(.)#"6&4pOPppc|o}vQ[60XQW1V  # 5X N"& . ) D>q J:102(z/=f*4!> S5b!%  (!$p8~5..:5I  ~T 4~9p# ! ) & ?()5F 1   d%{v*: @e s|D1d {:*dAA|oYk'&<tuut&v HCXXTR;w 71™ Z*&' 1  9? . $Gv 5k65P.$.`aasa``Z9k'9؋ӗa-*Gl|Me_]`F& OܽsDD!/+``aa``a154&'"&#!!26#!"&5463!2    iLCly5)*Hcelzzlec0hb,,beIVB9@RB9J_L44LL44L44%2"4:I;p!q4bb3p (P`t`P(6EC.7BI64LL44LL  .>$4&'6#".54$ 4.#!"3!2>#!"&5463!2Zjbjj[wٝ]>oӰٯ*-oXL44LL44L')꽽)J)]wL`ֺ۪e4LL44LL;4&#!"3!26#!"&5463!2#54&#!";#"&5463!2  @ ^BB^^B@B^  B^^B@B^`@  MB^^B@B^^>  ^B@B^^5=Um ! !!2#!"&=463!.'!"&=463!>2!2#264&"".54>762".54>762?(``(?b|b?B//B/]]FrdhLhdrF]]FrdhLhdrF@@@(?@@ ?(@9GG9@/B//BaItB!!BtI Ѷ!!ь ItB!!BtI Ѷ!!ь-M32#!"&=46;7&#"&=463!2#>5!!4.'.46ՠ`@`ՠ`MsFFsMMsFFsMojjo@@jj@@<!(!!(!-3?32#!"&=46;7&#"&=463!2+!!64.'#ՠ`@`ՠ`  DqLLqDojjo@@jj@@B>=C-3;32#!"&=46;7&#"&=463!2+!!6.'#ՠ`@`ՠ`UVU96gg6ojjo@@jj@@β**ɍ-G32#!"&=46;7&#"&=463!2#>5!!&'.46ՠ`@`ՠ`MsFFsMkkojjo@@jj@@<!(!33!(!9I2#!"&=4637>7.'!2#!"&=463@b":1P4Y,++,Y4P1:"":1P4Y,++,Y4P1:"b@@@7hVX@K-AA-K@XVh77hVX@K-AA-K@XVh7Aj"#54&#"'54&#"3!26=476=4&#"#54&'&#"#54&'&'2632632#!"&5&=4632>3265K @0.B @0.B#6'&& l @0.B 2' .B A2TA9B;h" d mpPTlLc _4.HK5]0CB.S0CB./#'?&&)$$)0CB. }(AB.z3M2"61d39L/PpuT(Ifc_E`1X"#4&"'&#"3!267654&"#4&"#4&26326#!"&'&5463246326\B B\B&@5K&@"6LB\B B\B sciL}QP%&#"!"3!754?27%>54&#!26=31?>Ijjq,J[j.-tjlV\$B.R1?@B.+?2`$v5K-%5KK5.olRIS+6K5̈$B\B 94E.&ʀ15uE& ԖPjjdXUGJ7!.B P2.B %2@ 7K5(B@KjKj?+fU E,5K~!1.>F.F,Q5*H$b2#!"&=%!"&=463!7!"&'&=4634'&#!">3!!"3!32#!"3!23!26=n$32>32>32#"#.#"#.#"3!27654&#"547654&#"#654&Mye t|]WSSgSY\x{ 70"1i92DU1&=  =&0@c >&/Btd4!*"8K4+"@H@/'= t?_K93-] UlgQQgsW ]#+ i>p&30&VZ&0B/ %3B. "to ){+C4I (  /D0&p0D3[_cg"'&#"3!2676=4&"#54&#"#54&#"#4&'2632632632#!"&'&5463246#!#!#5K)B4J&@#\8P8 @0.B J65K J6k cJ/4qG^\hB2.1!~K5y?^\Vljt-.j[J,qjjI7$?1R.B+.B$`2?gvEo.5KK5%-K6+SIR[&.E49 B\B$5KG#!+"&5!"&=463!2+"&' +"' +"'&5>;2>76;2Y    M .x - N     u  , u ?  LW   #  *:J4'&+326+"'#+"&5463!2  $6& $&6$ UbUI-uu,uuڎLlLAX!Jmf\$ 6uuu,KLlL-[k{276/&'&#"&5463276?6'.#"!276/&'&#"&5463276?6'.#"  $6&  $&6]h - %Lb`J%E 5 ,5R- h - %Lb`J%E 5 ,5R-'uu,uulL/hR    dMLc  NhR   dMLc  N1uuu,LlL@  ' 7 '7 ``H ``H !``H ```H` '%  7' 7'7 ' $&6$ X`(W:,:X`(WLLlLX`(W:BX`(XLlL $ %/9ES[#"&54632$"&4624&"26$4&#"2%#"&462$#"&4632#"32&! 24>  !#"&'.'#"$547.'!6$327&'77'&77N77N'qqqqqPOrqEsttsst}||}uԙ[WQ~,> nP/R U P酛n >,m'77'&77N77N6^Orqqqqqqt棣棣(~|| on[usј^~33pc8{y%cq33dqpf L 54 "2654"'&'"/&477&'.67>326?>< x ,  (-'sI  VCV  Hr'-(  $0@!BHp9[%&!@0$u  ]\\]-$)!IHV D V HI!)$-#36>N"&462."&/.2?2?64/67>&  #!"&5463!2]]]3 $; &|v;$ (CS31 =rM= 4TC(G zw@www]]]($-;,540= sL =45,; @www(2#"$&546327654&#" &#"AZ\@/#%E1/##.1E$![A懇@@\!#21E!6!E13"|! gL&5&'.#4&5!67&'&'5676&'6452>3.'5A5RV[t,G'Q4}-&r! G;>!g12sV&2:#;d=*'5E2/..FD֕71$1>2F!&12,@K r#"&5462>%.#"'&#"#"'>54#".'7654&&5473254&/>7326/632327?&$  $6 $&6$ !&"2&^ u_x^h ;J݃HJǭ qE Dm! M G?̯' %o8 9U(F(ߎLlL&!&!SEm|[n{[<ɪ "p C Di% (K HCέ  pC B m8 @Kނ  HF(LlL "*6%&6$ 7&$5%%6'$2"&4}x3nQH:dΏX e8z' li=! 7So?vM '&7>>7'7>''>76.'6'El:Fg r *t6K3U Z83P)3^I%=9 )<}Jk+C-Wd &U-TE+]Qr-< Q#0 C+M8 3':$ _Q =+If5[ˮ&&SGZoMkܬc#7&#"327#"'&$&546$;#"'654'632ե›fKYYKf¥yͩ䆎L1hvvƚwwkn]*]nlxDLw~?T8bb9SA}+5?F!3267!#"'#"4767%!2$324&#"6327.'!.#"۔c28Ψ-\?@hU0KeFjTlyE3aVsz.b؏W80]TSts<hO_u7bBtSbF/o|V]SHކJ34&#!"3!26#!!2#!"&=463!5!"&5463!2  @ ^B `` B^^B@B^   @ @B^@@^BB^^>3!"&546)2+6'.'.67>76%&F8$.39_0DD40DD0+*M7{L *="# U<-M93#D@U8vk_Y [hD00DD00Dce-JF1 BDN&)@ /1 dy%F#"'&'&'&'&763276?6#"/#"/&54?'&763276"&'&'&5#&763567632#"'&7632654'&#"32>54'&#"'.5463!2#!3>7632#"'&'&#"'&767632yqoq>* 432fba  $B? >B BB AA.-QPPR+ 42 %<ciђ:6& hHGhkG@n`IȌ5 !m(|.mzyPQ-.  je  q>@@?ppgVZE|fb6887a %RB? =B ABBAJvniQP\\PRh!cDS`gΒ 23geFGPHXcCI_ƍ5" n*T.\PQip [*81 / 9@:>t%6#".'.>%6%&7>'.#*.'&676./&'.54>754'&#"%4>327676= >vwd" l "3 /!,+ j2.|%& (N &wh>8X}xc2"W<4<,Z~fdaA`FBIT;hmA<7QC1>[u])  u1V(k1S) - 0 B2* %M ;W(0S[T]I) A 5%R7&&T,Xq&&1X,LΒw%%;#!"&5463!546;2!2!+"&52#!"/&4?63!5! (&&@&&(&&@&&( (  &&@&&@&&&&  #''%#"'&54676%6%% hh @` !   !    #52#"&5476!2#"&5476!2#"'&546        @  @  @    84&"2$4&"2$4&"2#"'&'&7>7.54$ KjKKjKjKKjKjKKjdne4" %!KjKKjKKjKKjKKjKKjK.٫8  !%00C'Z'.W"&462"&462"&462 6?32$6&#"'#"&'5&6&>7>7&54>$ KjKKjKjKKjKjKKjhяW.{+9E=cQdFK1A  0) LlLjKKjKKjKKjKKjKKjKpJ2`[Q?l&٫C58.H(Yee    Y'w(O'R@$#"&#"'>7676327676#" b,XHUmM.U_t,7A3ge z9@xSaQBLb( VU  !!!==w)AU!!77'7'#'#274.#"#32!5'.>537#"76=4>5'.465! KkkK _5 5 #BH1`L I& v6S F!Sr99rS!`` /7K%s}H XV P V  e  Vd/9Q[ $547.546326%>>32"&5%632264&#"64'&""&'&"2>&2654&#";2 P 3>tSU<)tqH+>XX|Wh,:UStW|XX>=X*  ))  +^X^|WX=>X:_.2//a:Ru?  Q%-W|XW>J( =u>XX|WX`  *((*  +2 2X>=XW|E03>$32!>7 '&'&7!6./EUnohiI\0<{ >ORDƚ~˕VƻoR C37J6I`Tb<^M~M8O  5!#!"&!5!!52!5463 ^B@B^`B^^B `B^^"^BB^0;%'#".54>327&$#"32$ !"$&6$3 ##320JUnLnʡ~~&q@tKL}'` - -oxnǑUyl}~~FڎLlLt`(88(   7!' !\W\ d;tZ`_O; }54+";2%54+";2!4&"!4;234;2354;2354>3&546263232632#"&#"26354;2354;2354;2````pp```  !,! -&M<FI(2 ```@PppPpppppp# #   ppppp j#"'&=!;5463!2#!"&=#".'.#!#"&463232>7>;>32#"&'#"!546 %. `@` :,.',-XjjXh-,'.,: kb>PppP>bk .%Z & :k%$> $``6&L')59I"TlԖlT"I95)'L&69GppG9$ >$%k: !+32&#!332 $&6$ ~O88OLlL>pN  iLlL '':Ma4&'#"'.7654.#""'&#"3!267#!"&54676$32#"'.76'&>$#"'.7654'&676mD5)  z{6lP,@KijjOoɎȕ>>[ta) GG 4?a) ll >;_-/ 9GH{zyN@,KԕoN繁y! ?hh>$ D" >â? $ n"&5462'#".54>22654.'&'.54>32#"#*.5./"~~s!m{b6# -SjR,l'(s-6^]Itg))[zxȁZ&+6,4$.X%%Dc* &D~WL}]I0"  YYZvJ@N*CVTR3/A3$#/;'"/fR-,&2-" 7Zr^Na94Rji3.I+ &6W6>N%&60;96@7F6I3+4&#!"3!26%4&#!"3!26 $$ ^aa`@@^aa '7  $ >. %"&546;2#!"&546;2#/a^(^aa(N@@4&#!"3!26 $$ @@^aa`@^aa '  $ >. 7"&5463!2#/a^(n@^aa(N@ %=%#!"'&7!>3!26=!26=!2%"&54&""&546 ##]VTV$KjKKjK$&4&Ԗ&4&>9G!5KK55KK5!&&jj&&#/;Im2+#!"&'#"&463>'.3%4&"26%4&"26%6.326#>;463!232#.+#!"&5#"5KK5sH..Hs5KK5e# )4# %&4&&4&&4&&4&` #4) #%~]eZ&&Ze] E-&&-EKjKj.<<.KjK)#)`"@&&`&&&&`&&)#`)"dXo&&oXG,8&&8!O##!!2#!+"'&7#+"'&7!"'&?63!!"'&?63!6;236;2!2@@8@7 8Q NQ N 8G@ 8GQ NQ N7   8 8  H H  k%  ".>2I20]@]@oo@@oo㔕a22]]p^|11|99|11|(%7'7' ' 7T dltl)qnluul)1$4&"24&"2 &6 +"&5476;2 &6 LhLLhLLhLLhL>  &   &`>hLLhLLhLLhL>&&>G  .7)1!62 1!62he220e22> v +4 [d+ d 135#5&'72!5!#"&'"'#"$547&54$ Eh`X(cYz:L:zYc\$_K`Pa}fiXXiޝfa  (+.>#5#5!5!5!54&+'#"3!267!7!#!"&5463!2U``'    jjV>(>VV>>Vq  ( ^(>VV>>VV=&'&'&'&76'&'&.' #.h8"$Y ''>eX5, ,PtsK25MRLqS;:.K'5R ChhRt(+e^TTu B"$:2~<2HpwTT V/7GWg. %&32?673327>/.'676$4&"2 $&6$   $6& $&6$ d -- m  ,6*6,  mKjKKjoooKzz8zzȎLlLU4>>4-. YG0 )xx) 0GYޞ .jKKjKqoooolzzz80LlLD/7H#"'.7'654&#"'67'.6?>%"&46227#".547|D,=),9#7[͑fx!X: D$ +s)hhijZt<F/*8C,q؜e\r,WBX/C2hhh=tXm>NZ+"&=46;2+"&=4>7>54&#"#"/.7632  >. $$ p=+& 35,W48'3  l zffff^aaP2P: D#;$# $*;? R Cfff^aa'Y >O`"&5462&'.'.76.5632.'#&'.'&6?65\\[( | r [A@[[@A#2#  7* <Y$  +}"(  q87] F  _1 )    #1Ke34&+326+"&=!#!"&763!2#!"&5463!2#>?4.'3#>?4.'3#>?4.'3Xe`64[l7  , L; =+3&98&+)>>+3&98&+)>=+3&88&+)> Wj|r >Q$~d $kaw+-wi[[\;/xgY $kaw+-wi[[\;/xgY $kaw+-wi[[\;/xgYJ\m4.'.'&#"#"'.'&47>7632327>7>54&'&#"327>"&47654'&462"'&476'&462"'&47>&'&462i$ $^"  %%  "^$ $W "@9O?1&&18?t@" W&%%&4KK6pp&46ZaaZ&4mttm ^x -  - x^ = /U7C kkz'[$ =&5%54'4&KK4r7>54 "&54>2"&462%"&54&#""&546 %#"&'&'.7>#"'&'.7>&4&&4&4&&4SZ&4&&44$#&&&j3$"('$&4&[՛[&4&&4F&4&]\&4&$  !D4%  ,\44&&4&4&&4&-Z4&&4&;cX/)#&>B)&4&j9aU0'.4a7&&u՛[[4&&4&@&&]]&&Ώ0 u40 )4#g&'.#"32676%4/&#"326'&#"2632#2+&'%#"'&6?676676632%#"'&6767#"&'&6767#"'.7>327"#"&'&6763"'.7>;7632;>%5K$ "0%>s$ "0%>;;>%5KVL#>H30 \($$(\( єyO2F/{(?0(TK.5sg$ єy#-F/{$70(TK.5sg$L#>H30 \($$(\#(@5"'K58!'"58!'"55"'K#dS$K K$Sdx#@1 w d>N;ET0((? - 2K|1 wd#N;ET0$(? - 2K$#dS$K K$SdxDN\2654& 265462"2654 #"32654>7>54."/&47&'?62 &4&&4&h՛[&4&r$'("$3j&&&#$4[ " @ GB[ "&&Β&&][u&&7a4.'0Ua9j&4&)B>&#)/Xc;u՛ "  " Gi[ Xh#"&54676324&'&#"'>54#"32#"54>54'.#"32>7>767632326#!"&5463!2b )   :4FDN  [1,^JK-*E#9gWRY vm0O w@wwwC22 c@X&!9{MA_"S4b// DR"XljPY < @www%e4.#"32>7676#'.#"#"&54>3232>754&*#"&54>763 >32 ''il$E/  @P@ ^`'W6&!.. ! -P5+ E{n46vLeVz:,SN/ M5M[  ]$[^5iC'2H&!(?]v`* l b$9> =R2 #"&5467%!"&7>3-.7>;%.7>322326/.76/.'&6766/&/&#"&676 &676&6766/&672? =1( H/ '96&@)9<')29% &06##$ J 0 7j)5@"*3%"!M %#K"%Ne 8)'8_(9./=*%8!Q #P"\Q#N&a)<9bR]mp%"'.'&54>76%&54763263 #"/7#"'#"&/%$%322654&#"%'OV9  nt  |\d ϓ[nt  |@D:) ;98'+| j," 41CH^nVz(~R 9\'  r  @L@  @w46HI(+C ,55, f[op@\j;(zV~i/5O#"'&54>32&#" 654'67'"'>54''&'"'6767&546767>7蒓`V BMR B9)̟!SH-77IXmSMH*k#".o;^J qןד>@YM $bKd ү[E";Kx%^6;%T,U:im=Mk).DT4'"&5463267&#" 6;64'.'4'>732676%#!"&5463!2),蛜s5-54&#"#"'654'.#"#"&#"3263232>3232>76 $$ Cf'/'% ( $UL ( #'/'@ 3#@,G)+H+@#3 ^aaX@ _O#NW#O_ .* ##(^aaq[632632#"&#"#".'&#"#".'&54767>7654.54632327&547>P9 B6?K? %O4T% >6>Z64Y=6>%S4N$ ?L?4B @{:y/$ ,'R! F! 8% #)(()#%: !F Q'+%0z:zO_4'.'&54>54&#"#"'654'.#"#"&#"3263232>3232>76#!"&5463!2Cf'.'% ( $VM  ) #'.'@ 3 #A,G)+H+A# 4 w@wwwXA  ?4N$NW&M&L  /* ## + @www O$>?>762'&#"./454327327>7> EpB5 3FAP/h\/NGSL  RP* m95F84f&3Ga4B|wB.\FI*/.?&,5~K % & Y."7n< "-I.M`{ARwJ!FX^dj''''"'7&'7&'7&'7&547'67'67'67'63277774$#"32$   *'ֱ,?g=OO&L&NJBg;1''ֱ.=gCIM $'&&NJBg=.%w؝\\w Ioo<<-NIDg=/%(ײ+AhEHO*"#*OICh=/'(ֲ/=h>ON.]xwڝ]7e[@)6!!"3#"&546%3567654'3!67!4&'7Sgny]K-#75LSl>9V%cPe}&Hn_HȌ=UoLQ1!45647UC" !-9[nx"&46254&"326754&"326754&"26754&"26#".547632632626326'4#"#"54732764&"264.#"327632>#"'"'#"'#"&5#"'67&'327&'&54>3267>7>7>32632632T"8""8)<())(<))))<))<))<))<) Tد{ՐRhx=8 78 n 81 pH_6Soc F@b@?d?uKbM70[f5Y$35KUC<:[;+8 n 87 8/8Zlv]64qE 'YK0-AlB; W#;WS9 &(#-7Z://:/Tr++r,,r++r,,r++r,,r++r,,ʠgxXVעe9222222^KVvF02OO23OO`lF;mhj84DroB@r+@222222C0DP`.r8h9~T4.&o@9 1P%14'!3#"&46327&#"326%35#5##33 $$  }Pcc]321IUΠ?LL?cc4MX &04;0XpD[[DpD,)&&Q 9V\26&".'&'&6?.#"#26327677>'32>&3#'&+"?626&"#!'.'!"&5463!>;26;2!2P P  92#.}SP9::%L \B )spN/9oJ5  !+D`]BgY9+,9% Pk 4P P &NnF!_7*}B<{o0&&B;*<@$ucRRc#@16#37c&@@@ J"@*4^`ED B o/8927 *@OLC!T!323X$BJ@@@&AS 0C 59" 'D/&&D4 88 $5A&%O#!"&547>7>2$7>/.".'&'&2>^B@B^ >FFzn_0P:P2\nzFF> R & p^1P:P1^ & R P2NMJMQ0Rr.B^^B 7:5]yPH!%%"FPy]5:7 = 4 QH!%%!Ht 4 =<"-/ ?1Pp+".'.'.?>;2>7$76&'&%.+"3!26#!"&54767>;2' +~'*OJ%%JN,&x' % ^M,EE,M7 ZE[P*FF*P:5  ^B@B^){$.MK%%KM.$+X)o3 "a 22!] 4  I>"">,&S8JB##B12 ` `B^^B8&ra#11#$R&  "&.2v%/%''%/%7%7'%7'/#&5'&&?&'&?&'&7%27674?6J" 0<=_gNU?DfuYGb7=^H^` =v~yT3GDPO 4Fѭqi_w\ހ!1uS%V_-d 1=U{J8n~r'U4.#".'"3!264&"26+#!"&5463!232+32+32 0P373/./373P0 T=@=T֙֙|`^B@B^^BB^`````*9deG-! !-Ged9IaallkOB^^BB^^B +Yi"&54622#!"&54>;2>+32+32+#!"&5463!2324&#!"3!26֙֙0.I/ OBBO -Q52-)&)-2 ``  ``  `^B@B^^BB^`  @   |kkl"=IYL)CggC0[jM4      B^^BB^^B @  @ !1AQu4.#".'"3!24&"254&#!"3!2654&#!"3!2654&#!"3!26#!54&+"!54&+"!"&5463!2)P90,***,09P)J66S"@8@^B@@B^^BB^Ukc9 9ckU?@@88 @@N@B^````^BB^^!1AQu#!"&4>32>72"&462#!"&=463!25#!"&=463!25#!"&=463!24&#!"3!546;2!546;2!26#!"&5463!2J66J)P90,***,09P)"@8@ @  `@@` ^B@B^^BB^ՀUUkc9 9c`@@88@@2  @ ````@B^^BB^^(%.'"&' $&  #"$&6$ wCιCwjJ~J>LlLśJSSJ͛>6LlL$,  $&6654&$ 3 72&&  lLmzzBl>KlLGzzG>'7#!"&54>7&54>2  62654' '3/U]B,ȍ,B]U/OQнQ>+X}}X0bӃۚӅb0}hQQh>ff#=#!"&4>3272"&462!3!26#!"&5463!;26=!2J66J)Q8PP8Q)  ^B@B^^B``B^VVVld9KK9d` @B^^BB^``^+;K[eu4.#"'"3!264&"254&#!"3!2654&#!"3!26%54&+";2654&#!"3!26!54&#!"!#!"&5463!2"D/@@/D"?,,?pppp@@@@^B@B^^BB^D6]W2@@2W]67MMppp@@@@@@@@n`@B^^BB^^+;K[eu#!"&54>3272"&462#!"&=463!2%#!"&=463!2+"&=46;25#!"&=463!2!3!26#!"&5463!2?,V,?"D/@@/D"pppp@@@  ^B@B^^BB^D7MM76]W2@@2W]֠ppp@@@@@@@@` @B^^BB^^A#"327.#"'63263#".'#"$&546$32326J9"65I).!1iCCu +I\Gw\B!al݇yǙV/]:=B>9+32%#!"&5463!2#"&54>54'&#"#"54654'.#"#"'.54>54'&'&543232654&432#"&54>764&'&'.54632  ?c'p& ?b1w{2V ?#&#9&CY' &.&#+B : &65&*2w1GF1)2<)<'  ( BH=ӊ:NT :O )4:i   F~b` e!}U3i?fRUX|'&'&Ic&Q  *2U.L6* / L:90%>..>%b>+ +z7ymlw45)0 33J@0!! TFL P]=GS -kwm  !*(%6&692? $&6$  '   al@lLlL,& EC h$LlL /37;%"&546734&'4&" 67 54746 #5#5#5ppF::FDFNV^fnv~"/&4?.7&#"!4>3267622"&4"&46262"&42"&4462"$2"&42"&4"&46262"&4"&46262"&42"&4$2"&42"&42"&4  R ,H8JfjQhjG^R,  !4&&4&Z4&&4&4&&4&4&&4&&4&&44&&4&4&&4&Z4&&4&4&&4&4&&4&4&&4&4&&4&&4&&4&Z4&&4&Z4&&4&  R  ,[cGjhQRJ'A, &4&&4Z&4&&4Z&4&&4Z&4&&444&&4&&4&&4Z&4&&4Z&4&&4Z&4&&4&4&&4Z&4&&4Z&4&&4&&4&&4Z&4&&4Z&4&&4%-5=EM}+"&=#!"'+"&=&="&4626"&462&"&462"&462&"&462&"&462#!"&=46;4632676/&?.7&#"!2"&462&"&462&"&462"&462&"&462&"&462"&462&"&462"&462@?AA? @ @R...R@`jlL.h) * * $ %35K.....uvnu....@@jN  * * .t2#K5..R..R. @Hq '&'&54 &7676767654$'.766$76"&462&'&'&7>54.'.7>76ȵ|_ğyv/ۃ⃺k] :Buq CA _kނXVobZZbnW|V 0  Q2- l}O  / :1z q%zG 4( 6Roa ą\< )4 J}%!!#!"&5463!2^B@B^^BB^`@B^^BB^^%#!"&=463!2^B@B^^BB^B^^BB^^ &))!32#!#!"&5463!463!2`B^^B^B@B^^B`^BB^^B@B^B^^BB^`B^^#3%764/764/&"'&"2?2#!"&5463!2    s^B@B^^BB^ג     @B^^BB^^#'7"/"/&4?'&4?62762!!%#!"&5463!2     ^B@B^^BB^    `@B^^BB^^ ! $&6$ .2r`LlLf4LlL#.C&>"'&4762"/&4?62'"'&4762%'.>6.'.>6'>/>76&'&.'&7&'">?4'.677>7.>37654'&'67>776 $&6$  ( 4Z# # & # # & y"6&.JM@& "(XE* $+8 jT?3#'.'&!3!2>?3.'#!57>7'./5!27#'.#!"g%%D-!gg<6WWZe#1=/2*]Y3-,C1 /Dx] VFIq-HD2NK '>*%R= f 07=. f D]\|yu,0>Seu#2#"'&5<>323#3#&'#334'."#"+236'&54.#"5#37326#!"&5463!2 <  zzj k-L+ )[$8=".un/2 ^B@B^^BB^5cy    (ݔI(8?C (3> #"($=@B^^BB^^0K S&'.'&'./674&$#">&>?>'76'# "&#./.'7676767>76$w .~kuBR] T%z+",|ޟj<)(!( ~ˣzF8"{%%#5)}''xJF0"H[$%EJ#% .Gk29(B13"?@ S)5" #9dmW";L65RA0@T.$}i`:f3A%% BM<$q:)BD aa%`]A &c| Ms!  Z 2}i[ F&** < ʣsc"J<&NsF% 0@Wm6&'.6$.7>7 $76".4>2., &>6'"'&7>=GV:e #:$?+% q4g &3hT`ZtQмQQмpAP1LK!:< }҈`dlb,9'  %%($! a3)W)x  оQQоQQcQǡ-җe)Us2XD\ϼYd /?O_o#"=#"=4;543#"=#"=4;543#"=#"=4;543#"=#"=4;543#"=#"=4;543%#!"&5463!2++532325++532325++532325++532325++53232p00pp00pp00pp00pp008((88(@(80pp00pp00pp00pp00pp0     @(88((88     /Q/&'%&/"&=.6?&?&'&6?'.>-#".6?'.>'&6'.>54627>%>76#"'% %6 27 2G f!)p&4&p)!f G2 72  *6 " 47 2G f!)p&4&p)!f G2 72 " 6* !k 3 j&3 %,*&&ր*9% 3&j 3 k!./!>>$,*!k 3.j&3 %Ԝ9*&&ր*ǜ,% 3&j 3 k!*,$>>!/.&6.'&$ &76$76$PutۥiPuGxy Զ[xy -_v١eNuv١e =uʦ[t78X &6# #'7-'%'&$  $6 $&6$ 31NE0gR=|||">"LlL^v!1f2iЂwgfZQQ^>"||||wLlL &ZXblw.'&>'&'&".'.'&&'&'&7>767>67>7626&'&>&'&>'.7>.676'&'&'&'.67.>7>6&'&676&'&676.676&'&>&'&676'.>6/4-LJg-   $  6)j2%+QF)b3FSP 21DK2AW ") ")$? ? 8A& AE5lZm= gG2Sw*&>$5jD GHyX/4F r 1  1""!l=6> 6 ,5./'e    .*|Ed! u & &%& &5d ))66 @ C& 8B @qL?P^7 G-hI[q:"T6 ,6 &/`  L wQ'   A ^   "  $& _  y  * <Copyright Dave Gandy 2016. All rights reserved.Copyright Dave Gandy 2016. All rights reserved.FontAwesomeFontAwesomeRegularRegularFONTLAB:OTFEXPORTFONTLAB:OTFEXPORTFontAwesomeFontAwesomeVersion 4.7.0 2016Version 4.7.0 2016FontAwesomeFontAwesomePlease refer to the Copyright section for the font trademark attribution notices.Please refer to the Copyright section for the font trademark attribution notices.Fort AwesomeFort AwesomeDave GandyDave Gandyhttp://fontawesome.iohttp://fontawesome.iohttp://fontawesome.io/license/http://fontawesome.io/license/      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab cdefghijklmnopqrstuvwxyz{|}~"      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~glassmusicsearchenvelopeheartstar star_emptyuserfilmth_largethth_listokremovezoom_inzoom_outoffsignalcogtrashhomefile_alttimeroad download_altdownloaduploadinbox play_circlerepeatrefreshlist_altlockflag headphones volume_off volume_down volume_upqrcodebarcodetagtagsbookbookmarkprintcamerafontbolditalic text_height text_width align_left align_center align_right align_justifylist indent_left indent_rightfacetime_videopicturepencil map_markeradjusttinteditsharecheckmove step_backward fast_backwardbackwardplaypausestopforward fast_forward step_forwardeject chevron_left chevron_right plus_sign minus_sign remove_signok_sign question_sign info_sign screenshot remove_circle ok_circle ban_circle arrow_left arrow_rightarrow_up arrow_down share_alt resize_full resize_smallexclamation_signgiftleaffireeye_open eye_close warning_signplanecalendarrandomcommentmagnet chevron_up chevron_downretweet shopping_cart folder_close folder_openresize_verticalresize_horizontal bar_chart twitter_sign facebook_sign camera_retrokeycogscomments thumbs_up_altthumbs_down_alt star_half heart_emptysignout linkedin_signpushpin external_linksignintrophy github_sign upload_altlemonphone check_emptybookmark_empty phone_signtwitterfacebookgithubunlock credit_cardrsshddbullhornbell certificate hand_right hand_lefthand_up hand_downcircle_arrow_leftcircle_arrow_rightcircle_arrow_upcircle_arrow_downglobewrenchtasksfilter briefcase fullscreengrouplinkcloudbeakercutcopy paper_clipsave sign_blankreorderulol strikethrough underlinetablemagictruck pinterestpinterest_signgoogle_plus_sign google_plusmoney caret_downcaret_up caret_left caret_rightcolumnssort sort_downsort_up envelope_altlinkedinundolegal dashboard comment_alt comments_altboltsitemapumbrellapaste light_bulbexchangecloud_download cloud_uploaduser_md stethoscopesuitcasebell_altcoffeefood file_text_altbuildinghospital ambulancemedkit fighter_jetbeerh_signf0fedouble_angle_leftdouble_angle_rightdouble_angle_updouble_angle_down angle_left angle_rightangle_up angle_downdesktoplaptoptablet mobile_phone circle_blank quote_left quote_rightspinnercirclereply github_altfolder_close_altfolder_open_alt expand_alt collapse_altsmilefrownmehgamepadkeyboardflag_altflag_checkeredterminalcode reply_allstar_half_emptylocation_arrowcrop code_forkunlink_279 exclamation superscript subscript_283 puzzle_piece microphonemicrophone_offshieldcalendar_emptyfire_extinguisherrocketmaxcdnchevron_sign_leftchevron_sign_rightchevron_sign_upchevron_sign_downhtml5css3anchor unlock_altbullseyeellipsis_horizontalellipsis_vertical_303 play_signticketminus_sign_alt check_minuslevel_up level_down check_sign edit_sign_312 share_signcompasscollapse collapse_top_317eurgbpusdinrjpyrubkrwbtcfile file_textsort_by_alphabet_329sort_by_attributessort_by_attributes_alt sort_by_ordersort_by_order_alt_334_335 youtube_signyoutubexing xing_sign youtube_playdropbox stackexchange instagramflickradnf171bitbucket_signtumblr tumblr_signlong_arrow_down long_arrow_uplong_arrow_leftlong_arrow_rightwindowsandroidlinuxdribbleskype foursquaretrellofemalemalegittipsun_366archivebugvkweiborenren_372stack_exchange_374arrow_circle_alt_left_376dot_circle_alt_378 vimeo_square_380 plus_square_o_382_383_384_385_386_387_388_389uniF1A0f1a1_392_393f1a4_395_396_397_398_399_400f1ab_402_403_404uniF1B1_406_407_408_409_410_411_412_413_414_415_416_417_418_419uniF1C0uniF1C1_422_423_424_425_426_427_428_429_430_431_432_433_434uniF1D0uniF1D1uniF1D2_438_439uniF1D5uniF1D6uniF1D7_443_444_445_446_447_448_449uniF1E0_451_452_453_454_455_456_457_458_459_460_461_462_463_464uniF1F0_466_467f1f3_469_470_471_472_473_474_475_476f1fc_478_479_480_481_482_483_484_485_486_487_488_489_490_491_492_493_494f210_496f212_498_499_500_501_502_503_504_505_506_507_508_509venus_511_512_513_514_515_516_517_518_519_520_521_522_523_524_525_526_527_528_529_530_531_532_533_534_535_536_537_538_539_540_541_542_543_544_545_546_547_548_549_550_551_552_553_554_555_556_557_558_559_560_561_562_563_564_565_566_567_568_569f260f261_572f263_574_575_576_577_578_579_580_581_582_583_584_585_586_587_588_589_590_591_592_593_594_595_596_597_598f27euniF280uniF281_602_603_604uniF285uniF286_607_608_609_610_611_612_613_614_615_616_617_618_619_620_621_622_623_624_625_626_627_628_629uniF2A0uniF2A1uniF2A2uniF2A3uniF2A4uniF2A5uniF2A6uniF2A7uniF2A8uniF2A9uniF2AAuniF2ABuniF2ACuniF2ADuniF2AEuniF2B0uniF2B1uniF2B2uniF2B3uniF2B4uniF2B5uniF2B6uniF2B7uniF2B8uniF2B9uniF2BAuniF2BBuniF2BCuniF2BDuniF2BEuniF2C0uniF2C1uniF2C2uniF2C3uniF2C4uniF2C5uniF2C6uniF2C7uniF2C8uniF2C9uniF2CAuniF2CBuniF2CCuniF2CDuniF2CEuniF2D0uniF2D1uniF2D2uniF2D3uniF2D4uniF2D5uniF2D6uniF2D7uniF2D8uniF2D9uniF2DAuniF2DBuniF2DCuniF2DDuniF2DEuniF2E0uniF2E1uniF2E2uniF2E3uniF2E4uniF2E5uniF2E6uniF2E7_698uniF2E9uniF2EAuniF2EBuniF2ECuniF2EDuniF2EE=O<01hooniprobe-2.2.0/ooni/ui/web/client/fonts/charter-bold.78342dfad83c591ee5e926f2ffbd0671.woff0000644000175000017500000006741413071151301026326 0ustar irlirlwOFFo ̄FFTMhDGDEF OS/2Q`KcmapC%cvt ,,&fpgmeS/gaspglyf`i(~Cheadf56 hheafH $]hmtxfhA%|locah'maxpj znamejbV6ypostmmյprepntŻ webfouQ=Fcxc`d``b `b`@17xc`b´iSCfD@AeQ1o&_n1_axSi>R`` exc```f`F1, 7%Pǰ?!c0c"cc$LwD \0fWa!:G ZcL7$dz,zo_?X~}p{~̻%On&01522 &t aaecWPTRVQUS70426153wptrvqus  OHdhim8m,^|U׮Y~M[mݵs)we=.dhPV v]vòI r144O=|7^ΰ#=S~޾S&͚=gϝt ^8-1<AOW{I{?FswoQacx]QN[A  9{ Սbd;i7rq@D گH!H|B>!3k4;;sΙ3KʑwkS$6NH덌Zlfu є;j=o)M;Z ;4: !qKͺb00.?R4j˰Ѽ34@Skm!qK˦6$tUS]`*́Vy &ҷ$, b 9@HƼIJ;ㆵƑ6O'ӿZxڼ [Wu7Ӿ=}GH3Ҍ4f;cIv$$!!!xOl)(W+aiʴX?'ⱓ@9ugtak^׶z >sġ;p˄͠a0鸎4;Oq&N\KqsuȱJR;]w^R 5#\ү&(Uf 7ʯ3saܵ3&F~AB:1kH䔤]5oyB:5tU.U ')C,xn߹lrr d"x!?}ő]u ĩ]/w\Aju2}Uq>1tQI3pHQ-/ʊESAPeJrI ڢoQ-1~x%]RZQI̎)P+硚,IS-ŏʃJRݬ>UUoH@ zC.eV]r;]o/L+m>x`d|pǦ.k߻q|]tuڲzyKLeX2 z|=45%u&ԞN5UM)-sͩbd2 "oQr m-dsQ1騸5:X ] n0IДP_9ńhZ 7F5[ dǣ_Y1We>|Uͳw9'[ z_I\ƌXzW/`) ̓yq3 lqϣ{_lq+zpl$Z|` zP,Ҕ LXyQ ^Q ..N0ok'x+C௕nv^SHV!%+Csr:17ǸvsK8hld^'TDZ'e0Ytdl6ᥙ3FZ)K?wRJJ~wD 4g64{Gg6p?n'a 7T9('\!ݔx=AGH`\1NGs[nv]bĢ޵W麧$A`%LALhǁ8#hN|ybn3^QFDAg2纵[6 6{m%E9XX +D癧?O$N(1Z'4_ȿuJK1Dl] |4VЀάf>aLN*F۴l8G٦Q#3@-ѣ¦NKuZ'$0ˉ]z=_~/}l2 ~[dBw1hO/eIEkk-ZT/-Ą?vҶjY)s\|fwWz\ԖJz d>9\ gG9Pl/qn:HPd-AAzD Q1 @bDVkB C2ap*iZv@1I6]@_ҙWCTR=*fm ebv_,]3JkWO4=guO{_y42.ӭ$フ 5B&2q҆ϻf5'|? GwG5-Xq&DIZR Mn6n2RKƩh41M8 &6+3eOVk~6';%^Nՙ7x(w Wui IQ6\TG^!,x^ P'7?ﺝT`y⨭"MxJ/xe5+14pq;VE.n'\Mn!w71>p߷yÕMK 9mg~wFpE0z}A};aw9EwC3FphM3H-%!K31kvJ.˹=78nv݃Geѕ#_ZGv^s-aꜙV&6&΁Pp1t&&X (&XD&z=1 W ȍ 7x)hNO=7^Hin ]8 s^{yAE>0n'e԰RX!Ju=GzGU0_2L/n48=(3&:e\A:]mgبy(Ypۈf~9@A4~uK/mN>Zo(DHZ`bW, q{T+ݤsLǼ_z_uKμI^]p RYhfsSWҠ\E{K6e{!1$R][ˢ]41$ibԏ'Ķnur7~oG4[2s^>ꎅ’tَ;K-ěhWw[b݈Zk} 80(&CYaƲvd.sv,@0ꆒ@luu06$PlVkͺ÷Ћ/]yYW!Q"]y;o`Bض!c{^Ȼ]ץ;%+W,'1v4|SZ{VUX˙ iRK6eD\ 44@nnTY;Y${T%2LtBg?O+]vuȹ﹠J?펇MKu{/` `.v^Vuh =ne/]Bf!lqAzh,hfW,I$yz 7nxl/9w^Ecćq8IĵF xW@ n363D3& k.QN~~r4"Dk&0(l-dE6QkLY(|tZ@?Ync kjMߴsŃtH^II鷓v_"-Ij_oL@%yi=A РC/8;RTiЂx$x$DI% ;-(PQ3d(~nC%~foeKacb@V2 #0DBQ pT|)qwrw0)!M6qX{|M۪UiP&"ƸǸz L.,Cx#h2= &qU@R=DMVsv cW$paOGP l™FXՃ3T,^ ,`bƮV6 W+V9홮#7vWԠxͥl~O^5-ί?Ѓ$q[-pRڄ5J!HRǨbIڭ&6woD\[3wƕK<~ԆR=M,)h%4m{I[o\ $n&갽cqe8?d~^z ^[ [嶵M%i[a&V:g]uΜioq Q =aANp֙wU}{@%dQKX =5 N Nf~<('#Y4[%%#E(h]x+?'Nx˭ldQoգc܍)ZR- a#NfZ TJ4A8f :He'K dECmDdn!!1LAqhB4lpeYsJߛ$Wj4g`Uݰ.c-RBe17i @b8XUh>Zh#F6jcXvxH+Pf;鉶w w{,sV`1Ԡq3_RG= =o072=̉?Čx %MR%u1-X5mݕe58xMjVȷ=zqPS?C:eUe[YqT2:7`t+]^_{@)2?eٴ-PZ b",ܒ[v *Zn:qK)I~*)9F~>$i>+|! 6;sNchto:==F/ `?? Wsu+E)a4Hsv RYdIWɇOXE KZ;\t/ҋnȗ>t͇nrlzfy?m_蝏?z]=B# P-쨣 sJvkm4H1b{.-9Xh8h^agaaI, [h1hqet.(73,B$'}۾C̏\҃jmk33Hs7A˱Mh!1$B@92A f&-A +t8NC6901R<%ҼHw>x=?4{{n×mx-W]tC{xZvoi:Q=VQzZ뀖K(p;K“\b0n"#@kr bWDG7NڗlD8v߇ƃ:7Ov~A3wcr9_uiDYk6/:/K***MIJ: a] 9hyӾ;1jAN=9Od{IW\6mEJl.焢7)N4W'XQ֟M:W>Oѿ((.Qvg&>3xi7$dTL7|{Q7E#Kl:oIzFiTR$5<яh:)ބ,U!Q4WN;ja /l!Qz9$zN4s'`дxEc!Ҁ?:..k~xh4CAW*鄯 f4Zx ̵b&5)=g0IEGǒBA'qLfQ$5ͬ{"`oXv#") ?m> Ace/X/UN+0λf_ \V#P[TV#u)W3'wۣަY9p*Ssys)jg߳)a yr )-# z@pBM1~'e f)s>J?9*o5a[dMYX-;q&?`977 /W_ [CnE^9r8(4wkM7YR_e4KcaM4xgV{h@cF.{[ZƿzSW=7j=\=/`H Ai4~0_jhRA <̌sYV; sAIo18.znfFU6V5 ɄZ"Ŝ@7^PqMJݶ{۲Ѕ_2//^~WM:7<.ѹff$3A n);aӴ?IukxWӂ8b FvtMs+&KIVrV`fQeI$#9g馇z6,zGW8fqrr?Sl>_vo9߈z-./y\Og!hM0cՒ`$ˠWGkDDKw=穵`2<+לvs͓w]p?b$Ds`+*w;@ז]`oW+(> %:d`4LF6՞ C)UShUW *1`HaXk[INʬvI8͎ʗW} mrewsOf.]wN~͑805Y`m_3p%L0aoAI6ѐDJtM&\D $kQ֚I|ZT,0˚ߺܭ.9r;W=lU]=tϔet*5G/\}ŀ~)N[Y4&Վ Tw3\^ЅoуDhIUv2ؘՉ|ypW;ĥ_t5l<ښ=bn>m :hGb&A\tA;a6 (UTrh3sc?am`c:`W|`\C_n#`Ֆ0ƣ'>xK+pEO(7rX|~ݓ rSHO/_uvAKe3_-(9^Raf!ߛþ@]~I6`+U/XK,ҦxPhYaFI: 6DV^r՞+:jl,솉Re4%Huw'҅!m[U ҙU _YupͺΡj&1 Ir@et6VޏrO2/y৸e:ͅ9xFh& #4P"A0^Q19K{ zLFaYdCvqvRZjV+%>sݶy1dz,PgٵZ I5+R9+=& S)6D6Aᚓl,4vJA#N-M̑ <'hOZ+[߲m r(la%\4<~ E{ c4&h.08~.Sӊ ZgB3%h~-/ta(15tӒ+n!hR{]ز"y V7TչI MSr<<`O VzW]W}ͦ+mWpX8F,cE3GЦDڴZϬ_:mO T?Gʇ]z?'sj¾r0W復ŝ|7ѓ +vP6T5:B/0g\rAT20=iZˤ;1KuN/z`qf&g$ 7nzlf{.yн|oOe/z&ZZ]խ~S)9A=a~d̗ -RmM'&|2k6g1{Mf<XjOOB|n[MMv(P*ki&9\eUؗtWuWshe`to}5ʡ~{f:K`D|5^@ǘc-R\ZО7Lr` N4lHsXb ”1SS&TPEUs" ϟtX{czpC,tX`x춃yP1A ΗOn?w?\9PZD.K Rvz/Ѥ:eosNq .7O>IA,de]nbgܭ/o5tĵn?mwA+|x˱; dn/'iO~t`F {:`G_1VkGjk!QKhOu59qh8ix~Z2$[.O{ Kɣ`w5r֢ykNI4=Y#KLЛ|o~pcV'iޏKIĕ e L k>wX̙l%䫈vflMRl%-8/^-g;9; Ȍf޺:QaYavé&l1,d]+[hi4\7Cɞy !O79CO#vw$u'a,례nC ?Oh5Zm>Z5FSIݑ&K˔VQd;:CN1Hht\hvI $ý<'=.90+OAn^N^9|WUwr#_8-.!nՔ;ͷNsAײᚽm3T4p׾+{3N 4_!{g>|zc9;aangwSVwyCm [FHE)"ne`aX}]"QGn}+[^sI]4rzu7 gԕ1 p->*r"~Hk  W5f|2SDS{KRyu|^/4|̟;o'A>u|f~|y]chIs\ AG:)NR蜢1Φ-L6៴}7>o.%GM5/x;s=y2vrPbvIDPHV4s6,JSa`Cor"X?D Zם`ExkܫJYgΥ1j+6\Wf|ΪUR!nX5H;3.ߢխLyyEt{~[>Fa/84ۇ^b׵aԕ9-|'數nj45vg_-Kl( OQ ];f*u{JK4vk|U jMVۦsǖo^1Hj6H\y:44R}D+G|ʔQgvL>r{tY+w l9Vf;#&:ŐG놃{vZ VIYsrI4Yupo%sݎp?$!0G늵YjEB_A*Zp};\?ƺXf%%KJx\7f1wI#h<*Rz-v.jvh"RCy/ LGDkg FKX#XY<Kzv:")DP~ 2tCXG*nV^|ݎQݚX}Nar'Sfy]70LmyQ?-KSnΎԵqVRPi'?|huAL.gK\TCvg5v6fk}S=[IVʳf Drܝ,.]3EX/^[i߶MGBkiO$mZ簔f4e:=/Jr90ffj#x`) D a;ݣҔa&:"0E>MHSDlr(3F}L H,18]A'ӽ|7[S] 7]i՛no=nv7KC7 n0`KPiٷX}(DiO}#o'2CC8Jnh2X[t': %K9V=9ed:zKaX;@n'*NN?b7zqn{/N6~{/W8tqﳬtlťzgf /3rYpTLmߤ>E6?@^ß*%/w a? $J ACI.E=g0N`%f=qّH3./0;m`# r ;]lհ2h~&W $ ;ldްDޜ\BAw ,l` w\De;jH^5e0Díkw޵܊wsYzJKz/hF2h+v 1ۺbÆUl&KKN^3Wyce[bww'l ;c=ىX&~)2Fpسl(7l&Nb#,)[߰3Ɲ1˔3ˊ)їN)P: A֥Fg7(l(Tv1X2ZPD-(l'ҴC#MF\3LA 1SL8rڃgK$2yHhZ @M^W9!{aC@V]^l x:V,Be^q5]sGH=wsܳgX3Q7GMO\}Hs~=}_8i֛~B^@sO[V<,*64թa\Kد0nYh(v-hhЋM="c!LNX5ᔖ'/\nԜüA@oȝNj'ށe/5l\GIлLAWΘ=hHYȶɦL#[ zurQ9tb.)rl%k V6MTorFA*r,7\RvZLezpU(Q?gzc!|a< +t.47 {0` 2&ƹv뺛R!DAu6л)lqjCR2Y 9'ƛ36'XmܛBBl lˆmZM;qSO2ީɧaHֺVyξ,Wm>K>E{b-{rlc)~2'2W"^LSٞRJXNS5b-eɆK=-5$F,اlXA'|I.hȢ(OȒ(;NDΙПZ))CAv:|aN*BzX'-1i v5ݳIP؛CFcsTpQ"m%@TւK0Σzj% t}T,_ﯚri֬7-5t3۶b?yM p3ͷ.j<\^zhQ7!WdGn͌Lݪ HKF B)QB G:&Qp' Iܒ HmR&߽lw|j0ӧ 0寐'83WdSQMKF'DsF-B4R"5p7U_z=w^G6YS[*F svpbf;띸ZE̼y+%l9rnأdrՎqHdS]:`WWݱqU*֥4j+ !zlhƑ Kv%}my?OѮ|$5|Q0룀Y1iF͆dWXr 2UYd힭d;acJClۺb"ym]νxeW.[z%<``L~|p3`3>,rLF2^hcCK a{v݉~+_!;Qlp$b8 am+v+RGܥz"'HAʌ x=(ME y]IK_њ̝})]*V[,dwu~8fs-ݑ+W{/34f2R+bkŽ,юcI 2z'W'#'X1Oxh$'[s ZxR!㬅KiIdM3.ty6F}-9Iey! D Z6?sBdP.Υl^Wֿqbl;#5tۑ34e`\ X7-!n' \2/3h1Q-+ePZ>ZFyV.#~RNW 4.xQT餲[:RbS-#wXITφjCx9\6;\t?%);J3p]hz CN RoNKeR]a[s6zѥ1vǣiM6tƍ)Z䖹Lxg{3%|T}{93S€<4Mݢ҅}:#+Ŋ$dsXCbH79)wlײC$i>~cso76 Ӊ!ozAܱ`cѱcsewAk41 t.vڵdO oi qfQgg=xic{S1xu5<642, Pو( t:BI"͓%cwC1[LCFUYriU&D.Bgl/f;vY:u6ZhbniU 2 R["P[J/7, *5FziGI^DCģhhְf("hg.̜+,@7*ilLM077Hln }Yl!PTE rg7 GYvhHn|dQڱ.?2Y7#kJ:$[ۙ.ݽl;<{4._^]\Y3Nd(o*_HDde`lHZ" WNv@['D&&`Y <:Y"h'FDZhm,ZmZ`;l צbDSF'ՠېb"ڋ$|R*$$%+`Z63mB0Yiṽf ҲS?>d^^/$ՉPYe8h82.Q}@ҥi?@˰Di[ } %$h ULfnG,Ljo>G TIg^.NRܷ U9o87d/Bpy\XIy'pXLѽ-A{z)3NY 3Ǒg$z<Jՙ$ UJ|MqG/Nw,xm$V%;%h&WU3| ,ޛnRG/U=E3+Ѽe-'QrEzJ[ף>" *xQZɺ%߃ZoYY;2vzY5 sr[c[d,찭$k@)F뢡MAiki剞  3,f! ]|`NOckE 㳳PA ϊEƷ,B#ͱ+1lk`|zⷫ0hok c[Sɹ }[Rf!B+hmHl[,ۋRÙa4q~wGz$^e sʍp2I"i"I3eylqf3OOQ33^6u|8elpf5;#-s#\'ʩ9 zғe` 4gG>cm<%zqQ t%T2'F!Rکj2l-~J7K8xx1e?_&goXx￟~05@Je\۲ɝivi"x'YB=IN4z>g(w?Y}}X Tt zdXAX~׬~Ecӹ̋w%y#E) 0NYADwtQN@x_阃1I]tj`9mZ|r67/>aGݰ.:r5Ov 3{?Yl=KKFS݉M؃Ql8X=ػ`aCfSfs&_ŒvY6nFZTy{iQ!*lR`ZL:E2_.QSP $EL}<;|w3 آw_Npq"exjdJ5d J핟O^YݺOT}z6_ .cM%Ws[[   j|a0ºhU@j7k.҆o̐b%M=x3/=f[{ 89T@![/__r؉ȮSOۚ}G7o/<[׃|\QYdìPb|q_+?4ʋr^$Vg$*;}ޱy#EK0ʷw>adYt?OjΗ>V 0¥NR)i3?%P*ʙrDUY `*aLSgJj!1Va߰\mLV*sT."+?-v H[JQ ^y "E !8b0aʙŷai3Ym4t\ )r5hڡF)H& &@r!1r/xB$ΙVb96, c$9!㞛\=F壏YXЁ5#|Cw3[rUnvcy"Dg;4&Sm#1 wUѦ ?#R$E CP@:s~<$HIV2gXƝ'+>3$A)!n<4n5"ndEH\Q+hrܵ1ggg&_zB{.nslnS@]U\axFy]&Ib8l=LY<{\j@^ KƌGuD4s i謔n?m"6u1nEՑdI(b'j6쬪bٴv4*LK>a_TTV>- ^sݴ;NNDb87B7GS>|P6ku@޲2 trq6+bs/, LA+2; {R uy/:*&κ 3ubZu-^n]B{5jN7['(~[{9*zặ􃎏@Q&)](!th{"EE=ΐR&T@uգV--D[cyg^ƽʻm]l;ST*TX+' 6G:QU.je(EH/Qc!v rFZ~ 3]q9xZmGjDw)tbQq_wٲlLt_&io]|y3JLf ML~ȿ p/q$fj3e̼%*fUFI\aIvYGiA5(umΉhQAY6b =b%e% v(b7:vHZ`I=c9ڑYd/bs,.]*Pw&:ʈ;o|Wm]چ-H󕉍Wl}['K 8ZZo[_}V^?\Y=j SQ&=3r rdLӱѰ\,*s9D7԰`Rٵ4ˮLeaN!Qe?As5e Iv tU4툋vq,Jg鍛wCø89/Ģ!16` &fQ6`,pcV7^X%˨ -0@#6N;e?bXj;3q\e5´mVuE) N9n9y *l>Zu^/ü\x BF,vfdSR3tGtc:<9pI[T)`b|i.iЮym;tGO Ç $1*[T?<_]5-W("Φ3X>Y;;Y-,ѐ"Vmv3gUfkM4jZ6X;UkW8l 8JǁS qcvu 0OȉFmYѪkiScpRcͭnYlY%NPe1 a[lI$K 5gr5x U;J:J٢y͝0BUۜ"ι\o+,Oi vձ i+QZ9̯;S.ur{2BzxoS/O 7%/3M>P![,@(.dQ(-1i :`wxquC)L*YEny@3U"_U s2!yH$e Կ;Gk#ɎВ9|gEג6ٿf4?ϼ{xe.ųnHQ]"^@pWb)SEK KT%x#c NJ brg4(&oTX]nnW3~];5U4'nSr-͢#@5K}Ge2Gai+9m'nw.x;mܹct|6blA däx*j^_r.Ӹ{<I[1zZc el*Ji`*Gh&*Y\sr.%YЎB%r9C3>!XTJ0r%6=9XIN +<"**|l@4dLA:BNy{@p**nER)[R@gʍ$s%H]RH)}MuCF^H"=c̙uN\ӚT?:f[lҤ0wWgF@ ~[bCR}YW uXжUGDB > w(! dyX!'$9T ,Z]x_tHZCǂ Si>ͮ1Lky9E95tzǽѻ/_ٷv'©b08|횻|'\;;V=0>H7{/8{lpgelQWu ^߇MBblfZ>'TgBw;G4 ;>1|*Y}X XH53Mt g:6Ki-Q23,pϟeheD  Y\L>Q`Ez췗>-2Ӈt%e\ COѧLࣼ߱H-/PEӊ<(_}gf)3bE?zkX:3;<>|Ǘ|LSX1fgz.|7{KH =ah>8%![NϰvO._k1<:܌v$e`9wjߢ˛\gYFDre 9. YJ,Sٳy^I{,V7-ZqF,ԣ%H68 ,PF\aa^$7BB\dHubR0&j s/L'Kվi&sYgƻ6+^m&XIE4o-=B)6l芔(Ad1o =n@c*>Q}t72bcJ݉n]+"뢗]klwvwf}z}x?vmϮ y8[PRhJxV @Ki)*!U@)BU~4G*U%ֽܙ1̬=3׹}΁ʅ]I[x8ӛEǹ.iYcbff}XybVZVjǴ*Ϫ\Ơ<Ԧe֮GٺX0s$29d-gK, `\X l;*y*9mK$a>gYYSjpoҧ91D˯|a4;o=됇+WMv#&&t?zՃ{QoWfec?NV=i |F 4kCAkZAr5 mG\pؘ*lkSe4`Fbt\.X[`dq)^!"Z׎]Q!=քq!1q#7>Xyno?~bp {jQ/rꖯyoكflF?dxd Lh̢т<]| xE.OFpC.Л5_3>1qε=vL[ÑE8+^KKңَ~]HU l-fPڢq--"]ӣAQ3[(C~Yl˕@my) g< d0ꂂZ*?) D8|u):KmId=X%sȳ#"?4N'X Ct߁uuK]1\,u. h{J,ц'pev.d2<].Z=>?þCkGA.V-p{3%y! 3:G%Ȍ/'C )69cDo68#c Ulȋ!"lc(='HfStXA}:)9>|`dp>@5NLd,,{3;$qpuh YnXGqNb #=j =.m;E 0w`JV! nfh#ьh8}پj5UXΨj~k4(bm1"Ƙ%xb'=z z8@#oi g|`w @JU$q*bR}`v#t5Wӽ[P4׹~.V?\5q\w=w|)v0Y`AYd[4NsQPK{ZWj^+0nTo"WkUƿs')C<iAHSV/:ۀgudЗYїNcG+[PGڬvz]otznܱ[b1j˷\>nk7LʬKB)9I,5]N\82*+{Iqm/sΥ&lB3#\l ZxF K @qc䪇;5,,]6e;f~ ƿ1[ւQ $ j(E(MBZ03;\ŲpXF`n5kw/ο.k.] 2JmYj`̻Ǔ|#!WA_] GNW taJ􇒰+`h"u>j'_(իnWNu)sՕ]?Q^JK#7u7i}373Oz9L͕g9uPa{ Fl6ى h+ F~t6L"p$x~`J6xQ!NÏxYt\~sMz0-BW mI֓I0nJ(qc'Z@ev`IG]uy +Xm_ٌf@ϰ#؞"VfN`a@T#agV¡m'$;;^mخC 쌦P'!bfo=MY^Rӈb*[QUcwow|ӝg+>/g&+ػHf?+{q Ƚo_KQK?(OyVD* Լ條Tz~Qe^wyA : P?A H{2֒9ÜtkR^dHh9c>g8+D*$3dL,$$$$-<#ϼU0'IZ؞0 ^8g9WkL V,h*dNLlr  < N z >  Z(~p2D*dd ,b,`:V|<d  f !!d!!"^"#&#$&$$%%&'''D(.(P(()R)**++<++,(,B,-.//R//01 12V234N456(6x67L78t89(9:::;";<<=6=>>?H?@`A&ABC@CD>DEEEF$FlFGRHHbHIIJJRJK4KLLMM|MN6NNOPDPQR RRSRSzSST TRTTTU U$U\UUV6VWWPWWXTYY>Y`YzZ8ZPZ\[ [WxTMo@N zzH%$ZN4D+R"nر][MvʁH_8"F<3;+";M{[D{roqއ݁"] 񼏆|2=Ը%wφ}1|K>x_ ߖ֎:5C:w~U\GQ0\e(ŗLd*RH&JYW9#I#XTRbK cN$) )3y /og3mb}XFS_935gfVS WZ#X'].D V1wTmɻ d7cN1}6巏],ŚПr)KXSa5R7\0׬BZҶv\R*Pg?zbѕR۸(cVU78]F}6,.fdĺ7kޓ6):x\.8)K"?75%#)Ð_r֙^N\f6eiY2C|!X:c?+sȎ/srm7ӻ5aEs9;6{UW׷\Q սI< |exmUh@ѳgng1sv̘(~)݉ݝ ^6d$J&p)JjiNzdIfYdMv9KnyO~Š(J((*ʪjTW=5%ZC4DS4BKF[BtIg]tMw=Ko}3KÖ~f[l6ZofZYafM~鷵8שּׂg. +kf[b|<b6H#2Z1&`)&oiJ0Gps/lK==O^pqQ,%,q`/9qhxuc/}ش#7Dzo 2"e7iD0l`VpUus 6C9l iP;fp9RP'!0n eV(b*qq#7h6HQݳtooniprobe-2.2.0/ooni/ui/web/client/4.4.98946e4733f3cb74e9a8.js0000644000175000017500000054726213071152212020726 0ustar irlirlwebpackJsonp([4],{701:function(n,a,e){(function(a){a.IntlPolyfill=e(1014),e(1448),a.Intl||(a.Intl=a.IntlPolyfill,a.IntlPolyfill.__applyLocaleSensitivePrototypes()),n.exports=a.IntlPolyfill}).call(a,function(){return this}())},702:function(n,a){IntlPolyfill.__addLocaleData({locale:"en",date:{ca:["gregory","buddhist","chinese","coptic","dangi","ethioaa","ethiopic","generic","hebrew","indian","islamic","islamicc","japanese","persian","roc"],hourNo0:!0,hour12:!0,formats:{"short":"{1}, {0}",medium:"{1}, {0}",full:"{1} 'at' {0}","long":"{1} 'at' {0}",availableFormats:{d:"d",E:"ccc",Ed:"d E",Ehm:"E h:mm a",EHm:"E HH:mm",Ehms:"E h:mm:ss a",EHms:"E HH:mm:ss",Gy:"y G",GyMMM:"MMM y G",GyMMMd:"MMM d, y G",GyMMMEd:"E, MMM d, y G",h:"h a",H:"HH",hm:"h:mm a",Hm:"HH:mm",hms:"h:mm:ss a",Hms:"HH:mm:ss",hmsv:"h:mm:ss a v",Hmsv:"HH:mm:ss v",hmv:"h:mm a v",Hmv:"HH:mm v",M:"L",Md:"M/d",MEd:"E, M/d",MMM:"LLL",MMMd:"MMM d",MMMEd:"E, MMM d",MMMMd:"MMMM d",ms:"mm:ss",y:"y",yM:"M/y",yMd:"M/d/y",yMEd:"E, M/d/y",yMMM:"MMM y",yMMMd:"MMM d, y",yMMMEd:"E, MMM d, y",yMMMM:"MMMM y",yQQQ:"QQQ y",yQQQQ:"QQQQ y"},dateFormats:{yMMMMEEEEd:"EEEE, MMMM d, y",yMMMMd:"MMMM d, y",yMMMd:"MMM d, y",yMd:"M/d/yy"},timeFormats:{hmmsszzzz:"h:mm:ss a zzzz",hmsz:"h:mm:ss a z",hms:"h:mm:ss a",hm:"h:mm a"}},calendars:{buddhist:{months:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],"short":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"long":["January","February","March","April","May","June","July","August","September","October","November","December"]},days:{narrow:["S","M","T","W","T","F","S"],"short":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"long":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},eras:{narrow:["BE"],"short":["BE"],"long":["BE"]},dayPeriods:{am:"AM",pm:"PM"}},chinese:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["Mo1","Mo2","Mo3","Mo4","Mo5","Mo6","Mo7","Mo8","Mo9","Mo10","Mo11","Mo12"],"long":["Month1","Month2","Month3","Month4","Month5","Month6","Month7","Month8","Month9","Month10","Month11","Month12"]},days:{narrow:["S","M","T","W","T","F","S"],"short":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"long":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},dayPeriods:{am:"AM",pm:"PM"}},coptic:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12","13"],"short":["Tout","Baba","Hator","Kiahk","Toba","Amshir","Baramhat","Baramouda","Bashans","Paona","Epep","Mesra","Nasie"],"long":["Tout","Baba","Hator","Kiahk","Toba","Amshir","Baramhat","Baramouda","Bashans","Paona","Epep","Mesra","Nasie"]},days:{narrow:["S","M","T","W","T","F","S"],"short":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"long":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},eras:{narrow:["ERA0","ERA1"],"short":["ERA0","ERA1"],"long":["ERA0","ERA1"]},dayPeriods:{am:"AM",pm:"PM"}},dangi:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["Mo1","Mo2","Mo3","Mo4","Mo5","Mo6","Mo7","Mo8","Mo9","Mo10","Mo11","Mo12"],"long":["Month1","Month2","Month3","Month4","Month5","Month6","Month7","Month8","Month9","Month10","Month11","Month12"]},days:{narrow:["S","M","T","W","T","F","S"],"short":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"long":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},dayPeriods:{am:"AM",pm:"PM"}},ethiopic:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12","13"],"short":["Meskerem","Tekemt","Hedar","Tahsas","Ter","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehasse","Pagumen"],"long":["Meskerem","Tekemt","Hedar","Tahsas","Ter","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehasse","Pagumen"]},days:{narrow:["S","M","T","W","T","F","S"],"short":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"long":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},eras:{narrow:["ERA0","ERA1"],"short":["ERA0","ERA1"],"long":["ERA0","ERA1"]},dayPeriods:{am:"AM",pm:"PM"}},ethioaa:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12","13"],"short":["Meskerem","Tekemt","Hedar","Tahsas","Ter","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehasse","Pagumen"],"long":["Meskerem","Tekemt","Hedar","Tahsas","Ter","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehasse","Pagumen"]},days:{narrow:["S","M","T","W","T","F","S"],"short":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"long":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},eras:{narrow:["ERA0"],"short":["ERA0"],"long":["ERA0"]},dayPeriods:{am:"AM",pm:"PM"}},generic:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["M01","M02","M03","M04","M05","M06","M07","M08","M09","M10","M11","M12"],"long":["M01","M02","M03","M04","M05","M06","M07","M08","M09","M10","M11","M12"]},days:{narrow:["S","M","T","W","T","F","S"],"short":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"long":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},eras:{narrow:["ERA0","ERA1"],"short":["ERA0","ERA1"],"long":["ERA0","ERA1"]},dayPeriods:{am:"AM",pm:"PM"}},gregory:{months:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],"short":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"long":["January","February","March","April","May","June","July","August","September","October","November","December"]},days:{narrow:["S","M","T","W","T","F","S"],"short":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"long":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},eras:{narrow:["B","A","BCE","CE"],"short":["BC","AD","BCE","CE"],"long":["Before Christ","Anno Domini","Before Common Era","Common Era"]},dayPeriods:{am:"AM",pm:"PM"}},hebrew:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12","13","7"],"short":["Tishri","Heshvan","Kislev","Tevet","Shevat","Adar I","Adar","Nisan","Iyar","Sivan","Tamuz","Av","Elul","Adar II"],"long":["Tishri","Heshvan","Kislev","Tevet","Shevat","Adar I","Adar","Nisan","Iyar","Sivan","Tamuz","Av","Elul","Adar II"]},days:{narrow:["S","M","T","W","T","F","S"],"short":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"long":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},eras:{narrow:["AM"],"short":["AM"],"long":["AM"]},dayPeriods:{am:"AM",pm:"PM"}},indian:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["Chaitra","Vaisakha","Jyaistha","Asadha","Sravana","Bhadra","Asvina","Kartika","Agrahayana","Pausa","Magha","Phalguna"],"long":["Chaitra","Vaisakha","Jyaistha","Asadha","Sravana","Bhadra","Asvina","Kartika","Agrahayana","Pausa","Magha","Phalguna"]},days:{narrow:["S","M","T","W","T","F","S"],"short":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"long":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},eras:{narrow:["Saka"],"short":["Saka"],"long":["Saka"]},dayPeriods:{am:"AM",pm:"PM"}},islamic:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["Muh.","Saf.","Rab. I","Rab. II","Jum. I","Jum. II","Raj.","Sha.","Ram.","Shaw.","Dhuʻl-Q.","Dhuʻl-H."],"long":["Muharram","Safar","Rabiʻ I","Rabiʻ II","Jumada I","Jumada II","Rajab","Shaʻban","Ramadan","Shawwal","Dhuʻl-Qiʻdah","Dhuʻl-Hijjah"]},days:{narrow:["S","M","T","W","T","F","S"],"short":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"long":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},eras:{narrow:["AH"],"short":["AH"],"long":["AH"]},dayPeriods:{am:"AM",pm:"PM"}},islamicc:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["Muh.","Saf.","Rab. I","Rab. II","Jum. I","Jum. II","Raj.","Sha.","Ram.","Shaw.","Dhuʻl-Q.","Dhuʻl-H."],"long":["Muharram","Safar","Rabiʻ I","Rabiʻ II","Jumada I","Jumada II","Rajab","Shaʻban","Ramadan","Shawwal","Dhuʻl-Qiʻdah","Dhuʻl-Hijjah"]},days:{narrow:["S","M","T","W","T","F","S"],"short":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"long":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},eras:{narrow:["AH"],"short":["AH"],"long":["AH"]},dayPeriods:{am:"AM",pm:"PM"}},japanese:{months:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],"short":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"long":["January","February","March","April","May","June","July","August","September","October","November","December"]},days:{narrow:["S","M","T","W","T","F","S"],"short":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"long":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},eras:{narrow:["Taika (645–650)","Hakuchi (650–671)","Hakuhō (672–686)","Shuchō (686–701)","Taihō (701–704)","Keiun (704–708)","Wadō (708–715)","Reiki (715–717)","Yōrō (717–724)","Jinki (724–729)","Tenpyō (729–749)","Tenpyō-kampō (749-749)","Tenpyō-shōhō (749-757)","Tenpyō-hōji (757-765)","Tenpyō-jingo (765-767)","Jingo-keiun (767-770)","Hōki (770–780)","Ten-ō (781-782)","Enryaku (782–806)","Daidō (806–810)","Kōnin (810–824)","Tenchō (824–834)","Jōwa (834–848)","Kajō (848–851)","Ninju (851–854)","Saikō (854–857)","Ten-an (857-859)","Jōgan (859–877)","Gangyō (877–885)","Ninna (885–889)","Kanpyō (889–898)","Shōtai (898–901)","Engi (901–923)","Enchō (923–931)","Jōhei (931–938)","Tengyō (938–947)","Tenryaku (947–957)","Tentoku (957–961)","Ōwa (961–964)","Kōhō (964–968)","Anna (968–970)","Tenroku (970–973)","Ten’en (973–976)","Jōgen (976–978)","Tengen (978–983)","Eikan (983–985)","Kanna (985–987)","Eien (987–989)","Eiso (989–990)","Shōryaku (990–995)","Chōtoku (995–999)","Chōhō (999–1004)","Kankō (1004–1012)","Chōwa (1012–1017)","Kannin (1017–1021)","Jian (1021–1024)","Manju (1024–1028)","Chōgen (1028–1037)","Chōryaku (1037–1040)","Chōkyū (1040–1044)","Kantoku (1044–1046)","Eishō (1046–1053)","Tengi (1053–1058)","Kōhei (1058–1065)","Jiryaku (1065–1069)","Enkyū (1069–1074)","Shōho (1074–1077)","Shōryaku (1077–1081)","Eihō (1081–1084)","Ōtoku (1084–1087)","Kanji (1087–1094)","Kahō (1094–1096)","Eichō (1096–1097)","Jōtoku (1097–1099)","Kōwa (1099–1104)","Chōji (1104–1106)","Kashō (1106–1108)","Tennin (1108–1110)","Ten-ei (1110-1113)","Eikyū (1113–1118)","Gen’ei (1118–1120)","Hōan (1120–1124)","Tenji (1124–1126)","Daiji (1126–1131)","Tenshō (1131–1132)","Chōshō (1132–1135)","Hōen (1135–1141)","Eiji (1141–1142)","Kōji (1142–1144)","Ten’yō (1144–1145)","Kyūan (1145–1151)","Ninpei (1151–1154)","Kyūju (1154–1156)","Hōgen (1156–1159)","Heiji (1159–1160)","Eiryaku (1160–1161)","Ōho (1161–1163)","Chōkan (1163–1165)","Eiman (1165–1166)","Nin’an (1166–1169)","Kaō (1169–1171)","Shōan (1171–1175)","Angen (1175–1177)","Jishō (1177–1181)","Yōwa (1181–1182)","Juei (1182–1184)","Genryaku (1184–1185)","Bunji (1185–1190)","Kenkyū (1190–1199)","Shōji (1199–1201)","Kennin (1201–1204)","Genkyū (1204–1206)","Ken’ei (1206–1207)","Jōgen (1207–1211)","Kenryaku (1211–1213)","Kenpō (1213–1219)","Jōkyū (1219–1222)","Jōō (1222–1224)","Gennin (1224–1225)","Karoku (1225–1227)","Antei (1227–1229)","Kanki (1229–1232)","Jōei (1232–1233)","Tenpuku (1233–1234)","Bunryaku (1234–1235)","Katei (1235–1238)","Ryakunin (1238–1239)","En’ō (1239–1240)","Ninji (1240–1243)","Kangen (1243–1247)","Hōji (1247–1249)","Kenchō (1249–1256)","Kōgen (1256–1257)","Shōka (1257–1259)","Shōgen (1259–1260)","Bun’ō (1260–1261)","Kōchō (1261–1264)","Bun’ei (1264–1275)","Kenji (1275–1278)","Kōan (1278–1288)","Shōō (1288–1293)","Einin (1293–1299)","Shōan (1299–1302)","Kengen (1302–1303)","Kagen (1303–1306)","Tokuji (1306–1308)","Enkyō (1308–1311)","Ōchō (1311–1312)","Shōwa (1312–1317)","Bunpō (1317–1319)","Genō (1319–1321)","Genkō (1321–1324)","Shōchū (1324–1326)","Karyaku (1326–1329)","Gentoku (1329–1331)","Genkō (1331–1334)","Kenmu (1334–1336)","Engen (1336–1340)","Kōkoku (1340–1346)","Shōhei (1346–1370)","Kentoku (1370–1372)","Bunchū (1372–1375)","Tenju (1375–1379)","Kōryaku (1379–1381)","Kōwa (1381–1384)","Genchū (1384–1392)","Meitoku (1384–1387)","Kakei (1387–1389)","Kōō (1389–1390)","Meitoku (1390–1394)","Ōei (1394–1428)","Shōchō (1428–1429)","Eikyō (1429–1441)","Kakitsu (1441–1444)","Bun’an (1444–1449)","Hōtoku (1449–1452)","Kyōtoku (1452–1455)","Kōshō (1455–1457)","Chōroku (1457–1460)","Kanshō (1460–1466)","Bunshō (1466–1467)","Ōnin (1467–1469)","Bunmei (1469–1487)","Chōkyō (1487–1489)","Entoku (1489–1492)","Meiō (1492–1501)","Bunki (1501–1504)","Eishō (1504–1521)","Taiei (1521–1528)","Kyōroku (1528–1532)","Tenbun (1532–1555)","Kōji (1555–1558)","Eiroku (1558–1570)","Genki (1570–1573)","Tenshō (1573–1592)","Bunroku (1592–1596)","Keichō (1596–1615)","Genna (1615–1624)","Kan’ei (1624–1644)","Shōho (1644–1648)","Keian (1648–1652)","Jōō (1652–1655)","Meireki (1655–1658)","Manji (1658–1661)","Kanbun (1661–1673)","Enpō (1673–1681)","Tenna (1681–1684)","Jōkyō (1684–1688)","Genroku (1688–1704)","Hōei (1704–1711)","Shōtoku (1711–1716)","Kyōhō (1716–1736)","Genbun (1736–1741)","Kanpō (1741–1744)","Enkyō (1744–1748)","Kan’en (1748–1751)","Hōreki (1751–1764)","Meiwa (1764–1772)","An’ei (1772–1781)","Tenmei (1781–1789)","Kansei (1789–1801)","Kyōwa (1801–1804)","Bunka (1804–1818)","Bunsei (1818–1830)","Tenpō (1830–1844)","Kōka (1844–1848)","Kaei (1848–1854)","Ansei (1854–1860)","Man’en (1860–1861)","Bunkyū (1861–1864)","Genji (1864–1865)","Keiō (1865–1868)","M","T","S","H"],"short":["Taika (645–650)","Hakuchi (650–671)","Hakuhō (672–686)","Shuchō (686–701)","Taihō (701–704)","Keiun (704–708)","Wadō (708–715)","Reiki (715–717)","Yōrō (717–724)","Jinki (724–729)","Tenpyō (729–749)","Tenpyō-kampō (749-749)","Tenpyō-shōhō (749-757)","Tenpyō-hōji (757-765)","Tenpyō-jingo (765-767)","Jingo-keiun (767-770)","Hōki (770–780)","Ten-ō (781-782)","Enryaku (782–806)","Daidō (806–810)","Kōnin (810–824)","Tenchō (824–834)","Jōwa (834–848)","Kajō (848–851)","Ninju (851–854)","Saikō (854–857)","Ten-an (857-859)","Jōgan (859–877)","Gangyō (877–885)","Ninna (885–889)","Kanpyō (889–898)","Shōtai (898–901)","Engi (901–923)","Enchō (923–931)","Jōhei (931–938)","Tengyō (938–947)","Tenryaku (947–957)","Tentoku (957–961)","Ōwa (961–964)","Kōhō (964–968)","Anna (968–970)","Tenroku (970–973)","Ten’en (973–976)","Jōgen (976–978)","Tengen (978–983)","Eikan (983–985)","Kanna (985–987)","Eien (987–989)","Eiso (989–990)","Shōryaku (990–995)","Chōtoku (995–999)","Chōhō (999–1004)","Kankō (1004–1012)","Chōwa (1012–1017)","Kannin (1017–1021)","Jian (1021–1024)","Manju (1024–1028)","Chōgen (1028–1037)","Chōryaku (1037–1040)","Chōkyū (1040–1044)","Kantoku (1044–1046)","Eishō (1046–1053)","Tengi (1053–1058)","Kōhei (1058–1065)","Jiryaku (1065–1069)","Enkyū (1069–1074)","Shōho (1074–1077)","Shōryaku (1077–1081)","Eihō (1081–1084)","Ōtoku (1084–1087)","Kanji (1087–1094)","Kahō (1094–1096)","Eichō (1096–1097)","Jōtoku (1097–1099)","Kōwa (1099–1104)","Chōji (1104–1106)","Kashō (1106–1108)","Tennin (1108–1110)","Ten-ei (1110-1113)","Eikyū (1113–1118)","Gen’ei (1118–1120)","Hōan (1120–1124)","Tenji (1124–1126)","Daiji (1126–1131)","Tenshō (1131–1132)","Chōshō (1132–1135)","Hōen (1135–1141)","Eiji (1141–1142)","Kōji (1142–1144)","Ten’yō (1144–1145)","Kyūan (1145–1151)","Ninpei (1151–1154)","Kyūju (1154–1156)","Hōgen (1156–1159)","Heiji (1159–1160)","Eiryaku (1160–1161)","Ōho (1161–1163)","Chōkan (1163–1165)","Eiman (1165–1166)","Nin’an (1166–1169)","Kaō (1169–1171)","Shōan (1171–1175)","Angen (1175–1177)","Jishō (1177–1181)","Yōwa (1181–1182)","Juei (1182–1184)","Genryaku (1184–1185)","Bunji (1185–1190)","Kenkyū (1190–1199)","Shōji (1199–1201)","Kennin (1201–1204)","Genkyū (1204–1206)","Ken’ei (1206–1207)","Jōgen (1207–1211)","Kenryaku (1211–1213)","Kenpō (1213–1219)","Jōkyū (1219–1222)","Jōō (1222–1224)","Gennin (1224–1225)","Karoku (1225–1227)","Antei (1227–1229)","Kanki (1229–1232)","Jōei (1232–1233)","Tenpuku (1233–1234)","Bunryaku (1234–1235)","Katei (1235–1238)","Ryakunin (1238–1239)","En’ō (1239–1240)","Ninji (1240–1243)","Kangen (1243–1247)","Hōji (1247–1249)","Kenchō (1249–1256)","Kōgen (1256–1257)","Shōka (1257–1259)","Shōgen (1259–1260)","Bun’ō (1260–1261)","Kōchō (1261–1264)","Bun’ei (1264–1275)","Kenji (1275–1278)","Kōan (1278–1288)","Shōō (1288–1293)","Einin (1293–1299)","Shōan (1299–1302)","Kengen (1302–1303)","Kagen (1303–1306)","Tokuji (1306–1308)","Enkyō (1308–1311)","Ōchō (1311–1312)","Shōwa (1312–1317)","Bunpō (1317–1319)","Genō (1319–1321)","Genkō (1321–1324)","Shōchū (1324–1326)","Karyaku (1326–1329)","Gentoku (1329–1331)","Genkō (1331–1334)","Kenmu (1334–1336)","Engen (1336–1340)","Kōkoku (1340–1346)","Shōhei (1346–1370)","Kentoku (1370–1372)","Bunchū (1372–1375)","Tenju (1375–1379)","Kōryaku (1379–1381)","Kōwa (1381–1384)","Genchū (1384–1392)","Meitoku (1384–1387)","Kakei (1387–1389)","Kōō (1389–1390)","Meitoku (1390–1394)","Ōei (1394–1428)","Shōchō (1428–1429)","Eikyō (1429–1441)","Kakitsu (1441–1444)","Bun’an (1444–1449)","Hōtoku (1449–1452)","Kyōtoku (1452–1455)","Kōshō (1455–1457)","Chōroku (1457–1460)","Kanshō (1460–1466)","Bunshō (1466–1467)","Ōnin (1467–1469)","Bunmei (1469–1487)","Chōkyō (1487–1489)","Entoku (1489–1492)","Meiō (1492–1501)","Bunki (1501–1504)","Eishō (1504–1521)","Taiei (1521–1528)","Kyōroku (1528–1532)","Tenbun (1532–1555)","Kōji (1555–1558)","Eiroku (1558–1570)","Genki (1570–1573)","Tenshō (1573–1592)","Bunroku (1592–1596)","Keichō (1596–1615)","Genna (1615–1624)","Kan’ei (1624–1644)","Shōho (1644–1648)","Keian (1648–1652)","Jōō (1652–1655)","Meireki (1655–1658)","Manji (1658–1661)","Kanbun (1661–1673)","Enpō (1673–1681)","Tenna (1681–1684)","Jōkyō (1684–1688)","Genroku (1688–1704)","Hōei (1704–1711)","Shōtoku (1711–1716)","Kyōhō (1716–1736)","Genbun (1736–1741)","Kanpō (1741–1744)","Enkyō (1744–1748)","Kan’en (1748–1751)","Hōreki (1751–1764)","Meiwa (1764–1772)","An’ei (1772–1781)","Tenmei (1781–1789)","Kansei (1789–1801)","Kyōwa (1801–1804)","Bunka (1804–1818)","Bunsei (1818–1830)","Tenpō (1830–1844)","Kōka (1844–1848)","Kaei (1848–1854)","Ansei (1854–1860)","Man’en (1860–1861)","Bunkyū (1861–1864)","Genji (1864–1865)","Keiō (1865–1868)","Meiji","Taishō","Shōwa","Heisei"],"long":["Taika (645–650)","Hakuchi (650–671)","Hakuhō (672–686)","Shuchō (686–701)","Taihō (701–704)","Keiun (704–708)","Wadō (708–715)","Reiki (715–717)","Yōrō (717–724)","Jinki (724–729)","Tenpyō (729–749)","Tenpyō-kampō (749-749)","Tenpyō-shōhō (749-757)","Tenpyō-hōji (757-765)","Tenpyō-jingo (765-767)","Jingo-keiun (767-770)","Hōki (770–780)","Ten-ō (781-782)","Enryaku (782–806)","Daidō (806–810)","Kōnin (810–824)","Tenchō (824–834)","Jōwa (834–848)","Kajō (848–851)","Ninju (851–854)","Saikō (854–857)","Ten-an (857-859)","Jōgan (859–877)","Gangyō (877–885)","Ninna (885–889)","Kanpyō (889–898)","Shōtai (898–901)","Engi (901–923)","Enchō (923–931)","Jōhei (931–938)","Tengyō (938–947)","Tenryaku (947–957)","Tentoku (957–961)","Ōwa (961–964)","Kōhō (964–968)","Anna (968–970)","Tenroku (970–973)","Ten’en (973–976)","Jōgen (976–978)","Tengen (978–983)","Eikan (983–985)","Kanna (985–987)","Eien (987–989)","Eiso (989–990)","Shōryaku (990–995)","Chōtoku (995–999)","Chōhō (999–1004)","Kankō (1004–1012)","Chōwa (1012–1017)","Kannin (1017–1021)","Jian (1021–1024)","Manju (1024–1028)","Chōgen (1028–1037)","Chōryaku (1037–1040)","Chōkyū (1040–1044)","Kantoku (1044–1046)","Eishō (1046–1053)","Tengi (1053–1058)","Kōhei (1058–1065)","Jiryaku (1065–1069)","Enkyū (1069–1074)","Shōho (1074–1077)","Shōryaku (1077–1081)","Eihō (1081–1084)","Ōtoku (1084–1087)","Kanji (1087–1094)","Kahō (1094–1096)","Eichō (1096–1097)","Jōtoku (1097–1099)","Kōwa (1099–1104)","Chōji (1104–1106)","Kashō (1106–1108)","Tennin (1108–1110)","Ten-ei (1110-1113)","Eikyū (1113–1118)","Gen’ei (1118–1120)","Hōan (1120–1124)","Tenji (1124–1126)","Daiji (1126–1131)","Tenshō (1131–1132)","Chōshō (1132–1135)","Hōen (1135–1141)","Eiji (1141–1142)","Kōji (1142–1144)","Ten’yō (1144–1145)","Kyūan (1145–1151)","Ninpei (1151–1154)","Kyūju (1154–1156)","Hōgen (1156–1159)","Heiji (1159–1160)","Eiryaku (1160–1161)","Ōho (1161–1163)","Chōkan (1163–1165)","Eiman (1165–1166)","Nin’an (1166–1169)","Kaō (1169–1171)","Shōan (1171–1175)","Angen (1175–1177)","Jishō (1177–1181)","Yōwa (1181–1182)","Juei (1182–1184)","Genryaku (1184–1185)","Bunji (1185–1190)","Kenkyū (1190–1199)","Shōji (1199–1201)","Kennin (1201–1204)","Genkyū (1204–1206)","Ken’ei (1206–1207)","Jōgen (1207–1211)","Kenryaku (1211–1213)","Kenpō (1213–1219)","Jōkyū (1219–1222)","Jōō (1222–1224)","Gennin (1224–1225)","Karoku (1225–1227)","Antei (1227–1229)","Kanki (1229–1232)","Jōei (1232–1233)","Tenpuku (1233–1234)","Bunryaku (1234–1235)","Katei (1235–1238)","Ryakunin (1238–1239)","En’ō (1239–1240)","Ninji (1240–1243)","Kangen (1243–1247)","Hōji (1247–1249)","Kenchō (1249–1256)","Kōgen (1256–1257)","Shōka (1257–1259)","Shōgen (1259–1260)","Bun’ō (1260–1261)","Kōchō (1261–1264)","Bun’ei (1264–1275)","Kenji (1275–1278)","Kōan (1278–1288)","Shōō (1288–1293)","Einin (1293–1299)","Shōan (1299–1302)","Kengen (1302–1303)","Kagen (1303–1306)","Tokuji (1306–1308)","Enkyō (1308–1311)","Ōchō (1311–1312)","Shōwa (1312–1317)","Bunpō (1317–1319)","Genō (1319–1321)","Genkō (1321–1324)","Shōchū (1324–1326)","Karyaku (1326–1329)","Gentoku (1329–1331)","Genkō (1331–1334)","Kenmu (1334–1336)","Engen (1336–1340)","Kōkoku (1340–1346)","Shōhei (1346–1370)","Kentoku (1370–1372)","Bunchū (1372–1375)","Tenju (1375–1379)","Kōryaku (1379–1381)","Kōwa (1381–1384)","Genchū (1384–1392)","Meitoku (1384–1387)","Kakei (1387–1389)","Kōō (1389–1390)","Meitoku (1390–1394)","Ōei (1394–1428)","Shōchō (1428–1429)","Eikyō (1429–1441)","Kakitsu (1441–1444)","Bun’an (1444–1449)","Hōtoku (1449–1452)","Kyōtoku (1452–1455)","Kōshō (1455–1457)","Chōroku (1457–1460)","Kanshō (1460–1466)","Bunshō (1466–1467)","Ōnin (1467–1469)","Bunmei (1469–1487)","Chōkyō (1487–1489)","Entoku (1489–1492)","Meiō (1492–1501)","Bunki (1501–1504)","Eishō (1504–1521)","Taiei (1521–1528)","Kyōroku (1528–1532)","Tenbun (1532–1555)","Kōji (1555–1558)","Eiroku (1558–1570)","Genki (1570–1573)","Tenshō (1573–1592)","Bunroku (1592–1596)","Keichō (1596–1615)","Genna (1615–1624)","Kan’ei (1624–1644)","Shōho (1644–1648)","Keian (1648–1652)","Jōō (1652–1655)","Meireki (1655–1658)","Manji (1658–1661)","Kanbun (1661–1673)","Enpō (1673–1681)","Tenna (1681–1684)","Jōkyō (1684–1688)","Genroku (1688–1704)","Hōei (1704–1711)","Shōtoku (1711–1716)","Kyōhō (1716–1736)","Genbun (1736–1741)","Kanpō (1741–1744)","Enkyō (1744–1748)","Kan’en (1748–1751)","Hōreki (1751–1764)","Meiwa (1764–1772)","An’ei (1772–1781)","Tenmei (1781–1789)","Kansei (1789–1801)","Kyōwa (1801–1804)","Bunka (1804–1818)","Bunsei (1818–1830)","Tenpō (1830–1844)","Kōka (1844–1848)","Kaei (1848–1854)","Ansei (1854–1860)","Man’en (1860–1861)","Bunkyū (1861–1864)","Genji (1864–1865)","Keiō (1865–1868)","Meiji","Taishō","Shōwa","Heisei"]},dayPeriods:{am:"AM",pm:"PM"}},persian:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["Farvardin","Ordibehesht","Khordad","Tir","Mordad","Shahrivar","Mehr","Aban","Azar","Dey","Bahman","Esfand"],"long":["Farvardin","Ordibehesht","Khordad","Tir","Mordad","Shahrivar","Mehr","Aban","Azar","Dey","Bahman","Esfand"]},days:{narrow:["S","M","T","W","T","F","S"],"short":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"long":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},eras:{narrow:["AP"],"short":["AP"],"long":["AP"]},dayPeriods:{am:"AM",pm:"PM"}},roc:{months:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],"short":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"long":["January","February","March","April","May","June","July","August","September","October","November","December"]},days:{narrow:["S","M","T","W","T","F","S"],"short":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"long":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},eras:{narrow:["Before R.O.C.","Minguo"],"short":["Before R.O.C.","Minguo"],"long":["Before R.O.C.","Minguo"]},dayPeriods:{am:"AM",pm:"PM"}}}},number:{nu:["latn"],patterns:{decimal:{positivePattern:"{number}",negativePattern:"{minusSign}{number}"},currency:{positivePattern:"{currency}{number}",negativePattern:"{minusSign}{currency}{number}"},percent:{positivePattern:"{number}{percentSign}",negativePattern:"{minusSign}{number}{percentSign}"}},symbols:{latn:{decimal:".",group:",",nan:"NaN",plusSign:"+",minusSign:"-",percentSign:"%",infinity:"∞"}},currencies:{AUD:"A$",BRL:"R$",CAD:"CA$",CNY:"CN¥",EUR:"€",GBP:"£",HKD:"HK$",ILS:"₪",INR:"₹",JPY:"¥",KRW:"₩",MXN:"MX$",NZD:"NZ$",TWD:"NT$",USD:"$",VND:"₫",XAF:"FCFA",XCD:"EC$",XOF:"CFA",XPF:"CFPF"}}})},703:function(n,a){IntlPolyfill.__addLocaleData({locale:"es",date:{ca:["gregory","buddhist","chinese","coptic","dangi","ethioaa","ethiopic","generic","hebrew","indian","islamic","islamicc","japanese","persian","roc"],hourNo0:!0,hour12:!1,formats:{"short":"{1} {0}",medium:"{1} {0}",full:"{1}, {0}","long":"{1}, {0}",availableFormats:{d:"d",E:"ccc",Ed:"E d",Ehm:"E, h:mm a",EHm:"E, H:mm",Ehms:"E, h:mm:ss a",EHms:"E, H:mm:ss",Gy:"y G",GyMMM:"MMM y G",GyMMMd:"d MMM y G",GyMMMEd:"E, d MMM y G",GyMMMM:"MMMM 'de' y G",GyMMMMd:"d 'de' MMMM 'de' y G",GyMMMMEd:"E, d 'de' MMMM 'de' y G",h:"h a",H:"H",hm:"h:mm a",Hm:"H:mm",hms:"h:mm:ss a",Hms:"H:mm:ss",hmsv:"h:mm:ss a v",Hmsv:"H:mm:ss v",hmsvvvv:"h:mm:ss a (vvvv)",Hmsvvvv:"H:mm:ss (vvvv)",hmv:"h:mm a v",Hmv:"H:mm v",M:"L",Md:"d/M",MEd:"E, d/M",MMd:"d/M",MMdd:"d/M",MMM:"LLL",MMMd:"d MMM",MMMEd:"E, d MMM",MMMMd:"d 'de' MMMM",MMMMEd:"E, d 'de' MMMM",ms:"mm:ss",y:"y",yM:"M/y",yMd:"d/M/y",yMEd:"EEE, d/M/y",yMM:"M/y",yMMM:"MMM y",yMMMd:"d MMM y",yMMMEd:"EEE, d MMM y",yMMMM:"MMMM 'de' y",yMMMMd:"d 'de' MMMM 'de' y",yMMMMEd:"EEE, d 'de' MMMM 'de' y",yQQQ:"QQQ y",yQQQQ:"QQQQ 'de' y"},dateFormats:{yMMMMEEEEd:"EEEE, d 'de' MMMM 'de' y",yMMMMd:"d 'de' MMMM 'de' y",yMMMd:"d MMM y",yMd:"d/M/yy"},timeFormats:{hmmsszzzz:"H:mm:ss (zzzz)",hmsz:"H:mm:ss z",hms:"H:mm:ss",hm:"H:mm"}},calendars:{buddhist:{months:{narrow:["E","F","M","A","M","J","J","A","S","O","N","D"],"short":["ene.","feb.","mar.","abr.","may.","jun.","jul.","ago.","sept.","oct.","nov.","dic."],"long":["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"]},days:{narrow:["D","L","M","X","J","V","S"],"short":["dom.","lun.","mar.","mié.","jue.","vie.","sáb."],"long":["domingo","lunes","martes","miércoles","jueves","viernes","sábado"]},eras:{narrow:["BE"],"short":["BE"],"long":["BE"]},dayPeriods:{am:"a. m.",pm:"p. m."}},chinese:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["M01","M02","M03","M04","M05","M06","M07","M08","M09","M10","M11","M12"],"long":["M01","M02","M03","M04","M05","M06","M07","M08","M09","M10","M11","M12"]},days:{narrow:["D","L","M","X","J","V","S"],"short":["dom.","lun.","mar.","mié.","jue.","vie.","sáb."],"long":["domingo","lunes","martes","miércoles","jueves","viernes","sábado"]},dayPeriods:{am:"a. m.",pm:"p. m."}},coptic:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12","13"],"short":["Tout","Baba","Hator","Kiahk","Toba","Amshir","Baramhat","Baramouda","Bashans","Paona","Epep","Mesra","Nasie"],"long":["Tout","Baba","Hator","Kiahk","Toba","Amshir","Baramhat","Baramouda","Bashans","Paona","Epep","Mesra","Nasie"]},days:{narrow:["D","L","M","X","J","V","S"],"short":["dom.","lun.","mar.","mié.","jue.","vie.","sáb."],"long":["domingo","lunes","martes","miércoles","jueves","viernes","sábado"]},eras:{narrow:["ERA0","ERA1"],"short":["ERA0","ERA1"],"long":["ERA0","ERA1"]},dayPeriods:{am:"a. m.",pm:"p. m."}},dangi:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["M01","M02","M03","M04","M05","M06","M07","M08","M09","M10","M11","M12"],"long":["M01","M02","M03","M04","M05","M06","M07","M08","M09","M10","M11","M12"]},days:{narrow:["D","L","M","X","J","V","S"],"short":["dom.","lun.","mar.","mié.","jue.","vie.","sáb."],"long":["domingo","lunes","martes","miércoles","jueves","viernes","sábado"]},dayPeriods:{am:"a. m.",pm:"p. m."}},ethiopic:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12","13"],"short":["Meskerem","Tekemt","Hedar","Tahsas","Ter","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehasse","Pagumen"],"long":["Meskerem","Tekemt","Hedar","Tahsas","Ter","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehasse","Pagumen"]},days:{narrow:["D","L","M","X","J","V","S"],"short":["dom.","lun.","mar.","mié.","jue.","vie.","sáb."],"long":["domingo","lunes","martes","miércoles","jueves","viernes","sábado"]},eras:{narrow:["ERA0","ERA1"],"short":["ERA0","ERA1"],"long":["ERA0","ERA1"]},dayPeriods:{am:"a. m.",pm:"p. m."}},ethioaa:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12","13"],"short":["Meskerem","Tekemt","Hedar","Tahsas","Ter","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehasse","Pagumen"],"long":["Meskerem","Tekemt","Hedar","Tahsas","Ter","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehasse","Pagumen"]},days:{narrow:["D","L","M","X","J","V","S"],"short":["dom.","lun.","mar.","mié.","jue.","vie.","sáb."],"long":["domingo","lunes","martes","miércoles","jueves","viernes","sábado"]},eras:{narrow:["ERA0"],"short":["ERA0"],"long":["ERA0"]},dayPeriods:{am:"a. m.",pm:"p. m."}},generic:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["M01","M02","M03","M04","M05","M06","M07","M08","M09","M10","M11","M12"],"long":["M01","M02","M03","M04","M05","M06","M07","M08","M09","M10","M11","M12"]},days:{narrow:["D","L","M","X","J","V","S"],"short":["dom.","lun.","mar.","mié.","jue.","vie.","sáb."],"long":["domingo","lunes","martes","miércoles","jueves","viernes","sábado"]},eras:{narrow:["ERA0","ERA1"],"short":["ERA0","ERA1"],"long":["ERA0","ERA1"]},dayPeriods:{am:"a. m.",pm:"p. m."}},gregory:{months:{narrow:["E","F","M","A","M","J","J","A","S","O","N","D"],"short":["ene.","feb.","mar.","abr.","may.","jun.","jul.","ago.","sept.","oct.","nov.","dic."],"long":["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"]},days:{narrow:["D","L","M","X","J","V","S"],"short":["dom.","lun.","mar.","mié.","jue.","vie.","sáb."],"long":["domingo","lunes","martes","miércoles","jueves","viernes","sábado"]},eras:{narrow:["a. C.","d. C.","a. e. c.","e. c."],"short":["a. C.","d. C.","a. e. c.","e. c."],"long":["antes de Cristo","después de Cristo","antes de la era común","era común"]},dayPeriods:{am:"a. m.",pm:"p. m."}},hebrew:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12","13","7"],"short":["Tishri","Heshvan","Kislev","Tevet","Shevat","Adar I","Adar","Nisan","Iyar","Sivan","Tamuz","Av","Elul","Adar II"],"long":["Tishri","Heshvan","Kislev","Tevet","Shevat","Adar I","Adar","Nisan","Iyar","Sivan","Tamuz","Av","Elul","Adar II"]},days:{narrow:["D","L","M","X","J","V","S"],"short":["dom.","lun.","mar.","mié.","jue.","vie.","sáb."],"long":["domingo","lunes","martes","miércoles","jueves","viernes","sábado"]},eras:{narrow:["AM"],"short":["AM"],"long":["AM"]},dayPeriods:{am:"a. m.",pm:"p. m."}},indian:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["Chaitra","Vaisakha","Jyaistha","Asadha","Sravana","Bhadra","Asvina","Kartika","Agrahayana","Pausa","Magha","Phalguna"],"long":["Chaitra","Vaisakha","Jyaistha","Asadha","Sravana","Bhadra","Asvina","Kartika","Agrahayana","Pausa","Magha","Phalguna"]},days:{narrow:["D","L","M","X","J","V","S"],"short":["dom.","lun.","mar.","mié.","jue.","vie.","sáb."],"long":["domingo","lunes","martes","miércoles","jueves","viernes","sábado"]},eras:{narrow:["Saka"],"short":["Saka"],"long":["Saka"]},dayPeriods:{am:"a. m.",pm:"p. m."}},islamic:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["Muh.","Saf.","Rab. I","Rab. II","Jum. I","Jum. II","Raj.","Sha.","Ram.","Shaw.","Dhuʻl-Q.","Dhuʻl-H."],"long":["Muharram","Safar","Rabiʻ I","Rabiʻ II","Jumada I","Jumada II","Rajab","Shaʻban","Ramadan","Shawwal","Dhuʻl-Qiʻdah","Dhuʻl-Hijjah"]},days:{narrow:["D","L","M","X","J","V","S"],"short":["dom.","lun.","mar.","mié.","jue.","vie.","sáb."],"long":["domingo","lunes","martes","miércoles","jueves","viernes","sábado"] },eras:{narrow:["AH"],"short":["AH"],"long":["AH"]},dayPeriods:{am:"a. m.",pm:"p. m."}},islamicc:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["Muh.","Saf.","Rab. I","Rab. II","Jum. I","Jum. II","Raj.","Sha.","Ram.","Shaw.","Dhuʻl-Q.","Dhuʻl-H."],"long":["Muharram","Safar","Rabiʻ I","Rabiʻ II","Jumada I","Jumada II","Rajab","Shaʻban","Ramadan","Shawwal","Dhuʻl-Qiʻdah","Dhuʻl-Hijjah"]},days:{narrow:["D","L","M","X","J","V","S"],"short":["dom.","lun.","mar.","mié.","jue.","vie.","sáb."],"long":["domingo","lunes","martes","miércoles","jueves","viernes","sábado"]},eras:{narrow:["AH"],"short":["AH"],"long":["AH"]},dayPeriods:{am:"a. m.",pm:"p. m."}},japanese:{months:{narrow:["E","F","M","A","M","J","J","A","S","O","N","D"],"short":["ene.","feb.","mar.","abr.","may.","jun.","jul.","ago.","sept.","oct.","nov.","dic."],"long":["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"]},days:{narrow:["D","L","M","X","J","V","S"],"short":["dom.","lun.","mar.","mié.","jue.","vie.","sáb."],"long":["domingo","lunes","martes","miércoles","jueves","viernes","sábado"]},eras:{narrow:["Taika (645–650)","Hakuchi (650–671)","Hakuhō (672–686)","Shuchō (686–701)","Taihō (701–704)","Keiun (704–708)","Wadō (708–715)","Reiki (715–717)","Yōrō (717–724)","Jinki (724–729)","Tenpyō (729–749)","Tenpyō-kampō (749-749)","Tenpyō-shōhō (749-757)","Tenpyō-hōji (757-765)","Tenpyō-jingo (765-767)","Jingo-keiun (767-770)","Hōki (770–780)","Ten-ō (781-782)","Enryaku (782–806)","Daidō (806–810)","Kōnin (810–824)","Tenchō (824–834)","Jōwa (834–848)","Kajō (848–851)","Ninju (851–854)","Saikō (854–857)","Ten-an (857-859)","Jōgan (859–877)","Gangyō (877–885)","Ninna (885–889)","Kanpyō (889–898)","Shōtai (898–901)","Engi (901–923)","Enchō (923–931)","Jōhei (931–938)","Tengyō (938–947)","Tenryaku (947–957)","Tentoku (957–961)","Ōwa (961–964)","Kōhō (964–968)","Anna (968–970)","Tenroku (970–973)","Ten’en (973–976)","Jōgen (976–978)","Tengen (978–983)","Eikan (983–985)","Kanna (985–987)","Eien (987–989)","Eiso (989–990)","Shōryaku (990–995)","Chōtoku (995–999)","Chōhō (999–1004)","Kankō (1004–1012)","Chōwa (1012–1017)","Kannin (1017–1021)","Jian (1021–1024)","Manju (1024–1028)","Chōgen (1028–1037)","Chōryaku (1037–1040)","Chōkyū (1040–1044)","Kantoku (1044–1046)","Eishō (1046–1053)","Tengi (1053–1058)","Kōhei (1058–1065)","Jiryaku (1065–1069)","Enkyū (1069–1074)","Shōho (1074–1077)","Shōryaku (1077–1081)","Eihō (1081–1084)","Ōtoku (1084–1087)","Kanji (1087–1094)","Kahō (1094–1096)","Eichō (1096–1097)","Jōtoku (1097–1099)","Kōwa (1099–1104)","Chōji (1104–1106)","Kashō (1106–1108)","Tennin (1108–1110)","Ten-ei (1110-1113)","Eikyū (1113–1118)","Gen’ei (1118–1120)","Hōan (1120–1124)","Tenji (1124–1126)","Daiji (1126–1131)","Tenshō (1131–1132)","Chōshō (1132–1135)","Hōen (1135–1141)","Eiji (1141–1142)","Kōji (1142–1144)","Ten’yō (1144–1145)","Kyūan (1145–1151)","Ninpei (1151–1154)","Kyūju (1154–1156)","Hōgen (1156–1159)","Heiji (1159–1160)","Eiryaku (1160–1161)","Ōho (1161–1163)","Chōkan (1163–1165)","Eiman (1165–1166)","Nin’an (1166–1169)","Kaō (1169–1171)","Shōan (1171–1175)","Angen (1175–1177)","Jishō (1177–1181)","Yōwa (1181–1182)","Juei (1182–1184)","Genryaku (1184–1185)","Bunji (1185–1190)","Kenkyū (1190–1199)","Shōji (1199–1201)","Kennin (1201–1204)","Genkyū (1204–1206)","Ken’ei (1206–1207)","Jōgen (1207–1211)","Kenryaku (1211–1213)","Kenpō (1213–1219)","Jōkyū (1219–1222)","Jōō (1222–1224)","Gennin (1224–1225)","Karoku (1225–1227)","Antei (1227–1229)","Kanki (1229–1232)","Jōei (1232–1233)","Tenpuku (1233–1234)","Bunryaku (1234–1235)","Katei (1235–1238)","Ryakunin (1238–1239)","En’ō (1239–1240)","Ninji (1240–1243)","Kangen (1243–1247)","Hōji (1247–1249)","Kenchō (1249–1256)","Kōgen (1256–1257)","Shōka (1257–1259)","Shōgen (1259–1260)","Bun’ō (1260–1261)","Kōchō (1261–1264)","Bun’ei (1264–1275)","Kenji (1275–1278)","Kōan (1278–1288)","Shōō (1288–1293)","Einin (1293–1299)","Shōan (1299–1302)","Kengen (1302–1303)","Kagen (1303–1306)","Tokuji (1306–1308)","Enkyō (1308–1311)","Ōchō (1311–1312)","Shōwa (1312–1317)","Bunpō (1317–1319)","Genō (1319–1321)","Genkō (1321–1324)","Shōchū (1324–1326)","Karyaku (1326–1329)","Gentoku (1329–1331)","Genkō (1331–1334)","Kenmu (1334–1336)","Engen (1336–1340)","Kōkoku (1340–1346)","Shōhei (1346–1370)","Kentoku (1370–1372)","Bunchū (1372–1375)","Tenju (1375–1379)","Kōryaku (1379–1381)","Kōwa (1381–1384)","Genchū (1384–1392)","Meitoku (1384–1387)","Kakei (1387–1389)","Kōō (1389–1390)","Meitoku (1390–1394)","Ōei (1394–1428)","Shōchō (1428–1429)","Eikyō (1429–1441)","Kakitsu (1441–1444)","Bun’an (1444–1449)","Hōtoku (1449–1452)","Kyōtoku (1452–1455)","Kōshō (1455–1457)","Chōroku (1457–1460)","Kanshō (1460–1466)","Bunshō (1466–1467)","Ōnin (1467–1469)","Bunmei (1469–1487)","Chōkyō (1487–1489)","Entoku (1489–1492)","Meiō (1492–1501)","Bunki (1501–1504)","Eishō (1504–1521)","Taiei (1521–1528)","Kyōroku (1528–1532)","Tenbun (1532–1555)","Kōji (1555–1558)","Eiroku (1558–1570)","Genki (1570–1573)","Tenshō (1573–1592)","Bunroku (1592–1596)","Keichō (1596–1615)","Genna (1615–1624)","Kan’ei (1624–1644)","Shōho (1644–1648)","Keian (1648–1652)","Jōō (1652–1655)","Meireki (1655–1658)","Manji (1658–1661)","Kanbun (1661–1673)","Enpō (1673–1681)","Tenna (1681–1684)","Jōkyō (1684–1688)","Genroku (1688–1704)","Hōei (1704–1711)","Shōtoku (1711–1716)","Kyōhō (1716–1736)","Genbun (1736–1741)","Kanpō (1741–1744)","Enkyō (1744–1748)","Kan’en (1748–1751)","Hōreki (1751–1764)","Meiwa (1764–1772)","An’ei (1772–1781)","Tenmei (1781–1789)","Kansei (1789–1801)","Kyōwa (1801–1804)","Bunka (1804–1818)","Bunsei (1818–1830)","Tenpō (1830–1844)","Kōka (1844–1848)","Kaei (1848–1854)","Ansei (1854–1860)","Man’en (1860–1861)","Bunkyū (1861–1864)","Genji (1864–1865)","Keiō (1865–1868)","M","T","S","H"],"short":["Taika (645–650)","Hakuchi (650–671)","Hakuhō (672–686)","Shuchō (686–701)","Taihō (701–704)","Keiun (704–708)","Wadō (708–715)","Reiki (715–717)","Yōrō (717–724)","Jinki (724–729)","Tenpyō (729–749)","Tenpyō-kampō (749-749)","Tenpyō-shōhō (749-757)","Tenpyō-hōji (757-765)","Tenpyō-jingo (765-767)","Jingo-keiun (767-770)","Hōki (770–780)","Ten-ō (781-782)","Enryaku (782–806)","Daidō (806–810)","Kōnin (810–824)","Tenchō (824–834)","Jōwa (834–848)","Kajō (848–851)","Ninju (851–854)","Saikō (854–857)","Ten-an (857-859)","Jōgan (859–877)","Gangyō (877–885)","Ninna (885–889)","Kanpyō (889–898)","Shōtai (898–901)","Engi (901–923)","Enchō (923–931)","Jōhei (931–938)","Tengyō (938–947)","Tenryaku (947–957)","Tentoku (957–961)","Ōwa (961–964)","Kōhō (964–968)","Anna (968–970)","Tenroku (970–973)","Ten’en (973–976)","Jōgen (976–978)","Tengen (978–983)","Eikan (983–985)","Kanna (985–987)","Eien (987–989)","Eiso (989–990)","Shōryaku (990–995)","Chōtoku (995–999)","Chōhō (999–1004)","Kankō (1004–1012)","Chōwa (1012–1017)","Kannin (1017–1021)","Jian (1021–1024)","Manju (1024–1028)","Chōgen (1028–1037)","Chōryaku (1037–1040)","Chōkyū (1040–1044)","Kantoku (1044–1046)","Eishō (1046–1053)","Tengi (1053–1058)","Kōhei (1058–1065)","Jiryaku (1065–1069)","Enkyū (1069–1074)","Shōho (1074–1077)","Shōryaku (1077–1081)","Eihō (1081–1084)","Ōtoku (1084–1087)","Kanji (1087–1094)","Kahō (1094–1096)","Eichō (1096–1097)","Jōtoku (1097–1099)","Kōwa (1099–1104)","Chōji (1104–1106)","Kashō (1106–1108)","Tennin (1108–1110)","Ten-ei (1110-1113)","Eikyū (1113–1118)","Gen’ei (1118–1120)","Hōan (1120–1124)","Tenji (1124–1126)","Daiji (1126–1131)","Tenshō (1131–1132)","Chōshō (1132–1135)","Hōen (1135–1141)","Eiji (1141–1142)","Kōji (1142–1144)","Ten’yō (1144–1145)","Kyūan (1145–1151)","Ninpei (1151–1154)","Kyūju (1154–1156)","Hōgen (1156–1159)","Heiji (1159–1160)","Eiryaku (1160–1161)","Ōho (1161–1163)","Chōkan (1163–1165)","Eiman (1165–1166)","Nin’an (1166–1169)","Kaō (1169–1171)","Shōan (1171–1175)","Angen (1175–1177)","Jishō (1177–1181)","Yōwa (1181–1182)","Juei (1182–1184)","Genryaku (1184–1185)","Bunji (1185–1190)","Kenkyū (1190–1199)","Shōji (1199–1201)","Kennin (1201–1204)","Genkyū (1204–1206)","Ken’ei (1206–1207)","Jōgen (1207–1211)","Kenryaku (1211–1213)","Kenpō (1213–1219)","Jōkyū (1219–1222)","Jōō (1222–1224)","Gennin (1224–1225)","Karoku (1225–1227)","Antei (1227–1229)","Kanki (1229–1232)","Jōei (1232–1233)","Tenpuku (1233–1234)","Bunryaku (1234–1235)","Katei (1235–1238)","Ryakunin (1238–1239)","En’ō (1239–1240)","Ninji (1240–1243)","Kangen (1243–1247)","Hōji (1247–1249)","Kenchō (1249–1256)","Kōgen (1256–1257)","Shōka (1257–1259)","Shōgen (1259–1260)","Bun’ō (1260–1261)","Kōchō (1261–1264)","Bun’ei (1264–1275)","Kenji (1275–1278)","Kōan (1278–1288)","Shōō (1288–1293)","Einin (1293–1299)","Shōan (1299–1302)","Kengen (1302–1303)","Kagen (1303–1306)","Tokuji (1306–1308)","Enkyō (1308–1311)","Ōchō (1311–1312)","Shōwa (1312–1317)","Bunpō (1317–1319)","Genō (1319–1321)","Genkō (1321–1324)","Shōchū (1324–1326)","Karyaku (1326–1329)","Gentoku (1329–1331)","Genkō (1331–1334)","Kenmu (1334–1336)","Engen (1336–1340)","Kōkoku (1340–1346)","Shōhei (1346–1370)","Kentoku (1370–1372)","Bunchū (1372–1375)","Tenju (1375–1379)","Kōryaku (1379–1381)","Kōwa (1381–1384)","Genchū (1384–1392)","Meitoku (1384–1387)","Kakei (1387–1389)","Kōō (1389–1390)","Meitoku (1390–1394)","Ōei (1394–1428)","Shōchō (1428–1429)","Eikyō (1429–1441)","Kakitsu (1441–1444)","Bun’an (1444–1449)","Hōtoku (1449–1452)","Kyōtoku (1452–1455)","Kōshō (1455–1457)","Chōroku (1457–1460)","Kanshō (1460–1466)","Bunshō (1466–1467)","Ōnin (1467–1469)","Bunmei (1469–1487)","Chōkyō (1487–1489)","Entoku (1489–1492)","Meiō (1492–1501)","Bunki (1501–1504)","Eishō (1504–1521)","Taiei (1521–1528)","Kyōroku (1528–1532)","Tenbun (1532–1555)","Kōji (1555–1558)","Eiroku (1558–1570)","Genki (1570–1573)","Tenshō (1573–1592)","Bunroku (1592–1596)","Keichō (1596–1615)","Genna (1615–1624)","Kan’ei (1624–1644)","Shōho (1644–1648)","Keian (1648–1652)","Jōō (1652–1655)","Meireki (1655–1658)","Manji (1658–1661)","Kanbun (1661–1673)","Enpō (1673–1681)","Tenna (1681–1684)","Jōkyō (1684–1688)","Genroku (1688–1704)","Hōei (1704–1711)","Shōtoku (1711–1716)","Kyōhō (1716–1736)","Genbun (1736–1741)","Kanpō (1741–1744)","Enkyō (1744–1748)","Kan’en (1748–1751)","Hōreki (1751–1764)","Meiwa (1764–1772)","An’ei (1772–1781)","Tenmei (1781–1789)","Kansei (1789–1801)","Kyōwa (1801–1804)","Bunka (1804–1818)","Bunsei (1818–1830)","Tenpō (1830–1844)","Kōka (1844–1848)","Kaei (1848–1854)","Ansei (1854–1860)","Man’en (1860–1861)","Bunkyū (1861–1864)","Genji (1864–1865)","Keiō (1865–1868)","Meiji","Taishō","Shōwa","Heisei"],"long":["Taika (645–650)","Hakuchi (650–671)","Hakuhō (672–686)","Shuchō (686–701)","Taihō (701–704)","Keiun (704–708)","Wadō (708–715)","Reiki (715–717)","Yōrō (717–724)","Jinki (724–729)","Tenpyō (729–749)","Tenpyō-kampō (749-749)","Tenpyō-shōhō (749-757)","Tenpyō-hōji (757-765)","Tenpyō-jingo (765-767)","Jingo-keiun (767-770)","Hōki (770–780)","Ten-ō (781-782)","Enryaku (782–806)","Daidō (806–810)","Kōnin (810–824)","Tenchō (824–834)","Jōwa (834–848)","Kajō (848–851)","Ninju (851–854)","Saikō (854–857)","Ten-an (857-859)","Jōgan (859–877)","Gangyō (877–885)","Ninna (885–889)","Kanpyō (889–898)","Shōtai (898–901)","Engi (901–923)","Enchō (923–931)","Jōhei (931–938)","Tengyō (938–947)","Tenryaku (947–957)","Tentoku (957–961)","Ōwa (961–964)","Kōhō (964–968)","Anna (968–970)","Tenroku (970–973)","Ten’en (973–976)","Jōgen (976–978)","Tengen (978–983)","Eikan (983–985)","Kanna (985–987)","Eien (987–989)","Eiso (989–990)","Shōryaku (990–995)","Chōtoku (995–999)","Chōhō (999–1004)","Kankō (1004–1012)","Chōwa (1012–1017)","Kannin (1017–1021)","Jian (1021–1024)","Manju (1024–1028)","Chōgen (1028–1037)","Chōryaku (1037–1040)","Chōkyū (1040–1044)","Kantoku (1044–1046)","Eishō (1046–1053)","Tengi (1053–1058)","Kōhei (1058–1065)","Jiryaku (1065–1069)","Enkyū (1069–1074)","Shōho (1074–1077)","Shōryaku (1077–1081)","Eihō (1081–1084)","Ōtoku (1084–1087)","Kanji (1087–1094)","Kahō (1094–1096)","Eichō (1096–1097)","Jōtoku (1097–1099)","Kōwa (1099–1104)","Chōji (1104–1106)","Kashō (1106–1108)","Tennin (1108–1110)","Ten-ei (1110-1113)","Eikyū (1113–1118)","Gen’ei (1118–1120)","Hōan (1120–1124)","Tenji (1124–1126)","Daiji (1126–1131)","Tenshō (1131–1132)","Chōshō (1132–1135)","Hōen (1135–1141)","Eiji (1141–1142)","Kōji (1142–1144)","Ten’yō (1144–1145)","Kyūan (1145–1151)","Ninpei (1151–1154)","Kyūju (1154–1156)","Hōgen (1156–1159)","Heiji (1159–1160)","Eiryaku (1160–1161)","Ōho (1161–1163)","Chōkan (1163–1165)","Eiman (1165–1166)","Nin’an (1166–1169)","Kaō (1169–1171)","Shōan (1171–1175)","Angen (1175–1177)","Jishō (1177–1181)","Yōwa (1181–1182)","Juei (1182–1184)","Genryaku (1184–1185)","Bunji (1185–1190)","Kenkyū (1190–1199)","Shōji (1199–1201)","Kennin (1201–1204)","Genkyū (1204–1206)","Ken’ei (1206–1207)","Jōgen (1207–1211)","Kenryaku (1211–1213)","Kenpō (1213–1219)","Jōkyū (1219–1222)","Jōō (1222–1224)","Gennin (1224–1225)","Karoku (1225–1227)","Antei (1227–1229)","Kanki (1229–1232)","Jōei (1232–1233)","Tenpuku (1233–1234)","Bunryaku (1234–1235)","Katei (1235–1238)","Ryakunin (1238–1239)","En’ō (1239–1240)","Ninji (1240–1243)","Kangen (1243–1247)","Hōji (1247–1249)","Kenchō (1249–1256)","Kōgen (1256–1257)","Shōka (1257–1259)","Shōgen (1259–1260)","Bun’ō (1260–1261)","Kōchō (1261–1264)","Bun’ei (1264–1275)","Kenji (1275–1278)","Kōan (1278–1288)","Shōō (1288–1293)","Einin (1293–1299)","Shōan (1299–1302)","Kengen (1302–1303)","Kagen (1303–1306)","Tokuji (1306–1308)","Enkyō (1308–1311)","Ōchō (1311–1312)","Shōwa (1312–1317)","Bunpō (1317–1319)","Genō (1319–1321)","Genkō (1321–1324)","Shōchū (1324–1326)","Karyaku (1326–1329)","Gentoku (1329–1331)","Genkō (1331–1334)","Kenmu (1334–1336)","Engen (1336–1340)","Kōkoku (1340–1346)","Shōhei (1346–1370)","Kentoku (1370–1372)","Bunchū (1372–1375)","Tenju (1375–1379)","Kōryaku (1379–1381)","Kōwa (1381–1384)","Genchū (1384–1392)","Meitoku (1384–1387)","Kakei (1387–1389)","Kōō (1389–1390)","Meitoku (1390–1394)","Ōei (1394–1428)","Shōchō (1428–1429)","Eikyō (1429–1441)","Kakitsu (1441–1444)","Bun’an (1444–1449)","Hōtoku (1449–1452)","Kyōtoku (1452–1455)","Kōshō (1455–1457)","Chōroku (1457–1460)","Kanshō (1460–1466)","Bunshō (1466–1467)","Ōnin (1467–1469)","Bunmei (1469–1487)","Chōkyō (1487–1489)","Entoku (1489–1492)","Meiō (1492–1501)","Bunki (1501–1504)","Eishō (1504–1521)","Taiei (1521–1528)","Kyōroku (1528–1532)","Tenbun (1532–1555)","Kōji (1555–1558)","Eiroku (1558–1570)","Genki (1570–1573)","Tenshō (1573–1592)","Bunroku (1592–1596)","Keichō (1596–1615)","Genna (1615–1624)","Kan’ei (1624–1644)","Shōho (1644–1648)","Keian (1648–1652)","Jōō (1652–1655)","Meireki (1655–1658)","Manji (1658–1661)","Kanbun (1661–1673)","Enpō (1673–1681)","Tenna (1681–1684)","Jōkyō (1684–1688)","Genroku (1688–1704)","Hōei (1704–1711)","Shōtoku (1711–1716)","Kyōhō (1716–1736)","Genbun (1736–1741)","Kanpō (1741–1744)","Enkyō (1744–1748)","Kan’en (1748–1751)","Hōreki (1751–1764)","Meiwa (1764–1772)","An’ei (1772–1781)","Tenmei (1781–1789)","Kansei (1789–1801)","Kyōwa (1801–1804)","Bunka (1804–1818)","Bunsei (1818–1830)","Tenpō (1830–1844)","Kōka (1844–1848)","Kaei (1848–1854)","Ansei (1854–1860)","Man’en (1860–1861)","Bunkyū (1861–1864)","Genji (1864–1865)","Keiō (1865–1868)","Meiji","Taishō","Shōwa","Heisei"]},dayPeriods:{am:"a. m.",pm:"p. m."}},persian:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["Farvardin","Ordibehesht","Khordad","Tir","Mordad","Shahrivar","Mehr","Aban","Azar","Dey","Bahman","Esfand"],"long":["Farvardin","Ordibehesht","Khordad","Tir","Mordad","Shahrivar","Mehr","Aban","Azar","Dey","Bahman","Esfand"]},days:{narrow:["D","L","M","X","J","V","S"],"short":["dom.","lun.","mar.","mié.","jue.","vie.","sáb."],"long":["domingo","lunes","martes","miércoles","jueves","viernes","sábado"]},eras:{narrow:["AP"],"short":["AP"],"long":["AP"]},dayPeriods:{am:"a. m.",pm:"p. m."}},roc:{months:{narrow:["E","F","M","A","M","J","J","A","S","O","N","D"],"short":["ene.","feb.","mar.","abr.","may.","jun.","jul.","ago.","sept.","oct.","nov.","dic."],"long":["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"]},days:{narrow:["D","L","M","X","J","V","S"],"short":["dom.","lun.","mar.","mié.","jue.","vie.","sáb."],"long":["domingo","lunes","martes","miércoles","jueves","viernes","sábado"]},eras:{narrow:["antes de R.O.C.","R.O.C."],"short":["antes de R.O.C.","R.O.C."],"long":["antes de R.O.C.","R.O.C."]},dayPeriods:{am:"a. m.",pm:"p. m."}}}},number:{nu:["latn"],patterns:{decimal:{positivePattern:"{number}",negativePattern:"{minusSign}{number}"},currency:{positivePattern:"{number} {currency}",negativePattern:"{minusSign}{number} {currency}"},percent:{positivePattern:"{number} {percentSign}",negativePattern:"{minusSign}{number} {percentSign}"}},symbols:{latn:{decimal:",",group:".",nan:"NaN",plusSign:"+",minusSign:"-",percentSign:"%",infinity:"∞"}},currencies:{CAD:"CA$",ESP:"₧",EUR:"€",THB:"฿",USD:"$",VND:"₫",XPF:"CFPF"}}})},704:function(n,a){IntlPolyfill.__addLocaleData({locale:"fr",date:{ca:["gregory","buddhist","chinese","coptic","dangi","ethioaa","ethiopic","generic","hebrew","indian","islamic","islamicc","japanese","persian","roc"],hourNo0:!0,hour12:!1,formats:{"short":"{1} {0}",medium:"{1} 'à' {0}",full:"{1} 'à' {0}","long":"{1} 'à' {0}",availableFormats:{d:"d",E:"E",Ed:"E d",Ehm:"E h:mm a",EHm:"E HH:mm",Ehms:"E h:mm:ss a",EHms:"E HH:mm:ss",Gy:"y G",GyMMM:"MMM y G",GyMMMd:"d MMM y G",GyMMMEd:"E d MMM y G",h:"h a",H:"HH 'h'",hm:"h:mm a",Hm:"HH:mm",hms:"h:mm:ss a",Hms:"HH:mm:ss",hmsv:"h:mm:ss a v",Hmsv:"HH:mm:ss v",hmv:"h:mm a v",Hmv:"HH:mm v",M:"L",Md:"dd/MM",MEd:"E dd/MM",MMM:"LLL",MMMd:"d MMM",MMMEd:"E d MMM",MMMMd:"d MMMM",ms:"mm:ss",y:"y",yM:"MM/y",yMd:"dd/MM/y",yMEd:"E dd/MM/y",yMMM:"MMM y",yMMMd:"d MMM y",yMMMEd:"E d MMM y",yMMMM:"MMMM y",yQQQ:"QQQ y",yQQQQ:"QQQQ y"},dateFormats:{yMMMMEEEEd:"EEEE d MMMM y",yMMMMd:"d MMMM y",yMMMd:"d MMM y",yMd:"dd/MM/y"},timeFormats:{hmmsszzzz:"HH:mm:ss zzzz",hmsz:"HH:mm:ss z",hms:"HH:mm:ss",hm:"HH:mm"}},calendars:{buddhist:{months:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],"short":["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],"long":["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"]},days:{narrow:["D","L","M","M","J","V","S"],"short":["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],"long":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},eras:{narrow:["E.B."],"short":["ère b."],"long":["ère bouddhiste"]},dayPeriods:{am:"AM",pm:"PM"}},chinese:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["1yuè","2yuè","3yuè","4yuè","5yuè","6yuè","7yuè","8yuè","9yuè","10yuè","11yuè","12yuè"],"long":["zhēngyuè","èryuè","sānyuè","sìyuè","wǔyuè","liùyuè","qīyuè","bāyuè","jiǔyuè","shíyuè","shíyīyuè","shí’èryuè"]},days:{narrow:["D","L","M","M","J","V","S"],"short":["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],"long":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},dayPeriods:{am:"AM",pm:"PM"}},coptic:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12","13"],"short":["Tout","Baba","Hator","Kiahk","Toba","Amshir","Baramhat","Baramouda","Bashans","Paona","Epep","Mesra","Nasie"],"long":["Tout","Baba","Hator","Kiahk","Toba","Amshir","Baramhat","Baramouda","Bashans","Paona","Epep","Mesra","Nasie"]},days:{narrow:["D","L","M","M","J","V","S"],"short":["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],"long":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},eras:{narrow:["ERA0","ERA1"],"short":["ERA0","ERA1"],"long":["ERA0","ERA1"]},dayPeriods:{am:"AM",pm:"PM"}},dangi:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["1yuè","2yuè","3yuè","4yuè","5yuè","6yuè","7yuè","8yuè","9yuè","10yuè","11yuè","12yuè"],"long":["zhēngyuè","èryuè","sānyuè","sìyuè","wǔyuè","liùyuè","qīyuè","bāyuè","jiǔyuè","shíyuè","shíyīyuè","shí’èryuè"]},days:{narrow:["D","L","M","M","J","V","S"],"short":["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],"long":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},dayPeriods:{am:"AM",pm:"PM"}},ethiopic:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12","13"],"short":["Meskerem","Tekemt","Hedar","Tahsas","Ter","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehasse","Pagumen"],"long":["Meskerem","Tekemt","Hedar","Tahsas","Ter","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehasse","Pagumen"]},days:{narrow:["D","L","M","M","J","V","S"],"short":["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],"long":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},eras:{narrow:["ERA0","ERA1"],"short":["ERA0","ERA1"],"long":["ERA0","ERA1"]},dayPeriods:{am:"AM",pm:"PM"}},ethioaa:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12","13"],"short":["Meskerem","Tekemt","Hedar","Tahsas","Ter","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehasse","Pagumen"],"long":["Meskerem","Tekemt","Hedar","Tahsas","Ter","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehasse","Pagumen"]},days:{narrow:["D","L","M","M","J","V","S"],"short":["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],"long":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},eras:{narrow:["ERA0"],"short":["ERA0"],"long":["ERA0"]},dayPeriods:{am:"AM",pm:"PM"}},generic:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["M01","M02","M03","M04","M05","M06","M07","M08","M09","M10","M11","M12"],"long":["M01","M02","M03","M04","M05","M06","M07","M08","M09","M10","M11","M12"]},days:{narrow:["D","L","M","M","J","V","S"],"short":["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],"long":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},eras:{narrow:["ERA0","ERA1"],"short":["ERA0","ERA1"],"long":["ERA0","ERA1"]},dayPeriods:{am:"AM",pm:"PM"}},gregory:{months:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],"short":["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],"long":["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"]},days:{narrow:["D","L","M","M","J","V","S"],"short":["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],"long":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},eras:{narrow:["av. J.-C.","ap. J.-C.","AEC","EC"],"short":["av. J.-C.","ap. J.-C.","AEC","EC"],"long":["avant Jésus-Christ","après Jésus-Christ","avant l’ère commune","de l’ère commune"]},dayPeriods:{am:"AM",pm:"PM"}},hebrew:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12","13","7"],"short":["Tisseri","Hesvan","Kislev","Tébeth","Schébat","Adar I","Adar","Nissan","Iyar","Sivan","Tamouz","Ab","Elloul","Adar II"],"long":["Tisseri","Hesvan","Kislev","Tébeth","Schébat","Adar I","Adar","Nissan","Iyar","Sivan","Tamouz","Ab","Elloul","Adar II"]},days:{narrow:["D","L","M","M","J","V","S"],"short":["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],"long":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},eras:{narrow:["AM"],"short":["AM"],"long":["AM"]},dayPeriods:{am:"AM",pm:"PM"}},indian:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["Chaitra","Vaisakha","Jyaistha","Asadha","Sravana","Bhadra","Asvina","Kartika","Agrahayana","Pausa","Magha","Phalguna"],"long":["Chaitra","Vaisakha","Jyaistha","Asadha","Sravana","Bhadra","Asvina","Kartika","Agrahayana","Pausa","Magha","Phalguna"]},days:{narrow:["D","L","M","M","J","V","S"],"short":["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],"long":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},eras:{narrow:["Saka"],"short":["Saka"],"long":["Saka"]},dayPeriods:{am:"AM",pm:"PM"}},islamic:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["mouh.","saf.","rab. aw.","rab. th.","joum. oul.","joum. tha.","raj.","chaa.","ram.","chaw.","dhou. q.","dhou. h."],"long":["mouharram","safar","rabia al awal","rabia ath-thani","joumada al oula","joumada ath-thania","rajab","chaabane","ramadan","chawwal","dhou al qi`da","dhou al-hijja"]},days:{narrow:["D","L","M","M","J","V","S"],"short":["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],"long":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},eras:{narrow:["AH"],"short":["AH"],"long":["AH"]},dayPeriods:{am:"AM",pm:"PM"}},islamicc:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["mouh.","saf.","rab. aw.","rab. th.","joum. oul.","joum. tha.","raj.","chaa.","ram.","chaw.","dhou. q.","dhou. h."],"long":["mouharram","safar","rabia al awal","rabia ath-thani","joumada al oula","joumada ath-thania","rajab","chaabane","ramadan","chawwal","dhou al qi`da","dhou al-hijja"]},days:{narrow:["D","L","M","M","J","V","S"],"short":["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],"long":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},eras:{narrow:["AH"],"short":["AH"],"long":["AH"]},dayPeriods:{am:"AM",pm:"PM"}},japanese:{months:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],"short":["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],"long":["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"]},days:{narrow:["D","L","M","M","J","V","S"],"short":["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],"long":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},eras:{narrow:["Taika (645–650)","Hakuchi (650–671)","Hakuhō (672–686)","Shuchō (686–701)","Taihō (701–704)","Keiun (704–708)","Wadō (708–715)","Reiki (715–717)","Yōrō (717–724)","Jinki (724–729)","Tenpyō (729–749)","Tenpyō-kampō (749-749)","Tenpyō-shōhō (749-757)","Tenpyō-hōji (757-765)","Tenpyō-jingo (765-767)","Jingo-keiun (767-770)","Hōki (770–780)","Ten-ō (781-782)","Enryaku (782–806)","Daidō (806–810)","Kōnin (810–824)","Tenchō (824–834)","Jōwa (834–848)","Kajō (848–851)","Ninju (851–854)","Saikō (854–857)","Ten-an (857-859)","Jōgan (859–877)","Gangyō (877–885)","Ninna (885–889)","Kanpyō (889–898)","Shōtai (898–901)","Engi (901–923)","Enchō (923–931)","Jōhei (931–938)","Tengyō (938–947)","Tenryaku (947–957)","Tentoku (957–961)","Ōwa (961–964)","Kōhō (964–968)","Anna (968–970)","Tenroku (970–973)","Ten’en (973–976)","Jōgen (976–978)","Tengen (978–983)","Eikan (983–985)","Kanna (985–987)","Eien (987–989)","Eiso (989–990)","Shōryaku (990–995)","Chōtoku (995–999)","Chōhō (999–1004)","Kankō (1004–1012)","Chōwa (1012–1017)","Kannin (1017–1021)","Jian (1021–1024)","Manju (1024–1028)","Chōgen (1028–1037)","Chōryaku (1037–1040)","Chōkyū (1040–1044)","Kantoku (1044–1046)","Eishō (1046–1053)","Tengi (1053–1058)","Kōhei (1058–1065)","Jiryaku (1065–1069)","Enkyū (1069–1074)","Shōho (1074–1077)","Shōryaku (1077–1081)","Eihō (1081–1084)","Ōtoku (1084–1087)","Kanji (1087–1094)","Kahō (1094–1096)","Eichō (1096–1097)","Jōtoku (1097–1099)","Kōwa (1099–1104)","Chōji (1104–1106)","Kashō (1106–1108)","Tennin (1108–1110)","Ten-ei (1110-1113)","Eikyū (1113–1118)","Gen’ei (1118–1120)","Hōan (1120–1124)","Tenji (1124–1126)","Daiji (1126–1131)","Tenshō (1131–1132)","Chōshō (1132–1135)","Hōen (1135–1141)","Eiji (1141–1142)","Kōji (1142–1144)","Ten’yō (1144–1145)","Kyūan (1145–1151)","Ninpei (1151–1154)","Kyūju (1154–1156)","Hōgen (1156–1159)","Heiji (1159–1160)","Eiryaku (1160–1161)","Ōho (1161–1163)","Chōkan (1163–1165)","Eiman (1165–1166)","Nin’an (1166–1169)","Kaō (1169–1171)","Shōan (1171–1175)","Angen (1175–1177)","Jishō (1177–1181)","Yōwa (1181–1182)","Juei (1182–1184)","Genryaku (1184–1185)","Bunji (1185–1190)","Kenkyū (1190–1199)","Shōji (1199–1201)","Kennin (1201–1204)","Genkyū (1204–1206)","Ken’ei (1206–1207)","Jōgen (1207–1211)","Kenryaku (1211–1213)","Kenpō (1213–1219)","Jōkyū (1219–1222)","Jōō (1222–1224)","Gennin (1224–1225)","Karoku (1225–1227)","Antei (1227–1229)","Kanki (1229–1232)","Jōei (1232–1233)","Tenpuku (1233–1234)","Bunryaku (1234–1235)","Katei (1235–1238)","Ryakunin (1238–1239)","En’ō (1239–1240)","Ninji (1240–1243)","Kangen (1243–1247)","Hōji (1247–1249)","Kenchō (1249–1256)","Kōgen (1256–1257)","Shōka (1257–1259)","Shōgen (1259–1260)","Bun’ō (1260–1261)","Kōchō (1261–1264)","Bun’ei (1264–1275)","Kenji (1275–1278)","Kōan (1278–1288)","Shōō (1288–1293)","Einin (1293–1299)","Shōan (1299–1302)","Kengen (1302–1303)","Kagen (1303–1306)","Tokuji (1306–1308)","Enkyō (1308–1311)","Ōchō (1311–1312)","Shōwa (1312–1317)","Bunpō (1317–1319)","Genō (1319–1321)","Genkō (1321–1324)","Shōchū (1324–1326)","Karyaku (1326–1329)","Gentoku (1329–1331)","Genkō (1331–1334)","Kenmu (1334–1336)","Engen (1336–1340)","Kōkoku (1340–1346)","Shōhei (1346–1370)","Kentoku (1370–1372)","Bunchū (1372–1375)","Tenju (1375–1379)","Kōryaku (1379–1381)","Kōwa (1381–1384)","Genchū (1384–1392)","Meitoku (1384–1387)","Kakei (1387–1389)","Kōō (1389–1390)","Meitoku (1390–1394)","Ōei (1394–1428)","Shōchō (1428–1429)","Eikyō (1429–1441)","Kakitsu (1441–1444)","Bun’an (1444–1449)","Hōtoku (1449–1452)","Kyōtoku (1452–1455)","Kōshō (1455–1457)","Chōroku (1457–1460)","Kanshō (1460–1466)","Bunshō (1466–1467)","Ōnin (1467–1469)","Bunmei (1469–1487)","Chōkyō (1487–1489)","Entoku (1489–1492)","Meiō (1492–1501)","Bunki (1501–1504)","Eishō (1504–1521)","Taiei (1521–1528)","Kyōroku (1528–1532)","Tenbun (1532–1555)","Kōji (1555–1558)","Eiroku (1558–1570)","Genki (1570–1573)","Tenshō (1573–1592)","Bunroku (1592–1596)","Keichō (1596–1615)","Genna (1615–1624)","Kan’ei (1624–1644)","Shōho (1644–1648)","Keian (1648–1652)","Jōō (1652–1655)","Meireki (1655–1658)","Manji (1658–1661)","Kanbun (1661–1673)","Enpō (1673–1681)","Tenna (1681–1684)","Jōkyō (1684–1688)","Genroku (1688–1704)","Hōei (1704–1711)","Shōtoku (1711–1716)","Kyōhō (1716–1736)","Genbun (1736–1741)","Kanpō (1741–1744)","Enkyō (1744–1748)","Kan’en (1748–1751)","Hōreki (1751–1764)","Meiwa (1764–1772)","An’ei (1772–1781)","Tenmei (1781–1789)","Kansei (1789–1801)","Kyōwa (1801–1804)","Bunka (1804–1818)","Bunsei (1818–1830)","Tenpō (1830–1844)","Kōka (1844–1848)","Kaei (1848–1854)","Ansei (1854–1860)","Man’en (1860–1861)","Bunkyū (1861–1864)","Genji (1864–1865)","Keiō (1865–1868)","M","T","S","H"],"short":["Taika (645–650)","Hakuchi (650–671)","Hakuhō (672–686)","Shuchō (686–701)","Taihō (701–704)","Keiun (704–708)","Wadō (708–715)","Reiki (715–717)","Yōrō (717–724)","Jinki (724–729)","Tenpyō (729–749)","Tenpyō-kampō (749-749)","Tenpyō-shōhō (749-757)","Tenpyō-hōji (757-765)","Tenpyō-jingo (765-767)","Jingo-keiun (767-770)","Hōki (770–780)","Ten-ō (781-782)","Enryaku (782–806)","Daidō (806–810)","Kōnin (810–824)","Tenchō (824–834)","Jōwa (834–848)","Kajō (848–851)","Ninju (851–854)","Saikō (854–857)","Ten-an (857-859)","Jōgan (859–877)","Gangyō (877–885)","Ninna (885–889)","Kanpyō (889–898)","Shōtai (898–901)","Engi (901–923)","Enchō (923–931)","Jōhei (931–938)","Tengyō (938–947)","Tenryaku (947–957)","Tentoku (957–961)","Ōwa (961–964)","Kōhō (964–968)","Anna (968–970)","Tenroku (970–973)","Ten’en (973–976)","Jōgen (976–978)","Tengen (978–983)","Eikan (983–985)","Kanna (985–987)","Eien (987–989)","Eiso (989–990)","Shōryaku (990–995)","Chōtoku (995–999)","Chōhō (999–1004)","Kankō (1004–1012)","Chōwa (1012–1017)","Kannin (1017–1021)","Jian (1021–1024)","Manju (1024–1028)","Chōgen (1028–1037)","Chōryaku (1037–1040)","Chōkyū (1040–1044)","Kantoku (1044–1046)","Eishō (1046–1053)","Tengi (1053–1058)","Kōhei (1058–1065)","Jiryaku (1065–1069)","Enkyū (1069–1074)","Shōho (1074–1077)","Shōryaku (1077–1081)","Eihō (1081–1084)","Ōtoku (1084–1087)","Kanji (1087–1094)","Kahō (1094–1096)","Eichō (1096–1097)","Jōtoku (1097–1099)","Kōwa (1099–1104)","Chōji (1104–1106)","Kashō (1106–1108)","Tennin (1108–1110)","Ten-ei (1110-1113)","Eikyū (1113–1118)","Gen’ei (1118–1120)","Hōan (1120–1124)","Tenji (1124–1126)","Daiji (1126–1131)","Tenshō (1131–1132)","Chōshō (1132–1135)","Hōen (1135–1141)","Eiji (1141–1142)","Kōji (1142–1144)","Ten’yō (1144–1145)","Kyūan (1145–1151)","Ninpei (1151–1154)","Kyūju (1154–1156)","Hōgen (1156–1159)","Heiji (1159–1160)","Eiryaku (1160–1161)","Ōho (1161–1163)","Chōkan (1163–1165)","Eiman (1165–1166)","Nin’an (1166–1169)","Kaō (1169–1171)","Shōan (1171–1175)","Angen (1175–1177)","Jishō (1177–1181)","Yōwa (1181–1182)","Juei (1182–1184)","Genryaku (1184–1185)","Bunji (1185–1190)","Kenkyū (1190–1199)","Shōji (1199–1201)","Kennin (1201–1204)","Genkyū (1204–1206)","Ken’ei (1206–1207)","Jōgen (1207–1211)","Kenryaku (1211–1213)","Kenpō (1213–1219)","Jōkyū (1219–1222)","Jōō (1222–1224)","Gennin (1224–1225)","Karoku (1225–1227)","Antei (1227–1229)","Kanki (1229–1232)","Jōei (1232–1233)","Tenpuku (1233–1234)","Bunryaku (1234–1235)","Katei (1235–1238)","Ryakunin (1238–1239)","En’ō (1239–1240)","Ninji (1240–1243)","Kangen (1243–1247)","Hōji (1247–1249)","Kenchō (1249–1256)","Kōgen (1256–1257)","Shōka (1257–1259)","Shōgen (1259–1260)","Bun’ō (1260–1261)","Kōchō (1261–1264)","Bun’ei (1264–1275)","Kenji (1275–1278)","Kōan (1278–1288)","Shōō (1288–1293)","Einin (1293–1299)","Shōan (1299–1302)","Kengen (1302–1303)","Kagen (1303–1306)","Tokuji (1306–1308)","Enkyō (1308–1311)","Ōchō (1311–1312)","Shōwa (1312–1317)","Bunpō (1317–1319)","Genō (1319–1321)","Genkō (1321–1324)","Shōchū (1324–1326)","Karyaku (1326–1329)","Gentoku (1329–1331)","Genkō (1331–1334)","Kenmu (1334–1336)","Engen (1336–1340)","Kōkoku (1340–1346)","Shōhei (1346–1370)","Kentoku (1370–1372)","Bunchū (1372–1375)","Tenju (1375–1379)","Kōryaku (1379–1381)","Kōwa (1381–1384)","Genchū (1384–1392)","Meitoku (1384–1387)","Kakei (1387–1389)","Kōō (1389–1390)","Meitoku (1390–1394)","Ōei (1394–1428)","Shōchō (1428–1429)","Eikyō (1429–1441)","Kakitsu (1441–1444)","Bun’an (1444–1449)","Hōtoku (1449–1452)","Kyōtoku (1452–1455)","Kōshō (1455–1457)","Chōroku (1457–1460)","Kanshō (1460–1466)","Bunshō (1466–1467)","Ōnin (1467–1469)","Bunmei (1469–1487)","Chōkyō (1487–1489)","Entoku (1489–1492)","Meiō (1492–1501)","Bunki (1501–1504)","Eishō (1504–1521)","Taiei (1521–1528)","Kyōroku (1528–1532)","Tenbun (1532–1555)","Kōji (1555–1558)","Eiroku (1558–1570)","Genki (1570–1573)","Tenshō (1573–1592)","Bunroku (1592–1596)","Keichō (1596–1615)","Genna (1615–1624)","Kan’ei (1624–1644)","Shōho (1644–1648)","Keian (1648–1652)","Jōō (1652–1655)","Meireki (1655–1658)","Manji (1658–1661)","Kanbun (1661–1673)","Enpō (1673–1681)","Tenna (1681–1684)","Jōkyō (1684–1688)","Genroku (1688–1704)","Hōei (1704–1711)","Shōtoku (1711–1716)","Kyōhō (1716–1736)","Genbun (1736–1741)","Kanpō (1741–1744)","Enkyō (1744–1748)","Kan’en (1748–1751)","Hōreki (1751–1764)","Meiwa (1764–1772)","An’ei (1772–1781)","Tenmei (1781–1789)","Kansei (1789–1801)","Kyōwa (1801–1804)","Bunka (1804–1818)","Bunsei (1818–1830)","Tenpō (1830–1844)","Kōka (1844–1848)","Kaei (1848–1854)","Ansei (1854–1860)","Man’en (1860–1861)","Bunkyū (1861–1864)","Genji (1864–1865)","Keiō (1865–1868)","Meiji","Taishō","Shōwa","Heisei"], "long":["Taika (645–650)","Hakuchi (650–671)","Hakuhō (672–686)","Shuchō (686–701)","Taihō (701–704)","Keiun (704–708)","Wadō (708–715)","Reiki (715–717)","Yōrō (717–724)","Jinki (724–729)","Tenpyō (729–749)","Tenpyō-kampō (749-749)","Tenpyō-shōhō (749-757)","Tenpyō-hōji (757-765)","Tenpyō-jingo (765-767)","Jingo-keiun (767-770)","Hōki (770–780)","Ten-ō (781-782)","Enryaku (782–806)","Daidō (806–810)","Kōnin (810–824)","Tenchō (824–834)","Jōwa (834–848)","Kajō (848–851)","Ninju (851–854)","Saikō (854–857)","Ten-an (857-859)","Jōgan (859–877)","Gangyō (877–885)","Ninna (885–889)","Kanpyō (889–898)","Shōtai (898–901)","Engi (901–923)","Enchō (923–931)","Jōhei (931–938)","Tengyō (938–947)","Tenryaku (947–957)","Tentoku (957–961)","Ōwa (961–964)","Kōhō (964–968)","Anna (968–970)","Tenroku (970–973)","Ten’en (973–976)","Jōgen (976–978)","Tengen (978–983)","Eikan (983–985)","Kanna (985–987)","Eien (987–989)","Eiso (989–990)","Shōryaku (990–995)","Chōtoku (995–999)","Chōhō (999–1004)","Kankō (1004–1012)","Chōwa (1012–1017)","Kannin (1017–1021)","Jian (1021–1024)","Manju (1024–1028)","Chōgen (1028–1037)","Chōryaku (1037–1040)","Chōkyū (1040–1044)","Kantoku (1044–1046)","Eishō (1046–1053)","Tengi (1053–1058)","Kōhei (1058–1065)","Jiryaku (1065–1069)","Enkyū (1069–1074)","Shōho (1074–1077)","Shōryaku (1077–1081)","Eihō (1081–1084)","Ōtoku (1084–1087)","Kanji (1087–1094)","Kahō (1094–1096)","Eichō (1096–1097)","Jōtoku (1097–1099)","Kōwa (1099–1104)","Chōji (1104–1106)","Kashō (1106–1108)","Tennin (1108–1110)","Ten-ei (1110-1113)","Eikyū (1113–1118)","Gen’ei (1118–1120)","Hōan (1120–1124)","Tenji (1124–1126)","Daiji (1126–1131)","Tenshō (1131–1132)","Chōshō (1132–1135)","Hōen (1135–1141)","Eiji (1141–1142)","Kōji (1142–1144)","Ten’yō (1144–1145)","Kyūan (1145–1151)","Ninpei (1151–1154)","Kyūju (1154–1156)","Hōgen (1156–1159)","Heiji (1159–1160)","Eiryaku (1160–1161)","Ōho (1161–1163)","Chōkan (1163–1165)","Eiman (1165–1166)","Nin’an (1166–1169)","Kaō (1169–1171)","Shōan (1171–1175)","Angen (1175–1177)","Jishō (1177–1181)","Yōwa (1181–1182)","Juei (1182–1184)","Genryaku (1184–1185)","Bunji (1185–1190)","Kenkyū (1190–1199)","Shōji (1199–1201)","Kennin (1201–1204)","Genkyū (1204–1206)","Ken’ei (1206–1207)","Jōgen (1207–1211)","Kenryaku (1211–1213)","Kenpō (1213–1219)","Jōkyū (1219–1222)","Jōō (1222–1224)","Gennin (1224–1225)","Karoku (1225–1227)","Antei (1227–1229)","Kanki (1229–1232)","Jōei (1232–1233)","Tenpuku (1233–1234)","Bunryaku (1234–1235)","Katei (1235–1238)","Ryakunin (1238–1239)","En’ō (1239–1240)","Ninji (1240–1243)","Kangen (1243–1247)","Hōji (1247–1249)","Kenchō (1249–1256)","Kōgen (1256–1257)","Shōka (1257–1259)","Shōgen (1259–1260)","Bun’ō (1260–1261)","Kōchō (1261–1264)","Bun’ei (1264–1275)","Kenji (1275–1278)","Kōan (1278–1288)","Shōō (1288–1293)","Einin (1293–1299)","Shōan (1299–1302)","Kengen (1302–1303)","Kagen (1303–1306)","Tokuji (1306–1308)","Enkyō (1308–1311)","Ōchō (1311–1312)","Shōwa (1312–1317)","Bunpō (1317–1319)","Genō (1319–1321)","Genkō (1321–1324)","Shōchū (1324–1326)","Karyaku (1326–1329)","Gentoku (1329–1331)","Genkō (1331–1334)","Kenmu (1334–1336)","Engen (1336–1340)","Kōkoku (1340–1346)","Shōhei (1346–1370)","Kentoku (1370–1372)","Bunchū (1372–1375)","Tenju (1375–1379)","Kōryaku (1379–1381)","Kōwa (1381–1384)","Genchū (1384–1392)","Meitoku (1384–1387)","Kakei (1387–1389)","Kōō (1389–1390)","Meitoku (1390–1394)","Ōei (1394–1428)","Shōchō (1428–1429)","Eikyō (1429–1441)","Kakitsu (1441–1444)","Bun’an (1444–1449)","Hōtoku (1449–1452)","Kyōtoku (1452–1455)","Kōshō (1455–1457)","Chōroku (1457–1460)","Kanshō (1460–1466)","Bunshō (1466–1467)","Ōnin (1467–1469)","Bunmei (1469–1487)","Chōkyō (1487–1489)","Entoku (1489–1492)","Meiō (1492–1501)","Bunki (1501–1504)","Eishō (1504–1521)","Taiei (1521–1528)","Kyōroku (1528–1532)","Tenbun (1532–1555)","Kōji (1555–1558)","Eiroku (1558–1570)","Genki (1570–1573)","Tenshō (1573–1592)","Bunroku (1592–1596)","Keichō (1596–1615)","Genna (1615–1624)","Kan’ei (1624–1644)","Shōho (1644–1648)","Keian (1648–1652)","Jōō (1652–1655)","Meireki (1655–1658)","Manji (1658–1661)","Kanbun (1661–1673)","Enpō (1673–1681)","Tenna (1681–1684)","Jōkyō (1684–1688)","Genroku (1688–1704)","Hōei (1704–1711)","Shōtoku (1711–1716)","Kyōhō (1716–1736)","Genbun (1736–1741)","Kanpō (1741–1744)","Enkyō (1744–1748)","Kan’en (1748–1751)","Hōreki (1751–1764)","Meiwa (1764–1772)","An’ei (1772–1781)","Tenmei (1781–1789)","Kansei (1789–1801)","Kyōwa (1801–1804)","Bunka (1804–1818)","Bunsei (1818–1830)","Tenpō (1830–1844)","Kōka (1844–1848)","Kaei (1848–1854)","Ansei (1854–1860)","Man’en (1860–1861)","Bunkyū (1861–1864)","Genji (1864–1865)","Keiō (1865–1868)","Meiji","Taishō","Shōwa","Heisei"]},dayPeriods:{am:"AM",pm:"PM"}},persian:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["Farvardin","Ordibehesht","Khordad","Tir","Mordad","Shahrivar","Mehr","Aban","Azar","Dey","Bahman","Esfand"],"long":["Farvardin","Ordibehesht","Khordad","Tir","Mordad","Shahrivar","Mehr","Aban","Azar","Dey","Bahman","Esfand"]},days:{narrow:["D","L","M","M","J","V","S"],"short":["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],"long":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},eras:{narrow:["AP"],"short":["AP"],"long":["AP"]},dayPeriods:{am:"AM",pm:"PM"}},roc:{months:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],"short":["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],"long":["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"]},days:{narrow:["D","L","M","M","J","V","S"],"short":["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],"long":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},eras:{narrow:["avant RdC","RdC"],"short":["avant RdC","RdC"],"long":["avant RdC","RdC"]},dayPeriods:{am:"AM",pm:"PM"}}}},number:{nu:["latn"],patterns:{decimal:{positivePattern:"{number}",negativePattern:"{minusSign}{number}"},currency:{positivePattern:"{number} {currency}",negativePattern:"{minusSign}{number} {currency}"},percent:{positivePattern:"{number} {percentSign}",negativePattern:"{minusSign}{number} {percentSign}"}},symbols:{latn:{decimal:",",group:" ",nan:"NaN",plusSign:"+",minusSign:"-",percentSign:"%",infinity:"∞"}},currencies:{ARS:"$AR",AUD:"$AU",BEF:"FB",BMD:"$BM",BND:"$BN",BRL:"R$",BSD:"$BS",BZD:"$BZ",CAD:"$CA",CLP:"$CL",COP:"$CO",CYP:"£CY",EUR:"€",FJD:"$FJ",FKP:"£FK",FRF:"F",GBP:"£GB",GIP:"£GI",IEP:"£IE",ILP:"£IL",ILS:"₪",INR:"₹",ITL:"₤IT",KRW:"₩",LBP:"£LB",MTP:"£MT",MXN:"$MX",NAD:"$NA",NZD:"$NZ",RHD:"$RH",SBD:"$SB",SGD:"$SG",SRD:"$SR",TTD:"$TT",USD:"$US",UYU:"$UY",VND:"₫",WST:"WS$",XAF:"FCFA",XOF:"CFA",XPF:"FCFP"}}})},705:function(n,a){IntlPolyfill.__addLocaleData({locale:"hi",date:{ca:["gregory","buddhist","chinese","coptic","dangi","ethioaa","ethiopic","generic","hebrew","indian","islamic","islamicc","japanese","persian","roc"],hourNo0:!0,hour12:!0,formats:{"short":"{1}, {0}",medium:"{1}, {0}",full:"{1} को {0}","long":"{1} को {0}",availableFormats:{d:"d",E:"ccc",Ed:"E d",Ehm:"E h:mm a",EHm:"E HH:mm",Ehms:"E h:mm:ss a",EHms:"E HH:mm:ss",Gy:"y G",GyMMM:"MMM G y",GyMMMd:"d MMM y G",GyMMMEd:"E, d MMM y G",h:"h a",H:"HH",hm:"h:mm a",Hm:"HH:mm",hms:"h:mm:ss a",Hms:"HH:mm:ss",hmsv:"h:mm:ss a v",Hmsv:"HH:mm:ss v",hmv:"h:mm a v",Hmv:"HH:mm v",M:"L",Md:"d/M",MEd:"E, d/M",MMdd:"dd/MM",MMM:"LLL",MMMd:"d MMM",MMMEd:"E, d MMM",MMMMd:"d MMMM",MMMMEd:"E, d MMMM",ms:"mm:ss",y:"y",yM:"M/y",yMd:"d/M/y",yMEd:"E, d/M/y",yMM:"MM/y",yMMdd:"dd/MM/y",yMMM:"MMM y",yMMMd:"d MMM y",yMMMEd:"E, d MMM y",yMMMM:"MMMM y",yQQQ:"QQQ y",yQQQQ:"QQQQ y"},dateFormats:{yMMMMEEEEd:"EEEE, d MMMM y",yMMMMd:"d MMMM y",yMMMd:"dd/MM/y",yMd:"d/M/yy"},timeFormats:{hmmsszzzz:"h:mm:ss a zzzz",hmsz:"h:mm:ss a z",hms:"h:mm:ss a",hm:"h:mm a"}},calendars:{buddhist:{months:{narrow:["ज","फ़","मा","अ","म","जू","जु","अ","सि","अ","न","दि"],"short":["जन॰","फ़र॰","मार्च","अप्रैल","मई","जून","जुल॰","अग॰","सित॰","अक्तू॰","नव॰","दिस॰"],"long":["जनवरी","फ़रवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितंबर","अक्तूबर","नवंबर","दिसंबर"]},days:{narrow:["र","सो","मं","बु","गु","शु","श"],"short":["रवि","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],"long":["रविवार","सोमवार","मंगलवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"]},eras:{narrow:["BE"],"short":["BE"],"long":["BE"]},dayPeriods:{am:"पूर्वाह्न",pm:"अपराह्न"}},chinese:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["M01","M02","M03","M04","M05","M06","M07","M08","M09","M10","M11","M12"],"long":["M01","M02","M03","M04","M05","M06","M07","M08","M09","M10","M11","M12"]},days:{narrow:["र","सो","मं","बु","गु","शु","श"],"short":["रवि","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],"long":["रविवार","सोमवार","मंगलवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"]},dayPeriods:{am:"पूर्वाह्न",pm:"अपराह्न"}},coptic:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12","13"],"short":["Tout","Baba","Hator","Kiahk","Toba","Amshir","Baramhat","Baramouda","Bashans","Paona","Epep","Mesra","Nasie"],"long":["Tout","Baba","Hator","Kiahk","Toba","Amshir","Baramhat","Baramouda","Bashans","Paona","Epep","Mesra","Nasie"]},days:{narrow:["र","सो","मं","बु","गु","शु","श"],"short":["रवि","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],"long":["रविवार","सोमवार","मंगलवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"]},eras:{narrow:["ERA0","ERA1"],"short":["ERA0","ERA1"],"long":["ERA0","ERA1"]},dayPeriods:{am:"पूर्वाह्न",pm:"अपराह्न"}},dangi:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["M01","M02","M03","M04","M05","M06","M07","M08","M09","M10","M11","M12"],"long":["M01","M02","M03","M04","M05","M06","M07","M08","M09","M10","M11","M12"]},days:{narrow:["र","सो","मं","बु","गु","शु","श"],"short":["रवि","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],"long":["रविवार","सोमवार","मंगलवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"]},dayPeriods:{am:"पूर्वाह्न",pm:"अपराह्न"}},ethiopic:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12","13"],"short":["मस्केरेम","टेकेम्ट","हेदर","तहसास","टर","येकाटिट","मेगाबिट","मियाज़िया","गनबोट","सेन","हम्ले","नेहासे","पागूमन"],"long":["मस्केरेम","टेकेम्ट","हेदर","तहसास","टर","येकाटिट","मेगाबिट","मियाज़िया","गनबोट","सेन","हम्ले","नेहासे","पागूमन"]},days:{narrow:["र","सो","मं","बु","गु","शु","श"],"short":["रवि","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],"long":["रविवार","सोमवार","मंगलवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"]},eras:{narrow:["ERA0","ERA1"],"short":["ERA0","ERA1"],"long":["ERA0","ERA1"]},dayPeriods:{am:"पूर्वाह्न",pm:"अपराह्न"}},ethioaa:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12","13"],"short":["मस्केरेम","टेकेम्ट","हेदर","तहसास","टर","येकाटिट","मेगाबिट","मियाज़िया","गनबोट","सेन","हम्ले","नेहासे","पागूमन"],"long":["मस्केरेम","टेकेम्ट","हेदर","तहसास","टर","येकाटिट","मेगाबिट","मियाज़िया","गनबोट","सेन","हम्ले","नेहासे","पागूमन"]},days:{narrow:["र","सो","मं","बु","गु","शु","श"],"short":["रवि","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],"long":["रविवार","सोमवार","मंगलवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"]},eras:{narrow:["ERA0"],"short":["ERA0"],"long":["ERA0"]},dayPeriods:{am:"पूर्वाह्न",pm:"अपराह्न"}},generic:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["M01","M02","M03","M04","M05","M06","M07","M08","M09","M10","M11","M12"],"long":["M01","M02","M03","M04","M05","M06","M07","M08","M09","M10","M11","M12"]},days:{narrow:["र","सो","मं","बु","गु","शु","श"],"short":["रवि","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],"long":["रविवार","सोमवार","मंगलवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"]},eras:{narrow:["ERA0","ERA1"],"short":["ERA0","ERA1"],"long":["ERA0","ERA1"]},dayPeriods:{am:"पूर्वाह्न",pm:"अपराह्न"}},gregory:{months:{narrow:["ज","फ़","मा","अ","म","जू","जु","अ","सि","अ","न","दि"],"short":["जन॰","फ़र॰","मार्च","अप्रैल","मई","जून","जुल॰","अग॰","सित॰","अक्तू॰","नव॰","दिस॰"],"long":["जनवरी","फ़रवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितंबर","अक्तूबर","नवंबर","दिसंबर"]},days:{narrow:["र","सो","मं","बु","गु","शु","श"],"short":["रवि","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],"long":["रविवार","सोमवार","मंगलवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"]},eras:{narrow:["ईसा-पूर्व","ईस्वी","ईसवी पूर्व","ईसवी"],"short":["ईसा-पूर्व","ईस्वी","ईसवी पूर्व","ईसवी"],"long":["ईसा-पूर्व","ईसवी सन","ईसवी पूर्व","ईसवी"]},dayPeriods:{am:"पूर्वाह्न",pm:"अपराह्न"}},hebrew:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12","13","7"],"short":["Tishri","Heshvan","Kislev","Tevet","Shevat","Adar I","Adar","Nisan","Iyar","Sivan","Tamuz","Av","Elul","Adar II"],"long":["Tishri","Heshvan","Kislev","Tevet","Shevat","Adar I","Adar","Nisan","Iyar","Sivan","Tamuz","Av","Elul","Adar II"]},days:{narrow:["र","सो","मं","बु","गु","शु","श"],"short":["रवि","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],"long":["रविवार","सोमवार","मंगलवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"]},eras:{narrow:["AM"],"short":["AM"],"long":["AM"]},dayPeriods:{am:"पूर्वाह्न",pm:"अपराह्न"}},indian:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["चैत्र","वैशाख","ज्येष्ठ","आषाढ़","श्रावण","भाद्रपद","अश्विन","कार्तिक","अग्रहायण","पौष","माघ","फाल्गुन"],"long":["चैत्र","वैशाख","ज्येष्ठ","आषाढ़","श्रावण","भाद्रपद","अश्विन","कार्तिक","अग्रहायण","पौष","माघ","फाल्गुन"]},days:{narrow:["र","सो","मं","बु","गु","शु","श"],"short":["रवि","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],"long":["रविवार","सोमवार","मंगलवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"]},eras:{narrow:["शक"],"short":["शक"],"long":["शक"]},dayPeriods:{am:"पूर्वाह्न",pm:"अपराह्न"}},islamic:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["Muh.","Saf.","Rab. I","Rab. II","Jum. I","Jum. II","Raj.","Sha.","Ram.","Shaw.","Dhuʻl-Q.","Dhuʻl-H."],"long":["मुहर्रम","सफर","राबी प्रथम","राबी द्वितीय","जुम्डा प्रथम","जुम्डा द्वितीय","रजब","शावन","रमजान","शव्व्ल","जिल-क्दाह","जिल्-हिज्जाह"]},days:{narrow:["र","सो","मं","बु","गु","शु","श"],"short":["रवि","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],"long":["रविवार","सोमवार","मंगलवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"]},eras:{narrow:["AH"],"short":["AH"],"long":["AH"]},dayPeriods:{am:"पूर्वाह्न",pm:"अपराह्न"}},islamicc:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["Muh.","Saf.","Rab. I","Rab. II","Jum. I","Jum. II","Raj.","Sha.","Ram.","Shaw.","Dhuʻl-Q.","Dhuʻl-H."],"long":["मुहर्रम","सफर","राबी प्रथम","राबी द्वितीय","जुम्डा प्रथम","जुम्डा द्वितीय","रजब","शावन","रमजान","शव्व्ल","जिल-क्दाह","जिल्-हिज्जाह"]},days:{narrow:["र","सो","मं","बु","गु","शु","श"],"short":["रवि","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],"long":["रविवार","सोमवार","मंगलवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"]},eras:{narrow:["AH"],"short":["AH"],"long":["AH"]},dayPeriods:{am:"पूर्वाह्न",pm:"अपराह्न"}},japanese:{months:{narrow:["ज","फ़","मा","अ","म","जू","जु","अ","सि","अ","न","दि"],"short":["जन॰","फ़र॰","मार्च","अप्रैल","मई","जून","जुल॰","अग॰","सित॰","अक्तू॰","नव॰","दिस॰"],"long":["जनवरी","फ़रवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितंबर","अक्तूबर","नवंबर","दिसंबर"]},days:{narrow:["र","सो","मं","बु","गु","शु","श"],"short":["रवि","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],"long":["रविवार","सोमवार","मंगलवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"]},eras:{narrow:["Taika (645–650)","Hakuchi (650–671)","Hakuhō (672–686)","Shuchō (686–701)","Taihō (701–704)","Keiun (704–708)","Wadō (708–715)","Reiki (715–717)","Yōrō (717–724)","Jinki (724–729)","Tenpyō (729–749)","Tenpyō-kampō (749-749)","Tenpyō-shōhō (749-757)","Tenpyō-hōji (757-765)","Tenpyō-jingo (765-767)","Jingo-keiun (767-770)","Hōki (770–780)","Ten-ō (781-782)","Enryaku (782–806)","Daidō (806–810)","Kōnin (810–824)","Tenchō (824–834)","Jōwa (834–848)","Kajō (848–851)","Ninju (851–854)","Saikō (854–857)","Ten-an (857-859)","Jōgan (859–877)","Gangyō (877–885)","Ninna (885–889)","Kanpyō (889–898)","Shōtai (898–901)","Engi (901–923)","Enchō (923–931)","Jōhei (931–938)","Tengyō (938–947)","Tenryaku (947–957)","Tentoku (957–961)","Ōwa (961–964)","Kōhō (964–968)","Anna (968–970)","Tenroku (970–973)","Ten’en (973–976)","Jōgen (976–978)","Tengen (978–983)","Eikan (983–985)","Kanna (985–987)","Eien (987–989)","Eiso (989–990)","Shōryaku (990–995)","Chōtoku (995–999)","Chōhō (999–1004)","Kankō (1004–1012)","Chōwa (1012–1017)","Kannin (1017–1021)","Jian (1021–1024)","Manju (1024–1028)","Chōgen (1028–1037)","Chōryaku (1037–1040)","Chōkyū (1040–1044)","Kantoku (1044–1046)","Eishō (1046–1053)","Tengi (1053–1058)","Kōhei (1058–1065)","Jiryaku (1065–1069)","Enkyū (1069–1074)","Shōho (1074–1077)","Shōryaku (1077–1081)","Eihō (1081–1084)","Ōtoku (1084–1087)","Kanji (1087–1094)","Kahō (1094–1096)","Eichō (1096–1097)","Jōtoku (1097–1099)","Kōwa (1099–1104)","Chōji (1104–1106)","Kashō (1106–1108)","Tennin (1108–1110)","Ten-ei (1110-1113)","Eikyū (1113–1118)","Gen’ei (1118–1120)","Hōan (1120–1124)","Tenji (1124–1126)","Daiji (1126–1131)","Tenshō (1131–1132)","Chōshō (1132–1135)","Hōen (1135–1141)","Eiji (1141–1142)","Kōji (1142–1144)","Ten’yō (1144–1145)","Kyūan (1145–1151)","Ninpei (1151–1154)","Kyūju (1154–1156)","Hōgen (1156–1159)","Heiji (1159–1160)","Eiryaku (1160–1161)","Ōho (1161–1163)","Chōkan (1163–1165)","Eiman (1165–1166)","Nin’an (1166–1169)","Kaō (1169–1171)","Shōan (1171–1175)","Angen (1175–1177)","Jishō (1177–1181)","Yōwa (1181–1182)","Juei (1182–1184)","Genryaku (1184–1185)","Bunji (1185–1190)","Kenkyū (1190–1199)","Shōji (1199–1201)","Kennin (1201–1204)","Genkyū (1204–1206)","Ken’ei (1206–1207)","Jōgen (1207–1211)","Kenryaku (1211–1213)","Kenpō (1213–1219)","Jōkyū (1219–1222)","Jōō (1222–1224)","Gennin (1224–1225)","Karoku (1225–1227)","Antei (1227–1229)","Kanki (1229–1232)","Jōei (1232–1233)","Tenpuku (1233–1234)","Bunryaku (1234–1235)","Katei (1235–1238)","Ryakunin (1238–1239)","En’ō (1239–1240)","Ninji (1240–1243)","Kangen (1243–1247)","Hōji (1247–1249)","Kenchō (1249–1256)","Kōgen (1256–1257)","Shōka (1257–1259)","Shōgen (1259–1260)","Bun’ō (1260–1261)","Kōchō (1261–1264)","Bun’ei (1264–1275)","Kenji (1275–1278)","Kōan (1278–1288)","Shōō (1288–1293)","Einin (1293–1299)","Shōan (1299–1302)","Kengen (1302–1303)","Kagen (1303–1306)","Tokuji (1306–1308)","Enkyō (1308–1311)","Ōchō (1311–1312)","Shōwa (1312–1317)","Bunpō (1317–1319)","Genō (1319–1321)","Genkō (1321–1324)","Shōchū (1324–1326)","Karyaku (1326–1329)","Gentoku (1329–1331)","Genkō (1331–1334)","Kenmu (1334–1336)","Engen (1336–1340)","Kōkoku (1340–1346)","Shōhei (1346–1370)","Kentoku (1370–1372)","Bunchū (1372–1375)","Tenju (1375–1379)","Kōryaku (1379–1381)","Kōwa (1381–1384)","Genchū (1384–1392)","Meitoku (1384–1387)","Kakei (1387–1389)","Kōō (1389–1390)","Meitoku (1390–1394)","Ōei (1394–1428)","Shōchō (1428–1429)","Eikyō (1429–1441)","Kakitsu (1441–1444)","Bun’an (1444–1449)","Hōtoku (1449–1452)","Kyōtoku (1452–1455)","Kōshō (1455–1457)","Chōroku (1457–1460)","Kanshō (1460–1466)","Bunshō (1466–1467)","Ōnin (1467–1469)","Bunmei (1469–1487)","Chōkyō (1487–1489)","Entoku (1489–1492)","Meiō (1492–1501)","Bunki (1501–1504)","Eishō (1504–1521)","Taiei (1521–1528)","Kyōroku (1528–1532)","Tenbun (1532–1555)","Kōji (1555–1558)","Eiroku (1558–1570)","Genki (1570–1573)","Tenshō (1573–1592)","Bunroku (1592–1596)","Keichō (1596–1615)","Genna (1615–1624)","Kan’ei (1624–1644)","Shōho (1644–1648)","Keian (1648–1652)","Jōō (1652–1655)","Meireki (1655–1658)","Manji (1658–1661)","Kanbun (1661–1673)","Enpō (1673–1681)","Tenna (1681–1684)","Jōkyō (1684–1688)","Genroku (1688–1704)","Hōei (1704–1711)","Shōtoku (1711–1716)","Kyōhō (1716–1736)","Genbun (1736–1741)","Kanpō (1741–1744)","Enkyō (1744–1748)","Kan’en (1748–1751)","Hōreki (1751–1764)","Meiwa (1764–1772)","An’ei (1772–1781)","Tenmei (1781–1789)","Kansei (1789–1801)","Kyōwa (1801–1804)","Bunka (1804–1818)","Bunsei (1818–1830)","Tenpō (1830–1844)","Kōka (1844–1848)","Kaei (1848–1854)","Ansei (1854–1860)","Man’en (1860–1861)","Bunkyū (1861–1864)","Genji (1864–1865)","Keiō (1865–1868)","M","T","S","H"],"short":["ताएका (645–650)","हाकूची (650–671)","हाकूहो (672–686)","शूचो (686–701)","ताहिओ (701–704)","केउन (704–708)","वाडू (708–715)","रैकी (715–717)","योरो (717–724)","जिंकी (724–729)","टेम्प्यो (729–749)","टेम्प्यो-काम्पो (749–749)","टेम्प्यो-शोहो (749–757)","टेम्प्यो-होजी (757–765)","टेम्प्यो-जिंगो (765–767)","टेम्प्यो-किउन (767–770)","होकी (770–780)","टेनो (781–782)","इंर्याकू (782–806)","डाईडू (806–810)","क़ोनिन (810–824)","टेंचो (824–834)","शोवा (834–848)","काज्यो (848–851)","निंजू (851–854)","शाईकू (854–857)","टेनन (857–859)","जोगन् (859–877)","गेंकेई (877–885)","निन्ना (885–889)","केम्प्यो (889–898)","शूताई (898–901)","ईंगी (901–923)","ईंचो (923–931)","शोहेई (931–938)","टेंग्यो (938–947)","टेंर्याकू (947–957)","टेंटूकू (957–961)","ओवा (961–964)","कोहो (964–968)","अन्ना (968–970)","टेंरोकू (970–973)","टेन-एन (973–976)","जोगन् (976–978)","टेंगेन (978–983)","ईकान (983–985)","कन्ना (985–987)","ई-एन (987–989)","एइसो (989–990)","शोर्याकू (990–995)","चोटूकु (995–999)","चोहो (999–1004)","कंको (1004–1012)","च्योवा (1012–1017)","कन्निन (1017–1021)","ज़ियान (1021–1024)","मंजू (1024–1028)","चोगन (1028–1037)","चोर्याकू (1037–1040)","चोक्यु (1040–1044)","कांटूको (1044–1046)","ईशो (1046–1053)","टेंगी (1053–1058)","कोहैइ (1058–1065)","जिर्याकू (1065–1069)","ईंक्यू (1069–1074)","सोहो (1074–1077)","शोर्याकू (1077–1081)","ईहो (1081–1084)","ओटूको (1084–1087)","कांजि (1087–1094)","कोहो (1094–1096)","ईचो (1096–1097)","शोटूको (1097–1099)","कोवा (1099–1104)","चोजी (1104–1106)","काशो (1106–1108)","टेन्निन (1108–1110)","टेन-ई (1110–1113)","ईक्यू (1113–1118)","जेन-ई (1118–1120)","होआन (1120–1124)","तेंजी (1124–1126)","दाईजी (1126–1131)","टेंशो (1131–1132)","चोशो (1132–1135)","होएन (1135–1141)","ईजी (1141–1142)","कोजी (1142–1144)","टेन्यो (1144–1145)","क्यूआन (1145–1151)","निंपैई (1151–1154)","क्योजो (1154–1156)","होगेन (1156–1159)","हैजी (1159–1160)","ईर्याकू (1160–1161)","ओहो (1161–1163)","चोकान (1163–1165)","ईमान (1165–1166)","निन-आन (1166–1169)","काओ (1169–1171)","शोअन (1171–1175)","अंजन (1175–1177)","जिशो (1177–1181)","योवा (1181–1182)","जूऐई (1182–1184)","जेंर्याकू (1184–1185)","बूंजी (1185–1190)","केंक्यू (1190–1199)","शोजी (1199–1201)","केन्निन (1201–1204)","जेंक्यू (1204–1206)","केन-ई (1206–1207)","शोगेन (1207–1211)","केंर्याकू (1211–1213)","केंपो (1213–1219)","शोक्यू (1219–1222)","जू (1222–1224)","जेन्निन (1224–1225)","कोरोकू (1225–1227)","अंटैइ (1227–1229)","कांकी (1229–1232)","जोएई (1232–1233)","टेम्पूकू (1233–1234)","बुंर्याकू (1234–1235)","काटेई (1235–1238)","र्याकूनिन (1238–1239)","ईन-ओ (1239–1240)","निंजी (1240–1243)","कांजेन (1243–1247)","होजी (1247–1249)","केंचो (1249–1256)","कोगेन (1256–1257)","शोका (1257–1259)","शोगेन (1259–1260)","बुन-ओ (1260–1261)","कोचो (1261–1264)","बुन-ई (1264–1275)","केंजी (1275–1278)","कोअन (1278–1288)","शो (1288–1293)","ईनिन (1293–1299)","शोअन (1299–1302)","केंजेन (1302–1303)","काजेन (1303–1306)","टोकूजी (1306–1308)","ईंकेई (1308–1311)","ओचो (1311–1312)","शोवा (1312–1317)","बुंपो (1317–1319)","जेनो (1319–1321)","जेंक्यो (1321–1324)","शोचू (1324–1326)","कारेकी (1326–1329)","जेंटोकू (1329–1331)","गेंको (1331–1334)","केम्मू (1334–1336)","ईंजेन (1336–1340)","कोकोकू (1340–1346)","शोहेई (1346–1370)","केंटोकू (1370–1372)","बूंचो (1372–1375)","टेंजो (1375–1379)","कोर्याकू (1379–1381)","कोवा (1381–1384)","जेंचू (1384–1392)","मेटोकू (1384–1387)","काकेई (1387–1389)","कू (1389–1390)","मेटोकू (1390–1394)","ओई (1394–1428)","शोचो (1428–1429)","ईक्यो (1429–1441)","काकीत्सू (1441–1444)","बुन-अन (1444–1449)","होटोकू (1449–1452)","क्योटोकू (1452–1455)","कोशो (1455–1457)","चोरोकू (1457–1460)","कांशो (1460–1466)","बुंशो (1466–1467)","ओनिन (1467–1469)","बुन्मेई (1469–1487)","चोक्यो (1487–1489)","ईंटोकू (1489–1492)","मेईओ (1492–1501)","बुंकी (1501–1504)","ईशो (1504–1521)","ताईएई (1521–1528)","क्योरोकू (1528–1532)","टेन्मन (1532–1555)","कोजी (1555–1558)","ईरोकू (1558–1570)","जेंकी (1570–1573)","टेंशो (1573–1592)","बुंरोकू (1592–1596)","केईचो (1596–1615)","जेनवा (1615–1624)","कान-एई (1624–1644)","शोहो (1644–1648)","केईआन (1648–1652)","शो (1652–1655)","मेईर्याकू (1655–1658)","मानजी (1658–1661)","कनबुन (1661–1673)","ईंपो (1673–1681)","टेंवा (1681–1684)","जोक्यो (1684–1688)","जेंरोकू (1688–1704)","होएई (1704–1711)","शोटूको (1711–1716)","क्योहो (1716–1736)","जेंबुन (1736–1741)","कांपो (1741–1744)","इंक्यो (1744–1748)","कान-एन (1748–1751)","होर्याकू (1751–1764)","मेईवा (1764–1772)","अन-एई (1772–1781)","टेनमेई (1781–1789)","कांसेई (1789–1801)","क्योवा (1801–1804)","बुंका (1804–1818)","बुंसेई (1818–1830)","टेंपो (1830–1844)","कोका (1844–1848)","काईए (1848–1854)","अंसेई (1854–1860)","मान-ईन (1860–1861)","बुंक्यौ (1861–1864)","जेंजी (1864–1865)","केईओ (1865–1868)","मेजी","ताईशो","शोवा","हेईसेई"],"long":["ताएका (645–650)","हाकूची (650–671)","हाकूहो (672–686)","शूचो (686–701)","ताहिओ (701–704)","केउन (704–708)","वाडू (708–715)","रैकी (715–717)","योरो (717–724)","जिंकी (724–729)","टेम्प्यो (729–749)","टेम्प्यो-काम्पो (749–749)","टेम्प्यो-शोहो (749–757)","टेम्प्यो-होजी (757–765)","टेम्प्यो-जिंगो (765–767)","टेम्प्यो-किउन (767–770)","होकी (770–780)","टेनो (781–782)","इंर्याकू (782–806)","डाईडू (806–810)","क़ोनिन (810–824)","टेंचो (824–834)","शोवा (834–848)","काज्यो (848–851)","निंजू (851–854)","शाईकू (854–857)","टेनन (857–859)","जोगन् (859–877)","गेंकेई (877–885)","निन्ना (885–889)","केम्प्यो (889–898)","शूताई (898–901)","ईंगी (901–923)","ईंचो (923–931)","शोहेई (931–938)","टेंग्यो (938–947)","टेंर्याकू (947–957)","टेंटूकू (957–961)","ओवा (961–964)","कोहो (964–968)","अन्ना (968–970)","टेंरोकू (970–973)","टेन-एन (973–976)","जोगन् (976–978)","टेंगेन (978–983)","ईकान (983–985)","कन्ना (985–987)","ई-एन (987–989)","एइसो (989–990)","शोर्याकू (990–995)","चोटूकु (995–999)","चोहो (999–1004)","कंको (1004–1012)","च्योवा (1012–1017)","कन्निन (1017–1021)","ज़ियान (1021–1024)","मंजू (1024–1028)","चोगन (1028–1037)","चोर्याकू (1037–1040)","चोक्यु (1040–1044)","कांटूको (1044–1046)","ईशो (1046–1053)","टेंगी (1053–1058)","कोहैइ (1058–1065)","जिर्याकू (1065–1069)","ईंक्यू (1069–1074)","सोहो (1074–1077)","शोर्याकू (1077–1081)","ईहो (1081–1084)","ओटूको (1084–1087)","कांजि (1087–1094)","कोहो (1094–1096)","ईचो (1096–1097)","शोटूको (1097–1099)","कोवा (1099–1104)","चोजी (1104–1106)","काशो (1106–1108)","टेन्निन (1108–1110)","टेन-ई (1110–1113)","ईक्यू (1113–1118)","जेन-ई (1118–1120)","होआन (1120–1124)","तेंजी (1124–1126)","दाईजी (1126–1131)","टेंशो (1131–1132)","चोशो (1132–1135)","होएन (1135–1141)","ईजी (1141–1142)","कोजी (1142–1144)","टेन्यो (1144–1145)","क्यूआन (1145–1151)","निंपैई (1151–1154)","क्योजो (1154–1156)","होगेन (1156–1159)","हैजी (1159–1160)","ईर्याकू (1160–1161)","ओहो (1161–1163)","चोकान (1163–1165)","ईमान (1165–1166)","निन-आन (1166–1169)","काओ (1169–1171)","शोअन (1171–1175)","अंजन (1175–1177)","जिशो (1177–1181)","योवा (1181–1182)","जूऐई (1182–1184)","जेंर्याकू (1184–1185)","बूंजी (1185–1190)","केंक्यू (1190–1199)","शोजी (1199–1201)","केन्निन (1201–1204)","जेंक्यू (1204–1206)","केन-ई (1206–1207)","शोगेन (1207–1211)","केंर्याकू (1211–1213)","केंपो (1213–1219)","शोक्यू (1219–1222)","जू (1222–1224)","जेन्निन (1224–1225)","कोरोकू (1225–1227)","अंटैइ (1227–1229)","कांकी (1229–1232)","जोएई (1232–1233)","टेम्पूकू (1233–1234)","बुंर्याकू (1234–1235)","काटेई (1235–1238)","र्याकूनिन (1238–1239)","ईन-ओ (1239–1240)","निंजी (1240–1243)","कांजेन (1243–1247)","होजी (1247–1249)","केंचो (1249–1256)","कोगेन (1256–1257)","शोका (1257–1259)","शोगेन (1259–1260)","बुन-ओ (1260–1261)","कोचो (1261–1264)","बुन-ई (1264–1275)","केंजी (1275–1278)","कोअन (1278–1288)","शो (1288–1293)","ईनिन (1293–1299)","शोअन (1299–1302)","केंजेन (1302–1303)","काजेन (1303–1306)","टोकूजी (1306–1308)","ईंकेई (1308–1311)","ओचो (1311–1312)","शोवा (1312–1317)","बुंपो (1317–1319)","जेनो (1319–1321)","जेंक्यो (1321–1324)","शोचू (1324–1326)","कारेकी (1326–1329)","जेंटोकू (1329–1331)","गेंको (1331–1334)","केम्मू (1334–1336)","ईंजेन (1336–1340)","कोकोकू (1340–1346)","शोहेई (1346–1370)","केंटोकू (1370–1372)","बूंचो (1372–1375)","टेंजो (1375–1379)","कोर्याकू (1379–1381)","कोवा (1381–1384)","जेंचू (1384–1392)","मेटोकू (1384–1387)","काकेई (1387–1389)","कू (1389–1390)","मेटोकू (1390–1394)","ओई (1394–1428)","शोचो (1428–1429)","ईक्यो (1429–1441)","काकीत्सू (1441–1444)","बुन-अन (1444–1449)","होटोकू (1449–1452)","क्योटोकू (1452–1455)","कोशो (1455–1457)","चोरोकू (1457–1460)","कांशो (1460–1466)","बुंशो (1466–1467)","ओनिन (1467–1469)","बुन्मेई (1469–1487)","चोक्यो (1487–1489)","ईंटोकू (1489–1492)","मेईओ (1492–1501)","बुंकी (1501–1504)","ईशो (1504–1521)","ताईएई (1521–1528)","क्योरोकू (1528–1532)","टेन्मन (1532–1555)","कोजी (1555–1558)","ईरोकू (1558–1570)","जेंकी (1570–1573)","टेंशो (1573–1592)","बुंरोकू (1592–1596)","केईचो (1596–1615)","जेनवा (1615–1624)","कान-एई (1624–1644)","शोहो (1644–1648)","केईआन (1648–1652)","शो (1652–1655)","मेईर्याकू (1655–1658)","मानजी (1658–1661)","कनबुन (1661–1673)","ईंपो (1673–1681)","टेंवा (1681–1684)","जोक्यो (1684–1688)","जेंरोकू (1688–1704)","होएई (1704–1711)","शोटूको (1711–1716)","क्योहो (1716–1736)","जेंबुन (1736–1741)","कांपो (1741–1744)","इंक्यो (1744–1748)","कान-एन (1748–1751)","होर्याकू (1751–1764)","मेईवा (1764–1772)","अन-एई (1772–1781)","टेनमेई (1781–1789)","कांसेई (1789–1801)","क्योवा (1801–1804)","बुंका (1804–1818)","बुंसेई (1818–1830)","टेंपो (1830–1844)","कोका (1844–1848)","काईए (1848–1854)","अंसेई (1854–1860)","मान-ईन (1860–1861)","बुंक्यौ (1861–1864)","जेंजी (1864–1865)","केईओ (1865–1868)","मेजी","ताईशो","शोवा","हेईसेई"]},dayPeriods:{am:"पूर्वाह्न",pm:"अपराह्न"}},persian:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["फर्वादिन","ओर्दिवेहेस्ट","खोरर्दाद","टिर","मोरदाद","शाहरीवर्","मेहर","अवन","अज़र","डे","बहमन","ईस्फन्द्"],"long":["फर्वादिन","ओर्दिवेहेस्ट","खोरर्दाद","टिर","मोरदाद","शाहरीवर्","मेहर","अवन","अज़र","डे","बहमन","ईस्फन्द्"]},days:{narrow:["र","सो","मं","बु","गु","शु","श"],"short":["रवि","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],"long":["रविवार","सोमवार","मंगलवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"]},eras:{narrow:["AP"],"short":["AP"],"long":["AP"]},dayPeriods:{am:"पूर्वाह्न",pm:"अपराह्न"}},roc:{months:{narrow:["ज","फ़","मा","अ","म","जू","जु","अ","सि","अ","न","दि"],"short":["जन॰","फ़र॰","मार्च","अप्रैल","मई","जून","जुल॰","अग॰","सित॰","अक्तू॰","नव॰","दिस॰"],"long":["जनवरी","फ़रवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितंबर","अक्तूबर","नवंबर","दिसंबर"]},days:{narrow:["र","सो","मं","बु","गु","शु","श"],"short":["रवि","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],"long":["रविवार","सोमवार","मंगलवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"]},eras:{narrow:["Before R.O.C.","R.O.C."],"short":["Before R.O.C.","R.O.C."],"long":["Before R.O.C.","R.O.C."]},dayPeriods:{am:"पूर्वाह्न",pm:"अपराह्न"}}}},number:{nu:["latn"],patterns:{decimal:{positivePattern:"{number}",negativePattern:"{minusSign}{number}"},currency:{positivePattern:"{currency}{number}",negativePattern:"{minusSign}{currency}{number}"},percent:{positivePattern:"{number}{percentSign}",negativePattern:"{minusSign}{number}{percentSign}"},secondaryGroupSize:2},symbols:{deva:{decimal:".",group:",",nan:"NaN",plusSign:"+",minusSign:"-",percentSign:"%",infinity:"∞"},latn:{decimal:".",group:",",nan:"NaN",plusSign:"+",minusSign:"-",percentSign:"%",infinity:"∞"}},currencies:{AUD:"A$",BRL:"R$",CAD:"CA$",CNY:"CN¥",EUR:"€",GBP:"£",HKD:"HK$",ILS:"₪",INR:"₹",JPY:"JP¥",KRW:"₩",MXN:"MX$",NZD:"NZ$",THB:"฿",TWD:"NT$",USD:"$",VND:"₫",XAF:"FCFA",XCD:"EC$",XOF:"CFA",XPF:"CFPF"}}})},706:function(n,a){IntlPolyfill.__addLocaleData({locale:"it",date:{ca:["gregory","buddhist","chinese","coptic","dangi","ethioaa","ethiopic","generic","hebrew","indian","islamic","islamicc","japanese","persian","roc"],hourNo0:!0,hour12:!1,formats:{"short":"{1}, {0}",medium:"{1}, {0}",full:"{1} {0}","long":"{1} {0}",availableFormats:{d:"d",E:"ccc",Ed:"E d",Ehm:"E h:mm a",EHm:"E HH:mm",Ehms:"E h:mm:ss a",EHms:"E HH:mm:ss",Gy:"y G",GyMMM:"MMM y G",GyMMMd:"d MMM y G",GyMMMEd:"E d MMM y G",h:"h a",H:"HH",hm:"h:mm a",Hm:"HH:mm",hms:"h:mm:ss a",Hms:"HH:mm:ss",hmsv:"h:mm:ss a v",Hmsv:"HH:mm:ss v",hmv:"h:mm a v",Hmv:"HH:mm v",M:"L",Md:"d/M",MEd:"E d/M",MMM:"LLL",MMMd:"d MMM",MMMEd:"E d MMM",MMMMd:"d MMMM",ms:"mm:ss",y:"y",yM:"M/y",yMd:"d/M/y",yMEd:"E d/M/y",yMMM:"MMM y",yMMMd:"d MMM y", yMMMEd:"E d MMM y",yMMMM:"MMMM y",yQQQ:"QQQ y",yQQQQ:"QQQQ y"},dateFormats:{yMMMMEEEEd:"EEEE d MMMM y",yMMMMd:"d MMMM y",yMMMd:"dd MMM y",yMd:"dd/MM/yy"},timeFormats:{hmmsszzzz:"HH:mm:ss zzzz",hmsz:"HH:mm:ss z",hms:"HH:mm:ss",hm:"HH:mm"}},calendars:{buddhist:{months:{narrow:["G","F","M","A","M","G","L","A","S","O","N","D"],"short":["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic"],"long":["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"]},days:{narrow:["D","L","M","M","G","V","S"],"short":["dom","lun","mar","mer","gio","ven","sab"],"long":["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"]},eras:{narrow:["EB"],"short":["EB"],"long":["EB"]},dayPeriods:{am:"AM",pm:"PM"}},chinese:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["M01","M02","M03","M04","M05","M06","M07","M08","M09","M10","M11","M12"],"long":["M01","M02","M03","M04","M05","M06","M07","M08","M09","M10","M11","M12"]},days:{narrow:["D","L","M","M","G","V","S"],"short":["dom","lun","mar","mer","gio","ven","sab"],"long":["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"]},dayPeriods:{am:"AM",pm:"PM"}},coptic:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12","13"],"short":["Tout","Baba","Hator","Kiahk","Toba","Amshir","Baramhat","Baramouda","Bashans","Paona","Epep","Mesra","Nasie"],"long":["Tout","Baba","Hator","Kiahk","Toba","Amshir","Baramhat","Baramouda","Bashans","Paona","Epep","Mesra","Nasie"]},days:{narrow:["D","L","M","M","G","V","S"],"short":["dom","lun","mar","mer","gio","ven","sab"],"long":["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"]},eras:{narrow:["ERA0","ERA1"],"short":["ERA0","ERA1"],"long":["ERA0","ERA1"]},dayPeriods:{am:"AM",pm:"PM"}},dangi:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["M01","M02","M03","M04","M05","M06","M07","M08","M09","M10","M11","M12"],"long":["M01","M02","M03","M04","M05","M06","M07","M08","M09","M10","M11","M12"]},days:{narrow:["D","L","M","M","G","V","S"],"short":["dom","lun","mar","mer","gio","ven","sab"],"long":["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"]},dayPeriods:{am:"AM",pm:"PM"}},ethiopic:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12","13"],"short":["Meskerem","Tekemt","Hedar","Tahsas","Ter","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehasse","Pagumen"],"long":["Meskerem","Tekemt","Hedar","Tahsas","Ter","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehasse","Pagumen"]},days:{narrow:["D","L","M","M","G","V","S"],"short":["dom","lun","mar","mer","gio","ven","sab"],"long":["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"]},eras:{narrow:["ERA0","ERA1"],"short":["ERA0","ERA1"],"long":["ERA0","ERA1"]},dayPeriods:{am:"AM",pm:"PM"}},ethioaa:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12","13"],"short":["Meskerem","Tekemt","Hedar","Tahsas","Ter","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehasse","Pagumen"],"long":["Meskerem","Tekemt","Hedar","Tahsas","Ter","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehasse","Pagumen"]},days:{narrow:["D","L","M","M","G","V","S"],"short":["dom","lun","mar","mer","gio","ven","sab"],"long":["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"]},eras:{narrow:["ERA0"],"short":["ERA0"],"long":["ERA0"]},dayPeriods:{am:"AM",pm:"PM"}},generic:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["M01","M02","M03","M04","M05","M06","M07","M08","M09","M10","M11","M12"],"long":["M01","M02","M03","M04","M05","M06","M07","M08","M09","M10","M11","M12"]},days:{narrow:["D","L","M","M","G","V","S"],"short":["dom","lun","mar","mer","gio","ven","sab"],"long":["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"]},eras:{narrow:["ERA0","ERA1"],"short":["ERA0","ERA1"],"long":["ERA0","ERA1"]},dayPeriods:{am:"AM",pm:"PM"}},gregory:{months:{narrow:["G","F","M","A","M","G","L","A","S","O","N","D"],"short":["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic"],"long":["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"]},days:{narrow:["D","L","M","M","G","V","S"],"short":["dom","lun","mar","mer","gio","ven","sab"],"long":["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"]},eras:{narrow:["aC","dC","BCE","CE"],"short":["a.C.","d.C.","a.E.V.","E.V."],"long":["a.C.","d.C.","avanti Era Volgare","Era Volgare"]},dayPeriods:{am:"AM",pm:"PM"}},hebrew:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12","13","7"],"short":["Tishri","Heshvan","Kislev","Tevet","Shevat","Adar I","Adar","Nisan","Iyar","Sivan","Tamuz","Av","Elul","Adar II"],"long":["Tishri","Heshvan","Kislev","Tevet","Shevat","Adar I","Adar","Nisan","Iyar","Sivan","Tamuz","Av","Elul","Adar II"]},days:{narrow:["D","L","M","M","G","V","S"],"short":["dom","lun","mar","mer","gio","ven","sab"],"long":["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"]},eras:{narrow:["AM"],"short":["AM"],"long":["AM"]},dayPeriods:{am:"AM",pm:"PM"}},indian:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["Chaitra","Vaisakha","Jyaistha","Asadha","Sravana","Bhadra","Asvina","Kartika","Agrahayana","Pausa","Magha","Phalguna"],"long":["Chaitra","Vaisakha","Jyaistha","Asadha","Sravana","Bhadra","Asvina","Kartika","Agrahayana","Pausa","Magha","Phalguna"]},days:{narrow:["D","L","M","M","G","V","S"],"short":["dom","lun","mar","mer","gio","ven","sab"],"long":["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"]},eras:{narrow:["Saka"],"short":["Saka"],"long":["Saka"]},dayPeriods:{am:"AM",pm:"PM"}},islamic:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["Muh.","Saf.","Rab. I","Rab. II","Jum. I","Jum. II","Raj.","Sha.","Ram.","Shaw.","Dhuʻl-Q.","Dhuʻl-H."],"long":["Muharram","Safar","Rabiʻ I","Rabiʻ II","Jumada I","Jumada II","Rajab","Shaʻban","Ramadan","Shawwal","Dhuʻl-Qiʻdah","Dhuʻl-Hijjah"]},days:{narrow:["D","L","M","M","G","V","S"],"short":["dom","lun","mar","mer","gio","ven","sab"],"long":["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"]},eras:{narrow:["AH"],"short":["AH"],"long":["AH"]},dayPeriods:{am:"AM",pm:"PM"}},islamicc:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["Muh.","Saf.","Rab. I","Rab. II","Jum. I","Jum. II","Raj.","Sha.","Ram.","Shaw.","Dhuʻl-Q.","Dhuʻl-H."],"long":["Muharram","Safar","Rabiʻ I","Rabiʻ II","Jumada I","Jumada II","Rajab","Shaʻban","Ramadan","Shawwal","Dhuʻl-Qiʻdah","Dhuʻl-Hijjah"]},days:{narrow:["D","L","M","M","G","V","S"],"short":["dom","lun","mar","mer","gio","ven","sab"],"long":["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"]},eras:{narrow:["AH"],"short":["AH"],"long":["AH"]},dayPeriods:{am:"AM",pm:"PM"}},japanese:{months:{narrow:["G","F","M","A","M","G","L","A","S","O","N","D"],"short":["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic"],"long":["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"]},days:{narrow:["D","L","M","M","G","V","S"],"short":["dom","lun","mar","mer","gio","ven","sab"],"long":["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"]},eras:{narrow:["Taika (645–650)","Hakuchi (650–671)","Hakuhō (672–686)","Shuchō (686–701)","Taihō (701–704)","Keiun (704–708)","Wadō (708–715)","Reiki (715–717)","Yōrō (717–724)","Jinki (724–729)","Tenpyō (729–749)","Tenpyō-kampō (749-749)","Tenpyō-shōhō (749-757)","Tenpyō-hōji (757-765)","Tenpyō-jingo (765-767)","Jingo-keiun (767-770)","Hōki (770–780)","Ten-ō (781-782)","Enryaku (782–806)","Daidō (806–810)","Kōnin (810–824)","Tenchō (824–834)","Jōwa (834–848)","Kajō (848–851)","Ninju (851–854)","Saikō (854–857)","Ten-an (857-859)","Jōgan (859–877)","Gangyō (877–885)","Ninna (885–889)","Kanpyō (889–898)","Shōtai (898–901)","Engi (901–923)","Enchō (923–931)","Jōhei (931–938)","Tengyō (938–947)","Tenryaku (947–957)","Tentoku (957–961)","Ōwa (961–964)","Kōhō (964–968)","Anna (968–970)","Tenroku (970–973)","Ten’en (973–976)","Jōgen (976–978)","Tengen (978–983)","Eikan (983–985)","Kanna (985–987)","Eien (987–989)","Eiso (989–990)","Shōryaku (990–995)","Chōtoku (995–999)","Chōhō (999–1004)","Kankō (1004–1012)","Chōwa (1012–1017)","Kannin (1017–1021)","Jian (1021–1024)","Manju (1024–1028)","Chōgen (1028–1037)","Chōryaku (1037–1040)","Chōkyū (1040–1044)","Kantoku (1044–1046)","Eishō (1046–1053)","Tengi (1053–1058)","Kōhei (1058–1065)","Jiryaku (1065–1069)","Enkyū (1069–1074)","Shōho (1074–1077)","Shōryaku (1077–1081)","Eihō (1081–1084)","Ōtoku (1084–1087)","Kanji (1087–1094)","Kahō (1094–1096)","Eichō (1096–1097)","Jōtoku (1097–1099)","Kōwa (1099–1104)","Chōji (1104–1106)","Kashō (1106–1108)","Tennin (1108–1110)","Ten-ei (1110-1113)","Eikyū (1113–1118)","Gen’ei (1118–1120)","Hōan (1120–1124)","Tenji (1124–1126)","Daiji (1126–1131)","Tenshō (1131–1132)","Chōshō (1132–1135)","Hōen (1135–1141)","Eiji (1141–1142)","Kōji (1142–1144)","Ten’yō (1144–1145)","Kyūan (1145–1151)","Ninpei (1151–1154)","Kyūju (1154–1156)","Hōgen (1156–1159)","Heiji (1159–1160)","Eiryaku (1160–1161)","Ōho (1161–1163)","Chōkan (1163–1165)","Eiman (1165–1166)","Nin’an (1166–1169)","Kaō (1169–1171)","Shōan (1171–1175)","Angen (1175–1177)","Jishō (1177–1181)","Yōwa (1181–1182)","Juei (1182–1184)","Genryaku (1184–1185)","Bunji (1185–1190)","Kenkyū (1190–1199)","Shōji (1199–1201)","Kennin (1201–1204)","Genkyū (1204–1206)","Ken’ei (1206–1207)","Jōgen (1207–1211)","Kenryaku (1211–1213)","Kenpō (1213–1219)","Jōkyū (1219–1222)","Jōō (1222–1224)","Gennin (1224–1225)","Karoku (1225–1227)","Antei (1227–1229)","Kanki (1229–1232)","Jōei (1232–1233)","Tenpuku (1233–1234)","Bunryaku (1234–1235)","Katei (1235–1238)","Ryakunin (1238–1239)","En’ō (1239–1240)","Ninji (1240–1243)","Kangen (1243–1247)","Hōji (1247–1249)","Kenchō (1249–1256)","Kōgen (1256–1257)","Shōka (1257–1259)","Shōgen (1259–1260)","Bun’ō (1260–1261)","Kōchō (1261–1264)","Bun’ei (1264–1275)","Kenji (1275–1278)","Kōan (1278–1288)","Shōō (1288–1293)","Einin (1293–1299)","Shōan (1299–1302)","Kengen (1302–1303)","Kagen (1303–1306)","Tokuji (1306–1308)","Enkyō (1308–1311)","Ōchō (1311–1312)","Shōwa (1312–1317)","Bunpō (1317–1319)","Genō (1319–1321)","Genkō (1321–1324)","Shōchū (1324–1326)","Karyaku (1326–1329)","Gentoku (1329–1331)","Genkō (1331–1334)","Kenmu (1334–1336)","Engen (1336–1340)","Kōkoku (1340–1346)","Shōhei (1346–1370)","Kentoku (1370–1372)","Bunchū (1372–1375)","Tenju (1375–1379)","Kōryaku (1379–1381)","Kōwa (1381–1384)","Genchū (1384–1392)","Meitoku (1384–1387)","Kakei (1387–1389)","Kōō (1389–1390)","Meitoku (1390–1394)","Ōei (1394–1428)","Shōchō (1428–1429)","Eikyō (1429–1441)","Kakitsu (1441–1444)","Bun’an (1444–1449)","Hōtoku (1449–1452)","Kyōtoku (1452–1455)","Kōshō (1455–1457)","Chōroku (1457–1460)","Kanshō (1460–1466)","Bunshō (1466–1467)","Ōnin (1467–1469)","Bunmei (1469–1487)","Chōkyō (1487–1489)","Entoku (1489–1492)","Meiō (1492–1501)","Bunki (1501–1504)","Eishō (1504–1521)","Taiei (1521–1528)","Kyōroku (1528–1532)","Tenbun (1532–1555)","Kōji (1555–1558)","Eiroku (1558–1570)","Genki (1570–1573)","Tenshō (1573–1592)","Bunroku (1592–1596)","Keichō (1596–1615)","Genna (1615–1624)","Kan’ei (1624–1644)","Shōho (1644–1648)","Keian (1648–1652)","Jōō (1652–1655)","Meireki (1655–1658)","Manji (1658–1661)","Kanbun (1661–1673)","Enpō (1673–1681)","Tenna (1681–1684)","Jōkyō (1684–1688)","Genroku (1688–1704)","Hōei (1704–1711)","Shōtoku (1711–1716)","Kyōhō (1716–1736)","Genbun (1736–1741)","Kanpō (1741–1744)","Enkyō (1744–1748)","Kan’en (1748–1751)","Hōreki (1751–1764)","Meiwa (1764–1772)","An’ei (1772–1781)","Tenmei (1781–1789)","Kansei (1789–1801)","Kyōwa (1801–1804)","Bunka (1804–1818)","Bunsei (1818–1830)","Tenpō (1830–1844)","Kōka (1844–1848)","Kaei (1848–1854)","Ansei (1854–1860)","Man’en (1860–1861)","Bunkyū (1861–1864)","Genji (1864–1865)","Keiō (1865–1868)","M","T","S","H"],"short":["Taika (645–650)","Hakuchi (650–671)","Hakuhō (672–686)","Shuchō (686–701)","Taihō (701–704)","Keiun (704–708)","Wadō (708–715)","Reiki (715–717)","Yōrō (717–724)","Jinki (724–729)","Tenpyō (729–749)","Tenpyō-kampō (749-749)","Tenpyō-shōhō (749-757)","Tenpyō-hōji (757-765)","Tenpyō-jingo (765-767)","Jingo-keiun (767-770)","Hōki (770–780)","Ten-ō (781-782)","Enryaku (782–806)","Daidō (806–810)","Kōnin (810–824)","Tenchō (824–834)","Jōwa (834–848)","Kajō (848–851)","Ninju (851–854)","Saikō (854–857)","Ten-an (857-859)","Jōgan (859–877)","Gangyō (877–885)","Ninna (885–889)","Kanpyō (889–898)","Shōtai (898–901)","Engi (901–923)","Enchō (923–931)","Jōhei (931–938)","Tengyō (938–947)","Tenryaku (947–957)","Tentoku (957–961)","Ōwa (961–964)","Kōhō (964–968)","Anna (968–970)","Tenroku (970–973)","Ten’en (973–976)","Jōgen (976–978)","Tengen (978–983)","Eikan (983–985)","Kanna (985–987)","Eien (987–989)","Eiso (989–990)","Shōryaku (990–995)","Chōtoku (995–999)","Chōhō (999–1004)","Kankō (1004–1012)","Chōwa (1012–1017)","Kannin (1017–1021)","Jian (1021–1024)","Manju (1024–1028)","Chōgen (1028–1037)","Chōryaku (1037–1040)","Chōkyū (1040–1044)","Kantoku (1044–1046)","Eishō (1046–1053)","Tengi (1053–1058)","Kōhei (1058–1065)","Jiryaku (1065–1069)","Enkyū (1069–1074)","Shōho (1074–1077)","Shōryaku (1077–1081)","Eihō (1081–1084)","Ōtoku (1084–1087)","Kanji (1087–1094)","Kahō (1094–1096)","Eichō (1096–1097)","Jōtoku (1097–1099)","Kōwa (1099–1104)","Chōji (1104–1106)","Kashō (1106–1108)","Tennin (1108–1110)","Ten-ei (1110-1113)","Eikyū (1113–1118)","Gen’ei (1118–1120)","Hōan (1120–1124)","Tenji (1124–1126)","Daiji (1126–1131)","Tenshō (1131–1132)","Chōshō (1132–1135)","Hōen (1135–1141)","Eiji (1141–1142)","Kōji (1142–1144)","Ten’yō (1144–1145)","Kyūan (1145–1151)","Ninpei (1151–1154)","Kyūju (1154–1156)","Hōgen (1156–1159)","Heiji (1159–1160)","Eiryaku (1160–1161)","Ōho (1161–1163)","Chōkan (1163–1165)","Eiman (1165–1166)","Nin’an (1166–1169)","Kaō (1169–1171)","Shōan (1171–1175)","Angen (1175–1177)","Jishō (1177–1181)","Yōwa (1181–1182)","Juei (1182–1184)","Genryaku (1184–1185)","Bunji (1185–1190)","Kenkyū (1190–1199)","Shōji (1199–1201)","Kennin (1201–1204)","Genkyū (1204–1206)","Ken’ei (1206–1207)","Jōgen (1207–1211)","Kenryaku (1211–1213)","Kenpō (1213–1219)","Jōkyū (1219–1222)","Jōō (1222–1224)","Gennin (1224–1225)","Karoku (1225–1227)","Antei (1227–1229)","Kanki (1229–1232)","Jōei (1232–1233)","Tenpuku (1233–1234)","Bunryaku (1234–1235)","Katei (1235–1238)","Ryakunin (1238–1239)","En’ō (1239–1240)","Ninji (1240–1243)","Kangen (1243–1247)","Hōji (1247–1249)","Kenchō (1249–1256)","Kōgen (1256–1257)","Shōka (1257–1259)","Shōgen (1259–1260)","Bun’ō (1260–1261)","Kōchō (1261–1264)","Bun’ei (1264–1275)","Kenji (1275–1278)","Kōan (1278–1288)","Shōō (1288–1293)","Einin (1293–1299)","Shōan (1299–1302)","Kengen (1302–1303)","Kagen (1303–1306)","Tokuji (1306–1308)","Enkyō (1308–1311)","Ōchō (1311–1312)","Shōwa (1312–1317)","Bunpō (1317–1319)","Genō (1319–1321)","Genkō (1321–1324)","Shōchū (1324–1326)","Karyaku (1326–1329)","Gentoku (1329–1331)","Genkō (1331–1334)","Kenmu (1334–1336)","Engen (1336–1340)","Kōkoku (1340–1346)","Shōhei (1346–1370)","Kentoku (1370–1372)","Bunchū (1372–1375)","Tenju (1375–1379)","Kōryaku (1379–1381)","Kōwa (1381–1384)","Genchū (1384–1392)","Meitoku (1384–1387)","Kakei (1387–1389)","Kōō (1389–1390)","Meitoku (1390–1394)","Ōei (1394–1428)","Shōchō (1428–1429)","Eikyō (1429–1441)","Kakitsu (1441–1444)","Bun’an (1444–1449)","Hōtoku (1449–1452)","Kyōtoku (1452–1455)","Kōshō (1455–1457)","Chōroku (1457–1460)","Kanshō (1460–1466)","Bunshō (1466–1467)","Ōnin (1467–1469)","Bunmei (1469–1487)","Chōkyō (1487–1489)","Entoku (1489–1492)","Meiō (1492–1501)","Bunki (1501–1504)","Eishō (1504–1521)","Taiei (1521–1528)","Kyōroku (1528–1532)","Tenbun (1532–1555)","Kōji (1555–1558)","Eiroku (1558–1570)","Genki (1570–1573)","Tenshō (1573–1592)","Bunroku (1592–1596)","Keichō (1596–1615)","Genna (1615–1624)","Kan’ei (1624–1644)","Shōho (1644–1648)","Keian (1648–1652)","Jōō (1652–1655)","Meireki (1655–1658)","Manji (1658–1661)","Kanbun (1661–1673)","Enpō (1673–1681)","Tenna (1681–1684)","Jōkyō (1684–1688)","Genroku (1688–1704)","Hōei (1704–1711)","Shōtoku (1711–1716)","Kyōhō (1716–1736)","Genbun (1736–1741)","Kanpō (1741–1744)","Enkyō (1744–1748)","Kan’en (1748–1751)","Hōreki (1751–1764)","Meiwa (1764–1772)","An’ei (1772–1781)","Tenmei (1781–1789)","Kansei (1789–1801)","Kyōwa (1801–1804)","Bunka (1804–1818)","Bunsei (1818–1830)","Tenpō (1830–1844)","Kōka (1844–1848)","Kaei (1848–1854)","Ansei (1854–1860)","Man’en (1860–1861)","Bunkyū (1861–1864)","Genji (1864–1865)","Keiō (1865–1868)","Meiji","Taishō","Shōwa","Heisei"],"long":["Taika (645–650)","Hakuchi (650–671)","Hakuhō (672–686)","Shuchō (686–701)","Taihō (701–704)","Keiun (704–708)","Wadō (708–715)","Reiki (715–717)","Yōrō (717–724)","Jinki (724–729)","Tenpyō (729–749)","Tenpyō-kampō (749-749)","Tenpyō-shōhō (749-757)","Tenpyō-hōji (757-765)","Tenpyō-jingo (765-767)","Jingo-keiun (767-770)","Hōki (770–780)","Ten-ō (781-782)","Enryaku (782–806)","Daidō (806–810)","Kōnin (810–824)","Tenchō (824–834)","Jōwa (834–848)","Kajō (848–851)","Ninju (851–854)","Saikō (854–857)","Ten-an (857-859)","Jōgan (859–877)","Gangyō (877–885)","Ninna (885–889)","Kanpyō (889–898)","Shōtai (898–901)","Engi (901–923)","Enchō (923–931)","Jōhei (931–938)","Tengyō (938–947)","Tenryaku (947–957)","Tentoku (957–961)","Ōwa (961–964)","Kōhō (964–968)","Anna (968–970)","Tenroku (970–973)","Ten’en (973–976)","Jōgen (976–978)","Tengen (978–983)","Eikan (983–985)","Kanna (985–987)","Eien (987–989)","Eiso (989–990)","Shōryaku (990–995)","Chōtoku (995–999)","Chōhō (999–1004)","Kankō (1004–1012)","Chōwa (1012–1017)","Kannin (1017–1021)","Jian (1021–1024)","Manju (1024–1028)","Chōgen (1028–1037)","Chōryaku (1037–1040)","Chōkyū (1040–1044)","Kantoku (1044–1046)","Eishō (1046–1053)","Tengi (1053–1058)","Kōhei (1058–1065)","Jiryaku (1065–1069)","Enkyū (1069–1074)","Shōho (1074–1077)","Shōryaku (1077–1081)","Eihō (1081–1084)","Ōtoku (1084–1087)","Kanji (1087–1094)","Kahō (1094–1096)","Eichō (1096–1097)","Jōtoku (1097–1099)","Kōwa (1099–1104)","Chōji (1104–1106)","Kashō (1106–1108)","Tennin (1108–1110)","Ten-ei (1110-1113)","Eikyū (1113–1118)","Gen’ei (1118–1120)","Hōan (1120–1124)","Tenji (1124–1126)","Daiji (1126–1131)","Tenshō (1131–1132)","Chōshō (1132–1135)","Hōen (1135–1141)","Eiji (1141–1142)","Kōji (1142–1144)","Ten’yō (1144–1145)","Kyūan (1145–1151)","Ninpei (1151–1154)","Kyūju (1154–1156)","Hōgen (1156–1159)","Heiji (1159–1160)","Eiryaku (1160–1161)","Ōho (1161–1163)","Chōkan (1163–1165)","Eiman (1165–1166)","Nin’an (1166–1169)","Kaō (1169–1171)","Shōan (1171–1175)","Angen (1175–1177)","Jishō (1177–1181)","Yōwa (1181–1182)","Juei (1182–1184)","Genryaku (1184–1185)","Bunji (1185–1190)","Kenkyū (1190–1199)","Shōji (1199–1201)","Kennin (1201–1204)","Genkyū (1204–1206)","Ken’ei (1206–1207)","Jōgen (1207–1211)","Kenryaku (1211–1213)","Kenpō (1213–1219)","Jōkyū (1219–1222)","Jōō (1222–1224)","Gennin (1224–1225)","Karoku (1225–1227)","Antei (1227–1229)","Kanki (1229–1232)","Jōei (1232–1233)","Tenpuku (1233–1234)","Bunryaku (1234–1235)","Katei (1235–1238)","Ryakunin (1238–1239)","En’ō (1239–1240)","Ninji (1240–1243)","Kangen (1243–1247)","Hōji (1247–1249)","Kenchō (1249–1256)","Kōgen (1256–1257)","Shōka (1257–1259)","Shōgen (1259–1260)","Bun’ō (1260–1261)","Kōchō (1261–1264)","Bun’ei (1264–1275)","Kenji (1275–1278)","Kōan (1278–1288)","Shōō (1288–1293)","Einin (1293–1299)","Shōan (1299–1302)","Kengen (1302–1303)","Kagen (1303–1306)","Tokuji (1306–1308)","Enkyō (1308–1311)","Ōchō (1311–1312)","Shōwa (1312–1317)","Bunpō (1317–1319)","Genō (1319–1321)","Genkō (1321–1324)","Shōchū (1324–1326)","Karyaku (1326–1329)","Gentoku (1329–1331)","Genkō (1331–1334)","Kenmu (1334–1336)","Engen (1336–1340)","Kōkoku (1340–1346)","Shōhei (1346–1370)","Kentoku (1370–1372)","Bunchū (1372–1375)","Tenju (1375–1379)","Kōryaku (1379–1381)","Kōwa (1381–1384)","Genchū (1384–1392)","Meitoku (1384–1387)","Kakei (1387–1389)","Kōō (1389–1390)","Meitoku (1390–1394)","Ōei (1394–1428)","Shōchō (1428–1429)","Eikyō (1429–1441)","Kakitsu (1441–1444)","Bun’an (1444–1449)","Hōtoku (1449–1452)","Kyōtoku (1452–1455)","Kōshō (1455–1457)","Chōroku (1457–1460)","Kanshō (1460–1466)","Bunshō (1466–1467)","Ōnin (1467–1469)","Bunmei (1469–1487)","Chōkyō (1487–1489)","Entoku (1489–1492)","Meiō (1492–1501)","Bunki (1501–1504)","Eishō (1504–1521)","Taiei (1521–1528)","Kyōroku (1528–1532)","Tenbun (1532–1555)","Kōji (1555–1558)","Eiroku (1558–1570)","Genki (1570–1573)","Tenshō (1573–1592)","Bunroku (1592–1596)","Keichō (1596–1615)","Genna (1615–1624)","Kan’ei (1624–1644)","Shōho (1644–1648)","Keian (1648–1652)","Jōō (1652–1655)","Meireki (1655–1658)","Manji (1658–1661)","Kanbun (1661–1673)","Enpō (1673–1681)","Tenna (1681–1684)","Jōkyō (1684–1688)","Genroku (1688–1704)","Hōei (1704–1711)","Shōtoku (1711–1716)","Kyōhō (1716–1736)","Genbun (1736–1741)","Kanpō (1741–1744)","Enkyō (1744–1748)","Kan’en (1748–1751)","Hōreki (1751–1764)","Meiwa (1764–1772)","An’ei (1772–1781)","Tenmei (1781–1789)","Kansei (1789–1801)","Kyōwa (1801–1804)","Bunka (1804–1818)","Bunsei (1818–1830)","Tenpō (1830–1844)","Kōka (1844–1848)","Kaei (1848–1854)","Ansei (1854–1860)","Man’en (1860–1861)","Bunkyū (1861–1864)","Genji (1864–1865)","Keiō (1865–1868)","Meiji","Taishō","Shōwa","Heisei"]},dayPeriods:{am:"AM",pm:"PM"}},persian:{months:{narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],"short":["Farvardin","Ordibehesht","Khordad","Tir","Mordad","Shahrivar","Mehr","Aban","Azar","Dey","Bahman","Esfand"],"long":["Farvardin","Ordibehesht","Khordad","Tir","Mordad","Shahrivar","Mehr","Aban","Azar","Dey","Bahman","Esfand"]},days:{narrow:["D","L","M","M","G","V","S"],"short":["dom","lun","mar","mer","gio","ven","sab"],"long":["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"]},eras:{narrow:["AP"],"short":["AP"],"long":["AP"]},dayPeriods:{am:"AM",pm:"PM"}},roc:{months:{narrow:["G","F","M","A","M","G","L","A","S","O","N","D"],"short":["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic"],"long":["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"]},days:{narrow:["D","L","M","M","G","V","S"],"short":["dom","lun","mar","mer","gio","ven","sab"],"long":["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"]},eras:{narrow:["Prima di R.O.C.","Minguo"],"short":["Prima di R.O.C.","Minguo"],"long":["Prima di R.O.C.","Minguo"]},dayPeriods:{am:"AM",pm:"PM"}}}},number:{nu:["latn"],patterns:{decimal:{positivePattern:"{number}",negativePattern:"{minusSign}{number}"},currency:{positivePattern:"{number} {currency}",negativePattern:"{minusSign}{number} {currency}"},percent:{positivePattern:"{number}{percentSign}",negativePattern:"{minusSign}{number}{percentSign}"}},symbols:{latn:{decimal:",",group:".",nan:"NaN",plusSign:"+",minusSign:"-",percentSign:"%",infinity:"∞"}},currencies:{AUD:"A$",CAD:"CA$",CNY:"CN¥",EUR:"€",GBP:"£",ILS:"₪",INR:"₹",NZD:"NZ$",THB:"฿",USD:"US$",VND:"₫",XAF:"FCFA",XCD:"EC$",XOF:"CFA",XPF:"CFPF"}}})},1014:function(n,a){(function(a){"use strict";function e(n){if("function"==typeof Math.log10)return Math.floor(Math.log10(n));var a=Math.round(Math.log(n)*Math.LOG10E);return a-(Number("1e"+a)>n)}function r(n){for(var a in n)(n instanceof r||Fn.call(n,a))&&zn(this,a,{value:n[a],enumerable:!0,writable:!0,configurable:!0})}function i(){zn(this,"length",{writable:!0,value:0}),arguments.length&&Qn.apply(this,On.call(arguments))}function o(){if(Yn.disableRegExpRestore)return function(){};for(var n={lastMatch:RegExp.lastMatch||"",leftContext:RegExp.leftContext,multiline:RegExp.multiline,input:RegExp.input},a=!1,e=1;e<=9;e++)a=(n["$"+e]=RegExp["$"+e])||a;return function(){var e=/[.?*+^$[\]\\(){}|-]/g,r=n.lastMatch.replace(e,"\\$&"),o=new i;if(a)for(var t=1;t<=9;t++){var s=n["$"+t];s?(s=s.replace(e,"\\$&"),r=r.replace(s,"("+s+")")):r="()"+r,Qn.call(o,r.slice(0,r.indexOf("(")+1)),r=r.slice(r.indexOf("(")+1)}var u=Wn.call(o,"")+r;u=u.replace(/(\\\(|\\\)|[^()])+/g,function(n){return"[\\s\\S]{"+n.replace("\\","").length+"}"});var h=new RegExp(u,n.multiline?"gm":"g");h.lastIndex=n.leftContext.length,h.exec(n.input)}}function t(n){if(null===n)throw new TypeError("Cannot convert null or undefined to object");return"object"===("undefined"==typeof n?"undefined":Rn["typeof"](n))?n:Object(n)}function s(n){return"number"==typeof n?n:Number(n)}function u(n){var a=s(n);return isNaN(a)?0:0===a||a===-0||a===+(1/0)||a===-(1/0)?a:a<0?Math.floor(Math.abs(a))*-1:Math.floor(Math.abs(a))}function h(n){var a=u(n);return a<=0?0:a===1/0?Math.pow(2,53)-1:Math.min(a,Math.pow(2,53)-1)}function m(n){return Fn.call(n,"__getInternalProperties")?n.__getInternalProperties($n):Ln(null)}function l(n){da=n}function d(n){for(var a=n.length;a--;){var e=n.charAt(a);e>="a"&&e<="z"&&(n=n.slice(0,a)+e.toUpperCase()+n.slice(a+1))}return n}function y(n){return!!ua.test(n)&&(!ha.test(n)&&!ma.test(n))}function M(n){var a=void 0,e=void 0;n=n.toLowerCase(),e=n.split("-");for(var r=1,i=e.length;r1&&(a.sort(),n=n.replace(RegExp("(?:"+la.source+")+","i"),Wn.call(a,""))),Fn.call(ya.tags,n)&&(n=ya.tags[n]),e=n.split("-");for(var o=1,t=e.length;o-1)return e;var r=e.lastIndexOf("-");if(r<0)return;r>=2&&"-"===e.charAt(r-2)&&(r-=2),e=e.substring(0,r)}}function K(n,a){for(var e=0,i=a.length,o=void 0,t=void 0,s=void 0;e2){var j=h[w+1],A=f.call(E,j);A!==-1&&(T=j,S="-"+p+"-"+T)}else{var H=f(E,"true");H!==-1&&(T="true")}}if(Fn.call(e,"[["+p+"]]")){var J=e["[["+p+"]]"];f.call(E,J)!==-1&&J!==T&&(T=J,S="")}y["[["+p+"]]"]=T,c+=S,g++}if(c.length>2){var P=u.indexOf("-x-");if(P===-1)u+=c;else{var G=u.substring(0,P),B=u.substring(P);u=G+c+B}u=M(u)}return y["[[locale]]"]=u,y}function E(n,a){for(var e=a.length,r=new i,o=0;or)throw new RangeError("Value is not a number or outside accepted range");return Math.floor(o)}return i}function j(n){for(var a=k(n),e=[],r=a.length,i=0;io;o++){var t=e[o],s={};s.type=t["[[type]]"],s.value=t["[[value]]"],r[i]=s,i+=1}return r}function D(n,a){var e=m(n),r=e["[[dataLocale]]"],o=e["[[numberingSystem]]"],t=Yn.NumberFormat["[[localeData]]"][r],s=t.symbols[o]||t.symbols.latn,u=void 0;!isNaN(a)&&a<0?(a=-a,u=e["[[negativePattern]]"]):u=e["[[positivePattern]]"]; for(var h=new i,l=u.indexOf("{",0),d=0,y=0,M=u.length;l>-1&&ly){var c=u.substring(y,l);Qn.call(h,{"[[type]]":"literal","[[value]]":c})}var g=u.substring(l+1,d);if("number"===g)if(isNaN(a)){var k=s.nan;Qn.call(h,{"[[type]]":"nan","[[value]]":k})}else if(isFinite(a)){"percent"===e["[[style]]"]&&isFinite(a)&&(a*=100);var p=void 0;p=Fn.call(e,"[[minimumSignificantDigits]]")&&Fn.call(e,"[[maximumSignificantDigits]]")?C(a,e["[[minimumSignificantDigits]]"],e["[[maximumSignificantDigits]]"]):N(a,e["[[minimumIntegerDigits]]"],e["[[minimumFractionDigits]]"],e["[[maximumFractionDigits]]"]),pa[o]?!function(){var n=pa[o];p=String(p).replace(/\d/g,function(a){return n[a]})}():p=String(p);var K=void 0,v=void 0,b=p.indexOf(".",0);if(b>0?(K=p.substring(0,b),v=p.substring(b+1,b.length)):(K=p,v=void 0),e["[[useGrouping]]"]===!0){var E=s.group,T=[],S=t.patterns.primaryGroupSize||3,f=t.patterns.secondaryGroupSize||S;if(K.length>S){var w=K.length-S,j=w%f,A=K.slice(0,j);for(A.length&&Qn.call(T,A);ji;i++){var o=e[i];r+=o["[[value]]"]}return r}function C(n,a,r){var i=r,o=void 0,t=void 0;if(0===n)o=Wn.call(Array(i+1),"0"),t=0;else{t=e(Math.abs(n));var s=Math.round(Math.exp(Math.abs(t-i+1)*Math.LN10));o=String(Math.round(t-i+1<0?n*s:n/s))}if(t>=i)return o+Wn.call(Array(t-i+1+1),"0");if(t===i-1)return o;if(t>=0?o=o.slice(0,t+1)+"."+o.slice(t+1):t<0&&(o="0."+Wn.call(Array(-(t+1)+1),"0")+o),o.indexOf(".")>=0&&r>a){for(var u=r-a;u>0&&"0"===o.charAt(o.length-1);)o=o.slice(0,-1),u--;"."===o.charAt(o.length-1)&&(o=o.slice(0,-1))}return o}function N(n,a,e,r){var i=r,o=Math.pow(10,i)*n,t=0===o?"0":o.toFixed(0),s=void 0,u=(s=t.indexOf("e"))>-1?t.slice(s+1):0;u&&(t=t.slice(0,s).replace(".",""),t+=Wn.call(Array(u-(t.length-1)+1),"0"));var h=void 0;if(0!==i){var m=t.length;if(m<=i){var l=Wn.call(Array(i+1-m+1),"0");t=l+t,m=i+1}var d=t.substring(0,m-i),y=t.substring(m-i,t.length);t=d+"."+y,h=d.length}else h=t.length;for(var M=r-e;M>0&&"0"===t.slice(-1);)t=t.slice(0,-1),M--;if("."===t.slice(-1)&&(t=t.slice(0,-1)),hu&&(u=y,h=d),m++}return h}function U(n,a){var e=[];for(var r in wa)Fn.call(wa,r)&&void 0!==n["[["+r+"]]"]&&e.push(r);if(1===e.length){var i=W(e[0],n["[["+e[0]+"]]"]);if(i)return i}for(var o=120,t=20,s=8,u=6,h=6,m=3,l=2,d=1,y=-(1/0),M=void 0,c=0,g=a.length;c=2||f>=2&&S<=1?w>0?p-=u:w<0&&(p-=s):w>1?p-=m:w<-1&&(p-=h)}}k._.hour12!==n.hour12&&(p-=d),p>y&&(y=p,M=k),c++}return M}function Z(){var n=null!==this&&"object"===Rn["typeof"](this)&&m(this);if(!n||!n["[[initializedDateTimeFormat]]"])throw new TypeError("`this` value for format() is not an initialized Intl.DateTimeFormat object.");if(void 0===n["[[boundFormat]]"]){var a=function(){var n=arguments.length<=0||void 0===arguments[0]?void 0:arguments[0],a=void 0===n?Date.now():s(n);return en(this,a)},e=_n.call(a,this);n["[[boundFormat]]"]=e}return n["[[boundFormat]]"]}function nn(){var n=arguments.length<=0||void 0===arguments[0]?void 0:arguments[0],a=null!==this&&"object"===Rn["typeof"](this)&&m(this);if(!a||!a["[[initializedDateTimeFormat]]"])throw new TypeError("`this` value for formatToParts() is not an initialized Intl.DateTimeFormat object.");var e=void 0===n?Date.now():s(n);return rn(this,e)}function an(n,a){if(!isFinite(a))throw new RangeError("Invalid valid date passed to format");var e=n.__getInternalProperties($n);o();for(var r=e["[[locale]]"],t=new ga.NumberFormat([r],{useGrouping:!1}),s=new ga.NumberFormat([r],{minimumIntegerDigits:2,useGrouping:!1}),u=on(a,e["[[calendar]]"],e["[[timeZone]]"]),h=e["[[pattern]]"],m=new i,l=0,d=h.indexOf("{"),y=0,M=e["[[dataLocale]]"],c=Yn.DateTimeFormat["[[localeData]]"][M].calendars,g=e["[[calendar]]"];d!==-1;){var k=void 0;if(y=h.indexOf("}",d),y===-1)throw new Error("Unclosed pattern");d>l&&Qn.call(m,{type:"literal",value:h.substring(l,d)});var p=h.substring(d+1,y);if(wa.hasOwnProperty(p)){var K=e["[["+p+"]]"],v=u["[["+p+"]]"];if("year"===p&&v<=0?v=1-v:"month"===p?v++:"hour"===p&&e["[[hour12]]"]===!0&&(v%=12,0===v&&e["[[hourNo0]]"]===!0&&(v=12)),"numeric"===K)k=R(t,v);else if("2-digit"===K)k=R(s,v),k.length>2&&(k=k.slice(-2));else if(K in fa)switch(p){case"month":k=V(c,g,"months",K,u["[["+p+"]]"]);break;case"weekday":try{k=V(c,g,"days",K,u["[["+p+"]]"])}catch(b){throw new Error("Could not find weekday data for locale "+r)}break;case"timeZoneName":k="";break;case"era":try{k=V(c,g,"eras",K,u["[["+p+"]]"])}catch(b){throw new Error("Could not find era data for locale "+r)}break;default:k=u["[["+p+"]]"]}Qn.call(m,{type:p,value:k})}else if("ampm"===p){var E=u["[[hour]]"];k=V(c,g,"dayPeriods",E>11?"pm":"am",null),Qn.call(m,{type:"dayPeriod",value:k})}else Qn.call(m,{type:"literal",value:h.substring(d,y+1)});l=y+1,d=h.indexOf("{",l)}return yi;i++){var o=e[i];r+=o.value}return r}function rn(n,a){for(var e=an(n,a),r=[],i=0;e.length>i;i++){var o=e[i];r.push({type:o.type,value:o.value})}return r}function on(n,a,e){var i=new Date(n),o="get"+(e||"");return new r({"[[weekday]]":i[o+"Day"](),"[[era]]":+(i[o+"FullYear"]()>=0),"[[year]]":i[o+"FullYear"](),"[[month]]":i[o+"Month"](),"[[day]]":i[o+"Date"](),"[[hour]]":i[o+"Hours"](),"[[minute]]":i[o+"Minutes"](),"[[second]]":i[o+"Seconds"](),"[[inDST]]":!1})}function tn(n,a){if(!n.number)throw new Error("Object passed doesn't contain locale data for Intl.NumberFormat");var e=void 0,r=[a],i=a.split("-");for(i.length>2&&4===i[1].length&&Qn.call(r,i[0]+"-"+i[2]);e=Vn.call(r);)Qn.call(Yn.NumberFormat["[[availableLocales]]"],e),Yn.NumberFormat["[[localeData]]"][e]=n.number,n.date&&(n.date.nu=n.number.nu,Qn.call(Yn.DateTimeFormat["[[availableLocales]]"],e),Yn.DateTimeFormat["[[localeData]]"][e]=n.date);void 0===da&&l(a)}var sn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol?"symbol":typeof n},un=function(){var n="function"==typeof Symbol&&Symbol["for"]&&Symbol["for"]("react.element")||60103;return function(a,e,r,i){var o=a&&a.defaultProps,t=arguments.length-3;if(e||0===t||(e={}),e&&o)for(var s in o)void 0===e[s]&&(e[s]=o[s]);else e||(e=o||{});if(1===t)e.children=i;else if(t>1){for(var u=Array(t),h=0;h=0||Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);return e},Sn=function(n,a){if(!n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!a||"object"!=typeof a&&"function"!=typeof a?n:a},fn="undefined"==typeof a?self:a,wn=function Ha(n,a,e,r){var i=Object.getOwnPropertyDescriptor(n,a);if(void 0===i){var o=Object.getPrototypeOf(n);null!==o&&Ha(o,a,e,r)}else if("value"in i&&i.writable)i.value=e;else{var t=i.set;void 0!==t&&t.call(r,e)}return e},jn=function(){function n(n,a){var e=[],r=!0,i=!1,o=void 0;try{for(var t,s=n[Symbol.iterator]();!(r=(t=s.next()).done)&&(e.push(t.value),!a||e.length!==a);r=!0);}catch(u){i=!0,o=u}finally{try{!r&&s["return"]&&s["return"]()}finally{if(i)throw o}}return e}return function(a,e){if(Array.isArray(a))return a;if(Symbol.iterator in Object(a))return n(a,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),An=function(n,a){if(Array.isArray(n))return n;if(Symbol.iterator in Object(n)){for(var e,r=[],i=n[Symbol.iterator]();!(e=i.next()).done&&(r.push(e.value),!a||r.length!==a););return r}throw new TypeError("Invalid attempt to destructure non-iterable instance")},Hn=function(n,a){return Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(a)}}))},Jn=function(n,a){return n.raw=a,n},Pn=function(n,a,e){if(n===e)throw new ReferenceError(a+" is not defined - temporal dead zone");return n},Gn={},Bn=function(n){return Array.isArray(n)?n:Array.from(n)},Dn=function(n){if(Array.isArray(n)){for(var a=0,e=Array(n.length);a=0||Object.prototype.hasOwnProperty.call(e,n)&&(a[n]=e[n]);return a}function c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function r(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;tthis.startX&&(this.setState({checked:!0}),this.startX=t,this.activated=ta?this.previouslyChecked!==this.state.checked&&(this.setState({checked:!1}),this.previouslyChecked=this.state.checked,t.click()):this.startX-40){var a=t[0];return{x:a.clientX,y:a.clientY}}var n=e.pageX;if(void 0!==n)return{x:n,y:e.pageY}}return{x:0,y:0}}Object.defineProperty(t,"__esModule",{value:!0}),t.pointerCoord=a},339:function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var l=a(2),c=n(l);t["default"]=function(){return c["default"].createElement("svg",{width:"10",height:"10",viewBox:"0 0 10 10"},c["default"].createElement("title",null,"switch-x"),c["default"].createElement("path",{d:"M9.9 2.12L7.78 0 4.95 2.828 2.12 0 0 2.12l2.83 2.83L0 7.776 2.123 9.9 4.95 7.07 7.78 9.9 9.9 7.776 7.072 4.95 9.9 2.12",fill:"#fff",fillRule:"evenodd"}))}},558:function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var l=a(2),c=n(l),s=a(11),r=a(151),o=n(r),u=function(e){var t=e.onSettingsChange,a=e.settings;return c["default"].createElement("div",{className:"row text-xs-center"},c["default"].createElement("div",{className:"five-cols-md col-xs-6"},c["default"].createElement("h6",null,c["default"].createElement(s.FormattedMessage,{id:"settings.sharingOptions.uploadMethod",defaultMessage:"How should we upload your results?"})),c["default"].createElement("i",{className:"medium-icon fa fa-upload"}),c["default"].createElement("div",{className:"row"},c["default"].createElement("select",{onChange:t("uploadMethod")},c["default"].createElement("option",{value:"onion"},c["default"].createElement(s.FormattedMessage,{id:"settings.sharingOptions.uploadMethod.torHiddenService",defaultMessage:"Tor Hidden Service"})),c["default"].createElement("option",{value:"https"},"HTTPS"),c["default"].createElement("option",{value:"cloudfront"},"Cloudfront")))),c["default"].createElement("div",{className:"five-cols-md col-xs-6"},c["default"].createElement("h6",null,c["default"].createElement(s.FormattedMessage,{id:"settings.sharingOptions.includeNetwork",defaultMessage:"Include your network information?"})),c["default"].createElement("i",{className:"medium-icon fa fa-server"}),c["default"].createElement("div",{className:"row"},c["default"].createElement(o["default"],{defaultChecked:a.includeNetwork,onChange:t("includeNetwork")}))),c["default"].createElement("div",{className:"five-cols-md col-xs-6"},c["default"].createElement("h6",null,c["default"].createElement(s.FormattedMessage,{id:"settings.sharingOptions.includeCountry",defaultMessage:"Include your country name?"})),c["default"].createElement("i",{className:"medium-icon fa fa-globe"}),c["default"].createElement("div",{className:"row"},c["default"].createElement(o["default"],{defaultChecked:a.includeCountry,onChange:t("includeCountry")}))),c["default"].createElement("div",{className:"five-cols-md col-xs-6"},c["default"].createElement("h6",null,c["default"].createElement(s.FormattedMessage,{id:"settings.sharingOptions.sharePublicly",defaultMessage:"Share results publicly?"})),c["default"].createElement("i",{className:"medium-icon fa fa-share-square-o"}),c["default"].createElement("div",{className:"row"},c["default"].createElement(o["default"],{defaultChecked:a.shareResults,onChange:t("shareResults")}))),c["default"].createElement("div",{className:"five-cols-md col-xs-6"},c["default"].createElement("h6",null,c["default"].createElement(s.FormattedMessage,{id:"settings.sharingOptions.includeIP",defaultMessage:"Include your IP?"})),c["default"].createElement("i",{className:"medium-icon fa fa-cube"}),c["default"].createElement("div",{className:"row"},c["default"].createElement(o["default"],{defaultChecked:a.includeIP,onChange:t("includeIP")}))))};u.propTypes={onSettingsChange:c["default"].PropTypes.func,settings:c["default"].PropTypes.object},t["default"]=u},865:function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var l=a(2),c=n(l),s=a(11),r=a(558),o=n(r),u=function(e){var t=e.settings,a=function(e){return function(t){console.log("",e,"changed",t)}};return t||(t={}),c["default"].createElement("div",null,c["default"].createElement("div",{className:"row text-xs-center"},c["default"].createElement("h1",null,c["default"].createElement(s.FormattedMessage,{id:"settings.title",defaultMessage:"Settings"}))),c["default"].createElement(o["default"],{onSettingsChange:a,settings:t}))};u.propTypes={settings:c["default"].PropTypes.object},t["default"]=u},866:function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var l=a(30),c=a(865),s=n(c),r=function(e){return{}},o=function(e,t){return{}};t["default"]=(0,l.connect)(r,o)(s["default"])},868:function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function l(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o,t=arguments[1],a=r[t.type];return a?a(e,t):e}Object.defineProperty(t,"__esModule",{value:!0});var c=a(12),s=n(c);t.settingsReducer=l;var r={FOO:function(e,t){return(0,s["default"])({},t.payload)}},o={}}});ooniprobe-2.2.0/ooni/ui/web/client/app.8b2cc273c7c7f67623f2.js0000644000175000017500000174505413071152212021237 0ustar irlirlwebpackJsonp([7],[function(e,t,n){e.exports=n(826)},,,,,,,,function(e,t){"use strict";var n=!("undefined"==typeof window||!window.document||!window.document.createElement),r={canUseDOM:n,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:n&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:n&&!!window.screen,isInWorker:!n};e.exports=r},,function(e,t,n){var r,o;/*! Copyright (c) 2016 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames */ !function(){"use strict";function n(){for(var e=[],t=0;t0&&void 0!==arguments[0]?arguments[0]:[],t=Array.isArray(e)?e:[e];t.forEach(function(e){e&&e.locale&&(k.__addLocaleData(e),P.__addLocaleData(e))})}function a(e){for(var t=(e||"").split("-");t.length>0;){if(i(t.join("-")))return!0;t.pop()}return!1}function i(e){var t=e&&e.toLowerCase();return!(!k.__localeData__[t]||!P.__localeData__[t])}function s(e){return(""+e).replace(fe,function(e){return pe[e]})}function u(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return t.reduce(function(t,r){return e.hasOwnProperty(r)?t[r]=e[r]:n.hasOwnProperty(r)&&(t[r]=n[r]),t},{})}function c(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.intl;A(t,"[React Intl] Could not find required `intl` object. needs to exist in the component ancestry.")}function l(e,t){if(e===t)return!0;if("object"!==("undefined"==typeof e?"undefined":R(e))||null===e||"object"!==("undefined"==typeof t?"undefined":R(t))||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var o=Object.prototype.hasOwnProperty.bind(t),a=0;a3&&void 0!==arguments[3]?arguments[3]:{},c=i.intl,d=void 0===c?{}:c,p=s.intl,f=void 0===p?{}:p;return!l(t,r)||!l(n,o)||!(f===d||l(u(f,de),u(d,de)))}function p(e){return e.displayName||e.name||"Component"}function f(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.intlPropName,r=void 0===n?"intl":n,o=t.withRef,a=void 0!==o&&o,i=function(t){function n(e,t){F(this,n);var r=W(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e,t));return c(t),r}return q(n,t),U(n,[{key:"getWrappedInstance",value:function(){return A(a,"[React Intl] To access the wrapped instance, the `{withRef: true}` option must be set when calling: `injectIntl()`"),this.refs.wrappedInstance}},{key:"render",value:function(){return L.createElement(e,B({},this.props,z({},r,this.context.intl),{ref:a?"wrappedInstance":null}))}}]),n}(I.Component);return i.displayName="InjectIntl("+p(e)+")",i.contextTypes={intl:ie},i.WrappedComponent=e,i}function h(e){return e}function m(e){return k.prototype._resolveLocale(e)}function v(e){return k.prototype._findPluralRuleFunction(e)}function y(e){var t=P.thresholds;t.second=e.second,t.minute=e.minute,t.hour=e.hour,t.day=e.day,t.month=e.month}function g(e,t,n){var r=e&&e[t]&&e[t][n];if(r)return r}function b(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=e.locale,a=e.formats,i=r.format,s=new Date(n),c=i&&g(a,"date",i),l=u(r,me,c);try{return t.getDateTimeFormat(o,l).format(s)}catch(d){}return String(s)}function _(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=e.locale,a=e.formats,i=r.format,s=new Date(n),c=i&&g(a,"time",i),l=u(r,me,c);l.hour||l.minute||l.second||(l=B({},l,{hour:"numeric",minute:"numeric"}));try{return t.getDateTimeFormat(o,l).format(s)}catch(d){}return String(s)}function w(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=e.locale,a=e.formats,i=r.format,s=new Date(n),c=new Date(r.now),l=i&&g(a,"relative",i),d=u(r,ye,l),p=B({},P.thresholds);y(be);try{return t.getRelativeFormat(o,d).format(s,{now:isFinite(c)?c:t.now()})}catch(f){}finally{y(p)}return String(s)}function T(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=e.locale,a=e.formats,i=r.format,s=i&&g(a,"number",i),c=u(r,ve,s);try{return t.getNumberFormat(o,c).format(n)}catch(l){}return String(n)}function M(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=e.locale,a=u(r,ge);try{return t.getPluralFormat(o,a).format(n)}catch(i){}return"other"}function C(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=e.locale,a=e.formats,i=e.messages,s=e.defaultLocale,u=e.defaultFormats,c=n.id,l=n.defaultMessage;A(c,"[React Intl] An `id` must be provided to format a message.");var d=i&&i[c],p=Object.keys(r).length>0;if(!p)return d||l||c;var f=void 0;if(d)try{var h=t.getMessageFormat(d,o,a);f=h.format(r)}catch(m){}if(!f&&l)try{var v=t.getMessageFormat(l,s,u);f=v.format(r)}catch(m){}return f||d||l||c}function O(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=Object.keys(r).reduce(function(e,t){var n=r[t];return e[t]="string"==typeof n?s(n):n,e},{});return C(e,t,n,o)}function S(e){var t=Math.abs(e);return t=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},W=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},H=function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t":">","<":"<",'"':""","'":"'"},fe=/[&><"']/g,he=function Re(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};F(this,Re);var n="ordinal"===t.style,r=v(m(e));this.format=function(e){return r(e,n)}},me=Object.keys(se),ve=Object.keys(ue),ye=Object.keys(ce),ge=Object.keys(le),be={second:60,minute:60,hour:24,day:30,month:12},_e=Object.freeze({formatDate:b,formatTime:_,formatRelative:w,formatNumber:T,formatPlural:M,formatMessage:C,formatHTMLMessage:O}),we=Object.keys(oe),Te=Object.keys(ae),Me={formats:{},messages:{},textComponent:"span",defaultLocale:"en",defaultFormats:{}},Ce=function(e){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};F(this,t);var r=W(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n));A("undefined"!=typeof Intl,"[React Intl] The `Intl` APIs must be available in the runtime, and do not appear to be built-in. An `Intl` polyfill should be loaded.\nSee: http://formatjs.io/guides/runtime-environments/");var o=n.intl,a=void 0;a=isFinite(e.initialNow)?Number(e.initialNow):o?o.now():Date.now();var i=o||{},s=i.formatters,u=void 0===s?{getDateTimeFormat:j(Intl.DateTimeFormat),getNumberFormat:j(Intl.NumberFormat),getMessageFormat:j(k),getRelativeFormat:j(P),getPluralFormat:j(he)}:s;return r.state=B({},u,{now:function(){return r._didDisplay?Date.now():a}}),r}return q(t,e),U(t,[{key:"getConfig",value:function(){var e=this.context.intl,t=u(this.props,we,e);for(var n in Me)void 0===t[n]&&(t[n]=Me[n]);if(!a(t.locale)){var r=t,o=(r.locale,r.defaultLocale),i=r.defaultFormats;t=B({},t,{locale:o,formats:i,messages:Me.messages})}return t}},{key:"getBoundFormatFns",value:function(e,t){return Te.reduce(function(n,r){return n[r]=_e[r].bind(null,e,t),n},{})}},{key:"getChildContext",value:function(){var e=this.getConfig(),t=this.getBoundFormatFns(e,this.state),n=this.state,r=n.now,o=V(n,["now"]);return{intl:B({},e,t,{formatters:o,now:r})}}},{key:"shouldComponentUpdate",value:function(){for(var e=arguments.length,t=Array(e),n=0;n1?o-1:0),i=1;i0;h&&!function(){var e=Math.floor(1099511627776*Math.random()).toString(16),t=function(){var t=0;return function(){return"ELEMENT-"+e+"-"+(t+=1)}}();d="@__"+e+"__@",p={},f={},Object.keys(s).forEach(function(e){var n=s[e];if(I.isValidElement(n)){var r=t();p[e]=d+r+d,f[r]=n}else p[e]=n})}();var m={id:o,description:a,defaultMessage:i},v=t(m,p||s),y=void 0,g=f&&Object.keys(f).length>0;return y=g?v.split(d).filter(function(e){return!!e}).map(function(e){return f[e]||e}):[v],"function"==typeof l?l.apply(void 0,H(y)):I.createElement.apply(void 0,[c,null].concat(H(y)))}}]),t}(I.Component);je.displayName="FormattedMessage",je.contextTypes={intl:ie},je.defaultProps={values:{}};var De=function(e){function t(e,n){F(this,t);var r=W(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n));return c(n),r}return q(t,e),U(t,[{key:"shouldComponentUpdate",value:function(e){var t=this.props.values,n=e.values;if(!l(n,t))return!0;for(var r=B({},e,{values:t}),o=arguments.length,a=Array(o>1?o-1:0),i=1;i1&&void 0!==arguments[1]?arguments[1]:{},n=l["default"].load("XSRF-TOKEN");return n&&(t=(0,i["default"])({},t,{credentials:"same-origin",headers:(0,i["default"])({},t.headers,{"X-XSRF-TOKEN":n})})),(0,u["default"])(e,t)}Object.defineProperty(t,"__esModule",{value:!0});var a=n(12),i=r(a);t.fetch=o;var s=n(707),u=r(s),c=n(1032),l=r(c)},,function(e,t,n){e.exports={"default":n(929),__esModule:!0}},function(e,t,n){var r=n(72),o=n(23),a=n(347),i=n(135),s="prototype",u=function(e,t,n){var c,l,d,p=e&u.F,f=e&u.G,h=e&u.S,m=e&u.P,v=e&u.B,y=e&u.W,g=f?o:o[t]||(o[t]={}),b=g[s],_=f?r:h?r[t]:(r[t]||{})[s];f&&(n=t);for(c in n)l=!p&&_&&void 0!==_[c],l&&c in g||(d=l?_[c]:n[c],g[c]=f&&"function"!=typeof _[c]?n[c]:v&&l?a(d,r):y&&_[c]==d?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t[s]=e[s],t}(d):m&&"function"==typeof d?a(Function.call,d):d,m&&((g.virtual||(g.virtual={}))[c]=d,e&u.R&&b&&!b[c]&&i(b,c,d)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,e.exports=u},function(e,t){function n(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function o(e){if(l===setTimeout)return setTimeout(e,0);if((l===n||!l)&&setTimeout)return l=setTimeout,setTimeout(e,0);try{return l(e,0)}catch(t){try{return l.call(null,e,0)}catch(t){return l.call(this,e,0)}}}function a(e){if(d===clearTimeout)return clearTimeout(e);if((d===r||!d)&&clearTimeout)return d=clearTimeout,clearTimeout(e);try{return d(e)}catch(t){try{return d.call(null,e)}catch(t){return d.call(this,e)}}}function i(){m&&f&&(m=!1,f.length?h=f.concat(h):v=-1,h.length&&s())}function s(){if(!m){var e=o(i);m=!0;for(var t=h.length;t;){for(f=h,h=[];++v1)for(var n=1;n2&&void 0!==arguments[2]?arguments[2]:"success";return{type:o,payload:{type:n,message:t,title:e}}};t.startNotificationPoller=function(){return function(e){var t=new r.Poller("/api/notify",(void 0));t.start(function(t){"null"!==t.type&&e(a("",t.message,t.type))},function(t){e(a("Error in notify",t,"error"))})}}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.injectReducer=t.makeRootReducer=void 0;var o=n(12),a=r(o),i=n(85),s=n(656),u=n(361),c=n(207),l=r(c),d=n(831),p=n(829),f=t.makeRootReducer=function(e){return(0,i.combineReducers)((0,a["default"])({location:l["default"],status:d.statusReducer,notification:p.notificationReducer,form:s.reducer,intl:u.intlReducer},e))};t.injectReducer=function(e,t){var n=t.key,r=t.reducer;Object.hasOwnProperty.call(e.asyncReducers,n)||(e.asyncReducers[n]=r,e.replaceReducer(f(e.asyncReducers)))};t["default"]=f},function(e,t){e.exports=function(e){try{return!!e()}catch(t){return!0}}},function(e,t,n){var r=n(80),o=n(209);e.exports=n(120)?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t){e.exports=function(e){ return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t){e.exports={}},function(e,t,n){var r=n(567);e.exports=function(e){return Object(r(e))}},function(e,t,n){"use strict";var r=n(13),o={listen:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!1),{remove:function(){e.removeEventListener(t,n,!1)}}):e.attachEvent?(e.attachEvent("on"+t,n),{remove:function(){e.detachEvent("on"+t,n)}}):void 0},capture:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!0),{remove:function(){e.removeEventListener(t,n,!0)}}):{remove:r}},registerDefault:function(){}};e.exports=o},function(e,t){"use strict";function n(e){try{e.focus()}catch(t){}}e.exports=n},function(e,t){"use strict";function n(){if("undefined"==typeof document)return null;try{return document.activeElement||document.body}catch(e){return document.body}}e.exports=n},function(e,t,n){"use strict";function r(e){if(v){var t=e.node,n=e.children;if(n.length)for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:"/";return{type:u,payload:e}}function o(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:c,t=arguments[1];return t.type===u?t.payload:e}Object.defineProperty(t,"__esModule",{value:!0}),t.refresh=t.updateLocation=t.LOCATION_CHANGE=t.history=void 0,t.locationChange=r,t["default"]=o;var a=n(333),i=n(996),s=t.history=(0,a.useRouterHistory)(i.createHashHistory)(),u=t.LOCATION_CHANGE="LOCATION_CHANGE",c=(t.updateLocation=function(e){var t=e.dispatch;return function(e){return t(r(e))}},t.refresh=function(){var e=s.getCurrentLocation();s.replace(e)},null)},,function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";function r(e){return"button"===e||"input"===e||"select"===e||"textarea"===e}function o(e,t,n){switch(e){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":return!(!n.disabled||!r(t));default:return!1}}var a=n(14),i=n(622),s=n(623),u=n(627),c=n(725),l=n(726),d=(n(3),{}),p=null,f=function(e,t){e&&(s.executeDispatchesInOrder(e,t),e.isPersistent()||e.constructor.release(e))},h=function(e){return f(e,!0)},m=function(e){return f(e,!1)},v=function(e){return"."+e._rootNodeID},y={injection:{injectEventPluginOrder:i.injectEventPluginOrder,injectEventPluginsByName:i.injectEventPluginsByName},putListener:function(e,t,n){"function"!=typeof n?a("94",t,typeof n):void 0;var r=v(e),o=d[t]||(d[t]={});o[r]=n;var s=i.registrationNameModules[t];s&&s.didPutListener&&s.didPutListener(e,t,n)},getListener:function(e,t){var n=d[t];if(o(t,e._currentElement.type,e._currentElement.props))return null;var r=v(e);return n&&n[r]},deleteListener:function(e,t){var n=i.registrationNameModules[t];n&&n.willDeleteListener&&n.willDeleteListener(e,t);var r=d[t];if(r){var o=v(e);delete r[o]}},deleteAllListeners:function(e){var t=v(e);for(var n in d)if(d.hasOwnProperty(n)&&d[n][t]){var r=i.registrationNameModules[n];r&&r.willDeleteListener&&r.willDeleteListener(e,n),delete d[n][t]}},extractEvents:function(e,t,n,r){for(var o,a=i.plugins,s=0;s=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t){function n(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,r=e.length;n-1?r:(r.push(e),t.className=r.join(" "),r)}},r.prototype.remove=function(e){var t=this.el;if(t&&""!==t.className){var r=t.className.split(" "),o=n(r,e);return o>-1&&r.splice(o,1),t.className=r.join(" "),r}},r.prototype.has=function(e){var t=this.el;if(t){var r=t.className.split(" ");return n(r,e)>-1}},r.prototype.toggle=function(e){var t=this.el;t&&(this.has(e)?this.remove(e):this.add(e))}},,,,function(e,t,n){"use strict";function r(e){return Object.prototype.hasOwnProperty.call(e,m)||(e[m]=f++,d[e[m]]={}),d[e[m]]}var o,a=n(5),i=n(622),s=n(1060),u=n(724),c=n(729),l=n(633),d={},p=!1,f=0,h={topAbort:"abort",topAnimationEnd:c("animationend")||"animationend",topAnimationIteration:c("animationiteration")||"animationiteration",topAnimationStart:c("animationstart")||"animationstart",topBlur:"blur",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topChange:"change",topClick:"click",topCompositionEnd:"compositionend",topCompositionStart:"compositionstart",topCompositionUpdate:"compositionupdate",topContextMenu:"contextmenu",topCopy:"copy",topCut:"cut",topDoubleClick:"dblclick",topDrag:"drag",topDragEnd:"dragend",topDragEnter:"dragenter",topDragExit:"dragexit",topDragLeave:"dragleave",topDragOver:"dragover",topDragStart:"dragstart",topDrop:"drop",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topFocus:"focus",topInput:"input",topKeyDown:"keydown",topKeyPress:"keypress",topKeyUp:"keyup",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topMouseDown:"mousedown",topMouseMove:"mousemove",topMouseOut:"mouseout",topMouseOver:"mouseover",topMouseUp:"mouseup",topPaste:"paste",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topScroll:"scroll",topSeeked:"seeked",topSeeking:"seeking",topSelectionChange:"selectionchange",topStalled:"stalled",topSuspend:"suspend",topTextInput:"textInput",topTimeUpdate:"timeupdate",topTouchCancel:"touchcancel",topTouchEnd:"touchend",topTouchMove:"touchmove",topTouchStart:"touchstart",topTransitionEnd:c("transitionend")||"transitionend",topVolumeChange:"volumechange",topWaiting:"waiting",topWheel:"wheel"},m="_reactListenersID"+String(Math.random()).slice(2),v=a({},s,{ReactEventListener:null,injection:{injectReactEventListener:function(e){e.setHandleTopLevel(v.handleTopLevel),v.ReactEventListener=e}},setEnabled:function(e){v.ReactEventListener&&v.ReactEventListener.setEnabled(e)},isEnabled:function(){return!(!v.ReactEventListener||!v.ReactEventListener.isEnabled())},listenTo:function(e,t){for(var n=t,o=r(n),a=i.registrationNameDependencies[e],s=0;s]/;e.exports=r},function(e,t,n){"use strict";var r,o=n(8),a=n(621),i=/^[ \r\n\t\f]/,s=/<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/,u=n(629),c=u(function(e,t){if(e.namespaceURI!==a.svg||"innerHTML"in e)e.innerHTML=t;else{r=r||document.createElement("div"),r.innerHTML=""+t+"";for(var n=r.firstChild;n.firstChild;)e.appendChild(n.firstChild)}});if(o.canUseDOM){var l=document.createElement("div");l.innerHTML=" ",""===l.innerHTML&&(c=function(e,t){if(e.parentNode&&e.parentNode.replaceChild(e,e),i.test(t)||"<"===t[0]&&s.test(t)){e.innerHTML=String.fromCharCode(65279)+t;var n=e.firstChild;1===n.data.length?e.removeChild(n):n.deleteData(0,1)}else e.innerHTML=t}),l=null}e.exports=c},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f,t=arguments[1];return t.type!==d?e:a({},e,t.payload)}Object.defineProperty(t,"__esModule",{value:!0}),t.initialState=t.update=t.updateIntl=t.UPDATE=t.Provider=t.IntlProvider=void 0;var a=Object.assign||function(e){for(var t=1;t";for(t.style.display="none",n(683).appendChild(t),t.src="javascript:",e=t.contentWindow.document,e.open(),e.write(o+"script"+i+"document.F=Object"+o+"/script"+i),e.close(),c=e.F;r--;)delete c[u][a[r]];return c()};e.exports=Object.create||function(e,t){var n;return null!==e?(s[u]=r(e),n=new s,s[u]=null,n[i]=e):n=c(),void 0===t?n:o(n,t)}},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t,n){var r=n(80).f,o=n(121),a=n(50)("toStringTag");e.exports=function(e,t,n){e&&!o(e=n?e:e.prototype,a)&&r(e,a,{configurable:!0,value:t})}},function(e,t,n){var r=n(575)("keys"),o=n(350);e.exports=function(e){return r[e]||(r[e]=o(e))}},function(e,t,n){var r=n(72),o="__core-js_shared__",a=r[o]||(r[o]={});e.exports=function(e){return a[e]||(a[e]={})}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t,n){var r=n(136);e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){var r=n(72),o=n(23),a=n(570),i=n(579),s=n(80).f;e.exports=function(e){var t=o.Symbol||(o.Symbol=a?{}:r.Symbol||{});"_"==e.charAt(0)||e in t||s(t,e,{value:i.f(e)})}},function(e,t,n){t.f=n(50)},,function(e,t,n){n(958);for(var r=n(72),o=n(135),a=n(137),i=n(50)("toStringTag"),s=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],u=0;u<5;u++){var c=s[u],l=r[c],d=l&&l.prototype;d&&!d[i]&&o(d,i,c),a[c]=a.Array}},,,function(e,t,n){"use strict";function r(e){return o(e.replace(a,"ms-"))}var o=n(987),a=/^-ms-/;e.exports=r},function(e,t,n){"use strict";function r(e,t){return!(!e||!t)&&(e===t||!o(e)&&(o(t)?r(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}var o=n(992);e.exports=r},function(e,t,n){"use strict";function r(e){var t=e.match(l);return t&&t[1].toLowerCase()}function o(e,t){var n=c;c?void 0:u(!1);var o=r(e),a=o&&s(o);if(a){n.innerHTML=a[1]+e+a[2];for(var l=a[0];l--;)n=n.lastChild}else n.innerHTML=e;var d=n.getElementsByTagName("script");d.length&&(t?void 0:u(!1),i(d).forEach(t));for(var p=Array.from(n.childNodes);n.lastChild;)n.removeChild(n.lastChild);return p}var a=n(8),i=n(988),s=n(989),u=n(3),c=a.canUseDOM?document.createElement("div"):null,l=/^\s*<(\w+)/;e.exports=o},function(e,t){"use strict";function n(e){return e===window?{x:window.pageXOffset||document.documentElement.scrollLeft,y:window.pageYOffset||document.documentElement.scrollTop}:{x:e.scrollLeft,y:e.scrollTop}}e.exports=n},function(e,t,n){"use strict";function r(e){return o(e).replace(a,"-ms-")}var o=n(990),a=/^ms-/;e.exports=r},function(e,t){"use strict";function n(e){var t={};return function(n){return t.hasOwnProperty(n)||(t[n]=e.call(this,n)),t[n]}}e.exports=n},,,,,,function(e,t){function n(e){return!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then}e.exports=n},,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";function r(e,t){return Array.isArray(t)&&(t=t[1]),t?t.nextSibling:e.firstChild}function o(e,t,n){l.insertTreeBefore(e,t,n)}function a(e,t,n){Array.isArray(t)?s(e,t[0],t[1],n):m(e,t,n)}function i(e,t){if(Array.isArray(t)){var n=t[1];t=t[0],u(e,t,n),e.removeChild(n)}e.removeChild(t)}function s(e,t,n,r){for(var o=t;;){var a=o.nextSibling;if(m(e,o,r),o===n)break;o=a}}function u(e,t,n){for(;;){var r=t.nextSibling;if(r===n)break;e.removeChild(r)}}function c(e,t,n){var r=e.parentNode,o=e.nextSibling;o===t?n&&m(r,document.createTextNode(n),o):n?(h(o,n),u(r,o,t)):u(r,e,t)}var l=n(142),d=n(1038),p=(n(20),n(51),n(629)),f=n(360),h=n(732),m=p(function(e,t,n){e.insertBefore(t,n)}),v=d.dangerouslyReplaceNodeWithMarkup,y={dangerouslyReplaceNodeWithMarkup:v,replaceDelimitedText:c,processUpdates:function(e,t){for(var n=0;n-1?void 0:i("96",e),!c.plugins[n]){t.extractEvents?void 0:i("97",e),c.plugins[n]=t;var r=t.eventTypes;for(var a in r)o(r[a],t,a)?void 0:i("98",a,e)}}}function o(e,t,n){c.eventNameDispatchConfigs.hasOwnProperty(n)?i("99",n):void 0,c.eventNameDispatchConfigs[n]=e;var r=e.phasedRegistrationNames;if(r){for(var o in r)if(r.hasOwnProperty(o)){var s=r[o];a(s,t,n)}return!0}return!!e.registrationName&&(a(e.registrationName,t,n),!0)}function a(e,t,n){c.registrationNameModules[e]?i("100",e):void 0,c.registrationNameModules[e]=t,c.registrationNameDependencies[e]=t.eventTypes[n].dependencies}var i=n(14),s=(n(3),null),u={},c={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},possibleRegistrationNames:null,injectEventPluginOrder:function(e){s?i("101"):void 0,s=Array.prototype.slice.call(e),r()},injectEventPluginsByName:function(e){var t=!1;for(var n in e)if(e.hasOwnProperty(n)){var o=e[n];u.hasOwnProperty(n)&&u[n]===o||(u[n]?i("102",n):void 0,u[n]=o,t=!0)}t&&r()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return c.registrationNameModules[t.registrationName]||null;if(void 0!==t.phasedRegistrationNames){var n=t.phasedRegistrationNames;for(var r in n)if(n.hasOwnProperty(r)){var o=c.registrationNameModules[n[r]];if(o)return o}}return null},_resetEventPlugins:function(){s=null;for(var e in u)u.hasOwnProperty(e)&&delete u[e];c.plugins.length=0;var t=c.eventNameDispatchConfigs;for(var n in t)t.hasOwnProperty(n)&&delete t[n];var r=c.registrationNameModules;for(var o in r)r.hasOwnProperty(o)&&delete r[o]}};e.exports=c},function(e,t,n){"use strict";function r(e){return"topMouseUp"===e||"topTouchEnd"===e||"topTouchCancel"===e}function o(e){return"topMouseMove"===e||"topTouchMove"===e}function a(e){return"topMouseDown"===e||"topTouchStart"===e}function i(e,t,n,r){var o=e.type||"unknown-event";e.currentTarget=y.getNodeFromInstance(r),t?m.invokeGuardedCallbackWithCatch(o,n,e):m.invokeGuardedCallback(o,n,e),e.currentTarget=null}function s(e,t){var n=e._dispatchListeners,r=e._dispatchInstances; if(Array.isArray(n))for(var o=0;o0&&r.length<20?n+" (keys: "+r.join(", ")+")":n}function a(e,t){var n=s.get(e);if(!n){return null}return n}var i=n(14),s=(n(78),n(144)),u=(n(51),n(57)),c=(n(3),n(4),{isMounted:function(e){var t=s.get(e);return!!t&&!!t._renderedComponent},enqueueCallback:function(e,t,n){c.validateCallback(t,n);var o=a(e);return o?(o._pendingCallbacks?o._pendingCallbacks.push(t):o._pendingCallbacks=[t],void r(o)):null},enqueueCallbackInternal:function(e,t){e._pendingCallbacks?e._pendingCallbacks.push(t):e._pendingCallbacks=[t],r(e)},enqueueForceUpdate:function(e){var t=a(e,"forceUpdate");t&&(t._pendingForceUpdate=!0,r(t))},enqueueReplaceState:function(e,t){var n=a(e,"replaceState");n&&(n._pendingStateQueue=[t],n._pendingReplaceState=!0,r(n))},enqueueSetState:function(e,t){var n=a(e,"setState");if(n){var o=n._pendingStateQueue||(n._pendingStateQueue=[]);o.push(t),r(n)}},enqueueElementInternal:function(e,t,n){e._pendingElement=t,e._context=n,r(e)},validateCallback:function(e,t){e&&"function"!=typeof e?i("122",t,o(e)):void 0}});e.exports=c},function(e,t){"use strict";var n=function(e){return"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,r,o){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,o)})}:e};e.exports=n},function(e,t){"use strict";function n(e){var t,n=e.keyCode;return"charCode"in e?(t=e.charCode,0===t&&13===n&&(t=13)):t=n,t>=32||13===t?t:0}e.exports=n},function(e,t){"use strict";function n(e){var t=this,n=t.nativeEvent;if(n.getModifierState)return n.getModifierState(e);var r=o[e];return!!r&&!!n[r]}function r(e){return n}var o={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};e.exports=r},function(e,t){"use strict";function n(e){var t=e.target||e.srcElement||window;return t.correspondingUseElement&&(t=t.correspondingUseElement),3===t.nodeType?t.parentNode:t}e.exports=n},function(e,t,n){"use strict";/** * Checks if an event is supported in the current execution environment. * * NOTE: This will not work correctly for non-generic events such as `change`, * `reset`, `load`, `error`, and `select`. * * Borrows from Modernizr. * * @param {string} eventNameSuffix Event name, e.g. "click". * @param {?boolean} capture Check if the capture phase is supported. * @return {boolean} True if the event is supported. * @internal * @license Modernizr 3.0.0pre (Custom Build) | MIT */ function r(e,t){if(!a.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,r=n in document;if(!r){var i=document.createElement("div");i.setAttribute(n,"return;"),r="function"==typeof i[n]}return!r&&o&&"wheel"===e&&(r=document.implementation.hasFeature("Events.wheel","3.0")),r}var o,a=n(8);a.canUseDOM&&(o=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0),e.exports=r},function(e,t){"use strict";function n(e,t){var n=null===e||e===!1,r=null===t||t===!1;if(n||r)return n===r;var o=typeof e,a=typeof t;return"string"===o||"number"===o?"string"===a||"number"===a:"object"===a&&e.type===t.type&&e.key===t.key}e.exports=n},function(e,t,n){"use strict";var r=(n(5),n(13)),o=(n(4),r);e.exports=o},function(e,t){"use strict";function n(e){"undefined"!=typeof console&&"function"==typeof console.error&&console.error(e);try{throw new Error(e)}catch(t){}}t.__esModule=!0,t["default"]=n},,,,,,,[1468,127,58],function(e,t){function n(e,t){for(var n=-1,r=null==e?0:e.length,o=Array(r);++n1&&void 0!==arguments[1]?arguments[1]:function(e){return t(e,"form")},a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(i){var s=o(i),u=t(s,e+".syncError");if(u)return!1;if(!a){var c=t(s,e+".error");if(c)return!1}var l=t(s,e+".syncErrors"),d=t(s,e+".asyncErrors"),p=a?void 0:t(s,e+".submitErrors");if(!l&&!d&&!p)return!0;var f=t(s,e+".registeredFields");return!f||!n(f).filter(function(e){return t(f,"['"+e+"'].count")>0}).some(function(e){return r(t(f,"['"+e+"']"),l,d,p)})}}};t["default"]=i},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(808),a=r(o),i=function(e,t,n,r,o,a){if(a)return e===t},s=function(e,t,n){return!(0,a["default"])(e.props,t,i)||!(0,a["default"])(e.state,n,i)};t["default"]=s},[1468,129,59],[1469,1395,1396,1397,1398,1399],[1472,369,1412,1413,1414,1415,1416],function(e,t,n){function r(e,t,n,i,s){return e===t||(null==e||null==t||!a(e)&&!a(t)?e!==e&&t!==t:o(e,t,n,i,r,s))}var o=n(1346),a=n(130);e.exports=r},function(e,t){function n(e,t){return t=null==t?r:t,!!t&&("number"==typeof e||o.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=r}var r=9007199254740991;e.exports=n},[1554,1349,1363,1404],[1555,792,1351,375],,,function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(821),a=r(o);t["default"]=a["default"]},,function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.Poller=void 0;var o=n(32),a=r(o),i=n(48),s=r(i),u=n(52);t.Poller=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/api/status/update",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/api/status",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e3;(0,a["default"])(this,e),this.initializeUrl=n,this.updateUrl=t,this.delay=r}return(0,s["default"])(e,[{key:"start",value:function(e,t){void 0===e&&(e=function(e){console.log("Unbound onNotifySuccess",e)}),void 0===t&&(t=function(e){console.log("Unbound onNotifyError",e)});var n=this,r=void 0;void 0!==this.initializeUrl&&(0,u.fetch)(this.initializeUrl).then(function(e){return e.json()}).then(function(t){e(t)})["catch"](function(e){t(e.toString())});var o=function(){(void 0===r||r.$resolved)&&(r=(0,u.fetch)(n.updateUrl).then(function(e){return e.json()}).then(function(t){r.$resolved=!0,e(t)})["catch"](function(e){r.$resolved=!0,t(e.toString())})),r.$resolved=!1};o(),setInterval(o,this.delay)}}]),e}()},function(e,t,n){e.exports={"default":n(927),__esModule:!0}},,function(e,t,n){e.exports={"default":n(933),__esModule:!0}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}t.__esModule=!0;var o=n(872),a=r(o);t["default"]=function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);tu;)r(s,n=t[u++])&&(~a(c,n)||c.push(n));return c}},function(e,t,n){e.exports=n(135)},function(e,t,n){var r=n(576),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},function(e,t,n){var r=n(682),o=n(50)("iterator"),a=n(137);e.exports=n(23).getIteratorMethod=function(e){if(void 0!=e)return e[o]||e["@@iterator"]||a[r(e)]}},,,,,function(e,t,n){"use strict";var r=n(1005)["default"];n(1449),t=e.exports=r,t["default"]=t},function(e,t){"use strict";function n(e){var t,n,o,a,i=Array.prototype.slice.call(arguments,1);for(t=0,n=i.length;t1?n[o-1]:void 0,i=o>2?n[2]:void 0;for(a=e.length>3&&"function"==typeof a?(o--,a):void 0,i&&p(n[0],n[1],i)&&(a=o<3?void 0:a,o=1),t=Object(t);++r-1&&e%1==0&&e-1&&e%1==0&&e<=M}function _(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function w(e){return!!e&&"object"==typeof e}function T(e){return v(e)?a(e):s(e)}var M=9007199254740991,C="[object Arguments]",O="[object Function]",S="[object GeneratorFunction]",E=/^(?:0|[1-9]\d*)$/,x=Object.prototype,N=x.hasOwnProperty,k=x.toString,P=x.propertyIsEnumerable,I=o(Object.keys,Object),L=Math.max,A=!P.call({valueOf:1},"valueOf"),j=Array.isArray,D=l(function(e,t){if(A||f(t)||v(t))return void c(t,T(t),e);for(var n in t)N.call(t,n)&&i(e,n,t[n])});e.exports=D},,[1453,1284],,function(e,t){"use strict";function n(e,t){return e+t.charAt(0).toUpperCase()+t.substring(1)}var r={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridColumn:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},o=["Webkit","ms","Moz","O"];Object.keys(r).forEach(function(e){o.forEach(function(t){r[n(t,e)]=r[e]})});var a={background:{backgroundAttachment:!0,backgroundColor:!0,backgroundImage:!0,backgroundPositionX:!0,backgroundPositionY:!0,backgroundRepeat:!0},backgroundPosition:{backgroundPositionX:!0,backgroundPositionY:!0},border:{borderWidth:!0,borderStyle:!0,borderColor:!0},borderBottom:{borderBottomWidth:!0,borderBottomStyle:!0,borderBottomColor:!0},borderLeft:{borderLeftWidth:!0,borderLeftStyle:!0,borderLeftColor:!0},borderRight:{borderRightWidth:!0,borderRightStyle:!0,borderRightColor:!0},borderTop:{borderTopWidth:!0,borderTopStyle:!0,borderTopColor:!0},font:{fontStyle:!0,fontVariant:!0,fontWeight:!0,fontSize:!0,lineHeight:!0,fontFamily:!0},outline:{outlineWidth:!0,outlineStyle:!0,outlineColor:!0}},i={isUnitlessNumber:r,shorthandPropertyExpansions:a};e.exports=i},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=n(14),a=n(126),i=(n(3),function(){function e(t){r(this,e),this._callbacks=null,this._contexts=null,this._arg=t}return e.prototype.enqueue=function(e,t){this._callbacks=this._callbacks||[],this._callbacks.push(e),this._contexts=this._contexts||[],this._contexts.push(t)},e.prototype.notifyAll=function(){var e=this._callbacks,t=this._contexts,n=this._arg;if(e&&t){e.length!==t.length?o("24"):void 0,this._callbacks=null,this._contexts=null;for(var r=0;r.":"function"==typeof t?" Instead of passing a class like Foo, pass React.createElement(Foo) or .":null!=t&&void 0!==t.props?" This may be caused by unintentionally loading two independent copies of React.":"");var i,s=v.createElement(F,{child:t});if(e){var u=T.get(e);i=u._processChildContext(u._context)}else i=E;var l=p(n);if(l){var d=l._currentElement,h=d.props.child;if(k(h,t)){var m=l._renderedComponent.getPublicInstance(),y=r&&function(){r.call(m)};return U._updateRootComponent(l,s,i,n,y),m}U.unmountComponentAtNode(n)}var g=o(n),b=g&&!!a(g),_=c(n),w=b&&!l&&!_,M=U._renderNewRootComponent(s,n,w,i)._renderedComponent.getPublicInstance();return r&&r.call(M),M},render:function(e,t,n){return U._renderSubtreeIntoContainer(null,e,t,n)},unmountComponentAtNode:function(e){l(e)?void 0:f("40");var t=p(e);if(!t){c(e),1===e.nodeType&&e.hasAttribute(I);return!1}return delete D[t._instance.rootID],S.batchedUpdates(u,t,e,!1),!0},_mountImageIntoNode:function(e,t,n,a,i){if(l(t)?void 0:f("41"),a){var s=o(t);if(M.canReuseMarkup(e,s))return void g.precacheNode(n,s);var u=s.getAttribute(M.CHECKSUM_ATTR_NAME);s.removeAttribute(M.CHECKSUM_ATTR_NAME);var c=s.outerHTML;s.setAttribute(M.CHECKSUM_ATTR_NAME,u);var d=e,p=r(d,c),m=" (client) "+d.substring(p-20,p+20)+"\n (server) "+c.substring(p-20,p+20);t.nodeType===A?f("42",m):void 0}if(t.nodeType===A?f("43"):void 0,i.useCreateElement){for(;t.lastChild;)t.removeChild(t.lastChild);h.insertTreeBefore(t,e,null)}else N(t,e),g.precacheNode(n,t.firstChild)}};e.exports=U},function(e,t,n){"use strict";var r=n(14),o=n(77),a=(n(3),{HOST:0,COMPOSITE:1,EMPTY:2,getType:function(e){return null===e||e===!1?a.EMPTY:o.isValidElement(e)?"function"==typeof e.type?a.COMPOSITE:a.HOST:void r("26",e)}});e.exports=a},function(e,t){"use strict";var n={currentScrollLeft:0,currentScrollTop:0,refreshScrollValues:function(e){n.currentScrollLeft=e.x,n.currentScrollTop=e.y}};e.exports=n},function(e,t,n){"use strict";function r(e,t){return null==t?o("30"):void 0,null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}var o=n(14);n(3);e.exports=r},function(e,t){"use strict";function n(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}e.exports=n},function(e,t,n){"use strict";function r(e){for(var t;(t=e._renderedNodeType)===o.COMPOSITE;)e=e._renderedComponent; return t===o.HOST?e._renderedComponent:t===o.EMPTY?null:void 0}var o=n(723);e.exports=r},function(e,t,n){"use strict";function r(){return!a&&o.canUseDOM&&(a="textContent"in document.documentElement?"textContent":"innerText"),a}var o=n(8),a=null;e.exports=r},function(e,t,n){"use strict";function r(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n["ms"+e]="MS"+t,n["O"+e]="o"+t.toLowerCase(),n}function o(e){if(s[e])return s[e];if(!i[e])return e;var t=i[e];for(var n in t)if(t.hasOwnProperty(n)&&n in u)return s[e]=t[n];return""}var a=n(8),i={animationend:r("Animation","AnimationEnd"),animationiteration:r("Animation","AnimationIteration"),animationstart:r("Animation","AnimationStart"),transitionend:r("Transition","TransitionEnd")},s={},u={};a.canUseDOM&&(u=document.createElement("div").style,"AnimationEvent"in window||(delete i.animationend.animation,delete i.animationiteration.animation,delete i.animationstart.animation),"TransitionEvent"in window||delete i.transitionend.transition),e.exports=o},function(e,t,n){"use strict";function r(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}function o(e){return"function"==typeof e&&"undefined"!=typeof e.prototype&&"function"==typeof e.prototype.mountComponent&&"function"==typeof e.prototype.receiveComponent}function a(e,t){var n;if(null===e||e===!1)n=c.create(a);else if("object"==typeof e){var s=e;!s||"function"!=typeof s.type&&"string"!=typeof s.type?i("130",null==s.type?s.type:typeof s.type,r(s._owner)):void 0,"string"==typeof s.type?n=l.createInternalComponent(s):o(s.type)?(n=new s.type(s),n.getHostNode||(n.getHostNode=n.getNativeNode)):n=new d(s)}else"string"==typeof e||"number"==typeof e?n=l.createInstanceForText(e):i("131",typeof e);return n._mountIndex=0,n._mountImage=null,n}var i=n(14),s=n(5),u=n(1045),c=n(718),l=n(720),d=(n(1091),n(3),n(4),function(e){this.construct(e)});s(d.prototype,u,{_instantiateReactComponent:a}),e.exports=a},function(e,t){"use strict";function n(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!r[e.type]:"textarea"===t}var r={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};e.exports=n},function(e,t,n){"use strict";var r=n(8),o=n(359),a=n(360),i=function(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t};r.canUseDOM&&("textContent"in document.documentElement||(i=function(e,t){return 3===e.nodeType?void(e.nodeValue=t):void a(e,o(t))})),e.exports=i},function(e,t,n){"use strict";function r(e,t){return e&&"object"==typeof e&&null!=e.key?c.escape(e.key):t.toString(36)}function o(e,t,n,a){var p=typeof e;if("undefined"!==p&&"boolean"!==p||(e=null),null===e||"string"===p||"number"===p||"object"===p&&e.$$typeof===s)return n(a,e,""===t?l+r(e,0):t),1;var f,h,m=0,v=""===t?l:t+d;if(Array.isArray(e))for(var y=0;y=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function u(){}function c(e,t){var n={run:function(r){try{var o=e(t.getState(),r);(o!==n.props||n.error)&&(n.shouldComponentUpdate=!0,n.props=o,n.error=null)}catch(a){n.shouldComponentUpdate=!0,n.error=a}}};return n}function l(e){var t,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=r.getDisplayName,p=void 0===l?function(e){return"ConnectAdvanced("+e+")"}:l,h=r.methodName,y=void 0===h?"connectAdvanced":h,T=r.renderCountProp,M=void 0===T?void 0:T,C=r.shouldHandleStateChanges,O=void 0===C||C,S=r.storeKey,E=void 0===S?"store":S,x=r.withRef,N=void 0!==x&&x,k=s(r,["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef"]),P=E+"Subscription",I=_++,L=(t={},t[E]=b.storeShape,t[P]=b.subscriptionShape,t),A=(n={},n[P]=b.subscriptionShape,n);return function(t){(0,m["default"])("function"==typeof t,"You must pass a component to the function returned by connect. Instead received "+JSON.stringify(t));var n=t.displayName||t.name||"Component",r=p(n),s=d({},k,{getDisplayName:p,methodName:y,renderCountProp:M,shouldHandleStateChanges:O,storeKey:E,withRef:N,displayName:r,wrappedComponentName:n,WrappedComponent:t}),l=function(n){function l(e,t){o(this,l);var i=a(this,n.call(this,e,t));return i.version=I,i.state={},i.renderCount=0,i.store=e[E]||t[E],i.propsMode=Boolean(e[E]),i.setWrappedInstance=i.setWrappedInstance.bind(i),(0,m["default"])(i.store,'Could not find "'+E+'" in either the context or props of '+('"'+r+'". Either wrap the root component in a , ')+('or explicitly pass "'+E+'" as a prop to "'+r+'".')),i.initSelector(),i.initSubscription(),i}return i(l,n),l.prototype.getChildContext=function(){var e,t=this.propsMode?null:this.subscription;return e={},e[P]=t||this.context[P],e},l.prototype.componentDidMount=function(){O&&(this.subscription.trySubscribe(),this.selector.run(this.props),this.selector.shouldComponentUpdate&&this.forceUpdate())},l.prototype.componentWillReceiveProps=function(e){this.selector.run(e)},l.prototype.shouldComponentUpdate=function(){return this.selector.shouldComponentUpdate},l.prototype.componentWillUnmount=function(){this.subscription&&this.subscription.tryUnsubscribe(),this.subscription=null,this.notifyNestedSubs=u,this.store=null,this.selector.run=u,this.selector.shouldComponentUpdate=!1},l.prototype.getWrappedInstance=function(){return(0,m["default"])(N,"To access the wrapped instance, you need to specify "+("{ withRef: true } in the options argument of the "+y+"() call.")),this.wrappedInstance},l.prototype.setWrappedInstance=function(e){this.wrappedInstance=e},l.prototype.initSelector=function(){var t=e(this.store.dispatch,s);this.selector=c(t,this.store),this.selector.run(this.props)},l.prototype.initSubscription=function(){if(O){var e=(this.propsMode?this.props:this.context)[P];this.subscription=new g["default"](this.store,e,this.onStateChange.bind(this)),this.notifyNestedSubs=this.subscription.notifyNestedSubs.bind(this.subscription)}},l.prototype.onStateChange=function(){this.selector.run(this.props),this.selector.shouldComponentUpdate?(this.componentDidUpdate=this.notifyNestedSubsOnComponentDidUpdate,this.setState(w)):this.notifyNestedSubs()},l.prototype.notifyNestedSubsOnComponentDidUpdate=function(){this.componentDidUpdate=void 0,this.notifyNestedSubs()},l.prototype.isSubscribed=function(){return Boolean(this.subscription)&&this.subscription.isSubscribed()},l.prototype.addExtraProps=function(e){if(!(N||M||this.propsMode&&this.subscription))return e;var t=d({},e);return N&&(t.ref=this.setWrappedInstance),M&&(t[M]=this.renderCount++),this.propsMode&&this.subscription&&(t[P]=this.subscription),t},l.prototype.render=function(){var e=this.selector;if(e.shouldComponentUpdate=!1,e.error)throw e.error;return(0,v.createElement)(t,this.addExtraProps(e.props))},l}(v.Component);return l.WrappedComponent=t,l.displayName=r,l.childContextTypes=A,l.contextTypes=L,l.propTypes=L,(0,f["default"])(l,t)}}t.__esModule=!0;var d=Object.assign||function(e){for(var t=1;t=0)&&n(e,!r)}function i(e){return[].slice.call(e.querySelectorAll("*"),0).filter(function(e){return a(e)})}e.exports=i},,,,,,,,,,,[1462,2,710,1164,1165],[1469,1233,1234,1235,1236,1237],[1475,1194,769,83,770,1224,1261],function(e,t){function n(e,t,n,r){var o=-1,a=null==e?0:e.length;for(r&&a&&(n=e[++o]);++o3&&void 0!==arguments[3]?arguments[3]:{};return n instanceof Object&&(a=n,n=!1),{type:o.INITIALIZE,meta:r({form:e,keepDirty:n},a),payload:t}},t.registerField=function(e,t,n){return{type:o.REGISTER_FIELD,meta:{form:e},payload:{name:t,type:n}}},t.reset=function(e){return{type:o.RESET,meta:{form:e}}},t.startAsyncValidation=function(e,t){return{type:o.START_ASYNC_VALIDATION,meta:{form:e,field:t}}},t.startSubmit=function(e){return{type:o.START_SUBMIT,meta:{form:e}}},t.stopAsyncValidation=function(e,t){var n={type:o.STOP_ASYNC_VALIDATION,meta:{form:e},payload:t};return t&&Object.keys(t).length&&(n.error=!0),n},t.stopSubmit=function(e,t){var n={type:o.STOP_SUBMIT,meta:{form:e},payload:t};return t&&Object.keys(t).length&&(n.error=!0),n},t.submit=function(e){return{type:o.SUBMIT,meta:{form:e}}},t.setSubmitFailed=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r1?t-1:0),r=1;r1?t-1:0),r=1;r2&&void 0!==arguments[2])||arguments[2];return{type:o.UNREGISTER_FIELD,meta:{form:e},payload:{name:t,destroyOnUnmount:n}}},t.untouch=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r1&&void 0!==arguments[1]?arguments[1]:{},n=arguments[2];return{type:o.UPDATE_SYNC_ERRORS,meta:{form:e},payload:{syncErrors:t,error:n}}},t.updateSyncWarnings=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments[2];return{type:o.UPDATE_SYNC_WARNINGS,meta:{form:e},payload:{syncWarnings:t,warning:n}}}},function(e,t){"use strict";function n(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:function(e){return r(e,"form")};return function(a){var i=o(a),s=r(i,e+".initial")||n,u=r(i,e+".values")||s;return t(s,u)}}};t["default"]=n},[1473,59],[1475,1361,667,60,668,663,671],644,function(e,t,n){function r(e,t,n){(void 0===n||a(e[t],n))&&(void 0!==n||t in e)||o(e,t,n)}var o=n(372),a=n(341);e.exports=r},function(e,t,n){var r=n(1371),o=r();e.exports=o},[1484,797,340],[1496,60,664,806,811],function(e,t){function n(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++np))return!1;var h=l.get(e);if(h&&l.get(t))return h==t;var m=-1,v=!0,y=n&u?new o:void 0;for(l.set(e,t),l.set(t,e);++m0&&void 0!==arguments[0]?arguments[0]:h,t=arguments[1],n=f[t.type];return n?n(e,t):e}Object.defineProperty(t,"__esModule",{value:!0});var a=n(49),i=r(a),s=n(12),u=r(s),c=n(681),l=r(c);t.notificationReducer=o;var d=n(132),p=4,f=(0,i["default"])({},d.RECEIVED_NOTIFICATION,function(e,t){var n=[].concat((0,l["default"])(e.messages.slice(-1*(p+1))));return n.push((0,u["default"])({},t.payload)),(0,u["default"])({},e,{messages:n})}),h={messages:[]}},,function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,t=arguments[1],n=d[t.type];return n?n(e,t):e}Object.defineProperty(t,"__esModule",{value:!0});var a,i=n(49),s=r(i),u=n(12),c=r(u);t.statusReducer=o;var l=n(554),d=(a={},(0,s["default"])(a,l.UPDATING_STATUS_SUCCEEDED,function(e,t){return(0,c["default"])({},t.status)}),(0,s["default"])(a,l.UPDATING_STATUS_FAILED,function(e){return(0,c["default"])({},e,{running:!1})}),a),p={initialized:null,softwareVersion:null,running:!1,quotaWarning:!1,countryCode:"XX",asn:"XX"}},,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(133);t["default"]=function(e){return{getComponent:function(t,o){n.e(1,function(t){var a=n(834)["default"];(0,r.injectReducer)(e,{key:"deck",reducer:n(559).deckReducer}),(0,r.injectReducer)(e,{key:"nettest",reducer:n(828).nettestReducer}),(0,r.injectReducer)(e,{key:"measurement",reducer:n(560).measurementReducer}),(0,r.injectReducer)(e,{key:"dashboard",reducer:n(827).dashboardReducer}),e.dispatch(n(131).load()),e.dispatch(n(206).load()),e.dispatch(n(552).load()),o(null,a)})}}}},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(133);t["default"]=function(e){return{path:"logs",getComponent:function(t,o){n.e(6,function(t){var a=n(837)["default"],i=n(839).logsReducer,s=n(561).loadLatest;(0,r.injectReducer)(e,{key:"logs",reducer:i}),e.dispatch(s()),o(null,a)})}}}},,,,,,,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(133);t["default"]=function(e){return{path:"measurements",getComponent:function(t,o){n.e(0,function(t){var a=n(852)["default"];(0,r.injectReducer)(e,{key:"measurementList",reducer:n(855).measurementListReducer}),(0,r.injectReducer)(e,{key:"measurement",reducer:n(560).measurementReducer}),(0,r.injectReducer)(e,{key:"deck",reducer:n(559).deckReducer}),e.dispatch(n(131).load()),e.dispatch(n(206).load()),o(null,a)})}}}},,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(133),o=n(553);t["default"]=function(e){return{path:"onboard",getComponent:function(t,a){n.e(3,function(t){var i=n(863)["default"],s=n(830),u=s.onboardReducer;(0,r.injectReducer)(e,{key:"onboard",reducer:u}),e.dispatch((0,o.loadDecks)()),a(null,i)})}}}},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(133);t["default"]=function(e){return{path:"settings",getComponent:function(t,o){n.e(5,function(t){var a=n(866)["default"],i=n(868),s=i.settingsReducer;(0,r.injectReducer)(e,{key:"settings",reducer:s}),o(null,a)})}}}},,function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.createRoutes=void 0;var o=n(825),a=r(o),i=n(835),s=r(i),u=n(854),c=r(u),l=n(864),d=r(l),p=n(838),f=r(p),h=n(867),m=r(h),v=function(e){return function(t,r,o){var a=n(554),i=a.fetchStatus,s=a.startStatusPoller,u=n(132),c=u.startNotificationPoller,l=e.getState(),d=l.status;"/onboard"===t.location.pathname||d.initialized===!0?o():(e.dispatch(s()),e.dispatch(c()),e.dispatch(i()).then(function(){var t=e.getState(),n=t.status;n.initialized===!1?(r("/onboard"),o()):o()}))}},y=t.createRoutes=function(e){return{path:"/",childRoutes:[{component:a["default"],indexRoute:(0,s["default"])(e),onEnter:v(e),childRoutes:[(0,c["default"])(e),(0,f["default"])(e),(0,m["default"])(e)]},(0,d["default"])(e)]}};t["default"]=y},,function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(85),a=n(1428),i=r(a),s=n(133),u=r(s),c=n(207),l=n(344);t["default"]=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{intl:{defaultLocale:l.defaultLocale,locale:(0,l.getUserLocale)(),messages:l.messages[(0,l.getUserLocale)()]}};(0,l.loadLocaleData)();var t=[i["default"]],n=[],r=o.compose,a=(0,o.createStore)((0,u["default"])(),e,r.apply(void 0,[o.applyMiddleware.apply(void 0,t)].concat(n)));return a.asyncReducers={},a.unsubscribeHistory=c.history.listen((0,c.updateLocation)(a)),a}},function(e,t,n){e.exports={"default":n(920),__esModule:!0}},,,function(e,t,n){e.exports={"default":n(925),__esModule:!0}},function(e,t,n){e.exports={"default":n(926),__esModule:!0}},function(e,t,n){e.exports={"default":n(930),__esModule:!0}},function(e,t,n){e.exports={"default":n(931),__esModule:!0}},function(e,t,n){e.exports={"default":n(932),__esModule:!0}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t){/*! * cookie * Copyright(c) 2012-2014 Roman Shtylman * Copyright(c) 2015 Douglas Christopher Wilson * MIT Licensed */ "use strict";function n(e,t){if("string"!=typeof e)throw new TypeError("argument str must be a string");for(var n={},r=t||{},i=e.split(s),u=r.decode||a,c=0;cl;)if(s=u[l++],s!=s)return!0}else for(;c>l;l++)if((e||l in u)&&u[l]===n)return e||l||0;return!e&&-1}}},function(e,t,n){"use strict";var r=n(80),o=n(209);e.exports=function(e,t,n){t in e?r.f(e,t,o(0,n)):e[t]=n}},function(e,t,n){var r=n(122),o=n(572),a=n(348);e.exports=function(e){var t=r(e),n=o.f;if(n)for(var i,s=n(e),u=a.f,c=0;s.length>c;)u.call(e,i=s[c++])&&t.push(i);return t}},function(e,t){e.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){var r=n(137),o=n(50)("iterator"),a=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||a[o]===e)}},function(e,t,n){var r=n(346);e.exports=Array.isArray||function(e){return"Array"==r(e)}},,function(e,t,n){var r=n(119);e.exports=function(e,t,n,o){try{return o?t(r(n)[0],n[1]):t(n)}catch(a){var i=e["return"];throw void 0!==i&&r(i.call(e)),a}}},function(e,t,n){"use strict";var r=n(571),o=n(209),a=n(573),i={};n(135)(i,n(50)("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(i,{next:o(1,n)}),a(e,t+" Iterator")}},function(e,t,n){var r=n(50)("iterator"),o=!1;try{var a=[7][r]();a["return"]=function(){o=!0},Array.from(a,function(){throw 2})}catch(i){}e.exports=function(e,t){if(!t&&!o)return!1;var n=!1;try{var a=[7],i=a[r]();i.next=function(){return{done:n=!0}},a[r]=function(){return i},e(a)}catch(s){}return n}},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){var r=n(122),o=n(123);e.exports=function(e,t){for(var n,a=o(e),i=r(a),s=i.length,u=0;s>u;)if(a[n=i[u++]]===t)return n}},function(e,t,n){var r=n(350)("meta"),o=n(136),a=n(121),i=n(80).f,s=0,u=Object.isExtensible||function(){return!0},c=!n(134)(function(){return u(Object.preventExtensions({}))}),l=function(e){i(e,r,{value:{i:"O"+ ++s,w:{}}})},d=function(e,t){if(!o(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!a(e,r)){if(!u(e))return"F";if(!t)return"E";l(e)}return e[r].i},p=function(e,t){if(!a(e,r)){if(!u(e))return!0;if(!t)return!1;l(e)}return e[r].w},f=function(e){return c&&h.NEED&&u(e)&&!a(e,r)&&l(e),e},h=e.exports={KEY:r,NEED:!1,fastKey:d,getWeak:p,onFreeze:f}},function(e,t,n){"use strict";var r=n(122),o=n(572),a=n(348),i=n(138),s=n(685),u=Object.assign;e.exports=!u||n(134)(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=u({},e)[n]||Object.keys(u({},t)).join("")!=r})?function(e,t){for(var n=i(e),u=arguments.length,c=1,l=o.f,d=a.f;u>c;)for(var p,f=s(arguments[c++]),h=l?r(f).concat(l(f)):r(f),m=h.length,v=0;m>v;)d.call(f,p=h[v++])&&(n[p]=f[p]);return n}:u},function(e,t,n){var r=n(80),o=n(119),a=n(122);e.exports=n(120)?Object.defineProperties:function(e,t){o(e);for(var n,i=a(t),s=i.length,u=0;s>u;)r.f(e,n=i[u++],t[n]);return e}},function(e,t,n){var r=n(136),o=n(119),a=function(e,t){if(o(e),!r(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,t,r){try{r=n(347)(Function.call,n(687).f(Object.prototype,"__proto__").set,2),r(e,[]),t=!(e instanceof Array)}catch(o){t=!0}return function(e,n){return a(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:a}},function(e,t,n){var r=n(576),o=n(567);e.exports=function(e){return function(t,n){var a,i,s=String(o(t)),u=r(n),c=s.length;return u<0||u>=c?e?"":void 0:(a=s.charCodeAt(u),a<55296||a>56319||u+1===c||(i=s.charCodeAt(u+1))<56320||i>57343?e?s.charAt(u):a:e?s.slice(u,u+2):(a-55296<<10)+(i-56320)+65536)}}},function(e,t,n){var r,o,a,i=n(347),s=n(939),u=n(683),c=n(568),l=n(72),d=l.process,p=l.setImmediate,f=l.clearImmediate,h=l.MessageChannel,m=0,v={},y="onreadystatechange",g=function(){var e=+this;if(v.hasOwnProperty(e)){var t=v[e];delete v[e],t()}},b=function(e){g.call(e.data)};p&&f||(p=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return v[++m]=function(){s("function"==typeof e?e:Function(e),t)},r(m),m},f=function(e){delete v[e]},"process"==n(346)(d)?r=function(e){d.nextTick(i(g,e,1))}:h?(o=new h,a=o.port2,o.port1.onmessage=b,r=i(a.postMessage,a,1)):l.addEventListener&&"function"==typeof postMessage&&!l.importScripts?(r=function(e){l.postMessage(e+"","*")},l.addEventListener("message",b,!1)):r=y in c("script")?function(e){u.appendChild(c("script"))[y]=function(){u.removeChild(this),g.call(e)}}:function(e){setTimeout(i(g,e,1),0)}),e.exports={set:p,clear:f}},function(e,t,n){var r=n(576),o=Math.max,a=Math.min;e.exports=function(e,t){return e=r(e),e<0?o(e+t,0):a(e,t)}},,,function(e,t,n){"use strict";var r=n(347),o=n(55),a=n(138),i=n(943),s=n(940),u=n(693),c=n(937),l=n(694);o(o.S+o.F*!n(945)(function(e){Array.from(e)}),"Array",{from:function(e){var t,n,o,d,p=a(e),f="function"==typeof this?this:Array,h=arguments.length,m=h>1?arguments[1]:void 0,v=void 0!==m,y=0,g=l(p);if(v&&(m=r(m,h>2?arguments[2]:void 0,2)),void 0==g||f==Array&&s(g))for(t=u(p.length),n=new f(t);t>y;y++)c(n,y,v?m(p[y],y):p[y]);else for(d=g.call(p),n=new f;!(o=d.next()).done;y++)c(n,y,v?i(d,m,[o.value,y],!0):o.value);return n.length=y,n}})},function(e,t,n){"use strict";var r=n(935),o=n(946),a=n(137),i=n(123);e.exports=n(686)(Array,"Array",function(e,t){this._t=i(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,o(1)):"keys"==t?o(0,n):"values"==t?o(0,e[n]):o(0,[n,e[n]])},"values"),a.Arguments=a.Array,r("keys"),r("values"),r("entries")},,function(e,t,n){var r=n(55);r(r.S+r.F,"Object",{assign:n(949)})},function(e,t,n){var r=n(55);r(r.S,"Object",{create:n(571)})},function(e,t,n){var r=n(55);r(r.S+r.F*!n(120),"Object",{defineProperty:n(80).f})},,function(e,t,n){var r=n(138),o=n(690);n(349)("getPrototypeOf",function(){return function(e){return o(r(e))}})},function(e,t,n){var r=n(55);r(r.S,"Object",{setPrototypeOf:n(951).set})},function(e,t){},function(e,t,n){"use strict";var r=n(72),o=n(121),a=n(120),i=n(55),s=n(692),u=n(948).KEY,c=n(134),l=n(575),d=n(573),p=n(350),f=n(50),h=n(579),m=n(578),v=n(947),y=n(938),g=n(941),b=n(119),_=n(123),w=n(577),T=n(209),M=n(571),C=n(688),O=n(687),S=n(80),E=n(122),x=O.f,N=S.f,k=C.f,P=r.Symbol,I=r.JSON,L=I&&I.stringify,A="prototype",j=f("_hidden"),D=f("toPrimitive"),R={}.propertyIsEnumerable,F=l("symbol-registry"),U=l("symbols"),z=l("op-symbols"),B=Object[A],q="function"==typeof P,V=r.QObject,W=!V||!V[A]||!V[A].findChild,H=a&&c(function(){return 7!=M(N({},"a",{get:function(){return N(this,"a",{value:7}).a}})).a})?function(e,t,n){var r=x(B,t);r&&delete B[t],N(e,t,n),r&&e!==B&&N(B,t,r)}:N,Y=function(e){var t=U[e]=M(P[A]);return t._k=e,t},G=q&&"symbol"==typeof P.iterator?function(e){return"symbol"==typeof e}:function(e){return e instanceof P},Q=function(e,t,n){return e===B&&Q(z,t,n),b(e),t=w(t,!0),b(n),o(U,t)?(n.enumerable?(o(e,j)&&e[j][t]&&(e[j][t]=!1),n=M(n,{enumerable:T(0,!1)})):(o(e,j)||N(e,j,T(1,{})),e[j][t]=!0),H(e,t,n)):N(e,t,n)},K=function(e,t){b(e);for(var n,r=y(t=_(t)),o=0,a=r.length;a>o;)Q(e,n=r[o++],t[n]);return e},J=function(e,t){return void 0===t?M(e):K(M(e),t)},X=function(e){var t=R.call(this,e=w(e,!0));return!(this===B&&o(U,e)&&!o(z,e))&&(!(t||!o(this,e)||!o(U,e)||o(this,j)&&this[j][e])||t)},$=function(e,t){if(e=_(e),t=w(t,!0),e!==B||!o(U,t)||o(z,t)){var n=x(e,t);return!n||!o(U,t)||o(e,j)&&e[j][t]||(n.enumerable=!0),n}},Z=function(e){for(var t,n=k(_(e)),r=[],a=0;n.length>a;)o(U,t=n[a++])||t==j||t==u||r.push(t);return r},ee=function(e){for(var t,n=e===B,r=k(n?z:_(e)),a=[],i=0;r.length>i;)!o(U,t=r[i++])||n&&!o(B,t)||a.push(U[t]);return a};q||(P=function(){if(this instanceof P)throw TypeError("Symbol is not a constructor!");var e=p(arguments.length>0?arguments[0]:void 0),t=function(n){this===B&&t.call(z,n),o(this,j)&&o(this[j],e)&&(this[j][e]=!1),H(this,e,T(1,n))};return a&&W&&H(B,e,{configurable:!0,set:t}),Y(e)},s(P[A],"toString",function(){return this._k}),O.f=$,S.f=Q,n(689).f=C.f=Z,n(348).f=X,n(572).f=ee,a&&!n(570)&&s(B,"propertyIsEnumerable",X,!0),h.f=function(e){return Y(f(e))}),i(i.G+i.W+i.F*!q,{Symbol:P});for(var te="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),ne=0;te.length>ne;)f(te[ne++]);for(var te=E(f.store),ne=0;te.length>ne;)m(te[ne++]);i(i.S+i.F*!q,"Symbol",{"for":function(e){return o(F,e+="")?F[e]:F[e]=P(e)},keyFor:function(e){if(G(e))return v(F,e);throw TypeError(e+" is not a symbol!")},useSetter:function(){W=!0},useSimple:function(){W=!1}}),i(i.S+i.F*!q,"Object",{create:J,defineProperty:Q,defineProperties:K,getOwnPropertyDescriptor:$,getOwnPropertyNames:Z,getOwnPropertySymbols:ee}),I&&i(i.S+i.F*(!q||c(function(){var e=P();return"[null]"!=L([e])||"{}"!=L({a:e})||"{}"!=L(Object(e))})),"JSON",{stringify:function(e){if(void 0!==e&&!G(e)){for(var t,n,r=[e],o=1;arguments.length>o;)r.push(arguments[o++]);return t=r[1],"function"==typeof t&&(n=t),!n&&g(t)||(t=function(e,t){if(n&&(t=n.call(this,e,t)),!G(t))return t}),r[1]=t,L.apply(I,r)}}}),P[A][D]||n(135)(P[A],D,P[A].valueOf),d(P,"Symbol"),d(Math,"Math",!0),d(r.JSON,"JSON",!0)},function(e,t,n){n(578)("asyncIterator")},function(e,t,n){n(578)("observable")},function(e,t,n){var r=n(55),o=n(953);r(r.G+r.B,{setImmediate:o.set,clearImmediate:o.clear})},function(e,t){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function a(e){function t(){e.apply(this,arguments)}return t.prototype=Object.create(e.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e,t}Object.defineProperty(t,"__esModule",{value:!0});var i=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";n(this,t);var o=r(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return Object.defineProperty(o,"message",{configurable:!0,enumerable:!1,value:e,writable:!0}),Object.defineProperty(o,"name",{configurable:!0,enumerable:!1,value:o.constructor.name,writable:!0}),Error.hasOwnProperty("captureStackTrace")?(Error.captureStackTrace(o,o.constructor),r(o)):(Object.defineProperty(o,"stack",{configurable:!0,enumerable:!1,value:new Error(e).stack,writable:!0}),o)}return o(t,e),t}(a(Error));t["default"]=i,e.exports=t["default"]},function(e,t,n){var r;/*! Copyright (c) 2015 Jed Watson. Based on code that is Copyright 2013-2015, Facebook, Inc. All rights reserved. */ !function(){"use strict";var o=!("undefined"==typeof window||!window.document||!window.document.createElement),a={canUseDOM:o,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:o&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:o&&!!window.screen};r=function(){return a}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}()},function(e,t){},973,973,,,,,,,,,,973,,function(e,t){"use strict";function n(e){return e.replace(r,function(e,t){return t.toUpperCase()})}var r=/-(.)/g;e.exports=n},function(e,t,n){"use strict";function r(e){var t=e.length;if(Array.isArray(e)||"object"!=typeof e&&"function"!=typeof e?i(!1):void 0,"number"!=typeof t?i(!1):void 0,0===t||t-1 in e?void 0:i(!1),"function"==typeof e.callee?i(!1):void 0,e.hasOwnProperty)try{return Array.prototype.slice.call(e)}catch(n){}for(var r=Array(t),o=0;o":i.innerHTML="<"+e+">",s[e]=!i.firstChild),s[e]?p[e]:null}var o=n(8),a=n(3),i=o.canUseDOM?document.createElement("div"):null,s={},u=[1,'"],c=[1,"","
"],l=[3,"","
"],d=[1,'',""],p={"*":[1,"?

"],area:[1,"",""],col:[2,"","
"],legend:[1,"
","
"],param:[1,"",""],tr:[2,"","
"],optgroup:u,option:u,caption:c,colgroup:c,tbody:c,tfoot:c,thead:c,td:l,th:l},f=["circle","clipPath","defs","ellipse","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","text","tspan"];f.forEach(function(e){p[e]=d,s[e]=!0}),e.exports=r},function(e,t){"use strict";function n(e){return e.replace(r,"-$1").toLowerCase()}var r=/([A-Z])/g;e.exports=n},function(e,t){"use strict";function n(e){return!(!e||!("function"==typeof Node?e instanceof Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName))}e.exports=n},function(e,t,n){"use strict";function r(e){return o(e)&&3==e.nodeType}var o=n(991);e.exports=r},,,,function(e,t,n){"use strict";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t["default"]=e,t}function o(e){return e&&e.__esModule?e:{"default":e}}t.__esModule=!0,t.locationsAreEqual=t.Actions=t.useQueries=t.useBeforeUnload=t.useBasename=t.createMemoryHistory=t.createHashHistory=t.createHistory=void 0;var a=n(124);Object.defineProperty(t,"locationsAreEqual",{enumerable:!0,get:function(){return a.locationsAreEqual}});var i=n(696),s=o(i),u=n(697),c=o(u),l=n(698),d=o(l),p=n(593),f=o(p),h=n(997),m=o(h),v=n(594),y=o(v),g=n(210),b=r(g);t.createHistory=s["default"],t.createHashHistory=c["default"],t.createMemoryHistory=d["default"],t.useBasename=f["default"],t.useBeforeUnload=m["default"],t.useQueries=y["default"],t.Actions=b},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}t.__esModule=!0;var o=Object.assign||function(e){for(var t=1;tt&&(Ke=0,Je={line:1,column:1,seenCR:!1}),n(Je,Ke,t),Ke=t),Je}function r(e){GeXe&&(Xe=Ge,$e=[]),$e.push(e))}function o(r,o,a){function i(e){var t=1;for(e.sort(function(e,t){return e.descriptiont.description?1:0});t1?i.slice(0,-1).join(", ")+" or "+i[e.length-1]:i[0],o=t?'"'+n(t)+'"':"end of input","Expected "+r+" but "+o+" found."}var u=n(a),c=a1?arguments[1]:{},k={},P={start:a},I=a,L=function(e){return{type:"messageFormatPattern",elements:e}},A=k,j=function(e){var t,n,r,o,a,i="";for(t=0,r=e.length;t=0)return!0;if("string"==typeof e){var t=/s$/.test(e)&&e.substr(0,e.length-1);if(t&&i.arrIndexOf.call(s,t)>=0)throw new Error('"'+e+'" is not a valid IntlRelativeFormat `units` value, did you mean: '+t)}throw new Error('"'+e+'" is not a valid IntlRelativeFormat `units` value, it must be one of: "'+s.join('", "')+'"')},r.prototype._resolveLocale=function(e){"string"==typeof e&&(e=[e]),e=(e||[]).concat(r.defaultLocale);var t,n,o,a,i=r.__localeData__;for(t=0,n=e.length;t=0)return e;throw new Error('"'+e+'" is not a valid IntlRelativeFormat `style` value, it must be one of: "'+u.join('", "')+'"')},r.prototype._selectUnits=function(e){var t,n,o;for(t=0,n=s.length;t