├── tests ├── __init__.py └── test_flow.py ├── setup.cfg ├── .github ├── images │ ├── gar-homepage.png │ ├── repo-secrets.png │ ├── create-gar-repo.png │ ├── create-new-repo.png │ ├── prefect-api-box.png │ ├── prefect-profile.png │ ├── releasing-pypi.png │ ├── repo-add-secret.png │ ├── repo-homepage.png │ ├── repo-settings.png │ ├── your-new-repo.png │ ├── prefect-settings.png │ ├── prefect-new-project.png │ ├── releasing-name-tag.png │ ├── releasing-tag-button.png │ ├── artifact-registry-tab.png │ ├── prefect-create-api-key.png │ ├── prefect-create-project.png │ ├── releasing-draft-button.png │ ├── releasing-name-release.png │ ├── enable-artifact-registry.png │ ├── releasing-actions-start.png │ ├── releasing-publish-button.png │ ├── releasing-releases-button.png │ ├── use-this-template-button.png │ ├── releasing-actions-finished.png │ ├── releasing-changelog-button.png │ ├── releasing-changelog-entered.png │ └── releasing-release-published.png └── workflows │ └── continuous-deployment.yaml ├── Pipfile ├── README.md ├── .pre-commit-config.yaml ├── .gitignore ├── Makefile ├── flow.py ├── LICENSE └── Pipfile.lock /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [flake8] 2 | extend-ignore = D100,D104,E203,E501 3 | -------------------------------------------------------------------------------- /.github/images/gar-homepage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biglocalnews/prefect-flow-template/HEAD/.github/images/gar-homepage.png -------------------------------------------------------------------------------- /.github/images/repo-secrets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biglocalnews/prefect-flow-template/HEAD/.github/images/repo-secrets.png -------------------------------------------------------------------------------- /.github/images/create-gar-repo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biglocalnews/prefect-flow-template/HEAD/.github/images/create-gar-repo.png -------------------------------------------------------------------------------- /.github/images/create-new-repo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biglocalnews/prefect-flow-template/HEAD/.github/images/create-new-repo.png -------------------------------------------------------------------------------- /.github/images/prefect-api-box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biglocalnews/prefect-flow-template/HEAD/.github/images/prefect-api-box.png -------------------------------------------------------------------------------- /.github/images/prefect-profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biglocalnews/prefect-flow-template/HEAD/.github/images/prefect-profile.png -------------------------------------------------------------------------------- /.github/images/releasing-pypi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biglocalnews/prefect-flow-template/HEAD/.github/images/releasing-pypi.png -------------------------------------------------------------------------------- /.github/images/repo-add-secret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biglocalnews/prefect-flow-template/HEAD/.github/images/repo-add-secret.png -------------------------------------------------------------------------------- /.github/images/repo-homepage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biglocalnews/prefect-flow-template/HEAD/.github/images/repo-homepage.png -------------------------------------------------------------------------------- /.github/images/repo-settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biglocalnews/prefect-flow-template/HEAD/.github/images/repo-settings.png -------------------------------------------------------------------------------- /.github/images/your-new-repo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biglocalnews/prefect-flow-template/HEAD/.github/images/your-new-repo.png -------------------------------------------------------------------------------- /.github/images/prefect-settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biglocalnews/prefect-flow-template/HEAD/.github/images/prefect-settings.png -------------------------------------------------------------------------------- /.github/images/prefect-new-project.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biglocalnews/prefect-flow-template/HEAD/.github/images/prefect-new-project.png -------------------------------------------------------------------------------- /.github/images/releasing-name-tag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biglocalnews/prefect-flow-template/HEAD/.github/images/releasing-name-tag.png -------------------------------------------------------------------------------- /.github/images/releasing-tag-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biglocalnews/prefect-flow-template/HEAD/.github/images/releasing-tag-button.png -------------------------------------------------------------------------------- /.github/images/artifact-registry-tab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biglocalnews/prefect-flow-template/HEAD/.github/images/artifact-registry-tab.png -------------------------------------------------------------------------------- /.github/images/prefect-create-api-key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biglocalnews/prefect-flow-template/HEAD/.github/images/prefect-create-api-key.png -------------------------------------------------------------------------------- /.github/images/prefect-create-project.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biglocalnews/prefect-flow-template/HEAD/.github/images/prefect-create-project.png -------------------------------------------------------------------------------- /.github/images/releasing-draft-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biglocalnews/prefect-flow-template/HEAD/.github/images/releasing-draft-button.png -------------------------------------------------------------------------------- /.github/images/releasing-name-release.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biglocalnews/prefect-flow-template/HEAD/.github/images/releasing-name-release.png -------------------------------------------------------------------------------- /.github/images/enable-artifact-registry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biglocalnews/prefect-flow-template/HEAD/.github/images/enable-artifact-registry.png -------------------------------------------------------------------------------- /.github/images/releasing-actions-start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biglocalnews/prefect-flow-template/HEAD/.github/images/releasing-actions-start.png -------------------------------------------------------------------------------- /.github/images/releasing-publish-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biglocalnews/prefect-flow-template/HEAD/.github/images/releasing-publish-button.png -------------------------------------------------------------------------------- /.github/images/releasing-releases-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biglocalnews/prefect-flow-template/HEAD/.github/images/releasing-releases-button.png -------------------------------------------------------------------------------- /.github/images/use-this-template-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biglocalnews/prefect-flow-template/HEAD/.github/images/use-this-template-button.png -------------------------------------------------------------------------------- /.github/images/releasing-actions-finished.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biglocalnews/prefect-flow-template/HEAD/.github/images/releasing-actions-finished.png -------------------------------------------------------------------------------- /.github/images/releasing-changelog-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biglocalnews/prefect-flow-template/HEAD/.github/images/releasing-changelog-button.png -------------------------------------------------------------------------------- /.github/images/releasing-changelog-entered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biglocalnews/prefect-flow-template/HEAD/.github/images/releasing-changelog-entered.png -------------------------------------------------------------------------------- /.github/images/releasing-release-published.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biglocalnews/prefect-flow-template/HEAD/.github/images/releasing-release-published.png -------------------------------------------------------------------------------- /tests/test_flow.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | from prefect.utilities.storage import extract_flow_from_file 3 | 4 | 5 | @pytest.mark.vcr() 6 | def test_flow(): 7 | """Test scrape tasks.""" 8 | flow = extract_flow_from_file("flow.py") 9 | flow.validate() 10 | -------------------------------------------------------------------------------- /Pipfile: -------------------------------------------------------------------------------- 1 | [[source]] 2 | url = "https://pypi.org/simple" 3 | verify_ssl = true 4 | name = "pypi" 5 | 6 | [packages] 7 | prefect = {extras = ["google", "kubernetes"], version = "*"} 8 | 9 | [dev-packages] 10 | pre-commit = "*" 11 | flake8-bugbear = "*" 12 | flake8 = "*" 13 | flake8-docstrings = "*" 14 | mypy = "*" 15 | pytest = "*" 16 | pytest-cov = "*" 17 | pytest-vcr = "*" 18 | black = "*" 19 | 20 | [requires] 21 | python_version = "3.9" 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | A [template repository](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template) with all the fundamentals needed to develop and deploy a Python data-processing routine for [Prefect](prefect.io) pipelines. 2 | 3 | ## Documentation 4 | 5 | Learn how the system works — and how you can install it yourself — in the user manual at [github.com/biglocalnews/prefect-flow-template/wiki](https://github.com/biglocalnews/prefect-flow-template/wiki). It includes instructions on: 6 | 7 | * [How it works](https://github.com/biglocalnews/prefect-flow-template/wiki) 8 | * [Getting Started](https://github.com/biglocalnews/prefect-flow-template/wiki/1.-Getting-Started) 9 | * [Google Cloud Deployment Configuration](https://github.com/biglocalnews/prefect-flow-template/wiki/2.-Google-Cloud-Deployment-Configuration) 10 | * [Releasing updates](https://github.com/biglocalnews/prefect-flow-template/wiki/3.-Releasing-updates) 11 | 12 | ## About 13 | 14 | The project is sponsored by [Big Local News](https://biglocalnews.org/#/about), a program at Stanford University that collects data for impactful journalism. The code is maintained by [Ben Welsh](https://palewi.re/who-is-ben-welsh/), a visiting data journalist from the Los Angeles Times. 15 | -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- 1 | # See https://pre-commit.com for more information 2 | # See https://pre-commit.com/hooks.html for more hooks 3 | repos: 4 | - repo: https://github.com/pre-commit/pre-commit-hooks 5 | rev: v4.1.0 6 | hooks: 7 | - id: trailing-whitespace 8 | - id: end-of-file-fixer 9 | - id: check-yaml 10 | - id: check-added-large-files 11 | - id: check-byte-order-marker 12 | - id: check-case-conflict 13 | - id: check-json 14 | - id: mixed-line-ending 15 | 16 | - repo: https://github.com/psf/black 17 | rev: 21.12b0 18 | hooks: 19 | - id: black 20 | 21 | - repo: https://github.com/asottile/blacken-docs 22 | rev: v1.12.0 23 | hooks: 24 | - id: blacken-docs 25 | additional_dependencies: [black] 26 | 27 | - repo: https://github.com/timothycrosley/isort 28 | rev: 5.10.1 29 | hooks: 30 | - id: isort 31 | 32 | - repo: https://gitlab.com/pycqa/flake8 33 | rev: 3.9.2 34 | hooks: 35 | - id: flake8 36 | 37 | - repo: https://github.com/asottile/pyupgrade 38 | rev: v2.31.0 39 | hooks: 40 | - id: pyupgrade 41 | args: [--py37-plus] 42 | 43 | - repo: https://github.com/pre-commit/mirrors-mypy 44 | rev: 'v0.931' # Use the sha / tag you want to point at 45 | hooks: 46 | - id: mypy 47 | additional_dependencies: 48 | - types-requests 49 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode 2 | 3 | # Prefect stuff 4 | dask-worker-space 5 | 6 | # Byte-compiled / optimized / DLL files 7 | __pycache__/ 8 | *.py[cod] 9 | *$py.class 10 | 11 | # C extensions 12 | *.so 13 | 14 | # Distribution / packaging 15 | .Python 16 | build/ 17 | develop-eggs/ 18 | dist/ 19 | downloads/ 20 | eggs/ 21 | .eggs/ 22 | lib/ 23 | lib64/ 24 | parts/ 25 | sdist/ 26 | var/ 27 | wheels/ 28 | pip-wheel-metadata/ 29 | share/python-wheels/ 30 | *.egg-info/ 31 | .installed.cfg 32 | *.egg 33 | MANIFEST 34 | 35 | # PyInstaller 36 | # Usually these files are written by a python script from a template 37 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 38 | *.manifest 39 | *.spec 40 | 41 | # Installer logs 42 | pip-log.txt 43 | pip-delete-this-directory.txt 44 | 45 | # Unit test / coverage reports 46 | htmlcov/ 47 | .tox/ 48 | .nox/ 49 | .coverage 50 | .coverage.* 51 | .cache 52 | nosetests.xml 53 | coverage.xml 54 | *.cover 55 | *.py,cover 56 | .hypothesis/ 57 | .pytest_cache/ 58 | 59 | # Translations 60 | *.mo 61 | *.pot 62 | 63 | # Django stuff: 64 | *.log 65 | local_settings.py 66 | db.sqlite3 67 | db.sqlite3-journal 68 | 69 | # Flask stuff: 70 | instance/ 71 | .webassets-cache 72 | 73 | # Scrapy stuff: 74 | .scrapy 75 | 76 | # Sphinx documentation 77 | docs/_build/ 78 | 79 | # PyBuilder 80 | target/ 81 | 82 | # Jupyter Notebook 83 | .ipynb_checkpoints 84 | 85 | # IPython 86 | profile_default/ 87 | ipython_config.py 88 | 89 | # pyenv 90 | .python-version 91 | 92 | # pipenv 93 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 94 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 95 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 96 | # install all needed dependencies. 97 | #Pipfile.lock 98 | 99 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow 100 | __pypackages__/ 101 | 102 | # Celery stuff 103 | celerybeat-schedule 104 | celerybeat.pid 105 | 106 | # SageMath parsed files 107 | *.sage.py 108 | 109 | # Environments 110 | .env 111 | .venv 112 | env/ 113 | venv/ 114 | ENV/ 115 | env.bak/ 116 | venv.bak/ 117 | 118 | # Spyder project settings 119 | .spyderproject 120 | .spyproject 121 | 122 | # Rope project settings 123 | .ropeproject 124 | 125 | # mkdocs documentation 126 | /site 127 | 128 | # mypy 129 | .mypy_cache/ 130 | .dmypy.json 131 | dmypy.json 132 | 133 | # Pyre type checker 134 | .pyre/ 135 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Colors 3 | # 4 | 5 | # Define ANSI color codes 6 | RESET_COLOR = \033[m 7 | 8 | BLUE = \033[1;34m 9 | YELLOW = \033[1;33m 10 | GREEN = \033[1;32m 11 | RED = \033[1;31m 12 | BLACK = \033[1;30m 13 | MAGENTA = \033[1;35m 14 | CYAN = \033[1;36m 15 | WHITE = \033[1;37m 16 | 17 | DBLUE = \033[0;34m 18 | DYELLOW = \033[0;33m 19 | DGREEN = \033[0;32m 20 | DRED = \033[0;31m 21 | DBLACK = \033[0;30m 22 | DMAGENTA = \033[0;35m 23 | DCYAN = \033[0;36m 24 | DWHITE = \033[0;37m 25 | 26 | BG_WHITE = \033[47m 27 | BG_RED = \033[41m 28 | BG_GREEN = \033[42m 29 | BG_YELLOW = \033[43m 30 | BG_BLUE = \033[44m 31 | BG_MAGENTA = \033[45m 32 | BG_CYAN = \033[46m 33 | 34 | # Name some of the colors 35 | COM_COLOR = $(DBLUE) 36 | OBJ_COLOR = $(DCYAN) 37 | OK_COLOR = $(DGREEN) 38 | ERROR_COLOR = $(DRED) 39 | WARN_COLOR = $(DYELLOW) 40 | NO_COLOR = $(RESET_COLOR) 41 | 42 | OK_STRING = "[OK]" 43 | ERROR_STRING = "[ERROR]" 44 | WARN_STRING = "[WARNING]" 45 | 46 | define banner 47 | @echo " $(BLUE)__________$(RESET_COLOR)" 48 | @echo "$(BLUE) |$(RED)BIG🌲LOCAL$(RESET_COLOR)$(BLUE)|$(RESET_COLOR)" 49 | @echo "$(BLUE) |&&& ======|$(RESET_COLOR)" 50 | @echo "$(BLUE) |=== ======|$(RESET_COLOR) $(DWHITE)This is a $(RESET_COLOR)$(BG_RED)$(WHITE)Big Local News$(RESET_COLOR)$(DWHITE) automation$(RESET_COLOR)" 51 | @echo "$(BLUE) |=== == %%%|$(RESET_COLOR)" 52 | @echo "$(BLUE) |[_] ======|$(RESET_COLOR) $(1)" 53 | @echo "$(BLUE) |=== ===!##|$(RESET_COLOR)" 54 | @echo "$(BLUE) |__________|$(RESET_COLOR)" 55 | @echo "" 56 | endef 57 | 58 | # 59 | # Python helpers 60 | # 61 | 62 | PIPENV := pipenv run 63 | PYTHON := $(PIPENV) python -W ignore 64 | 65 | 66 | # 67 | # Tests 68 | # 69 | 70 | lint: ## run the linter 71 | $(call banner, 💅 Linting code 💅) 72 | @$(PIPENV) flake8 -v ./ 73 | 74 | 75 | mypy: ## run mypy type checks 76 | $(call banner, 🔩 Running mypy 🔩) 77 | @$(PIPENV) mypy ./ --ignore-missing-imports 78 | 79 | 80 | test: ## run all tests 81 | $(call banner, 🤖 Running tests 🤖) 82 | @$(PIPENV) pytest --cov 83 | 84 | # 85 | # Extras 86 | # 87 | 88 | format: ## automatically format Python code with black 89 | $(call banner, 🪥 Cleaning code 🪥) 90 | @$(PIPENV) black . 91 | 92 | 93 | help: ## Show this help. Example: make help 94 | @egrep -h '\s##\s' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' 95 | 96 | 97 | # Mark all the commands that don't have a target 98 | .PHONY: help \ 99 | coverage \ 100 | format \ 101 | lint \ 102 | mypy \ 103 | test 104 | -------------------------------------------------------------------------------- /.github/workflows/continuous-deployment.yaml: -------------------------------------------------------------------------------- 1 | name: Testing and distribution 2 | on: 3 | push: 4 | pull_request: 5 | workflow_dispatch: 6 | 7 | jobs: 8 | lint-python: 9 | name: Lint Python code 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: Checkout 13 | uses: actions/checkout@v2 14 | 15 | - name: Install pipenv 16 | run: pipx install pipenv 17 | 18 | - uses: actions/setup-python@v2 19 | with: 20 | python-version: '3.9' 21 | cache: 'pipenv' 22 | 23 | - id: pipenv-install 24 | name: Install Python dependencies 25 | run: pipenv install --dev --python `which python` 26 | 27 | - id: lint 28 | name: Lint Python code 29 | run: make lint 30 | 31 | mypy-python: 32 | name: Static type check 33 | runs-on: ubuntu-latest 34 | steps: 35 | - name: Checkout 36 | uses: actions/checkout@v2 37 | 38 | - name: Install pipenv 39 | run: pipx install pipenv 40 | 41 | - uses: actions/setup-python@v2 42 | with: 43 | python-version: '3.9' 44 | cache: 'pipenv' 45 | 46 | - id: pipenv-install 47 | name: Install Python dependencies 48 | run: pipenv install --dev --python `which python` 49 | 50 | - id: mypy 51 | name: Run mypy 52 | run: make mypy 53 | 54 | test-python: 55 | name: Test Python code 56 | runs-on: ubuntu-latest 57 | steps: 58 | - name: Checkout 59 | uses: actions/checkout@v2 60 | 61 | - name: Install pipenv 62 | run: pipx install pipenv 63 | 64 | - uses: actions/setup-python@v2 65 | with: 66 | python-version: '3.9' 67 | cache: 'pipenv' 68 | 69 | - id: pipenv-install 70 | name: Install Python dependencies 71 | run: pipenv install --dev --python `which python` 72 | 73 | - id: run 74 | name: Run tests 75 | run: make test 76 | 77 | prefect-register: 78 | name: Register Prefect flow 79 | runs-on: ubuntu-latest 80 | needs: [lint-python,mypy-python,test-python] 81 | if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') 82 | 83 | permissions: 84 | contents: 'read' 85 | id-token: 'write' 86 | 87 | steps: 88 | - name: Checkout 89 | uses: actions/checkout@v2 90 | 91 | - name: Install pipenv 92 | run: pipx install pipenv 93 | 94 | - uses: actions/setup-python@v2 95 | with: 96 | python-version: '3.9' 97 | cache: 'pipenv' 98 | 99 | - id: pipenv-install 100 | name: Install Python dependencies 101 | run: pipenv install --dev --python `which python` 102 | 103 | - id: auth-prefect 104 | name: Authenticate to Prefect 105 | run: pipenv run prefect auth login -k ${{ secrets.PREFECT_API_KEY }} 106 | 107 | - id: auth-gcloud 108 | name: Authenticate with Google Cloud 109 | uses: google-github-actions/auth@v0 110 | with: 111 | token_format: access_token 112 | workload_identity_provider: ${{ secrets.GCLOUD_WORKLOAD_IDENTITY_PROVIDER }} 113 | service_account: ${{ secrets.GCLOUD_SERVICE_ACCOUNT }} 114 | access_token_lifetime: 300s 115 | 116 | - name: Login to Google Artifact Registry 117 | uses: docker/login-action@v1 118 | with: 119 | registry: us-west2-docker.pkg.dev 120 | username: oauth2accesstoken 121 | password: ${{ steps.auth-gcloud.outputs.access_token }} 122 | 123 | - id: register 124 | name: Register flow 125 | run: pipenv run prefect register --project '${{ secrets.PREFECT_PROJECT_NAME }}' -p ./flow.py 126 | -------------------------------------------------------------------------------- /flow.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | import prefect 4 | from prefect.executors import LocalDaskExecutor 5 | from prefect.run_configs import KubernetesRun, LocalRun 6 | from prefect.storage import Docker, Local 7 | 8 | # 9 | # Environment variables 10 | # 11 | 12 | # Get the environment where the flow is operating. 13 | # Options are 'development' and 'production'. The default is 'production'. 14 | # When you are working locally you should create .env file and add: 15 | # PREFECT_FLOW_ENV=development 16 | # You can do that automatically with: 17 | # echo 'PREFECT_FLOW_ENV=development' > .env 18 | PREFECT_FLOW_ENV = os.getenv("PREFECT_FLOW_ENV", "production") 19 | 20 | 21 | # 22 | # Tasks 23 | # 24 | 25 | 26 | @prefect.task(name="Hello task") 27 | def hello_task(): 28 | """Run an example task.""" 29 | logger = prefect.context.get("logger") 30 | logger.info("Hello world!") 31 | 32 | 33 | # 34 | # Flows 35 | # 36 | 37 | 38 | def get_storage(env: str = "production"): 39 | """Get the storage method used by the flow. 40 | 41 | Args: 42 | env (str): the environment where the task is running. Options are 'development' and 'production'. 43 | 44 | Returns Prefect Storage instance 45 | """ 46 | logger = prefect.context.get("logger") 47 | logger.debug(f"Loading {env} storage method") 48 | options = { 49 | "development": Local( 50 | # The flow is stored as a file here on your laptop 51 | add_default_labels=False, # <-- This makes sure the hostname label isn't applied 52 | ), 53 | "production": Docker( 54 | # An image containing the flow's code, as well as our Python dependencies, 55 | # will be compiled when `pipenv run prefect register` is run and then 56 | # uploaded to our repository on Google Artifact Registry. 57 | registry_url="your-region-docker.pkg.dev", # <-- Here's the docker registry where it will go 58 | image_name="your-project-id/your-docker-repo/your-docker-image-name", # <-- Here's the path within the registry to your image 59 | python_dependencies=[], 60 | ), 61 | } 62 | return options[env] 63 | 64 | 65 | def get_run_config(env: str = "production"): 66 | """Get the run_config used by the flow. 67 | 68 | Args: 69 | env (str): the environment where the task is running. Options are 'development' and 'production'. 70 | 71 | Returns Prefect Run instance 72 | """ 73 | logger = prefect.context.get("logger") 74 | logger.debug(f"Loading {env} run_config method") 75 | options = { 76 | "development": LocalRun( 77 | # The flow is run here on your laptop 78 | env={ 79 | # Print logs from our dependencies 80 | "PREFECT__LOGGING__EXTRA_LOGGERS": "[]", 81 | # Print debugging level code from Prefect 82 | "PREFECT__LOGGING__LEVEL": "DEBUG", 83 | }, 84 | # Tag the task 85 | labels=["etl"], 86 | ), 87 | "production": KubernetesRun( 88 | # The flow is run as a job in our k8s cluster 89 | env={ 90 | # Print logs from our dependencies 91 | "PREFECT__LOGGING__EXTRA_LOGGERS": "[]", 92 | # Print debugging level code from Prefect 93 | "PREFECT__LOGGING__LEVEL": "DEBUG", 94 | }, 95 | # Tag the task 96 | labels=["etl"], 97 | # Tell k8s how big the server should be that runs the jobs 98 | # By setting it to two CPUs, we can use the local dask executor 99 | # to run multiple jobs at the same time. 100 | cpu_request=2, 101 | memory_request="2Gi", 102 | ), 103 | } 104 | return options[env] 105 | 106 | 107 | def get_executor(env: str = "production"): 108 | """Get the executor used by the flow. 109 | 110 | Args: 111 | env (str): the environment where the task is running. Options are 'development' and 'production'. 112 | 113 | Returns Prefect Executor instance 114 | """ 115 | logger = prefect.context.get("logger") 116 | logger.debug(f"Loading {env} executor method") 117 | options = { 118 | "development": LocalDaskExecutor(), 119 | "production": LocalDaskExecutor( 120 | scheduler="threads", 121 | num_workers=4, 122 | ), 123 | } 124 | return options[env] 125 | 126 | 127 | with prefect.Flow( 128 | "Your Prefect Flow", 129 | storage=get_storage(PREFECT_FLOW_ENV), 130 | run_config=get_run_config(PREFECT_FLOW_ENV), 131 | executor=get_executor(PREFECT_FLOW_ENV), 132 | ) as flow: 133 | # Run example task 134 | hello_task() 135 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /Pipfile.lock: -------------------------------------------------------------------------------- 1 | { 2 | "_meta": { 3 | "hash": { 4 | "sha256": "7ce869363fde40688e937e02b2ae32ea664d17e13a50a94ac2d8cda74fa325e2" 5 | }, 6 | "pipfile-spec": 6, 7 | "requires": { 8 | "python_version": "3.9" 9 | }, 10 | "sources": [ 11 | { 12 | "name": "pypi", 13 | "url": "https://pypi.org/simple", 14 | "verify_ssl": true 15 | } 16 | ] 17 | }, 18 | "default": { 19 | "aiohttp": { 20 | "hashes": [ 21 | "sha256:01d7bdb774a9acc838e6b8f1d114f45303841b89b95984cbb7d80ea41172a9e3", 22 | "sha256:03a6d5349c9ee8f79ab3ff3694d6ce1cfc3ced1c9d36200cb8f08ba06bd3b782", 23 | "sha256:04d48b8ce6ab3cf2097b1855e1505181bdd05586ca275f2505514a6e274e8e75", 24 | "sha256:0770e2806a30e744b4e21c9d73b7bee18a1cfa3c47991ee2e5a65b887c49d5cf", 25 | "sha256:07b05cd3305e8a73112103c834e91cd27ce5b4bd07850c4b4dbd1877d3f45be7", 26 | "sha256:086f92daf51a032d062ec5f58af5ca6a44d082c35299c96376a41cbb33034675", 27 | "sha256:099ebd2c37ac74cce10a3527d2b49af80243e2a4fa39e7bce41617fbc35fa3c1", 28 | "sha256:0c7ebbbde809ff4e970824b2b6cb7e4222be6b95a296e46c03cf050878fc1785", 29 | "sha256:102e487eeb82afac440581e5d7f8f44560b36cf0bdd11abc51a46c1cd88914d4", 30 | "sha256:11691cf4dc5b94236ccc609b70fec991234e7ef8d4c02dd0c9668d1e486f5abf", 31 | "sha256:11a67c0d562e07067c4e86bffc1553f2cf5b664d6111c894671b2b8712f3aba5", 32 | "sha256:12de6add4038df8f72fac606dff775791a60f113a725c960f2bab01d8b8e6b15", 33 | "sha256:13487abd2f761d4be7c8ff9080de2671e53fff69711d46de703c310c4c9317ca", 34 | "sha256:15b09b06dae900777833fe7fc4b4aa426556ce95847a3e8d7548e2d19e34edb8", 35 | "sha256:1c182cb873bc91b411e184dab7a2b664d4fea2743df0e4d57402f7f3fa644bac", 36 | "sha256:1ed0b6477896559f17b9eaeb6d38e07f7f9ffe40b9f0f9627ae8b9926ae260a8", 37 | "sha256:28d490af82bc6b7ce53ff31337a18a10498303fe66f701ab65ef27e143c3b0ef", 38 | "sha256:2e5d962cf7e1d426aa0e528a7e198658cdc8aa4fe87f781d039ad75dcd52c516", 39 | "sha256:2ed076098b171573161eb146afcb9129b5ff63308960aeca4b676d9d3c35e700", 40 | "sha256:2f2f69dca064926e79997f45b2f34e202b320fd3782f17a91941f7eb85502ee2", 41 | "sha256:31560d268ff62143e92423ef183680b9829b1b482c011713ae941997921eebc8", 42 | "sha256:31d1e1c0dbf19ebccbfd62eff461518dcb1e307b195e93bba60c965a4dcf1ba0", 43 | "sha256:37951ad2f4a6df6506750a23f7cbabad24c73c65f23f72e95897bb2cecbae676", 44 | "sha256:3af642b43ce56c24d063325dd2cf20ee012d2b9ba4c3c008755a301aaea720ad", 45 | "sha256:44db35a9e15d6fe5c40d74952e803b1d96e964f683b5a78c3cc64eb177878155", 46 | "sha256:473d93d4450880fe278696549f2e7aed8cd23708c3c1997981464475f32137db", 47 | "sha256:477c3ea0ba410b2b56b7efb072c36fa91b1e6fc331761798fa3f28bb224830dd", 48 | "sha256:4a4a4e30bf1edcad13fb0804300557aedd07a92cabc74382fdd0ba6ca2661091", 49 | "sha256:4aed991a28ea3ce320dc8ce655875e1e00a11bdd29fe9444dd4f88c30d558602", 50 | "sha256:51467000f3647d519272392f484126aa716f747859794ac9924a7aafa86cd411", 51 | "sha256:55c3d1072704d27401c92339144d199d9de7b52627f724a949fc7d5fc56d8b93", 52 | "sha256:589c72667a5febd36f1315aa6e5f56dd4aa4862df295cb51c769d16142ddd7cd", 53 | "sha256:5bfde62d1d2641a1f5173b8c8c2d96ceb4854f54a44c23102e2ccc7e02f003ec", 54 | "sha256:5c23b1ad869653bc818e972b7a3a79852d0e494e9ab7e1a701a3decc49c20d51", 55 | "sha256:61bfc23df345d8c9716d03717c2ed5e27374e0fe6f659ea64edcd27b4b044cf7", 56 | "sha256:6ae828d3a003f03ae31915c31fa684b9890ea44c9c989056fea96e3d12a9fa17", 57 | "sha256:6c7cefb4b0640703eb1069835c02486669312bf2f12b48a748e0a7756d0de33d", 58 | "sha256:6d69f36d445c45cda7b3b26afef2fc34ef5ac0cdc75584a87ef307ee3c8c6d00", 59 | "sha256:6f0d5f33feb5f69ddd57a4a4bd3d56c719a141080b445cbf18f238973c5c9923", 60 | "sha256:6f8b01295e26c68b3a1b90efb7a89029110d3a4139270b24fda961893216c440", 61 | "sha256:713ac174a629d39b7c6a3aa757b337599798da4c1157114a314e4e391cd28e32", 62 | "sha256:718626a174e7e467f0558954f94af117b7d4695d48eb980146016afa4b580b2e", 63 | "sha256:7187a76598bdb895af0adbd2fb7474d7f6025d170bc0a1130242da817ce9e7d1", 64 | "sha256:71927042ed6365a09a98a6377501af5c9f0a4d38083652bcd2281a06a5976724", 65 | "sha256:7d08744e9bae2ca9c382581f7dce1273fe3c9bae94ff572c3626e8da5b193c6a", 66 | "sha256:7dadf3c307b31e0e61689cbf9e06be7a867c563d5a63ce9dca578f956609abf8", 67 | "sha256:81e3d8c34c623ca4e36c46524a3530e99c0bc95ed068fd6e9b55cb721d408fb2", 68 | "sha256:844a9b460871ee0a0b0b68a64890dae9c415e513db0f4a7e3cab41a0f2fedf33", 69 | "sha256:8b7ef7cbd4fec9a1e811a5de813311ed4f7ac7d93e0fda233c9b3e1428f7dd7b", 70 | "sha256:97ef77eb6b044134c0b3a96e16abcb05ecce892965a2124c566af0fd60f717e2", 71 | "sha256:99b5eeae8e019e7aad8af8bb314fb908dd2e028b3cdaad87ec05095394cce632", 72 | "sha256:a25fa703a527158aaf10dafd956f7d42ac6d30ec80e9a70846253dd13e2f067b", 73 | "sha256:a2f635ce61a89c5732537a7896b6319a8fcfa23ba09bec36e1b1ac0ab31270d2", 74 | "sha256:a79004bb58748f31ae1cbe9fa891054baaa46fb106c2dc7af9f8e3304dc30316", 75 | "sha256:a996d01ca39b8dfe77440f3cd600825d05841088fd6bc0144cc6c2ec14cc5f74", 76 | "sha256:b0e20cddbd676ab8a64c774fefa0ad787cc506afd844de95da56060348021e96", 77 | "sha256:b6613280ccedf24354406caf785db748bebbddcf31408b20c0b48cb86af76866", 78 | "sha256:b9d00268fcb9f66fbcc7cd9fe423741d90c75ee029a1d15c09b22d23253c0a44", 79 | "sha256:bb01ba6b0d3f6c68b89fce7305080145d4877ad3acaed424bae4d4ee75faa950", 80 | "sha256:c2aef4703f1f2ddc6df17519885dbfa3514929149d3ff900b73f45998f2532fa", 81 | "sha256:c34dc4958b232ef6188c4318cb7b2c2d80521c9a56c52449f8f93ab7bc2a8a1c", 82 | "sha256:c3630c3ef435c0a7c549ba170a0633a56e92629aeed0e707fec832dee313fb7a", 83 | "sha256:c3d6a4d0619e09dcd61021debf7059955c2004fa29f48788a3dfaf9c9901a7cd", 84 | "sha256:d15367ce87c8e9e09b0f989bfd72dc641bcd04ba091c68cd305312d00962addd", 85 | "sha256:d2f9b69293c33aaa53d923032fe227feac867f81682f002ce33ffae978f0a9a9", 86 | "sha256:e999f2d0e12eea01caeecb17b653f3713d758f6dcc770417cf29ef08d3931421", 87 | "sha256:ea302f34477fda3f85560a06d9ebdc7fa41e82420e892fc50b577e35fc6a50b2", 88 | "sha256:eaba923151d9deea315be1f3e2b31cc39a6d1d2f682f942905951f4e40200922", 89 | "sha256:ef9612483cb35171d51d9173647eed5d0069eaa2ee812793a75373447d487aa4", 90 | "sha256:f5315a2eb0239185af1bddb1abf472d877fede3cc8d143c6cddad37678293237", 91 | "sha256:fa0ffcace9b3aa34d205d8130f7873fcfefcb6a4dd3dd705b0dab69af6712642", 92 | "sha256:fc5471e1a54de15ef71c1bc6ebe80d4dc681ea600e68bfd1cbce40427f0b7578" 93 | ], 94 | "markers": "python_version >= '3.6'", 95 | "version": "==3.8.1" 96 | }, 97 | "aiosignal": { 98 | "hashes": [ 99 | "sha256:26e62109036cd181df6e6ad646f91f0dcfd05fe16d0cb924138ff2ab75d64e3a", 100 | "sha256:78ed67db6c7b7ced4f98e495e572106d5c432a93e1ddd1bf475e1dc05f5b7df2" 101 | ], 102 | "markers": "python_version >= '3.6'", 103 | "version": "==1.2.0" 104 | }, 105 | "async-timeout": { 106 | "hashes": [ 107 | "sha256:2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15", 108 | "sha256:8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c" 109 | ], 110 | "markers": "python_version >= '3.6'", 111 | "version": "==4.0.2" 112 | }, 113 | "attrs": { 114 | "hashes": [ 115 | "sha256:2d27e3784d7a565d36ab851fe94887c5eccd6a463168875832a1be79c82828b4", 116 | "sha256:626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd" 117 | ], 118 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", 119 | "version": "==21.4.0" 120 | }, 121 | "cachetools": { 122 | "hashes": [ 123 | "sha256:486471dfa8799eb7ec503a8059e263db000cdda20075ce5e48903087f79d5fd6", 124 | "sha256:8fecd4203a38af17928be7b90689d8083603073622229ca7077b72d8e5a976e4" 125 | ], 126 | "markers": "python_version ~= '3.7'", 127 | "version": "==5.0.0" 128 | }, 129 | "certifi": { 130 | "hashes": [ 131 | "sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872", 132 | "sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569" 133 | ], 134 | "version": "==2021.10.8" 135 | }, 136 | "charset-normalizer": { 137 | "hashes": [ 138 | "sha256:2857e29ff0d34db842cd7ca3230549d1a697f96ee6d3fb071cfa6c7393832597", 139 | "sha256:6881edbebdb17b39b4eaaa821b438bf6eddffb4468cf344f09f89def34a8b1df" 140 | ], 141 | "markers": "python_version >= '3.5'", 142 | "version": "==2.0.12" 143 | }, 144 | "click": { 145 | "hashes": [ 146 | "sha256:19a4baa64da924c5e0cd889aba8e947f280309f1a2ce0947a3e3a7bcb7cc72d6", 147 | "sha256:977c213473c7665d3aa092b41ff12063227751c41d7b17165013e10069cc5cd2" 148 | ], 149 | "markers": "python_version >= '3.7'", 150 | "version": "==8.1.0" 151 | }, 152 | "cloudpickle": { 153 | "hashes": [ 154 | "sha256:5cd02f3b417a783ba84a4ec3e290ff7929009fe51f6405423cfccfadd43ba4a4", 155 | "sha256:6b2df9741d06f43839a3275c4e6632f7df6487a1f181f5f46a052d3c917c3d11" 156 | ], 157 | "markers": "python_version >= '3.6'", 158 | "version": "==2.0.0" 159 | }, 160 | "croniter": { 161 | "hashes": [ 162 | "sha256:1ac5fee61aa3467c9d998b8a889cd3acbf391ad3f473addb0212dc7733b7b5cd", 163 | "sha256:3169365916834be654c2cac57ea14d710e742f8eb8a5fce804f6ce548da80bf2" 164 | ], 165 | "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", 166 | "version": "==1.3.4" 167 | }, 168 | "dask": { 169 | "hashes": [ 170 | "sha256:52e9f8a4b798439f01a02a07fa7e66004d024c3f9fb6f1f5d3ecc11642298597", 171 | "sha256:9e0188dd4397099f148e80e04902703c465e577c747591f0e9b801998ad3abf0" 172 | ], 173 | "markers": "python_version >= '3.8'", 174 | "version": "==2022.3.0" 175 | }, 176 | "dask-kubernetes": { 177 | "hashes": [ 178 | "sha256:06d652ad2a9aa0bbf60eeec0ec75ccfcf724a430c44ea6b9f6b4ffabc88f33fe", 179 | "sha256:a3268df4d2d190c3a65b4b171f063c57c40c14f981d6dfb9b31ca720920ff845" 180 | ], 181 | "version": "==2022.1.0" 182 | }, 183 | "distributed": { 184 | "hashes": [ 185 | "sha256:458be00cec9710047b1650cde4ebd783ab5d041b5c9c46db6a37c86ae184b315", 186 | "sha256:e3d8053720cd58a3a254e8862900fec1e0940e9e34b044482142d836cd1ed892" 187 | ], 188 | "markers": "python_version >= '3.8'", 189 | "version": "==2022.3.0" 190 | }, 191 | "docker": { 192 | "hashes": [ 193 | "sha256:7a79bb439e3df59d0a72621775d600bc8bc8b422d285824cb37103eab91d1ce0", 194 | "sha256:d916a26b62970e7c2f554110ed6af04c7ccff8e9f81ad17d0d40c75637e227fb" 195 | ], 196 | "markers": "python_version >= '3.6'", 197 | "version": "==5.0.3" 198 | }, 199 | "frozenlist": { 200 | "hashes": [ 201 | "sha256:006d3595e7d4108a12025ddf415ae0f6c9e736e726a5db0183326fd191b14c5e", 202 | "sha256:01a73627448b1f2145bddb6e6c2259988bb8aee0fb361776ff8604b99616cd08", 203 | "sha256:03a7dd1bfce30216a3f51a84e6dd0e4a573d23ca50f0346634916ff105ba6e6b", 204 | "sha256:0437fe763fb5d4adad1756050cbf855bbb2bf0d9385c7bb13d7a10b0dd550486", 205 | "sha256:04cb491c4b1c051734d41ea2552fde292f5f3a9c911363f74f39c23659c4af78", 206 | "sha256:0c36e78b9509e97042ef869c0e1e6ef6429e55817c12d78245eb915e1cca7468", 207 | "sha256:25af28b560e0c76fa41f550eacb389905633e7ac02d6eb3c09017fa1c8cdfde1", 208 | "sha256:2fdc3cd845e5a1f71a0c3518528bfdbfe2efaf9886d6f49eacc5ee4fd9a10953", 209 | "sha256:30530930410855c451bea83f7b272fb1c495ed9d5cc72895ac29e91279401db3", 210 | "sha256:31977f84828b5bb856ca1eb07bf7e3a34f33a5cddce981d880240ba06639b94d", 211 | "sha256:3c62964192a1c0c30b49f403495911298810bada64e4f03249ca35a33ca0417a", 212 | "sha256:3f7c935c7b58b0d78c0beea0c7358e165f95f1fd8a7e98baa40d22a05b4a8141", 213 | "sha256:40dff8962b8eba91fd3848d857203f0bd704b5f1fa2b3fc9af64901a190bba08", 214 | "sha256:40ec383bc194accba825fbb7d0ef3dda5736ceab2375462f1d8672d9f6b68d07", 215 | "sha256:436496321dad302b8b27ca955364a439ed1f0999311c393dccb243e451ff66aa", 216 | "sha256:4406cfabef8f07b3b3af0f50f70938ec06d9f0fc26cbdeaab431cbc3ca3caeaa", 217 | "sha256:45334234ec30fc4ea677f43171b18a27505bfb2dba9aca4398a62692c0ea8868", 218 | "sha256:47be22dc27ed933d55ee55845d34a3e4e9f6fee93039e7f8ebadb0c2f60d403f", 219 | "sha256:4a44ebbf601d7bac77976d429e9bdb5a4614f9f4027777f9e54fd765196e9d3b", 220 | "sha256:4eda49bea3602812518765810af732229b4291d2695ed24a0a20e098c45a707b", 221 | "sha256:57f4d3f03a18facacb2a6bcd21bccd011e3b75d463dc49f838fd699d074fabd1", 222 | "sha256:603b9091bd70fae7be28bdb8aa5c9990f4241aa33abb673390a7f7329296695f", 223 | "sha256:65bc6e2fece04e2145ab6e3c47428d1bbc05aede61ae365b2c1bddd94906e478", 224 | "sha256:691ddf6dc50480ce49f68441f1d16a4c3325887453837036e0fb94736eae1e58", 225 | "sha256:6983a31698490825171be44ffbafeaa930ddf590d3f051e397143a5045513b01", 226 | "sha256:6a202458d1298ced3768f5a7d44301e7c86defac162ace0ab7434c2e961166e8", 227 | "sha256:6eb275c6385dd72594758cbe96c07cdb9bd6becf84235f4a594bdf21e3596c9d", 228 | "sha256:754728d65f1acc61e0f4df784456106e35afb7bf39cfe37227ab00436fb38676", 229 | "sha256:768efd082074bb203c934e83a61654ed4931ef02412c2fbdecea0cff7ecd0274", 230 | "sha256:772965f773757a6026dea111a15e6e2678fbd6216180f82a48a40b27de1ee2ab", 231 | "sha256:871d42623ae15eb0b0e9df65baeee6976b2e161d0ba93155411d58ff27483ad8", 232 | "sha256:88aafd445a233dbbf8a65a62bc3249a0acd0d81ab18f6feb461cc5a938610d24", 233 | "sha256:8c905a5186d77111f02144fab5b849ab524f1e876a1e75205cd1386a9be4b00a", 234 | "sha256:8cf829bd2e2956066dd4de43fd8ec881d87842a06708c035b37ef632930505a2", 235 | "sha256:92e650bd09b5dda929523b9f8e7f99b24deac61240ecc1a32aeba487afcd970f", 236 | "sha256:93641a51f89473837333b2f8100f3f89795295b858cd4c7d4a1f18e299dc0a4f", 237 | "sha256:94c7a8a9fc9383b52c410a2ec952521906d355d18fccc927fca52ab575ee8b93", 238 | "sha256:9f892d6a94ec5c7b785e548e42722e6f3a52f5f32a8461e82ac3e67a3bd073f1", 239 | "sha256:acb267b09a509c1df5a4ca04140da96016f40d2ed183cdc356d237286c971b51", 240 | "sha256:adac9700675cf99e3615eb6a0eb5e9f5a4143c7d42c05cea2e7f71c27a3d0846", 241 | "sha256:aff388be97ef2677ae185e72dc500d19ecaf31b698986800d3fc4f399a5e30a5", 242 | "sha256:b5009062d78a8c6890d50b4e53b0ddda31841b3935c1937e2ed8c1bda1c7fb9d", 243 | "sha256:b684c68077b84522b5c7eafc1dc735bfa5b341fb011d5552ebe0968e22ed641c", 244 | "sha256:b9e3e9e365991f8cc5f5edc1fd65b58b41d0514a6a7ad95ef5c7f34eb49b3d3e", 245 | "sha256:bd89acd1b8bb4f31b47072615d72e7f53a948d302b7c1d1455e42622de180eae", 246 | "sha256:bde99812f237f79eaf3f04ebffd74f6718bbd216101b35ac7955c2d47c17da02", 247 | "sha256:c6c321dd013e8fc20735b92cb4892c115f5cdb82c817b1e5b07f6b95d952b2f0", 248 | "sha256:ce6f2ba0edb7b0c1d8976565298ad2deba6f8064d2bebb6ffce2ca896eb35b0b", 249 | "sha256:d2257aaba9660f78c7b1d8fea963b68f3feffb1a9d5d05a18401ca9eb3e8d0a3", 250 | "sha256:d26b650b71fdc88065b7a21f8ace70175bcf3b5bdba5ea22df4bfd893e795a3b", 251 | "sha256:d6d32ff213aef0fd0bcf803bffe15cfa2d4fde237d1d4838e62aec242a8362fa", 252 | "sha256:e1e26ac0a253a2907d654a37e390904426d5ae5483150ce3adedb35c8c06614a", 253 | "sha256:e30b2f9683812eb30cf3f0a8e9f79f8d590a7999f731cf39f9105a7c4a39489d", 254 | "sha256:e84cb61b0ac40a0c3e0e8b79c575161c5300d1d89e13c0e02f76193982f066ed", 255 | "sha256:e982878792c971cbd60ee510c4ee5bf089a8246226dea1f2138aa0bb67aff148", 256 | "sha256:f20baa05eaa2bcd5404c445ec51aed1c268d62600362dc6cfe04fae34a424bd9", 257 | "sha256:f7353ba3367473d1d616ee727945f439e027f0bb16ac1a750219a8344d1d5d3c", 258 | "sha256:f96293d6f982c58ebebb428c50163d010c2f05de0cde99fd681bfdc18d4b2dc2", 259 | "sha256:ff9310f05b9d9c5c4dd472983dc956901ee6cb2c3ec1ab116ecdde25f3ce4951" 260 | ], 261 | "markers": "python_version >= '3.7'", 262 | "version": "==1.3.0" 263 | }, 264 | "fsspec": { 265 | "hashes": [ 266 | "sha256:20322c659538501f52f6caa73b08b2ff570b7e8ea30a86559721d090e473ad5c", 267 | "sha256:eb9c9d9aee49d23028deefffe53e87c55d3515512c63f57e893710301001449a" 268 | ], 269 | "markers": "python_version >= '3.7'", 270 | "version": "==2022.2.0" 271 | }, 272 | "google-api-core": { 273 | "extras": [ 274 | "grpc" 275 | ], 276 | "hashes": [ 277 | "sha256:6be1fc59e2a7ba9f66808bbc22f976f81e4c3e7ab20fa0620ce42686288787d0", 278 | "sha256:b0fa577e512f0c8e063386b974718b8614586a798c5894ed34bedf256d9dae24" 279 | ], 280 | "markers": "python_version >= '3.6'", 281 | "version": "==2.7.1" 282 | }, 283 | "google-auth": { 284 | "hashes": [ 285 | "sha256:3ba4d63cb29c1e6d5ffcc1c0623c03cf02ede6240a072f213084749574e691ab", 286 | "sha256:60d449f8142c742db760f4c0be39121bc8d9be855555d784c252deaca1ced3f5" 287 | ], 288 | "version": "==2.6.2" 289 | }, 290 | "google-cloud-aiplatform": { 291 | "hashes": [ 292 | "sha256:093f7570830fd50f981968740153e30a6407c3a1d1f0228a968adb131d434b4f", 293 | "sha256:7768c740e455f09ea89eb53f33f8547792102d5466e8185e6ce55ba98f11a9db" 294 | ], 295 | "version": "==1.11.0" 296 | }, 297 | "google-cloud-bigquery": { 298 | "hashes": [ 299 | "sha256:0eb882df30a00f5a1ef3d339a23a670230800b2ab249459591a7e685aad6714f", 300 | "sha256:bd7de9e3126ea0975d1f5b25e69c28b644c69821c229327e64b38e44fb16497e" 301 | ], 302 | "version": "==2.34.2" 303 | }, 304 | "google-cloud-core": { 305 | "hashes": [ 306 | "sha256:89d2f7189bc6dc74de128d423ea52cc8719f0a5dbccd9ca80433f6504a20255c", 307 | "sha256:a423852f4c36622376c8f0be509b67533690e061062368b763b92694c4ee06a7" 308 | ], 309 | "markers": "python_version >= '3.6'", 310 | "version": "==2.2.3" 311 | }, 312 | "google-cloud-secret-manager": { 313 | "hashes": [ 314 | "sha256:5bddd20c947c6d43d05fd2b3a19e98bd5f6453e4f077d86e1f4f5299aa78f358", 315 | "sha256:befa099b43f559c44f198fcb900ef1a9dde13bc802b58c451b0c64f6e3fa1366" 316 | ], 317 | "version": "==2.9.2" 318 | }, 319 | "google-cloud-storage": { 320 | "hashes": [ 321 | "sha256:0244f4612710cb5ec445fc6774387564e23f9823363fb408b28724e2102401b7", 322 | "sha256:abdf0fadf26516172e804e00b9c24819a3b3f7351cd32f35ca249bbfac965494" 323 | ], 324 | "version": "==2.2.1" 325 | }, 326 | "google-crc32c": { 327 | "hashes": [ 328 | "sha256:04e7c220798a72fd0f08242bc8d7a05986b2a08a0573396187fd32c1dcdd58b3", 329 | "sha256:05340b60bf05b574159e9bd940152a47d38af3fb43803ffe71f11d704b7696a6", 330 | "sha256:12674a4c3b56b706153a358eaa1018c4137a5a04635b92b4652440d3d7386206", 331 | "sha256:127f9cc3ac41b6a859bd9dc4321097b1a4f6aa7fdf71b4f9227b9e3ebffb4422", 332 | "sha256:13af315c3a0eec8bb8b8d80b8b128cb3fcd17d7e4edafc39647846345a3f003a", 333 | "sha256:1926fd8de0acb9d15ee757175ce7242e235482a783cd4ec711cc999fc103c24e", 334 | "sha256:226f2f9b8e128a6ca6a9af9b9e8384f7b53a801907425c9a292553a3a7218ce0", 335 | "sha256:276de6273eb074a35bc598f8efbc00c7869c5cf2e29c90748fccc8c898c244df", 336 | "sha256:318f73f5484b5671f0c7f5f63741ab020a599504ed81d209b5c7129ee4667407", 337 | "sha256:3bbce1be3687bbfebe29abdb7631b83e6b25da3f4e1856a1611eb21854b689ea", 338 | "sha256:42ae4781333e331a1743445931b08ebdad73e188fd554259e772556fc4937c48", 339 | "sha256:58be56ae0529c664cc04a9c76e68bb92b091e0194d6e3c50bea7e0f266f73713", 340 | "sha256:5da2c81575cc3ccf05d9830f9e8d3c70954819ca9a63828210498c0774fda1a3", 341 | "sha256:6311853aa2bba4064d0c28ca54e7b50c4d48e3de04f6770f6c60ebda1e975267", 342 | "sha256:650e2917660e696041ab3dcd7abac160b4121cd9a484c08406f24c5964099829", 343 | "sha256:6a4db36f9721fdf391646685ecffa404eb986cbe007a3289499020daf72e88a2", 344 | "sha256:779cbf1ce375b96111db98fca913c1f5ec11b1d870e529b1dc7354b2681a8c3a", 345 | "sha256:7f6fe42536d9dcd3e2ffb9d3053f5d05221ae3bbcefbe472bdf2c71c793e3183", 346 | "sha256:891f712ce54e0d631370e1f4997b3f182f3368179198efc30d477c75d1f44942", 347 | "sha256:95c68a4b9b7828ba0428f8f7e3109c5d476ca44996ed9a5f8aac6269296e2d59", 348 | "sha256:96a8918a78d5d64e07c8ea4ed2bc44354e3f93f46a4866a40e8db934e4c0d74b", 349 | "sha256:9c3cf890c3c0ecfe1510a452a165431b5831e24160c5fcf2071f0f85ca5a47cd", 350 | "sha256:9f58099ad7affc0754ae42e6d87443299f15d739b0ce03c76f515153a5cda06c", 351 | "sha256:a0b9e622c3b2b8d0ce32f77eba617ab0d6768b82836391e4f8f9e2074582bf02", 352 | "sha256:a7f9cbea4245ee36190f85fe1814e2d7b1e5f2186381b082f5d59f99b7f11328", 353 | "sha256:bab4aebd525218bab4ee615786c4581952eadc16b1ff031813a2fd51f0cc7b08", 354 | "sha256:c124b8c8779bf2d35d9b721e52d4adb41c9bfbde45e6a3f25f0820caa9aba73f", 355 | "sha256:c9da0a39b53d2fab3e5467329ed50e951eb91386e9d0d5b12daf593973c3b168", 356 | "sha256:ca60076c388728d3b6ac3846842474f4250c91efbfe5afa872d3ffd69dd4b318", 357 | "sha256:cb6994fff247987c66a8a4e550ef374671c2b82e3c0d2115e689d21e511a652d", 358 | "sha256:d1c1d6236feab51200272d79b3d3e0f12cf2cbb12b208c835b175a21efdb0a73", 359 | "sha256:dd7760a88a8d3d705ff562aa93f8445ead54f58fd482e4f9e2bafb7e177375d4", 360 | "sha256:dda4d8a3bb0b50f540f6ff4b6033f3a74e8bf0bd5320b70fab2c03e512a62812", 361 | "sha256:e0f1ff55dde0ebcfbef027edc21f71c205845585fffe30d4ec4979416613e9b3", 362 | "sha256:e7a539b9be7b9c00f11ef16b55486141bc2cdb0c54762f84e3c6fc091917436d", 363 | "sha256:eb0b14523758e37802f27b7f8cd973f5f3d33be7613952c0df904b68c4842f0e", 364 | "sha256:ed447680ff21c14aaceb6a9f99a5f639f583ccfe4ce1a5e1d48eb41c3d6b3217", 365 | "sha256:f52a4ad2568314ee713715b1e2d79ab55fab11e8b304fd1462ff5cccf4264b3e", 366 | "sha256:fbd60c6aaa07c31d7754edbc2334aef50601b7f1ada67a96eb1eb57c7c72378f", 367 | "sha256:fc28e0db232c62ca0c3600884933178f0825c99be4474cdd645e378a10588125", 368 | "sha256:fe31de3002e7b08eb20823b3735b97c86c5926dd0581c7710a680b418a8709d4", 369 | "sha256:fec221a051150eeddfdfcff162e6db92c65ecf46cb0f7bb1bf812a1520ec026b", 370 | "sha256:ff71073ebf0e42258a42a0b34f2c09ec384977e7f6808999102eedd5b49920e3" 371 | ], 372 | "markers": "python_version >= '3.6'", 373 | "version": "==1.3.0" 374 | }, 375 | "google-resumable-media": { 376 | "hashes": [ 377 | "sha256:06924e8b1e79f158f0202e7dd151ad75b0ea9d59b997c850f56bdd4a5a361513", 378 | "sha256:3c13f84813861ac8f5b6371254bdd437076bf1f3bac527a9f3fd123a70166f52" 379 | ], 380 | "markers": "python_version >= '3.6'", 381 | "version": "==2.3.2" 382 | }, 383 | "googleapis-common-protos": { 384 | "hashes": [ 385 | "sha256:4007500795bcfc269d279f0f7d253ae18d6dc1ff5d5a73613ffe452038b1ec5f", 386 | "sha256:60220c89b8bd5272159bed4929ecdc1243ae1f73437883a499a44a1cbc084086" 387 | ], 388 | "markers": "python_version >= '3.6'", 389 | "version": "==1.56.0" 390 | }, 391 | "grpc-google-iam-v1": { 392 | "hashes": [ 393 | "sha256:0bfb5b56f648f457021a91c0df0db4934b6e0c300bd0f2de2333383fe958aa72" 394 | ], 395 | "version": "==0.12.3" 396 | }, 397 | "grpcio": { 398 | "hashes": [ 399 | "sha256:042921a824e90bf2974dbef7d89937096181298294799fb53e5576d9958884c7", 400 | "sha256:0b18c86a9cfbedd0c4e083690fecc82027b3f938100ed0af8db77d52a171eb1e", 401 | "sha256:0d74a159df9401747e57960f0772f4371486e3281919004efa9df8a82985abee", 402 | "sha256:0fe6acb1439127e0bee773f8a9a3ece290cb4cac4fe8d46b10bc8dda250a990c", 403 | "sha256:16603b9544a4af135ce4d594a7396602fbe62d1ccaa484b05cb1814c17a3e559", 404 | "sha256:1d764c8a190719301ec6f3b6ddeb48a234604e337d0fbb3184a4ddcda2aca9da", 405 | "sha256:220867a53e53b2e201e98c55061e3053e31c0ce613625087242be684d3e8612a", 406 | "sha256:2355493a9e71f15d9004b2ab87892cb532e9e98db6882fced2912115eb5631af", 407 | "sha256:250d8f18332f3dbd4db00efa91d33d336e58362e9c80e6946d45ecf5e82d95ec", 408 | "sha256:259c126821fefcda298c020a0d83c4a4edac3cf10b1af12a62d250f8192ea1d1", 409 | "sha256:2798e42d62a0296982276d0bab96fc7d6772cd148357154348355304d6216763", 410 | "sha256:2f135e5c8e9acd14f3090fd86dccb9d7c26aea7bfbd4528e8a86ff621d39e610", 411 | "sha256:321f84dbc788481f7a3cd12636a133ba5f4d17e57f1c906de5a22fd709c971b5", 412 | "sha256:35ae55460514ed404ceaa95533b9a79989691b562faf012fc8fb143d8fd16e47", 413 | "sha256:3992c690228126e5652c7a1f61863c1ebfd71369cf2adb0fce86fee1d82d2d27", 414 | "sha256:3a40dbb8aac60cf6a86583e2ba74fc2c286f1abc7a3404b25dcd12a49b9f7d8b", 415 | "sha256:44615be86e5540a18f5e4ca5a0f428d4b1efb800d255cfd9f902a11daca8fd74", 416 | "sha256:4d37c526b86c46d229f6117df5dca2510de597ab73c5956bc379ca41f8a1db84", 417 | "sha256:4e6d15bfdfa28e5f6d524dd3b29c7dc129cfc578505b067aa97574490c5b70fe", 418 | "sha256:4f1a22744f93b38d393b7a83cb607029ac5e2de680cab39957ffdd116590a178", 419 | "sha256:52f61fcb17d92b87ba47d54b3c9deae09d4f0216a3ea277b7df4b6c1794e6556", 420 | "sha256:5d05cd1b2b0975bb000ba97ca465565158dc211616c9bbbef5d1b77871974687", 421 | "sha256:638364d3603df9e4a1dbc2151b5fe1b491ceecda4e1672be86724e1dfa79c44d", 422 | "sha256:6774272a59b9ee16fb0d4f53e23716953a22bbb3efe12fdf9a4ee3eec2c4f81f", 423 | "sha256:678a673fe811dad3ed5bd2e2352b79851236e4d718aeaeffc10f372a55954d8d", 424 | "sha256:6cf5f1827c182ef9b503d7d01e503c1067f4499d45af792d95ccd1d8b0bea30d", 425 | "sha256:6df338b8d2c328ba91a25e28786d10059dea3bc9115fa1ddad30ba5d459e714a", 426 | "sha256:6f2e044a715507fd13c70c928cd90daf8d0295c936a81fd9065a24e58ba7cc7d", 427 | "sha256:7262b9d96db79e29049c7eb2b75b03f2b9485fd838209b5ff8e3cca73b2a706c", 428 | "sha256:779db3d00c8da1d3efa942387cb0fea9ac6d50124d656024f82f9faefdd016e3", 429 | "sha256:79582ec821ef10162348170a6e912d93ea257c749320a162dfc3a132ef25ac1b", 430 | "sha256:797f5b750be6ff2905b9d0529a00c1f873d8035a5d01a9801910ace5f0d52a18", 431 | "sha256:7fe3ac700cc5ecba9dc9072c0e6cfd2f964ea9f273ce1111eaa27d13aa20ec32", 432 | "sha256:8b452f715e2cae9e75cb309f59a37f82e5b25f51f0bfc3cd1462de86265cef05", 433 | "sha256:8de79eac582431cb6d05ff5652e68089c40aa0e604ec1630fa52ac926bc44f1b", 434 | "sha256:a1c1098f35c33b985c312cacea39e2aa66f7ac1462579eed1d3aed2e51fff00d", 435 | "sha256:a33ed7d3e52ddc839e2f020592a4371d805c2ae820fb63b12525058e1810fe46", 436 | "sha256:a5c8a08aff0af770c977dcede62fbed53ae7b99adbc184d5299d148bb04652f1", 437 | "sha256:add03308fa2d434628aeaa445e0c75cdb9535f39128eb949b1483ae83fafade6", 438 | "sha256:aea67bd3cbf93db552c725bc0b4db0acdc6a284d036d1cc32d638305e0f01fd9", 439 | "sha256:b00ce58323dde47d2ea240d10ee745471b9966429c97d9e6567c8d56e02b0372", 440 | "sha256:b46772b7eb58c6cb0b468b56d59618694d2c2f2cee2e5b4e83ae9729a46b8af0", 441 | "sha256:b54444cf4212935a7b98cd26a30ad3a036389e4fd2ff3e461b176af876c7e20b", 442 | "sha256:b7f2dc8831045eb0c892bb947e1cba2b1ed639e79a54abff7c4ad90bdd329f78", 443 | "sha256:bd4944f35f1e5ab54804c3e37d24921ecc01908ef871cdce6bd52995ea4f985c", 444 | "sha256:cc135b77f384a84bac67a37947886986be136356446338d64160a30c85f20c6d", 445 | "sha256:ccba925045c00acc9ce2cc645b6fa9d19767dbb16c9c49921013da412b1d3415", 446 | "sha256:d14d372ea5a51d5ab991aa6d499a26e5a1e3b3f3af93f41826ea610f8a276c9e", 447 | "sha256:da395720d6e9599c754f862f3f75bc0e8ff29fa55259e082e442a9cc916ffbc3", 448 | "sha256:db1c45daa35c64f17498af1ba6eb1d0a8d88a8a0b6b322f960ab461e7ef0419e", 449 | "sha256:dfca4dfd307b449d0a1e92bc7fbb5224ccf16db384aab412ba6766fc56bdffb6", 450 | "sha256:f9f28d8c5343602e1510d4839e38568bcd0ca6353bd98ad9941787584a371a1d", 451 | "sha256:fb23ed6ed84ae312df03e96c7a7cd3aa5f7e3a1ad7066fdb6cd47f1bd334196c", 452 | "sha256:ff2c8b965b0fc25cf281961aa46619c10900543effe3f806ef818231c40aaff3" 453 | ], 454 | "version": "==1.45.0" 455 | }, 456 | "grpcio-status": { 457 | "hashes": [ 458 | "sha256:4baad8e8ec3c44788e038c24e3d7dc70259e06ba09f40a5b8178538563ba3e5a", 459 | "sha256:e21fa1d960f36c790fe6aa648e482442ecfb5c536fc50670b7c43320381377a9" 460 | ], 461 | "version": "==1.45.0" 462 | }, 463 | "heapdict": { 464 | "hashes": [ 465 | "sha256:6065f90933ab1bb7e50db403b90cab653c853690c5992e69294c2de2b253fc92", 466 | "sha256:8495f57b3e03d8e46d5f1b2cc62ca881aca392fd5cc048dc0aa2e1a6d23ecdb6" 467 | ], 468 | "version": "==1.0.1" 469 | }, 470 | "idna": { 471 | "hashes": [ 472 | "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff", 473 | "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d" 474 | ], 475 | "markers": "python_version >= '3'", 476 | "version": "==3.3" 477 | }, 478 | "importlib-resources": { 479 | "hashes": [ 480 | "sha256:1b93238cbf23b4cde34240dd8321d99e9bf2eb4bc91c0c99b2886283e7baad85", 481 | "sha256:a9dd72f6cc106aeb50f6e66b86b69b454766dd6e39b69ac68450253058706bcc" 482 | ], 483 | "markers": "python_version >= '3.7'", 484 | "version": "==5.6.0" 485 | }, 486 | "jinja2": { 487 | "hashes": [ 488 | "sha256:539835f51a74a69f41b848a9645dbdc35b4f20a3b601e2d9a7e22947b15ff119", 489 | "sha256:640bed4bb501cbd17194b3cace1dc2126f5b619cf068a726b98192a0fde74ae9" 490 | ], 491 | "markers": "python_version >= '3.7'", 492 | "version": "==3.1.1" 493 | }, 494 | "kubernetes": { 495 | "hashes": [ 496 | "sha256:05c98e4bd92f7091fa0fa58f594490e712c9151144d5f458235663a8909e342a", 497 | "sha256:223ff8f0ece5bc20fb65545f09a2308c5e1e9c0be83ae68504c1b1c6baa38f5b" 498 | ], 499 | "version": "==23.3.0" 500 | }, 501 | "kubernetes-asyncio": { 502 | "hashes": [ 503 | "sha256:91a2f4c1cfc0cd1fe5ef8a5f3f24da20b4e8a93e28d6ce9b985df2b686c1edb5" 504 | ], 505 | "version": "==22.6.1" 506 | }, 507 | "locket": { 508 | "hashes": [ 509 | "sha256:12b6ada59d1f50710bca9704dbadd3f447dbf8dac6664575c1281cadab8e6449", 510 | "sha256:3e1faba403619fe201552f083f1ecbf23f550941bc51985ac6ed4d02d25056dd" 511 | ], 512 | "version": "==0.2.1" 513 | }, 514 | "markupsafe": { 515 | "hashes": [ 516 | "sha256:0212a68688482dc52b2d45013df70d169f542b7394fc744c02a57374a4207003", 517 | "sha256:089cf3dbf0cd6c100f02945abeb18484bd1ee57a079aefd52cffd17fba910b88", 518 | "sha256:10c1bfff05d95783da83491be968e8fe789263689c02724e0c691933c52994f5", 519 | "sha256:33b74d289bd2f5e527beadcaa3f401e0df0a89927c1559c8566c066fa4248ab7", 520 | "sha256:3799351e2336dc91ea70b034983ee71cf2f9533cdff7c14c90ea126bfd95d65a", 521 | "sha256:3ce11ee3f23f79dbd06fb3d63e2f6af7b12db1d46932fe7bd8afa259a5996603", 522 | "sha256:421be9fbf0ffe9ffd7a378aafebbf6f4602d564d34be190fc19a193232fd12b1", 523 | "sha256:43093fb83d8343aac0b1baa75516da6092f58f41200907ef92448ecab8825135", 524 | "sha256:46d00d6cfecdde84d40e572d63735ef81423ad31184100411e6e3388d405e247", 525 | "sha256:4a33dea2b688b3190ee12bd7cfa29d39c9ed176bda40bfa11099a3ce5d3a7ac6", 526 | "sha256:4b9fe39a2ccc108a4accc2676e77da025ce383c108593d65cc909add5c3bd601", 527 | "sha256:56442863ed2b06d19c37f94d999035e15ee982988920e12a5b4ba29b62ad1f77", 528 | "sha256:671cd1187ed5e62818414afe79ed29da836dde67166a9fac6d435873c44fdd02", 529 | "sha256:694deca8d702d5db21ec83983ce0bb4b26a578e71fbdbd4fdcd387daa90e4d5e", 530 | "sha256:6a074d34ee7a5ce3effbc526b7083ec9731bb3cbf921bbe1d3005d4d2bdb3a63", 531 | "sha256:6d0072fea50feec76a4c418096652f2c3238eaa014b2f94aeb1d56a66b41403f", 532 | "sha256:6fbf47b5d3728c6aea2abb0589b5d30459e369baa772e0f37a0320185e87c980", 533 | "sha256:7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b", 534 | "sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812", 535 | "sha256:8dc1c72a69aa7e082593c4a203dcf94ddb74bb5c8a731e4e1eb68d031e8498ff", 536 | "sha256:8e3dcf21f367459434c18e71b2a9532d96547aef8a871872a5bd69a715c15f96", 537 | "sha256:8e576a51ad59e4bfaac456023a78f6b5e6e7651dcd383bcc3e18d06f9b55d6d1", 538 | "sha256:96e37a3dc86e80bf81758c152fe66dbf60ed5eca3d26305edf01892257049925", 539 | "sha256:97a68e6ada378df82bc9f16b800ab77cbf4b2fada0081794318520138c088e4a", 540 | "sha256:99a2a507ed3ac881b975a2976d59f38c19386d128e7a9a18b7df6fff1fd4c1d6", 541 | "sha256:a49907dd8420c5685cfa064a1335b6754b74541bbb3706c259c02ed65b644b3e", 542 | "sha256:b09bf97215625a311f669476f44b8b318b075847b49316d3e28c08e41a7a573f", 543 | "sha256:b7bd98b796e2b6553da7225aeb61f447f80a1ca64f41d83612e6139ca5213aa4", 544 | "sha256:b87db4360013327109564f0e591bd2a3b318547bcef31b468a92ee504d07ae4f", 545 | "sha256:bcb3ed405ed3222f9904899563d6fc492ff75cce56cba05e32eff40e6acbeaa3", 546 | "sha256:d4306c36ca495956b6d568d276ac11fdd9c30a36f1b6eb928070dc5360b22e1c", 547 | "sha256:d5ee4f386140395a2c818d149221149c54849dfcfcb9f1debfe07a8b8bd63f9a", 548 | "sha256:dda30ba7e87fbbb7eab1ec9f58678558fd9a6b8b853530e176eabd064da81417", 549 | "sha256:e04e26803c9c3851c931eac40c695602c6295b8d432cbe78609649ad9bd2da8a", 550 | "sha256:e1c0b87e09fa55a220f058d1d49d3fb8df88fbfab58558f1198e08c1e1de842a", 551 | "sha256:e72591e9ecd94d7feb70c1cbd7be7b3ebea3f548870aa91e2732960fa4d57a37", 552 | "sha256:e8c843bbcda3a2f1e3c2ab25913c80a3c5376cd00c6e8c4a86a89a28c8dc5452", 553 | "sha256:efc1913fd2ca4f334418481c7e595c00aad186563bbc1ec76067848c7ca0a933", 554 | "sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a", 555 | "sha256:fc7b548b17d238737688817ab67deebb30e8073c95749d55538ed473130ec0c7" 556 | ], 557 | "markers": "python_version >= '3.7'", 558 | "version": "==2.1.1" 559 | }, 560 | "marshmallow": { 561 | "hashes": [ 562 | "sha256:2aaaab4f01ef4f5a011a21319af9fce17ab13bf28a026d1252adab0e035648d5", 563 | "sha256:ff79885ed43b579782f48c251d262e062bce49c65c52412458769a4fb57ac30f" 564 | ], 565 | "markers": "python_version >= '3.7'", 566 | "version": "==3.15.0" 567 | }, 568 | "marshmallow-oneofschema": { 569 | "hashes": [ 570 | "sha256:62cd2099b29188c92493c2940ee79d1bf2f2619a71721664e5a98ec2faa58237", 571 | "sha256:bd29410a9f2f7457a2b428286e2a80ef76b8ddc3701527dc1f935a88914b02f2" 572 | ], 573 | "markers": "python_version >= '3.6'", 574 | "version": "==3.0.1" 575 | }, 576 | "msgpack": { 577 | "hashes": [ 578 | "sha256:0d8c332f53ffff01953ad25131272506500b14750c1d0ce8614b17d098252fbc", 579 | "sha256:1c58cdec1cb5fcea8c2f1771d7b5fec79307d056874f746690bd2bdd609ab147", 580 | "sha256:2c3ca57c96c8e69c1a0d2926a6acf2d9a522b41dc4253a8945c4c6cd4981a4e3", 581 | "sha256:2f30dd0dc4dfe6231ad253b6f9f7128ac3202ae49edd3f10d311adc358772dba", 582 | "sha256:2f97c0f35b3b096a330bb4a1a9247d0bd7e1f3a2eba7ab69795501504b1c2c39", 583 | "sha256:36a64a10b16c2ab31dcd5f32d9787ed41fe68ab23dd66957ca2826c7f10d0b85", 584 | "sha256:3d875631ecab42f65f9dce6f55ce6d736696ced240f2634633188de2f5f21af9", 585 | "sha256:40fb89b4625d12d6027a19f4df18a4de5c64f6f3314325049f219683e07e678a", 586 | "sha256:47d733a15ade190540c703de209ffbc42a3367600421b62ac0c09fde594da6ec", 587 | "sha256:494471d65b25a8751d19c83f1a482fd411d7ca7a3b9e17d25980a74075ba0e88", 588 | "sha256:51fdc7fb93615286428ee7758cecc2f374d5ff363bdd884c7ea622a7a327a81e", 589 | "sha256:6eef0cf8db3857b2b556213d97dd82de76e28a6524853a9beb3264983391dc1a", 590 | "sha256:6f4c22717c74d44bcd7af353024ce71c6b55346dad5e2cc1ddc17ce8c4507c6b", 591 | "sha256:73a80bd6eb6bcb338c1ec0da273f87420829c266379c8c82fa14c23fb586cfa1", 592 | "sha256:89908aea5f46ee1474cc37fbc146677f8529ac99201bc2faf4ef8edc023c2bf3", 593 | "sha256:8a3a5c4b16e9d0edb823fe54b59b5660cc8d4782d7bf2c214cb4b91a1940a8ef", 594 | "sha256:96acc674bb9c9be63fa8b6dabc3248fdc575c4adc005c440ad02f87ca7edd079", 595 | "sha256:973ad69fd7e31159eae8f580f3f707b718b61141838321c6fa4d891c4a2cca52", 596 | "sha256:9b6f2d714c506e79cbead331de9aae6837c8dd36190d02da74cb409b36162e8a", 597 | "sha256:9c0903bd93cbd34653dd63bbfcb99d7539c372795201f39d16fdfde4418de43a", 598 | "sha256:9fce00156e79af37bb6db4e7587b30d11e7ac6a02cb5bac387f023808cd7d7f4", 599 | "sha256:a598d0685e4ae07a0672b59792d2cc767d09d7a7f39fd9bd37ff84e060b1a996", 600 | "sha256:b0a792c091bac433dfe0a70ac17fc2087d4595ab835b47b89defc8bbabcf5c73", 601 | "sha256:bb87f23ae7d14b7b3c21009c4b1705ec107cb21ee71975992f6aca571fb4a42a", 602 | "sha256:bf1e6bfed4860d72106f4e0a1ab519546982b45689937b40257cfd820650b920", 603 | "sha256:c1ba333b4024c17c7591f0f372e2daa3c31db495a9b2af3cf664aef3c14354f7", 604 | "sha256:c2140cf7a3ec475ef0938edb6eb363fa704159e0bf71dde15d953bacc1cf9d7d", 605 | "sha256:c7e03b06f2982aa98d4ddd082a210c3db200471da523f9ac197f2828e80e7770", 606 | "sha256:d02cea2252abc3756b2ac31f781f7a98e89ff9759b2e7450a1c7a0d13302ff50", 607 | "sha256:da24375ab4c50e5b7486c115a3198d207954fe10aaa5708f7b65105df09109b2", 608 | "sha256:e4c309a68cb5d6bbd0c50d5c71a25ae81f268c2dc675c6f4ea8ab2feec2ac4e2", 609 | "sha256:f01b26c2290cbd74316990ba84a14ac3d599af9cebefc543d241a66e785cf17d", 610 | "sha256:f201d34dc89342fabb2a10ed7c9a9aaaed9b7af0f16a5923f1ae562b31258dea", 611 | "sha256:f74da1e5fcf20ade12c6bf1baa17a2dc3604958922de8dc83cbe3eff22e8b611" 612 | ], 613 | "version": "==1.0.3" 614 | }, 615 | "multidict": { 616 | "hashes": [ 617 | "sha256:0327292e745a880459ef71be14e709aaea2f783f3537588fb4ed09b6c01bca60", 618 | "sha256:041b81a5f6b38244b34dc18c7b6aba91f9cdaf854d9a39e5ff0b58e2b5773b9c", 619 | "sha256:0556a1d4ea2d949efe5fd76a09b4a82e3a4a30700553a6725535098d8d9fb672", 620 | "sha256:05f6949d6169878a03e607a21e3b862eaf8e356590e8bdae4227eedadacf6e51", 621 | "sha256:07a017cfa00c9890011628eab2503bee5872f27144936a52eaab449be5eaf032", 622 | "sha256:0b9e95a740109c6047602f4db4da9949e6c5945cefbad34a1299775ddc9a62e2", 623 | "sha256:19adcfc2a7197cdc3987044e3f415168fc5dc1f720c932eb1ef4f71a2067e08b", 624 | "sha256:19d9bad105dfb34eb539c97b132057a4e709919ec4dd883ece5838bcbf262b80", 625 | "sha256:225383a6603c086e6cef0f2f05564acb4f4d5f019a4e3e983f572b8530f70c88", 626 | "sha256:23b616fdc3c74c9fe01d76ce0d1ce872d2d396d8fa8e4899398ad64fb5aa214a", 627 | "sha256:2957489cba47c2539a8eb7ab32ff49101439ccf78eab724c828c1a54ff3ff98d", 628 | "sha256:2d36e929d7f6a16d4eb11b250719c39560dd70545356365b494249e2186bc389", 629 | "sha256:2e4a0785b84fb59e43c18a015ffc575ba93f7d1dbd272b4cdad9f5134b8a006c", 630 | "sha256:3368bf2398b0e0fcbf46d85795adc4c259299fec50c1416d0f77c0a843a3eed9", 631 | "sha256:373ba9d1d061c76462d74e7de1c0c8e267e9791ee8cfefcf6b0b2495762c370c", 632 | "sha256:4070613ea2227da2bfb2c35a6041e4371b0af6b0be57f424fe2318b42a748516", 633 | "sha256:45183c96ddf61bf96d2684d9fbaf6f3564d86b34cb125761f9a0ef9e36c1d55b", 634 | "sha256:4571f1beddff25f3e925eea34268422622963cd8dc395bb8778eb28418248e43", 635 | "sha256:47e6a7e923e9cada7c139531feac59448f1f47727a79076c0b1ee80274cd8eee", 636 | "sha256:47fbeedbf94bed6547d3aa632075d804867a352d86688c04e606971595460227", 637 | "sha256:497988d6b6ec6ed6f87030ec03280b696ca47dbf0648045e4e1d28b80346560d", 638 | "sha256:4bae31803d708f6f15fd98be6a6ac0b6958fcf68fda3c77a048a4f9073704aae", 639 | "sha256:50bd442726e288e884f7be9071016c15a8742eb689a593a0cac49ea093eef0a7", 640 | "sha256:514fe2b8d750d6cdb4712346a2c5084a80220821a3e91f3f71eec11cf8d28fd4", 641 | "sha256:5774d9218d77befa7b70d836004a768fb9aa4fdb53c97498f4d8d3f67bb9cfa9", 642 | "sha256:5fdda29a3c7e76a064f2477c9aab1ba96fd94e02e386f1e665bca1807fc5386f", 643 | "sha256:5ff3bd75f38e4c43f1f470f2df7a4d430b821c4ce22be384e1459cb57d6bb013", 644 | "sha256:626fe10ac87851f4cffecee161fc6f8f9853f0f6f1035b59337a51d29ff3b4f9", 645 | "sha256:6701bf8a5d03a43375909ac91b6980aea74b0f5402fbe9428fc3f6edf5d9677e", 646 | "sha256:684133b1e1fe91eda8fa7447f137c9490a064c6b7f392aa857bba83a28cfb693", 647 | "sha256:6f3cdef8a247d1eafa649085812f8a310e728bdf3900ff6c434eafb2d443b23a", 648 | "sha256:75bdf08716edde767b09e76829db8c1e5ca9d8bb0a8d4bd94ae1eafe3dac5e15", 649 | "sha256:7c40b7bbece294ae3a87c1bc2abff0ff9beef41d14188cda94ada7bcea99b0fb", 650 | "sha256:8004dca28e15b86d1b1372515f32eb6f814bdf6f00952699bdeb541691091f96", 651 | "sha256:8064b7c6f0af936a741ea1efd18690bacfbae4078c0c385d7c3f611d11f0cf87", 652 | "sha256:89171b2c769e03a953d5969b2f272efa931426355b6c0cb508022976a17fd376", 653 | "sha256:8cbf0132f3de7cc6c6ce00147cc78e6439ea736cee6bca4f068bcf892b0fd658", 654 | "sha256:9cc57c68cb9139c7cd6fc39f211b02198e69fb90ce4bc4a094cf5fe0d20fd8b0", 655 | "sha256:a007b1638e148c3cfb6bf0bdc4f82776cef0ac487191d093cdc316905e504071", 656 | "sha256:a2c34a93e1d2aa35fbf1485e5010337c72c6791407d03aa5f4eed920343dd360", 657 | "sha256:a45e1135cb07086833ce969555df39149680e5471c04dfd6a915abd2fc3f6dbc", 658 | "sha256:ac0e27844758d7177989ce406acc6a83c16ed4524ebc363c1f748cba184d89d3", 659 | "sha256:aef9cc3d9c7d63d924adac329c33835e0243b5052a6dfcbf7732a921c6e918ba", 660 | "sha256:b9d153e7f1f9ba0b23ad1568b3b9e17301e23b042c23870f9ee0522dc5cc79e8", 661 | "sha256:bfba7c6d5d7c9099ba21f84662b037a0ffd4a5e6b26ac07d19e423e6fdf965a9", 662 | "sha256:c207fff63adcdf5a485969131dc70e4b194327666b7e8a87a97fbc4fd80a53b2", 663 | "sha256:d0509e469d48940147e1235d994cd849a8f8195e0bca65f8f5439c56e17872a3", 664 | "sha256:d16cce709ebfadc91278a1c005e3c17dd5f71f5098bfae1035149785ea6e9c68", 665 | "sha256:d48b8ee1d4068561ce8033d2c344cf5232cb29ee1a0206a7b828c79cbc5982b8", 666 | "sha256:de989b195c3d636ba000ee4281cd03bb1234635b124bf4cd89eeee9ca8fcb09d", 667 | "sha256:e07c8e79d6e6fd37b42f3250dba122053fddb319e84b55dd3a8d6446e1a7ee49", 668 | "sha256:e2c2e459f7050aeb7c1b1276763364884595d47000c1cddb51764c0d8976e608", 669 | "sha256:e5b20e9599ba74391ca0cfbd7b328fcc20976823ba19bc573983a25b32e92b57", 670 | "sha256:e875b6086e325bab7e680e4316d667fc0e5e174bb5611eb16b3ea121c8951b86", 671 | "sha256:f4f052ee022928d34fe1f4d2bc743f32609fb79ed9c49a1710a5ad6b2198db20", 672 | "sha256:fcb91630817aa8b9bc4a74023e4198480587269c272c58b3279875ed7235c293", 673 | "sha256:fd9fc9c4849a07f3635ccffa895d57abce554b467d611a5009ba4f39b78a8849", 674 | "sha256:feba80698173761cddd814fa22e88b0661e98cb810f9f986c54aa34d281e4937", 675 | "sha256:feea820722e69451743a3d56ad74948b68bf456984d63c1a92e8347b7b88452d" 676 | ], 677 | "markers": "python_version >= '3.7'", 678 | "version": "==6.0.2" 679 | }, 680 | "mypy-extensions": { 681 | "hashes": [ 682 | "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d", 683 | "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8" 684 | ], 685 | "version": "==0.4.3" 686 | }, 687 | "oauthlib": { 688 | "hashes": [ 689 | "sha256:23a8208d75b902797ea29fd31fa80a15ed9dc2c6c16fe73f5d346f83f6fa27a2", 690 | "sha256:6db33440354787f9b7f3a6dbd4febf5d0f93758354060e802f6c06cb493022fe" 691 | ], 692 | "markers": "python_version >= '3.6'", 693 | "version": "==3.2.0" 694 | }, 695 | "packaging": { 696 | "hashes": [ 697 | "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb", 698 | "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522" 699 | ], 700 | "markers": "python_version >= '3.6'", 701 | "version": "==21.3" 702 | }, 703 | "partd": { 704 | "hashes": [ 705 | "sha256:5c3a5d70da89485c27916328dc1e26232d0e270771bd4caef4a5124b6a457288", 706 | "sha256:aa67897b84d522dcbc86a98b942afab8c6aa2f7f677d904a616b74ef5ddbc3eb" 707 | ], 708 | "markers": "python_version >= '3.5'", 709 | "version": "==1.2.0" 710 | }, 711 | "pendulum": { 712 | "hashes": [ 713 | "sha256:0731f0c661a3cb779d398803655494893c9f581f6488048b3fb629c2342b5394", 714 | "sha256:1245cd0075a3c6d889f581f6325dd8404aca5884dea7223a5566c38aab94642b", 715 | "sha256:29c40a6f2942376185728c9a0347d7c0f07905638c83007e1d262781f1e6953a", 716 | "sha256:2d1619a721df661e506eff8db8614016f0720ac171fe80dda1333ee44e684087", 717 | "sha256:318f72f62e8e23cd6660dbafe1e346950281a9aed144b5c596b2ddabc1d19739", 718 | "sha256:33fb61601083f3eb1d15edeb45274f73c63b3c44a8524703dc143f4212bf3269", 719 | "sha256:3481fad1dc3f6f6738bd575a951d3c15d4b4ce7c82dce37cf8ac1483fde6e8b0", 720 | "sha256:4c9c689747f39d0d02a9f94fcee737b34a5773803a64a5fdb046ee9cac7442c5", 721 | "sha256:7c5ec650cb4bec4c63a89a0242cc8c3cebcec92fcfe937c417ba18277d8560be", 722 | "sha256:94b1fc947bfe38579b28e1cccb36f7e28a15e841f30384b5ad6c5e31055c85d7", 723 | "sha256:9702069c694306297ed362ce7e3c1ef8404ac8ede39f9b28b7c1a7ad8c3959e3", 724 | "sha256:b06a0ca1bfe41c990bbf0c029f0b6501a7f2ec4e38bfec730712015e8860f207", 725 | "sha256:b6c352f4bd32dff1ea7066bd31ad0f71f8d8100b9ff709fb343f3b86cee43efe", 726 | "sha256:c501749fdd3d6f9e726086bf0cd4437281ed47e7bca132ddb522f86a1645d360", 727 | "sha256:c807a578a532eeb226150d5006f156632df2cc8c5693d778324b43ff8c515dd0", 728 | "sha256:db0a40d8bcd27b4fb46676e8eb3c732c67a5a5e6bfab8927028224fbced0b40b", 729 | "sha256:de42ea3e2943171a9e95141f2eecf972480636e8e484ccffaf1e833929e9e052", 730 | "sha256:e95d329384717c7bf627bf27e204bc3b15c8238fa8d9d9781d93712776c14002", 731 | "sha256:f5e236e7730cab1644e1b87aca3d2ff3e375a608542e90fe25685dae46310116", 732 | "sha256:f888f2d2909a414680a29ae74d0592758f2b9fcdee3549887779cd4055e975db", 733 | "sha256:fb53ffa0085002ddd43b6ca61a7b34f2d4d7c3ed66f931fe599e1a531b42af9b" 734 | ], 735 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", 736 | "version": "==2.1.2" 737 | }, 738 | "prefect": { 739 | "extras": [ 740 | "google", 741 | "kubernetes" 742 | ], 743 | "hashes": [ 744 | "sha256:76bab5f4729b9d7bf34debd82831c5f690571ab51cc38ff750ea76513a58f78f", 745 | "sha256:d500eb491da535d28a57d04902edf9d26790ef1f5272bf4fbeb63dcac3f695f9" 746 | ], 747 | "index": "pypi", 748 | "version": "==1.1.0" 749 | }, 750 | "proto-plus": { 751 | "hashes": [ 752 | "sha256:b06be21c3848fbc20387d1d6891a9b97dfa1cdd0f10d3d42ef70b5700ec0f423", 753 | "sha256:f28b225bc9e6c14e206fb7f8e996a46fb2ccd902648e512d496abb6a716a4ae5" 754 | ], 755 | "markers": "python_version >= '3.6'", 756 | "version": "==1.20.3" 757 | }, 758 | "protobuf": { 759 | "hashes": [ 760 | "sha256:072fbc78d705d3edc7ccac58a62c4c8e0cec856987da7df8aca86e647be4e35c", 761 | "sha256:09297b7972da685ce269ec52af761743714996b4381c085205914c41fcab59fb", 762 | "sha256:16f519de1313f1b7139ad70772e7db515b1420d208cb16c6d7858ea989fc64a9", 763 | "sha256:1c91ef4110fdd2c590effb5dca8fdbdcb3bf563eece99287019c4204f53d81a4", 764 | "sha256:3112b58aac3bac9c8be2b60a9daf6b558ca3f7681c130dcdd788ade7c9ffbdca", 765 | "sha256:36cecbabbda242915529b8ff364f2263cd4de7c46bbe361418b5ed859677ba58", 766 | "sha256:4276cdec4447bd5015453e41bdc0c0c1234eda08420b7c9a18b8d647add51e4b", 767 | "sha256:435bb78b37fc386f9275a7035fe4fb1364484e38980d0dd91bc834a02c5ec909", 768 | "sha256:48ed3877fa43e22bcacc852ca76d4775741f9709dd9575881a373bd3e85e54b2", 769 | "sha256:54a1473077f3b616779ce31f477351a45b4fef8c9fd7892d6d87e287a38df368", 770 | "sha256:69da7d39e39942bd52848438462674c463e23963a1fdaa84d88df7fbd7e749b2", 771 | "sha256:6cbc312be5e71869d9d5ea25147cdf652a6781cf4d906497ca7690b7b9b5df13", 772 | "sha256:7bb03bc2873a2842e5ebb4801f5c7ff1bfbdf426f85d0172f7644fcda0671ae0", 773 | "sha256:7ca7da9c339ca8890d66958f5462beabd611eca6c958691a8fe6eccbd1eb0c6e", 774 | "sha256:835a9c949dc193953c319603b2961c5c8f4327957fe23d914ca80d982665e8ee", 775 | "sha256:84123274d982b9e248a143dadd1b9815049f4477dc783bf84efe6250eb4b836a", 776 | "sha256:8961c3a78ebfcd000920c9060a262f082f29838682b1f7201889300c1fbe0616", 777 | "sha256:96bd766831596d6014ca88d86dc8fe0fb2e428c0b02432fd9db3943202bf8c5e", 778 | "sha256:9df0c10adf3e83015ced42a9a7bd64e13d06c4cf45c340d2c63020ea04499d0a", 779 | "sha256:b38057450a0c566cbd04890a40edf916db890f2818e8682221611d78dc32ae26", 780 | "sha256:bd95d1dfb9c4f4563e6093a9aa19d9c186bf98fa54da5252531cc0d3a07977e7", 781 | "sha256:c1068287025f8ea025103e37d62ffd63fec8e9e636246b89c341aeda8a67c934", 782 | "sha256:c438268eebb8cf039552897d78f402d734a404f1360592fef55297285f7f953f", 783 | "sha256:cdc076c03381f5c1d9bb1abdcc5503d9ca8b53cf0a9d31a9f6754ec9e6c8af0f", 784 | "sha256:f358aa33e03b7a84e0d91270a4d4d8f5df6921abe99a377828839e8ed0c04e07", 785 | "sha256:f51d5a9f137f7a2cec2d326a74b6e3fc79d635d69ffe1b036d39fc7d75430d37" 786 | ], 787 | "markers": "python_version >= '3.5'", 788 | "version": "==3.19.4" 789 | }, 790 | "psutil": { 791 | "hashes": [ 792 | "sha256:072664401ae6e7c1bfb878c65d7282d4b4391f1bc9a56d5e03b5a490403271b5", 793 | "sha256:1070a9b287846a21a5d572d6dddd369517510b68710fca56b0e9e02fd24bed9a", 794 | "sha256:1d7b433519b9a38192dfda962dd8f44446668c009833e1429a52424624f408b4", 795 | "sha256:3151a58f0fbd8942ba94f7c31c7e6b310d2989f4da74fcbf28b934374e9bf841", 796 | "sha256:32acf55cb9a8cbfb29167cd005951df81b567099295291bcfd1027365b36591d", 797 | "sha256:3611e87eea393f779a35b192b46a164b1d01167c9d323dda9b1e527ea69d697d", 798 | "sha256:3d00a664e31921009a84367266b35ba0aac04a2a6cad09c550a89041034d19a0", 799 | "sha256:4e2fb92e3aeae3ec3b7b66c528981fd327fb93fd906a77215200404444ec1845", 800 | "sha256:539e429da49c5d27d5a58e3563886057f8fc3868a5547b4f1876d9c0f007bccf", 801 | "sha256:55ce319452e3d139e25d6c3f85a1acf12d1607ddedea5e35fb47a552c051161b", 802 | "sha256:58c7d923dc209225600aec73aa2c4ae8ea33b1ab31bc11ef8a5933b027476f07", 803 | "sha256:7336292a13a80eb93c21f36bde4328aa748a04b68c13d01dfddd67fc13fd0618", 804 | "sha256:742c34fff804f34f62659279ed5c5b723bb0195e9d7bd9907591de9f8f6558e2", 805 | "sha256:7641300de73e4909e5d148e90cc3142fb890079e1525a840cf0dfd39195239fd", 806 | "sha256:76cebf84aac1d6da5b63df11fe0d377b46b7b500d892284068bacccf12f20666", 807 | "sha256:7779be4025c540d1d65a2de3f30caeacc49ae7a2152108adeaf42c7534a115ce", 808 | "sha256:7d190ee2eaef7831163f254dc58f6d2e2a22e27382b936aab51c835fc080c3d3", 809 | "sha256:8293942e4ce0c5689821f65ce6522ce4786d02af57f13c0195b40e1edb1db61d", 810 | "sha256:869842dbd66bb80c3217158e629d6fceaecc3a3166d3d1faee515b05dd26ca25", 811 | "sha256:90a58b9fcae2dbfe4ba852b57bd4a1dded6b990a33d6428c7614b7d48eccb492", 812 | "sha256:9b51917c1af3fa35a3f2dabd7ba96a2a4f19df3dec911da73875e1edaf22a40b", 813 | "sha256:b2237f35c4bbae932ee98902a08050a27821f8f6dfa880a47195e5993af4702d", 814 | "sha256:c3400cae15bdb449d518545cbd5b649117de54e3596ded84aacabfbb3297ead2", 815 | "sha256:c51f1af02334e4b516ec221ee26b8fdf105032418ca5a5ab9737e8c87dafe203", 816 | "sha256:cb8d10461c1ceee0c25a64f2dd54872b70b89c26419e147a05a10b753ad36ec2", 817 | "sha256:d62a2796e08dd024b8179bd441cb714e0f81226c352c802fca0fd3f89eeacd94", 818 | "sha256:df2c8bd48fb83a8408c8390b143c6a6fa10cb1a674ca664954de193fdcab36a9", 819 | "sha256:e5c783d0b1ad6ca8a5d3e7b680468c9c926b804be83a3a8e95141b05c39c9f64", 820 | "sha256:e9805fed4f2a81de98ae5fe38b75a74c6e6ad2df8a5c479594c7629a1fe35f56", 821 | "sha256:ea42d747c5f71b5ccaa6897b216a7dadb9f52c72a0fe2b872ef7d3e1eacf3ba3", 822 | "sha256:ef216cc9feb60634bda2f341a9559ac594e2eeaadd0ba187a4c2eb5b5d40b91c", 823 | "sha256:ff0d41f8b3e9ebb6b6110057e40019a432e96aae2008951121ba4e56040b84f3" 824 | ], 825 | "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", 826 | "version": "==5.9.0" 827 | }, 828 | "pyasn1": { 829 | "hashes": [ 830 | "sha256:014c0e9976956a08139dc0712ae195324a75e142284d5f87f1a87ee1b068a359", 831 | "sha256:03840c999ba71680a131cfaee6fab142e1ed9bbd9c693e285cc6aca0d555e576", 832 | "sha256:0458773cfe65b153891ac249bcf1b5f8f320b7c2ce462151f8fa74de8934becf", 833 | "sha256:08c3c53b75eaa48d71cf8c710312316392ed40899cb34710d092e96745a358b7", 834 | "sha256:39c7e2ec30515947ff4e87fb6f456dfc6e84857d34be479c9d4a4ba4bf46aa5d", 835 | "sha256:5c9414dcfede6e441f7e8f81b43b34e834731003427e5b09e4e00e3172a10f00", 836 | "sha256:6e7545f1a61025a4e58bb336952c5061697da694db1cae97b116e9c46abcf7c8", 837 | "sha256:78fa6da68ed2727915c4767bb386ab32cdba863caa7dbe473eaae45f9959da86", 838 | "sha256:7ab8a544af125fb704feadb008c99a88805126fb525280b2270bb25cc1d78a12", 839 | "sha256:99fcc3c8d804d1bc6d9a099921e39d827026409a58f2a720dcdb89374ea0c776", 840 | "sha256:aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba", 841 | "sha256:e89bf84b5437b532b0803ba5c9a5e054d21fec423a89952a74f87fa2c9b7bce2", 842 | "sha256:fec3e9d8e36808a28efb59b489e4528c10ad0f480e57dcc32b4de5c9d8c9fdf3" 843 | ], 844 | "version": "==0.4.8" 845 | }, 846 | "pyasn1-modules": { 847 | "hashes": [ 848 | "sha256:0845a5582f6a02bb3e1bde9ecfc4bfcae6ec3210dd270522fee602365430c3f8", 849 | "sha256:0fe1b68d1e486a1ed5473f1302bd991c1611d319bba158e98b106ff86e1d7199", 850 | "sha256:15b7c67fabc7fc240d87fb9aabf999cf82311a6d6fb2c70d00d3d0604878c811", 851 | "sha256:426edb7a5e8879f1ec54a1864f16b882c2837bfd06eee62f2c982315ee2473ed", 852 | "sha256:65cebbaffc913f4fe9e4808735c95ea22d7a7775646ab690518c056784bc21b4", 853 | "sha256:905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e", 854 | "sha256:a50b808ffeb97cb3601dd25981f6b016cbb3d31fbf57a8b8a87428e6158d0c74", 855 | "sha256:a99324196732f53093a84c4369c996713eb8c89d360a496b599fb1a9c47fc3eb", 856 | "sha256:b80486a6c77252ea3a3e9b1e360bc9cf28eaac41263d173c032581ad2f20fe45", 857 | "sha256:c29a5e5cc7a3f05926aff34e097e84f8589cd790ce0ed41b67aed6857b26aafd", 858 | "sha256:cbac4bc38d117f2a49aeedec4407d23e8866ea4ac27ff2cf7fb3e5b570df19e0", 859 | "sha256:f39edd8c4ecaa4556e989147ebf219227e2cd2e8a43c7e7fcb1f1c18c5fd6a3d", 860 | "sha256:fe0644d9ab041506b62782e92b06b8c68cca799e1a9636ec398675459e031405" 861 | ], 862 | "version": "==0.2.8" 863 | }, 864 | "pyparsing": { 865 | "hashes": [ 866 | "sha256:18ee9022775d270c55187733956460083db60b37d0d0fb357445f3094eed3eea", 867 | "sha256:a6c06a88f252e6c322f65faf8f418b16213b51bdfaece0524c1c1bc30c63c484" 868 | ], 869 | "markers": "python_version >= '3.6'", 870 | "version": "==3.0.7" 871 | }, 872 | "python-box": { 873 | "hashes": [ 874 | "sha256:0e37f753bf7031bf25fcf22107a4faa64230dcb81de602f79d9bf5b599f9ef5c", 875 | "sha256:15419a9b1883f3360f8ad8dd767e8ce20f2006e156012126d208c00fcc7fc6db", 876 | "sha256:214bb6c1305ec937a8f30f01fe76eeff6307bb783c1ee38979ae433514eed9cf", 877 | "sha256:234e47576882ddc7df17d7fdbdacaa0e831738fb6619499ec84905f3504c6cdf", 878 | "sha256:2966c58b7c47770a06ce4bed240556ac2f3f76f68c2ecb6db46123676a8cc8a0", 879 | "sha256:3f26c67d1ca48b96097d73b42b66187e0b11e954f61234784f3619a969a8b2bb", 880 | "sha256:3f394c69e1c484eb18a1a1d6e969428ec9cc70b5f47b921da798c2e41b15d1f7", 881 | "sha256:4f4a7aa7d57ec7b4182d35e275e9d2ee097e3541030e7bcdd15713404713017d", 882 | "sha256:5ed78335f808162798370949026494da4aeb1530d630a2d98801e107a3a791d3", 883 | "sha256:6793311354ba11c9bdc4a1d40752bcc23a5ba8687c8929dba150e11af592de5e", 884 | "sha256:681f0d05a5db3385ae1b949035a57dd4462aa58f1f7a21df2eb29227f265e002", 885 | "sha256:802d79fdec6bafc0936ca2a59a3478e9ae95f786e68cc23dcd98a4ad44933c00", 886 | "sha256:a4be4ea156fa9167fef5218ecaa53270ee60aa933fc7e3cc0864675a39b3ae5d", 887 | "sha256:bcd881fedb11f55ce1ec59889e2dc3da98b3cd54126f12c4a3b2e0cb3e1dc1e5" 888 | ], 889 | "markers": "python_version >= '3.6'", 890 | "version": "==6.0.1" 891 | }, 892 | "python-dateutil": { 893 | "hashes": [ 894 | "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86", 895 | "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9" 896 | ], 897 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", 898 | "version": "==2.8.2" 899 | }, 900 | "python-slugify": { 901 | "hashes": [ 902 | "sha256:00003397f4e31414e922ce567b3a4da28cf1436a53d332c9aeeb51c7d8c469fd", 903 | "sha256:8c0016b2d74503eb64761821612d58fcfc729493634b1eb0575d8f5b4aa1fbcf" 904 | ], 905 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", 906 | "version": "==6.1.1" 907 | }, 908 | "pytz": { 909 | "hashes": [ 910 | "sha256:1e760e2fe6a8163bc0b3d9a19c4f84342afa0a2affebfaa84b01b978a02ecaa7", 911 | "sha256:e68985985296d9a66a881eb3193b0906246245294a881e7c8afe623866ac6a5c" 912 | ], 913 | "version": "==2022.1" 914 | }, 915 | "pytzdata": { 916 | "hashes": [ 917 | "sha256:3efa13b335a00a8de1d345ae41ec78dd11c9f8807f522d39850f2dd828681540", 918 | "sha256:e1e14750bcf95016381e4d472bad004eef710f2d6417240904070b3d6654485f" 919 | ], 920 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", 921 | "version": "==2020.1" 922 | }, 923 | "pyyaml": { 924 | "hashes": [ 925 | "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293", 926 | "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b", 927 | "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57", 928 | "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b", 929 | "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4", 930 | "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07", 931 | "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba", 932 | "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9", 933 | "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287", 934 | "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513", 935 | "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0", 936 | "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0", 937 | "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92", 938 | "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f", 939 | "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2", 940 | "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc", 941 | "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c", 942 | "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86", 943 | "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4", 944 | "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c", 945 | "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34", 946 | "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b", 947 | "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c", 948 | "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb", 949 | "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737", 950 | "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3", 951 | "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d", 952 | "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53", 953 | "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78", 954 | "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803", 955 | "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a", 956 | "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174", 957 | "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5" 958 | ], 959 | "markers": "python_version >= '3.6'", 960 | "version": "==6.0" 961 | }, 962 | "requests": { 963 | "hashes": [ 964 | "sha256:68d7c56fd5a8999887728ef304a6d12edc7be74f1cfa47714fc8b414525c9a61", 965 | "sha256:f22fa1e554c9ddfd16e6e41ac79759e17be9e492b3587efa038054674760e72d" 966 | ], 967 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", 968 | "version": "==2.27.1" 969 | }, 970 | "requests-oauthlib": { 971 | "hashes": [ 972 | "sha256:2577c501a2fb8d05a304c09d090d6e47c306fef15809d102b327cf8364bddab5", 973 | "sha256:75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a" 974 | ], 975 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", 976 | "version": "==1.3.1" 977 | }, 978 | "rsa": { 979 | "hashes": [ 980 | "sha256:5c6bd9dc7a543b7fe4304a631f8a8a3b674e2bbfc49c2ae96200cdbe55df6b17", 981 | "sha256:95c5d300c4e879ee69708c428ba566c59478fd653cc3a22243eeb8ed846950bb" 982 | ], 983 | "markers": "python_version >= '3.6'", 984 | "version": "==4.8" 985 | }, 986 | "setuptools": { 987 | "hashes": [ 988 | "sha256:8f4813dd6a4d6cc17bde85fb2e635fe19763f96efbb0ddf5575562e5ee0bc47a", 989 | "sha256:c3d4e2ab578fbf83775755cd76dae73627915a22832cf4ea5de895978767833b" 990 | ], 991 | "markers": "python_version >= '3.7'", 992 | "version": "==61.2.0" 993 | }, 994 | "six": { 995 | "hashes": [ 996 | "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", 997 | "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" 998 | ], 999 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", 1000 | "version": "==1.16.0" 1001 | }, 1002 | "sortedcontainers": { 1003 | "hashes": [ 1004 | "sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88", 1005 | "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0" 1006 | ], 1007 | "version": "==2.4.0" 1008 | }, 1009 | "tabulate": { 1010 | "hashes": [ 1011 | "sha256:d7c013fe7abbc5e491394e10fa845f8f32fe54f8dc60c6622c6cf482d25d47e4", 1012 | "sha256:eb1d13f25760052e8931f2ef80aaf6045a6cceb47514db8beab24cded16f13a7" 1013 | ], 1014 | "version": "==0.8.9" 1015 | }, 1016 | "tblib": { 1017 | "hashes": [ 1018 | "sha256:059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c", 1019 | "sha256:289fa7359e580950e7d9743eab36b0691f0310fce64dee7d9c31065b8f723e23" 1020 | ], 1021 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", 1022 | "version": "==1.7.0" 1023 | }, 1024 | "text-unidecode": { 1025 | "hashes": [ 1026 | "sha256:1311f10e8b895935241623731c2ba64f4c455287888b18189350b67134a822e8", 1027 | "sha256:bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93" 1028 | ], 1029 | "version": "==1.3" 1030 | }, 1031 | "toml": { 1032 | "hashes": [ 1033 | "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", 1034 | "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f" 1035 | ], 1036 | "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2'", 1037 | "version": "==0.10.2" 1038 | }, 1039 | "toolz": { 1040 | "hashes": [ 1041 | "sha256:6b312d5e15138552f1bda8a4e66c30e236c831b612b2bf0005f8a1df10a4bc33", 1042 | "sha256:a5700ce83414c64514d82d60bcda8aabfde092d1c1a8663f9200c07fdcc6da8f" 1043 | ], 1044 | "markers": "python_version >= '3.5'", 1045 | "version": "==0.11.2" 1046 | }, 1047 | "tornado": { 1048 | "hashes": [ 1049 | "sha256:0a00ff4561e2929a2c37ce706cb8233b7907e0cdc22eab98888aca5dd3775feb", 1050 | "sha256:0d321a39c36e5f2c4ff12b4ed58d41390460f798422c4504e09eb5678e09998c", 1051 | "sha256:1e8225a1070cd8eec59a996c43229fe8f95689cb16e552d130b9793cb570a288", 1052 | "sha256:20241b3cb4f425e971cb0a8e4ffc9b0a861530ae3c52f2b0434e6c1b57e9fd95", 1053 | "sha256:25ad220258349a12ae87ede08a7b04aca51237721f63b1808d39bdb4b2164558", 1054 | "sha256:33892118b165401f291070100d6d09359ca74addda679b60390b09f8ef325ffe", 1055 | "sha256:33c6e81d7bd55b468d2e793517c909b139960b6c790a60b7991b9b6b76fb9791", 1056 | "sha256:3447475585bae2e77ecb832fc0300c3695516a47d46cefa0528181a34c5b9d3d", 1057 | "sha256:34ca2dac9e4d7afb0bed4677512e36a52f09caa6fded70b4e3e1c89dbd92c326", 1058 | "sha256:3e63498f680547ed24d2c71e6497f24bca791aca2fe116dbc2bd0ac7f191691b", 1059 | "sha256:548430be2740e327b3fe0201abe471f314741efcb0067ec4f2d7dcfb4825f3e4", 1060 | "sha256:6196a5c39286cc37c024cd78834fb9345e464525d8991c21e908cc046d1cc02c", 1061 | "sha256:61b32d06ae8a036a6607805e6720ef00a3c98207038444ba7fd3d169cd998910", 1062 | "sha256:6286efab1ed6e74b7028327365cf7346b1d777d63ab30e21a0f4d5b275fc17d5", 1063 | "sha256:65d98939f1a2e74b58839f8c4dab3b6b3c1ce84972ae712be02845e65391ac7c", 1064 | "sha256:66324e4e1beede9ac79e60f88de548da58b1f8ab4b2f1354d8375774f997e6c0", 1065 | "sha256:6c77c9937962577a6a76917845d06af6ab9197702a42e1346d8ae2e76b5e3675", 1066 | "sha256:70dec29e8ac485dbf57481baee40781c63e381bebea080991893cd297742b8fd", 1067 | "sha256:7250a3fa399f08ec9cb3f7b1b987955d17e044f1ade821b32e5f435130250d7f", 1068 | "sha256:748290bf9112b581c525e6e6d3820621ff020ed95af6f17fedef416b27ed564c", 1069 | "sha256:7da13da6f985aab7f6f28debab00c67ff9cbacd588e8477034c0652ac141feea", 1070 | "sha256:8f959b26f2634a091bb42241c3ed8d3cedb506e7c27b8dd5c7b9f745318ddbb6", 1071 | "sha256:9de9e5188a782be6b1ce866e8a51bc76a0fbaa0e16613823fc38e4fc2556ad05", 1072 | "sha256:a48900ecea1cbb71b8c71c620dee15b62f85f7c14189bdeee54966fbd9a0c5bd", 1073 | "sha256:b87936fd2c317b6ee08a5741ea06b9d11a6074ef4cc42e031bc6403f82a32575", 1074 | "sha256:c77da1263aa361938476f04c4b6c8916001b90b2c2fdd92d8d535e1af48fba5a", 1075 | "sha256:cb5ec8eead331e3bb4ce8066cf06d2dfef1bfb1b2a73082dfe8a161301b76e37", 1076 | "sha256:cc0ee35043162abbf717b7df924597ade8e5395e7b66d18270116f8745ceb795", 1077 | "sha256:d14d30e7f46a0476efb0deb5b61343b1526f73ebb5ed84f23dc794bdb88f9d9f", 1078 | "sha256:d371e811d6b156d82aa5f9a4e08b58debf97c302a35714f6f45e35139c332e32", 1079 | "sha256:d3d20ea5782ba63ed13bc2b8c291a053c8d807a8fa927d941bd718468f7b950c", 1080 | "sha256:d3f7594930c423fd9f5d1a76bee85a2c36fd8b4b16921cae7e965f22575e9c01", 1081 | "sha256:dcef026f608f678c118779cd6591c8af6e9b4155c44e0d1bc0c87c036fb8c8c4", 1082 | "sha256:e0791ac58d91ac58f694d8d2957884df8e4e2f6687cdf367ef7eb7497f79eaa2", 1083 | "sha256:e385b637ac3acaae8022e7e47dfa7b83d3620e432e3ecb9a3f7f58f150e50921", 1084 | "sha256:e519d64089b0876c7b467274468709dadf11e41d65f63bba207e04217f47c085", 1085 | "sha256:e7229e60ac41a1202444497ddde70a48d33909e484f96eb0da9baf8dc68541df", 1086 | "sha256:ed3ad863b1b40cd1d4bd21e7498329ccaece75db5a5bf58cd3c9f130843e7102", 1087 | "sha256:f0ba29bafd8e7e22920567ce0d232c26d4d47c8b5cf4ed7b562b5db39fa199c5", 1088 | "sha256:fa2ba70284fa42c2a5ecb35e322e68823288a4251f9ba9cc77be04ae15eada68", 1089 | "sha256:fba85b6cd9c39be262fcd23865652920832b61583de2a2ca907dbd8e8a8c81e5" 1090 | ], 1091 | "markers": "python_version >= '3.5'", 1092 | "version": "==6.1" 1093 | }, 1094 | "urllib3": { 1095 | "hashes": [ 1096 | "sha256:44ece4d53fb1706f667c9bd1c648f5469a2ec925fcf3a776667042d645472c14", 1097 | "sha256:aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e" 1098 | ], 1099 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'", 1100 | "version": "==1.26.9" 1101 | }, 1102 | "websocket-client": { 1103 | "hashes": [ 1104 | "sha256:074e2ed575e7c822fc0940d31c3ac9bb2b1142c303eafcf3e304e6ce035522e8", 1105 | "sha256:6278a75065395418283f887de7c3beafb3aa68dada5cacbe4b214e8d26da499b" 1106 | ], 1107 | "markers": "python_version >= '3.6'", 1108 | "version": "==1.3.1" 1109 | }, 1110 | "yarl": { 1111 | "hashes": [ 1112 | "sha256:044daf3012e43d4b3538562da94a88fb12a6490652dbc29fb19adfa02cf72eac", 1113 | "sha256:0cba38120db72123db7c58322fa69e3c0efa933040ffb586c3a87c063ec7cae8", 1114 | "sha256:167ab7f64e409e9bdd99333fe8c67b5574a1f0495dcfd905bc7454e766729b9e", 1115 | "sha256:1be4bbb3d27a4e9aa5f3df2ab61e3701ce8fcbd3e9846dbce7c033a7e8136746", 1116 | "sha256:1ca56f002eaf7998b5fcf73b2421790da9d2586331805f38acd9997743114e98", 1117 | "sha256:1d3d5ad8ea96bd6d643d80c7b8d5977b4e2fb1bab6c9da7322616fd26203d125", 1118 | "sha256:1eb6480ef366d75b54c68164094a6a560c247370a68c02dddb11f20c4c6d3c9d", 1119 | "sha256:1edc172dcca3f11b38a9d5c7505c83c1913c0addc99cd28e993efeaafdfaa18d", 1120 | "sha256:211fcd65c58bf250fb994b53bc45a442ddc9f441f6fec53e65de8cba48ded986", 1121 | "sha256:29e0656d5497733dcddc21797da5a2ab990c0cb9719f1f969e58a4abac66234d", 1122 | "sha256:368bcf400247318382cc150aaa632582d0780b28ee6053cd80268c7e72796dec", 1123 | "sha256:39d5493c5ecd75c8093fa7700a2fb5c94fe28c839c8e40144b7ab7ccba6938c8", 1124 | "sha256:3abddf0b8e41445426d29f955b24aeecc83fa1072be1be4e0d194134a7d9baee", 1125 | "sha256:3bf8cfe8856708ede6a73907bf0501f2dc4e104085e070a41f5d88e7faf237f3", 1126 | "sha256:3ec1d9a0d7780416e657f1e405ba35ec1ba453a4f1511eb8b9fbab81cb8b3ce1", 1127 | "sha256:45399b46d60c253327a460e99856752009fcee5f5d3c80b2f7c0cae1c38d56dd", 1128 | "sha256:52690eb521d690ab041c3919666bea13ab9fbff80d615ec16fa81a297131276b", 1129 | "sha256:534b047277a9a19d858cde163aba93f3e1677d5acd92f7d10ace419d478540de", 1130 | "sha256:580c1f15500e137a8c37053e4cbf6058944d4c114701fa59944607505c2fe3a0", 1131 | "sha256:59218fef177296451b23214c91ea3aba7858b4ae3306dde120224cfe0f7a6ee8", 1132 | "sha256:5ba63585a89c9885f18331a55d25fe81dc2d82b71311ff8bd378fc8004202ff6", 1133 | "sha256:5bb7d54b8f61ba6eee541fba4b83d22b8a046b4ef4d8eb7f15a7e35db2e1e245", 1134 | "sha256:6152224d0a1eb254f97df3997d79dadd8bb2c1a02ef283dbb34b97d4f8492d23", 1135 | "sha256:67e94028817defe5e705079b10a8438b8cb56e7115fa01640e9c0bb3edf67332", 1136 | "sha256:695ba021a9e04418507fa930d5f0704edbce47076bdcfeeaba1c83683e5649d1", 1137 | "sha256:6a1a9fe17621af43e9b9fcea8bd088ba682c8192d744b386ee3c47b56eaabb2c", 1138 | "sha256:6ab0c3274d0a846840bf6c27d2c60ba771a12e4d7586bf550eefc2df0b56b3b4", 1139 | "sha256:6feca8b6bfb9eef6ee057628e71e1734caf520a907b6ec0d62839e8293e945c0", 1140 | "sha256:737e401cd0c493f7e3dd4db72aca11cfe069531c9761b8ea474926936b3c57c8", 1141 | "sha256:788713c2896f426a4e166b11f4ec538b5736294ebf7d5f654ae445fd44270832", 1142 | "sha256:797c2c412b04403d2da075fb93c123df35239cd7b4cc4e0cd9e5839b73f52c58", 1143 | "sha256:8300401dc88cad23f5b4e4c1226f44a5aa696436a4026e456fe0e5d2f7f486e6", 1144 | "sha256:87f6e082bce21464857ba58b569370e7b547d239ca22248be68ea5d6b51464a1", 1145 | "sha256:89ccbf58e6a0ab89d487c92a490cb5660d06c3a47ca08872859672f9c511fc52", 1146 | "sha256:8b0915ee85150963a9504c10de4e4729ae700af11df0dc5550e6587ed7891e92", 1147 | "sha256:8cce6f9fa3df25f55521fbb5c7e4a736683148bcc0c75b21863789e5185f9185", 1148 | "sha256:95a1873b6c0dd1c437fb3bb4a4aaa699a48c218ac7ca1e74b0bee0ab16c7d60d", 1149 | "sha256:9b4c77d92d56a4c5027572752aa35082e40c561eec776048330d2907aead891d", 1150 | "sha256:9bfcd43c65fbb339dc7086b5315750efa42a34eefad0256ba114cd8ad3896f4b", 1151 | "sha256:9c1f083e7e71b2dd01f7cd7434a5f88c15213194df38bc29b388ccdf1492b739", 1152 | "sha256:a1d0894f238763717bdcfea74558c94e3bc34aeacd3351d769460c1a586a8b05", 1153 | "sha256:a467a431a0817a292121c13cbe637348b546e6ef47ca14a790aa2fa8cc93df63", 1154 | "sha256:aa32aaa97d8b2ed4e54dc65d241a0da1c627454950f7d7b1f95b13985afd6c5d", 1155 | "sha256:ac10bbac36cd89eac19f4e51c032ba6b412b3892b685076f4acd2de18ca990aa", 1156 | "sha256:ac35ccde589ab6a1870a484ed136d49a26bcd06b6a1c6397b1967ca13ceb3913", 1157 | "sha256:bab827163113177aee910adb1f48ff7af31ee0289f434f7e22d10baf624a6dfe", 1158 | "sha256:baf81561f2972fb895e7844882898bda1eef4b07b5b385bcd308d2098f1a767b", 1159 | "sha256:bf19725fec28452474d9887a128e98dd67eee7b7d52e932e6949c532d820dc3b", 1160 | "sha256:c01a89a44bb672c38f42b49cdb0ad667b116d731b3f4c896f72302ff77d71656", 1161 | "sha256:c0910c6b6c31359d2f6184828888c983d54d09d581a4a23547a35f1d0b9484b1", 1162 | "sha256:c10ea1e80a697cf7d80d1ed414b5cb8f1eec07d618f54637067ae3c0334133c4", 1163 | "sha256:c1164a2eac148d85bbdd23e07dfcc930f2e633220f3eb3c3e2a25f6148c2819e", 1164 | "sha256:c145ab54702334c42237a6c6c4cc08703b6aa9b94e2f227ceb3d477d20c36c63", 1165 | "sha256:c17965ff3706beedafd458c452bf15bac693ecd146a60a06a214614dc097a271", 1166 | "sha256:c19324a1c5399b602f3b6e7db9478e5b1adf5cf58901996fc973fe4fccd73eed", 1167 | "sha256:c2a1ac41a6aa980db03d098a5531f13985edcb451bcd9d00670b03129922cd0d", 1168 | "sha256:c6ddcd80d79c96eb19c354d9dca95291589c5954099836b7c8d29278a7ec0bda", 1169 | "sha256:c9c6d927e098c2d360695f2e9d38870b2e92e0919be07dbe339aefa32a090265", 1170 | "sha256:cc8b7a7254c0fc3187d43d6cb54b5032d2365efd1df0cd1749c0c4df5f0ad45f", 1171 | "sha256:cff3ba513db55cc6a35076f32c4cdc27032bd075c9faef31fec749e64b45d26c", 1172 | "sha256:d260d4dc495c05d6600264a197d9d6f7fc9347f21d2594926202fd08cf89a8ba", 1173 | "sha256:d6f3d62e16c10e88d2168ba2d065aa374e3c538998ed04996cd373ff2036d64c", 1174 | "sha256:da6df107b9ccfe52d3a48165e48d72db0eca3e3029b5b8cb4fe6ee3cb870ba8b", 1175 | "sha256:dfe4b95b7e00c6635a72e2d00b478e8a28bfb122dc76349a06e20792eb53a523", 1176 | "sha256:e39378894ee6ae9f555ae2de332d513a5763276a9265f8e7cbaeb1b1ee74623a", 1177 | "sha256:ede3b46cdb719c794427dcce9d8beb4abe8b9aa1e97526cc20de9bd6583ad1ef", 1178 | "sha256:f2a8508f7350512434e41065684076f640ecce176d262a7d54f0da41d99c5a95", 1179 | "sha256:f44477ae29025d8ea87ec308539f95963ffdc31a82f42ca9deecf2d505242e72", 1180 | "sha256:f64394bd7ceef1237cc604b5a89bf748c95982a84bcd3c4bbeb40f685c810794", 1181 | "sha256:fc4dd8b01a8112809e6b636b00f487846956402834a7fd59d46d4f4267181c41", 1182 | "sha256:fce78593346c014d0d986b7ebc80d782b7f5e19843ca798ed62f8e3ba8728576", 1183 | "sha256:fd547ec596d90c8676e369dd8a581a21227fe9b4ad37d0dc7feb4ccf544c2d59" 1184 | ], 1185 | "markers": "python_version >= '3.6'", 1186 | "version": "==1.7.2" 1187 | }, 1188 | "zict": { 1189 | "hashes": [ 1190 | "sha256:15b2cc15f95a476fbe0623fd8f771e1e771310bf7a01f95412a0b605b6e47510", 1191 | "sha256:3b7cf8ba91fb81fbe525e5aeb37e71cded215c99e44335eec86fea2e3c43ef41" 1192 | ], 1193 | "version": "==2.1.0" 1194 | }, 1195 | "zipp": { 1196 | "hashes": [ 1197 | "sha256:9f50f446828eb9d45b267433fd3e9da8d801f614129124863f9c51ebceafb87d", 1198 | "sha256:b47250dd24f92b7dd6a0a8fc5244da14608f3ca90a5efcd37a3b1642fac9a375" 1199 | ], 1200 | "markers": "python_version < '3.10'", 1201 | "version": "==3.7.0" 1202 | } 1203 | }, 1204 | "develop": { 1205 | "attrs": { 1206 | "hashes": [ 1207 | "sha256:2d27e3784d7a565d36ab851fe94887c5eccd6a463168875832a1be79c82828b4", 1208 | "sha256:626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd" 1209 | ], 1210 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", 1211 | "version": "==21.4.0" 1212 | }, 1213 | "black": { 1214 | "hashes": [ 1215 | "sha256:07e5c049442d7ca1a2fc273c79d1aecbbf1bc858f62e8184abe1ad175c4f7cc2", 1216 | "sha256:0e21e1f1efa65a50e3960edd068b6ae6d64ad6235bd8bfea116a03b21836af71", 1217 | "sha256:1297c63b9e1b96a3d0da2d85d11cd9bf8664251fd69ddac068b98dc4f34f73b6", 1218 | "sha256:228b5ae2c8e3d6227e4bde5920d2fc66cc3400fde7bcc74f480cb07ef0b570d5", 1219 | "sha256:2d6f331c02f0f40aa51a22e479c8209d37fcd520c77721c034517d44eecf5912", 1220 | "sha256:2ff96450d3ad9ea499fc4c60e425a1439c2120cbbc1ab959ff20f7c76ec7e866", 1221 | "sha256:3524739d76b6b3ed1132422bf9d82123cd1705086723bc3e235ca39fd21c667d", 1222 | "sha256:35944b7100af4a985abfcaa860b06af15590deb1f392f06c8683b4381e8eeaf0", 1223 | "sha256:373922fc66676133ddc3e754e4509196a8c392fec3f5ca4486673e685a421321", 1224 | "sha256:5fa1db02410b1924b6749c245ab38d30621564e658297484952f3d8a39fce7e8", 1225 | "sha256:6f2f01381f91c1efb1451998bd65a129b3ed6f64f79663a55fe0e9b74a5f81fd", 1226 | "sha256:742ce9af3086e5bd07e58c8feb09dbb2b047b7f566eb5f5bc63fd455814979f3", 1227 | "sha256:7835fee5238fc0a0baf6c9268fb816b5f5cd9b8793423a75e8cd663c48d073ba", 1228 | "sha256:8871fcb4b447206904932b54b567923e5be802b9b19b744fdff092bd2f3118d0", 1229 | "sha256:a7c0192d35635f6fc1174be575cb7915e92e5dd629ee79fdaf0dcfa41a80afb5", 1230 | "sha256:b1a5ed73ab4c482208d20434f700d514f66ffe2840f63a6252ecc43a9bc77e8a", 1231 | "sha256:c8226f50b8c34a14608b848dc23a46e5d08397d009446353dad45e04af0c8e28", 1232 | "sha256:ccad888050f5393f0d6029deea2a33e5ae371fd182a697313bdbd835d3edaf9c", 1233 | "sha256:dae63f2dbf82882fa3b2a3c49c32bffe144970a573cd68d247af6560fc493ae1", 1234 | "sha256:e2f69158a7d120fd641d1fa9a921d898e20d52e44a74a6fbbcc570a62a6bc8ab", 1235 | "sha256:efbadd9b52c060a8fc3b9658744091cb33c31f830b3f074422ed27bad2b18e8f", 1236 | "sha256:f5660feab44c2e3cb24b2419b998846cbb01c23c7fe645fee45087efa3da2d61", 1237 | "sha256:fdb8754b453fb15fad3f72cd9cad3e16776f0964d67cf30ebcbf10327a3777a3" 1238 | ], 1239 | "index": "pypi", 1240 | "version": "==22.1.0" 1241 | }, 1242 | "cfgv": { 1243 | "hashes": [ 1244 | "sha256:c6a0883f3917a037485059700b9e75da2464e6c27051014ad85ba6aaa5884426", 1245 | "sha256:f5a830efb9ce7a445376bb66ec94c638a9787422f96264c98edc6bdeed8ab736" 1246 | ], 1247 | "markers": "python_full_version >= '3.6.1'", 1248 | "version": "==3.3.1" 1249 | }, 1250 | "click": { 1251 | "hashes": [ 1252 | "sha256:19a4baa64da924c5e0cd889aba8e947f280309f1a2ce0947a3e3a7bcb7cc72d6", 1253 | "sha256:977c213473c7665d3aa092b41ff12063227751c41d7b17165013e10069cc5cd2" 1254 | ], 1255 | "markers": "python_version >= '3.7'", 1256 | "version": "==8.1.0" 1257 | }, 1258 | "coverage": { 1259 | "extras": [ 1260 | "toml" 1261 | ], 1262 | "hashes": [ 1263 | "sha256:03e2a7826086b91ef345ff18742ee9fc47a6839ccd517061ef8fa1976e652ce9", 1264 | "sha256:07e6db90cd9686c767dcc593dff16c8c09f9814f5e9c51034066cad3373b914d", 1265 | "sha256:18d520c6860515a771708937d2f78f63cc47ab3b80cb78e86573b0a760161faf", 1266 | "sha256:1ebf730d2381158ecf3dfd4453fbca0613e16eaa547b4170e2450c9707665ce7", 1267 | "sha256:21b7745788866028adeb1e0eca3bf1101109e2dc58456cb49d2d9b99a8c516e6", 1268 | "sha256:26e2deacd414fc2f97dd9f7676ee3eaecd299ca751412d89f40bc01557a6b1b4", 1269 | "sha256:2c6dbb42f3ad25760010c45191e9757e7dce981cbfb90e42feef301d71540059", 1270 | "sha256:2fea046bfb455510e05be95e879f0e768d45c10c11509e20e06d8fcaa31d9e39", 1271 | "sha256:34626a7eee2a3da12af0507780bb51eb52dca0e1751fd1471d0810539cefb536", 1272 | "sha256:37d1141ad6b2466a7b53a22e08fe76994c2d35a5b6b469590424a9953155afac", 1273 | "sha256:46191097ebc381fbf89bdce207a6c107ac4ec0890d8d20f3360345ff5976155c", 1274 | "sha256:4dd8bafa458b5c7d061540f1ee9f18025a68e2d8471b3e858a9dad47c8d41903", 1275 | "sha256:4e21876082ed887baed0146fe222f861b5815455ada3b33b890f4105d806128d", 1276 | "sha256:58303469e9a272b4abdb9e302a780072c0633cdcc0165db7eec0f9e32f901e05", 1277 | "sha256:5ca5aeb4344b30d0bec47481536b8ba1181d50dbe783b0e4ad03c95dc1296684", 1278 | "sha256:68353fe7cdf91f109fc7d474461b46e7f1f14e533e911a2a2cbb8b0fc8613cf1", 1279 | "sha256:6f89d05e028d274ce4fa1a86887b071ae1755082ef94a6740238cd7a8178804f", 1280 | "sha256:7a15dc0a14008f1da3d1ebd44bdda3e357dbabdf5a0b5034d38fcde0b5c234b7", 1281 | "sha256:8bdde1177f2311ee552f47ae6e5aa7750c0e3291ca6b75f71f7ffe1f1dab3dca", 1282 | "sha256:8ce257cac556cb03be4a248d92ed36904a59a4a5ff55a994e92214cde15c5bad", 1283 | "sha256:8cf5cfcb1521dc3255d845d9dca3ff204b3229401994ef8d1984b32746bb45ca", 1284 | "sha256:8fbbdc8d55990eac1b0919ca69eb5a988a802b854488c34b8f37f3e2025fa90d", 1285 | "sha256:9548f10d8be799551eb3a9c74bbf2b4934ddb330e08a73320123c07f95cc2d92", 1286 | "sha256:96f8a1cb43ca1422f36492bebe63312d396491a9165ed3b9231e778d43a7fca4", 1287 | "sha256:9b27d894748475fa858f9597c0ee1d4829f44683f3813633aaf94b19cb5453cf", 1288 | "sha256:9baff2a45ae1f17c8078452e9e5962e518eab705e50a0aa8083733ea7d45f3a6", 1289 | "sha256:a2a8b8bcc399edb4347a5ca8b9b87e7524c0967b335fbb08a83c8421489ddee1", 1290 | "sha256:acf53bc2cf7282ab9b8ba346746afe703474004d9e566ad164c91a7a59f188a4", 1291 | "sha256:b0be84e5a6209858a1d3e8d1806c46214e867ce1b0fd32e4ea03f4bd8b2e3359", 1292 | "sha256:b31651d018b23ec463e95cf10070d0b2c548aa950a03d0b559eaa11c7e5a6fa3", 1293 | "sha256:b78e5afb39941572209f71866aa0b206c12f0109835aa0d601e41552f9b3e620", 1294 | "sha256:c76aeef1b95aff3905fb2ae2d96e319caca5b76fa41d3470b19d4e4a3a313512", 1295 | "sha256:dd035edafefee4d573140a76fdc785dc38829fe5a455c4bb12bac8c20cfc3d69", 1296 | "sha256:dd6fe30bd519694b356cbfcaca9bd5c1737cddd20778c6a581ae20dc8c04def2", 1297 | "sha256:e5f4e1edcf57ce94e5475fe09e5afa3e3145081318e5fd1a43a6b4539a97e518", 1298 | "sha256:ec6bc7fe73a938933d4178c9b23c4e0568e43e220aef9472c4f6044bfc6dd0f0", 1299 | "sha256:f1555ea6d6da108e1999b2463ea1003fe03f29213e459145e70edbaf3e004aaa", 1300 | "sha256:f5fa5803f47e095d7ad8443d28b01d48c0359484fec1b9d8606d0e3282084bc4", 1301 | "sha256:f7331dbf301b7289013175087636bbaf5b2405e57259dd2c42fdcc9fcc47325e", 1302 | "sha256:f9987b0354b06d4df0f4d3e0ec1ae76d7ce7cbca9a2f98c25041eb79eec766f1", 1303 | "sha256:fd9e830e9d8d89b20ab1e5af09b32d33e1a08ef4c4e14411e559556fd788e6b2" 1304 | ], 1305 | "markers": "python_version >= '3.7'", 1306 | "version": "==6.3.2" 1307 | }, 1308 | "distlib": { 1309 | "hashes": [ 1310 | "sha256:6564fe0a8f51e734df6333d08b8b94d4ea8ee6b99b5ed50613f731fd4089f34b", 1311 | "sha256:e4b58818180336dc9c529bfb9a0b58728ffc09ad92027a3f30b7cd91e3458579" 1312 | ], 1313 | "version": "==0.3.4" 1314 | }, 1315 | "filelock": { 1316 | "hashes": [ 1317 | "sha256:9cd540a9352e432c7246a48fe4e8712b10acb1df2ad1f30e8c070b82ae1fed85", 1318 | "sha256:f8314284bfffbdcfa0ff3d7992b023d4c628ced6feb957351d4c48d059f56bc0" 1319 | ], 1320 | "markers": "python_version >= '3.7'", 1321 | "version": "==3.6.0" 1322 | }, 1323 | "flake8": { 1324 | "hashes": [ 1325 | "sha256:479b1304f72536a55948cb40a32dce8bb0ffe3501e26eaf292c7e60eb5e0428d", 1326 | "sha256:806e034dda44114815e23c16ef92f95c91e4c71100ff52813adf7132a6ad870d" 1327 | ], 1328 | "index": "pypi", 1329 | "version": "==4.0.1" 1330 | }, 1331 | "flake8-bugbear": { 1332 | "hashes": [ 1333 | "sha256:e0dc2a36474490d5b1a2d57f9e4ef570abc09f07cbb712b29802e28a2367ff19", 1334 | "sha256:ec5ec92195720cee1589315416b844ffa5e82f73a78e65329e8055322df1e939" 1335 | ], 1336 | "index": "pypi", 1337 | "version": "==22.3.23" 1338 | }, 1339 | "flake8-docstrings": { 1340 | "hashes": [ 1341 | "sha256:99cac583d6c7e32dd28bbfbef120a7c0d1b6dde4adb5a9fd441c4227a6534bde", 1342 | "sha256:9fe7c6a306064af8e62a055c2f61e9eb1da55f84bb39caef2b84ce53708ac34b" 1343 | ], 1344 | "index": "pypi", 1345 | "version": "==1.6.0" 1346 | }, 1347 | "identify": { 1348 | "hashes": [ 1349 | "sha256:3f3244a559290e7d3deb9e9adc7b33594c1bc85a9dd82e0f1be519bf12a1ec17", 1350 | "sha256:5f06b14366bd1facb88b00540a1de05b69b310cbc2654db3c7e07fa3a4339323" 1351 | ], 1352 | "markers": "python_version >= '3.7'", 1353 | "version": "==2.4.12" 1354 | }, 1355 | "idna": { 1356 | "hashes": [ 1357 | "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff", 1358 | "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d" 1359 | ], 1360 | "markers": "python_version >= '3'", 1361 | "version": "==3.3" 1362 | }, 1363 | "iniconfig": { 1364 | "hashes": [ 1365 | "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3", 1366 | "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32" 1367 | ], 1368 | "version": "==1.1.1" 1369 | }, 1370 | "mccabe": { 1371 | "hashes": [ 1372 | "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42", 1373 | "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f" 1374 | ], 1375 | "version": "==0.6.1" 1376 | }, 1377 | "multidict": { 1378 | "hashes": [ 1379 | "sha256:0327292e745a880459ef71be14e709aaea2f783f3537588fb4ed09b6c01bca60", 1380 | "sha256:041b81a5f6b38244b34dc18c7b6aba91f9cdaf854d9a39e5ff0b58e2b5773b9c", 1381 | "sha256:0556a1d4ea2d949efe5fd76a09b4a82e3a4a30700553a6725535098d8d9fb672", 1382 | "sha256:05f6949d6169878a03e607a21e3b862eaf8e356590e8bdae4227eedadacf6e51", 1383 | "sha256:07a017cfa00c9890011628eab2503bee5872f27144936a52eaab449be5eaf032", 1384 | "sha256:0b9e95a740109c6047602f4db4da9949e6c5945cefbad34a1299775ddc9a62e2", 1385 | "sha256:19adcfc2a7197cdc3987044e3f415168fc5dc1f720c932eb1ef4f71a2067e08b", 1386 | "sha256:19d9bad105dfb34eb539c97b132057a4e709919ec4dd883ece5838bcbf262b80", 1387 | "sha256:225383a6603c086e6cef0f2f05564acb4f4d5f019a4e3e983f572b8530f70c88", 1388 | "sha256:23b616fdc3c74c9fe01d76ce0d1ce872d2d396d8fa8e4899398ad64fb5aa214a", 1389 | "sha256:2957489cba47c2539a8eb7ab32ff49101439ccf78eab724c828c1a54ff3ff98d", 1390 | "sha256:2d36e929d7f6a16d4eb11b250719c39560dd70545356365b494249e2186bc389", 1391 | "sha256:2e4a0785b84fb59e43c18a015ffc575ba93f7d1dbd272b4cdad9f5134b8a006c", 1392 | "sha256:3368bf2398b0e0fcbf46d85795adc4c259299fec50c1416d0f77c0a843a3eed9", 1393 | "sha256:373ba9d1d061c76462d74e7de1c0c8e267e9791ee8cfefcf6b0b2495762c370c", 1394 | "sha256:4070613ea2227da2bfb2c35a6041e4371b0af6b0be57f424fe2318b42a748516", 1395 | "sha256:45183c96ddf61bf96d2684d9fbaf6f3564d86b34cb125761f9a0ef9e36c1d55b", 1396 | "sha256:4571f1beddff25f3e925eea34268422622963cd8dc395bb8778eb28418248e43", 1397 | "sha256:47e6a7e923e9cada7c139531feac59448f1f47727a79076c0b1ee80274cd8eee", 1398 | "sha256:47fbeedbf94bed6547d3aa632075d804867a352d86688c04e606971595460227", 1399 | "sha256:497988d6b6ec6ed6f87030ec03280b696ca47dbf0648045e4e1d28b80346560d", 1400 | "sha256:4bae31803d708f6f15fd98be6a6ac0b6958fcf68fda3c77a048a4f9073704aae", 1401 | "sha256:50bd442726e288e884f7be9071016c15a8742eb689a593a0cac49ea093eef0a7", 1402 | "sha256:514fe2b8d750d6cdb4712346a2c5084a80220821a3e91f3f71eec11cf8d28fd4", 1403 | "sha256:5774d9218d77befa7b70d836004a768fb9aa4fdb53c97498f4d8d3f67bb9cfa9", 1404 | "sha256:5fdda29a3c7e76a064f2477c9aab1ba96fd94e02e386f1e665bca1807fc5386f", 1405 | "sha256:5ff3bd75f38e4c43f1f470f2df7a4d430b821c4ce22be384e1459cb57d6bb013", 1406 | "sha256:626fe10ac87851f4cffecee161fc6f8f9853f0f6f1035b59337a51d29ff3b4f9", 1407 | "sha256:6701bf8a5d03a43375909ac91b6980aea74b0f5402fbe9428fc3f6edf5d9677e", 1408 | "sha256:684133b1e1fe91eda8fa7447f137c9490a064c6b7f392aa857bba83a28cfb693", 1409 | "sha256:6f3cdef8a247d1eafa649085812f8a310e728bdf3900ff6c434eafb2d443b23a", 1410 | "sha256:75bdf08716edde767b09e76829db8c1e5ca9d8bb0a8d4bd94ae1eafe3dac5e15", 1411 | "sha256:7c40b7bbece294ae3a87c1bc2abff0ff9beef41d14188cda94ada7bcea99b0fb", 1412 | "sha256:8004dca28e15b86d1b1372515f32eb6f814bdf6f00952699bdeb541691091f96", 1413 | "sha256:8064b7c6f0af936a741ea1efd18690bacfbae4078c0c385d7c3f611d11f0cf87", 1414 | "sha256:89171b2c769e03a953d5969b2f272efa931426355b6c0cb508022976a17fd376", 1415 | "sha256:8cbf0132f3de7cc6c6ce00147cc78e6439ea736cee6bca4f068bcf892b0fd658", 1416 | "sha256:9cc57c68cb9139c7cd6fc39f211b02198e69fb90ce4bc4a094cf5fe0d20fd8b0", 1417 | "sha256:a007b1638e148c3cfb6bf0bdc4f82776cef0ac487191d093cdc316905e504071", 1418 | "sha256:a2c34a93e1d2aa35fbf1485e5010337c72c6791407d03aa5f4eed920343dd360", 1419 | "sha256:a45e1135cb07086833ce969555df39149680e5471c04dfd6a915abd2fc3f6dbc", 1420 | "sha256:ac0e27844758d7177989ce406acc6a83c16ed4524ebc363c1f748cba184d89d3", 1421 | "sha256:aef9cc3d9c7d63d924adac329c33835e0243b5052a6dfcbf7732a921c6e918ba", 1422 | "sha256:b9d153e7f1f9ba0b23ad1568b3b9e17301e23b042c23870f9ee0522dc5cc79e8", 1423 | "sha256:bfba7c6d5d7c9099ba21f84662b037a0ffd4a5e6b26ac07d19e423e6fdf965a9", 1424 | "sha256:c207fff63adcdf5a485969131dc70e4b194327666b7e8a87a97fbc4fd80a53b2", 1425 | "sha256:d0509e469d48940147e1235d994cd849a8f8195e0bca65f8f5439c56e17872a3", 1426 | "sha256:d16cce709ebfadc91278a1c005e3c17dd5f71f5098bfae1035149785ea6e9c68", 1427 | "sha256:d48b8ee1d4068561ce8033d2c344cf5232cb29ee1a0206a7b828c79cbc5982b8", 1428 | "sha256:de989b195c3d636ba000ee4281cd03bb1234635b124bf4cd89eeee9ca8fcb09d", 1429 | "sha256:e07c8e79d6e6fd37b42f3250dba122053fddb319e84b55dd3a8d6446e1a7ee49", 1430 | "sha256:e2c2e459f7050aeb7c1b1276763364884595d47000c1cddb51764c0d8976e608", 1431 | "sha256:e5b20e9599ba74391ca0cfbd7b328fcc20976823ba19bc573983a25b32e92b57", 1432 | "sha256:e875b6086e325bab7e680e4316d667fc0e5e174bb5611eb16b3ea121c8951b86", 1433 | "sha256:f4f052ee022928d34fe1f4d2bc743f32609fb79ed9c49a1710a5ad6b2198db20", 1434 | "sha256:fcb91630817aa8b9bc4a74023e4198480587269c272c58b3279875ed7235c293", 1435 | "sha256:fd9fc9c4849a07f3635ccffa895d57abce554b467d611a5009ba4f39b78a8849", 1436 | "sha256:feba80698173761cddd814fa22e88b0661e98cb810f9f986c54aa34d281e4937", 1437 | "sha256:feea820722e69451743a3d56ad74948b68bf456984d63c1a92e8347b7b88452d" 1438 | ], 1439 | "markers": "python_version >= '3.7'", 1440 | "version": "==6.0.2" 1441 | }, 1442 | "mypy": { 1443 | "hashes": [ 1444 | "sha256:0e2dd88410937423fba18e57147dd07cd8381291b93d5b1984626f173a26543e", 1445 | "sha256:10daab80bc40f84e3f087d896cdb53dc811a9f04eae4b3f95779c26edee89d16", 1446 | "sha256:17e44649fec92e9f82102b48a3bf7b4a5510ad0cd22fa21a104826b5db4903e2", 1447 | "sha256:1a0459c333f00e6a11cbf6b468b870c2b99a906cb72d6eadf3d1d95d38c9352c", 1448 | "sha256:246e1aa127d5b78488a4a0594bd95f6d6fb9d63cf08a66dafbff8595d8891f67", 1449 | "sha256:2b184db8c618c43c3a31b32ff00cd28195d39e9c24e7c3b401f3db7f6e5767f5", 1450 | "sha256:2bc249409a7168d37c658e062e1ab5173300984a2dada2589638568ddc1db02b", 1451 | "sha256:3841b5433ff936bff2f4dc8d54cf2cdbfea5d8e88cedfac45c161368e5770ba6", 1452 | "sha256:4c3e497588afccfa4334a9986b56f703e75793133c4be3a02d06a3df16b67a58", 1453 | "sha256:5bf44840fb43ac4074636fd47ee476d73f0039f4f54e86d7265077dc199be24d", 1454 | "sha256:64235137edc16bee6f095aba73be5334677d6f6bdb7fa03cfab90164fa294a17", 1455 | "sha256:6776e5fa22381cc761df53e7496a805801c1a751b27b99a9ff2f0ca848c7eca0", 1456 | "sha256:6ce34a118d1a898f47def970a2042b8af6bdcc01546454726c7dd2171aa6dfca", 1457 | "sha256:6f6ad963172152e112b87cc7ec103ba0f2db2f1cd8997237827c052a3903eaa6", 1458 | "sha256:6f7106cbf9cc2f403693bf50ed7c9fa5bb3dfa9007b240db3c910929abe2a322", 1459 | "sha256:7742d2c4e46bb5017b51c810283a6a389296cda03df805a4f7869a6f41246534", 1460 | "sha256:9521c1265ccaaa1791d2c13582f06facf815f426cd8b07c3a485f486a8ffc1f3", 1461 | "sha256:a1b383fe99678d7402754fe90448d4037f9512ce70c21f8aee3b8bf48ffc51db", 1462 | "sha256:b840cfe89c4ab6386c40300689cd8645fc8d2d5f20101c7f8bd23d15fca14904", 1463 | "sha256:d8d3ba77e56b84cd47a8ee45b62c84b6d80d32383928fe2548c9a124ea0a725c", 1464 | "sha256:dcd955f36e0180258a96f880348fbca54ce092b40fbb4b37372ae3b25a0b0a46", 1465 | "sha256:e865fec858d75b78b4d63266c9aff770ecb6a39dfb6d6b56c47f7f8aba6baba8", 1466 | "sha256:edf7237137a1a9330046dbb14796963d734dd740a98d5e144a3eb1d267f5f9ee" 1467 | ], 1468 | "index": "pypi", 1469 | "version": "==0.942" 1470 | }, 1471 | "mypy-extensions": { 1472 | "hashes": [ 1473 | "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d", 1474 | "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8" 1475 | ], 1476 | "version": "==0.4.3" 1477 | }, 1478 | "nodeenv": { 1479 | "hashes": [ 1480 | "sha256:3ef13ff90291ba2a4a7a4ff9a979b63ffdd00a464dbe04acf0ea6471517a4c2b", 1481 | "sha256:621e6b7076565ddcacd2db0294c0381e01fd28945ab36bcf00f41c5daf63bef7" 1482 | ], 1483 | "version": "==1.6.0" 1484 | }, 1485 | "packaging": { 1486 | "hashes": [ 1487 | "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb", 1488 | "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522" 1489 | ], 1490 | "markers": "python_version >= '3.6'", 1491 | "version": "==21.3" 1492 | }, 1493 | "pathspec": { 1494 | "hashes": [ 1495 | "sha256:7d15c4ddb0b5c802d161efc417ec1a2558ea2653c2e8ad9c19098201dc1c993a", 1496 | "sha256:e564499435a2673d586f6b2130bb5b95f04a3ba06f81b8f895b651a3c76aabb1" 1497 | ], 1498 | "version": "==0.9.0" 1499 | }, 1500 | "platformdirs": { 1501 | "hashes": [ 1502 | "sha256:7535e70dfa32e84d4b34996ea99c5e432fa29a708d0f4e394bbcb2a8faa4f16d", 1503 | "sha256:bcae7cab893c2d310a711b70b24efb93334febe65f8de776ee320b517471e227" 1504 | ], 1505 | "markers": "python_version >= '3.7'", 1506 | "version": "==2.5.1" 1507 | }, 1508 | "pluggy": { 1509 | "hashes": [ 1510 | "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159", 1511 | "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3" 1512 | ], 1513 | "markers": "python_version >= '3.6'", 1514 | "version": "==1.0.0" 1515 | }, 1516 | "pre-commit": { 1517 | "hashes": [ 1518 | "sha256:725fa7459782d7bec5ead072810e47351de01709be838c2ce1726b9591dad616", 1519 | "sha256:c1a8040ff15ad3d648c70cc3e55b93e4d2d5b687320955505587fd79bbaed06a" 1520 | ], 1521 | "index": "pypi", 1522 | "version": "==2.17.0" 1523 | }, 1524 | "py": { 1525 | "hashes": [ 1526 | "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719", 1527 | "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378" 1528 | ], 1529 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", 1530 | "version": "==1.11.0" 1531 | }, 1532 | "pycodestyle": { 1533 | "hashes": [ 1534 | "sha256:720f8b39dde8b293825e7ff02c475f3077124006db4f440dcbc9a20b76548a20", 1535 | "sha256:eddd5847ef438ea1c7870ca7eb78a9d47ce0cdb4851a5523949f2601d0cbbe7f" 1536 | ], 1537 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", 1538 | "version": "==2.8.0" 1539 | }, 1540 | "pydocstyle": { 1541 | "hashes": [ 1542 | "sha256:1d41b7c459ba0ee6c345f2eb9ae827cab14a7533a88c5c6f7e94923f72df92dc", 1543 | "sha256:6987826d6775056839940041beef5c08cc7e3d71d63149b48e36727f70144dc4" 1544 | ], 1545 | "markers": "python_version >= '3.6'", 1546 | "version": "==6.1.1" 1547 | }, 1548 | "pyflakes": { 1549 | "hashes": [ 1550 | "sha256:05a85c2872edf37a4ed30b0cce2f6093e1d0581f8c19d7393122da7e25b2b24c", 1551 | "sha256:3bb3a3f256f4b7968c9c788781e4ff07dce46bdf12339dcda61053375426ee2e" 1552 | ], 1553 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", 1554 | "version": "==2.4.0" 1555 | }, 1556 | "pyparsing": { 1557 | "hashes": [ 1558 | "sha256:18ee9022775d270c55187733956460083db60b37d0d0fb357445f3094eed3eea", 1559 | "sha256:a6c06a88f252e6c322f65faf8f418b16213b51bdfaece0524c1c1bc30c63c484" 1560 | ], 1561 | "markers": "python_version >= '3.6'", 1562 | "version": "==3.0.7" 1563 | }, 1564 | "pytest": { 1565 | "hashes": [ 1566 | "sha256:841132caef6b1ad17a9afde46dc4f6cfa59a05f9555aae5151f73bdf2820ca63", 1567 | "sha256:92f723789a8fdd7180b6b06483874feca4c48a5c76968e03bb3e7f806a1869ea" 1568 | ], 1569 | "index": "pypi", 1570 | "version": "==7.1.1" 1571 | }, 1572 | "pytest-cov": { 1573 | "hashes": [ 1574 | "sha256:578d5d15ac4a25e5f961c938b85a05b09fdaae9deef3bb6de9a6e766622ca7a6", 1575 | "sha256:e7f0f5b1617d2210a2cabc266dfe2f4c75a8d32fb89eafb7ad9d06f6d076d470" 1576 | ], 1577 | "index": "pypi", 1578 | "version": "==3.0.0" 1579 | }, 1580 | "pytest-vcr": { 1581 | "hashes": [ 1582 | "sha256:23ee51b75abbcc43d926272773aae4f39f93aceb75ed56852d0bf618f92e1896", 1583 | "sha256:2f316e0539399bea0296e8b8401145c62b6f85e9066af7e57b6151481b0d6d9c" 1584 | ], 1585 | "index": "pypi", 1586 | "version": "==1.0.2" 1587 | }, 1588 | "pyyaml": { 1589 | "hashes": [ 1590 | "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293", 1591 | "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b", 1592 | "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57", 1593 | "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b", 1594 | "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4", 1595 | "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07", 1596 | "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba", 1597 | "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9", 1598 | "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287", 1599 | "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513", 1600 | "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0", 1601 | "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0", 1602 | "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92", 1603 | "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f", 1604 | "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2", 1605 | "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc", 1606 | "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c", 1607 | "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86", 1608 | "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4", 1609 | "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c", 1610 | "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34", 1611 | "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b", 1612 | "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c", 1613 | "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb", 1614 | "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737", 1615 | "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3", 1616 | "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d", 1617 | "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53", 1618 | "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78", 1619 | "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803", 1620 | "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a", 1621 | "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174", 1622 | "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5" 1623 | ], 1624 | "markers": "python_version >= '3.6'", 1625 | "version": "==6.0" 1626 | }, 1627 | "six": { 1628 | "hashes": [ 1629 | "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", 1630 | "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" 1631 | ], 1632 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'", 1633 | "version": "==1.16.0" 1634 | }, 1635 | "snowballstemmer": { 1636 | "hashes": [ 1637 | "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1", 1638 | "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a" 1639 | ], 1640 | "version": "==2.2.0" 1641 | }, 1642 | "toml": { 1643 | "hashes": [ 1644 | "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", 1645 | "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f" 1646 | ], 1647 | "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2'", 1648 | "version": "==0.10.2" 1649 | }, 1650 | "tomli": { 1651 | "hashes": [ 1652 | "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", 1653 | "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f" 1654 | ], 1655 | "markers": "python_version >= '3.7'", 1656 | "version": "==2.0.1" 1657 | }, 1658 | "typing-extensions": { 1659 | "hashes": [ 1660 | "sha256:1a9462dcc3347a79b1f1c0271fbe79e844580bb598bafa1ed208b94da3cdcd42", 1661 | "sha256:21c85e0fe4b9a155d0799430b0ad741cdce7e359660ccbd8b530613e8df88ce2" 1662 | ], 1663 | "markers": "python_version >= '3.6'", 1664 | "version": "==4.1.1" 1665 | }, 1666 | "vcrpy": { 1667 | "hashes": [ 1668 | "sha256:12c3fcdae7b88ecf11fc0d3e6d77586549d4575a2ceee18e82eee75c1f626162", 1669 | "sha256:57095bf22fc0a2d99ee9674cdafebed0f3ba763018582450706f7d3a74fff599" 1670 | ], 1671 | "markers": "python_version >= '3.5'", 1672 | "version": "==4.1.1" 1673 | }, 1674 | "virtualenv": { 1675 | "hashes": [ 1676 | "sha256:1e8588f35e8b42c6ec6841a13c5e88239de1e6e4e4cedfd3916b306dc826ec66", 1677 | "sha256:8e5b402037287126e81ccde9432b95a8be5b19d36584f64957060a3488c11ca8" 1678 | ], 1679 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", 1680 | "version": "==20.14.0" 1681 | }, 1682 | "wrapt": { 1683 | "hashes": [ 1684 | "sha256:00108411e0f34c52ce16f81f1d308a571df7784932cc7491d1e94be2ee93374b", 1685 | "sha256:01f799def9b96a8ec1ef6b9c1bbaf2bbc859b87545efbecc4a78faea13d0e3a0", 1686 | "sha256:09d16ae7a13cff43660155383a2372b4aa09109c7127aa3f24c3cf99b891c330", 1687 | "sha256:14e7e2c5f5fca67e9a6d5f753d21f138398cad2b1159913ec9e9a67745f09ba3", 1688 | "sha256:167e4793dc987f77fd476862d32fa404d42b71f6a85d3b38cbce711dba5e6b68", 1689 | "sha256:1807054aa7b61ad8d8103b3b30c9764de2e9d0c0978e9d3fc337e4e74bf25faa", 1690 | "sha256:1f83e9c21cd5275991076b2ba1cd35418af3504667affb4745b48937e214bafe", 1691 | "sha256:21b1106bff6ece8cb203ef45b4f5778d7226c941c83aaaa1e1f0f4f32cc148cd", 1692 | "sha256:22626dca56fd7f55a0733e604f1027277eb0f4f3d95ff28f15d27ac25a45f71b", 1693 | "sha256:23f96134a3aa24cc50614920cc087e22f87439053d886e474638c68c8d15dc80", 1694 | "sha256:2498762814dd7dd2a1d0248eda2afbc3dd9c11537bc8200a4b21789b6df6cd38", 1695 | "sha256:28c659878f684365d53cf59dc9a1929ea2eecd7ac65da762be8b1ba193f7e84f", 1696 | "sha256:2eca15d6b947cfff51ed76b2d60fd172c6ecd418ddab1c5126032d27f74bc350", 1697 | "sha256:354d9fc6b1e44750e2a67b4b108841f5f5ea08853453ecbf44c81fdc2e0d50bd", 1698 | "sha256:36a76a7527df8583112b24adc01748cd51a2d14e905b337a6fefa8b96fc708fb", 1699 | "sha256:3a0a4ca02752ced5f37498827e49c414d694ad7cf451ee850e3ff160f2bee9d3", 1700 | "sha256:3a71dbd792cc7a3d772ef8cd08d3048593f13d6f40a11f3427c000cf0a5b36a0", 1701 | "sha256:3a88254881e8a8c4784ecc9cb2249ff757fd94b911d5df9a5984961b96113fff", 1702 | "sha256:47045ed35481e857918ae78b54891fac0c1d197f22c95778e66302668309336c", 1703 | "sha256:4775a574e9d84e0212f5b18886cace049a42e13e12009bb0491562a48bb2b758", 1704 | "sha256:493da1f8b1bb8a623c16552fb4a1e164c0200447eb83d3f68b44315ead3f9036", 1705 | "sha256:4b847029e2d5e11fd536c9ac3136ddc3f54bc9488a75ef7d040a3900406a91eb", 1706 | "sha256:59d7d92cee84a547d91267f0fea381c363121d70fe90b12cd88241bd9b0e1763", 1707 | "sha256:5a0898a640559dec00f3614ffb11d97a2666ee9a2a6bad1259c9facd01a1d4d9", 1708 | "sha256:5a9a1889cc01ed2ed5f34574c90745fab1dd06ec2eee663e8ebeefe363e8efd7", 1709 | "sha256:5b835b86bd5a1bdbe257d610eecab07bf685b1af2a7563093e0e69180c1d4af1", 1710 | "sha256:5f24ca7953f2643d59a9c87d6e272d8adddd4a53bb62b9208f36db408d7aafc7", 1711 | "sha256:61e1a064906ccba038aa3c4a5a82f6199749efbbb3cef0804ae5c37f550eded0", 1712 | "sha256:65bf3eb34721bf18b5a021a1ad7aa05947a1767d1aa272b725728014475ea7d5", 1713 | "sha256:6807bcee549a8cb2f38f73f469703a1d8d5d990815c3004f21ddb68a567385ce", 1714 | "sha256:68aeefac31c1f73949662ba8affaf9950b9938b712fb9d428fa2a07e40ee57f8", 1715 | "sha256:6915682f9a9bc4cf2908e83caf5895a685da1fbd20b6d485dafb8e218a338279", 1716 | "sha256:6d9810d4f697d58fd66039ab959e6d37e63ab377008ef1d63904df25956c7db0", 1717 | "sha256:729d5e96566f44fccac6c4447ec2332636b4fe273f03da128fff8d5559782b06", 1718 | "sha256:748df39ed634851350efa87690c2237a678ed794fe9ede3f0d79f071ee042561", 1719 | "sha256:763a73ab377390e2af26042f685a26787c402390f682443727b847e9496e4a2a", 1720 | "sha256:8323a43bd9c91f62bb7d4be74cc9ff10090e7ef820e27bfe8815c57e68261311", 1721 | "sha256:8529b07b49b2d89d6917cfa157d3ea1dfb4d319d51e23030664a827fe5fd2131", 1722 | "sha256:87fa943e8bbe40c8c1ba4086971a6fefbf75e9991217c55ed1bcb2f1985bd3d4", 1723 | "sha256:88236b90dda77f0394f878324cfbae05ae6fde8a84d548cfe73a75278d760291", 1724 | "sha256:891c353e95bb11abb548ca95c8b98050f3620a7378332eb90d6acdef35b401d4", 1725 | "sha256:89ba3d548ee1e6291a20f3c7380c92f71e358ce8b9e48161401e087e0bc740f8", 1726 | "sha256:8c6be72eac3c14baa473620e04f74186c5d8f45d80f8f2b4eda6e1d18af808e8", 1727 | "sha256:9a242871b3d8eecc56d350e5e03ea1854de47b17f040446da0e47dc3e0b9ad4d", 1728 | "sha256:9a3ff5fb015f6feb78340143584d9f8a0b91b6293d6b5cf4295b3e95d179b88c", 1729 | "sha256:9a5a544861b21e0e7575b6023adebe7a8c6321127bb1d238eb40d99803a0e8bd", 1730 | "sha256:9d57677238a0c5411c76097b8b93bdebb02eb845814c90f0b01727527a179e4d", 1731 | "sha256:9d8c68c4145041b4eeae96239802cfdfd9ef927754a5be3f50505f09f309d8c6", 1732 | "sha256:9d9fcd06c952efa4b6b95f3d788a819b7f33d11bea377be6b8980c95e7d10775", 1733 | "sha256:a0057b5435a65b933cbf5d859cd4956624df37b8bf0917c71756e4b3d9958b9e", 1734 | "sha256:a65bffd24409454b889af33b6c49d0d9bcd1a219b972fba975ac935f17bdf627", 1735 | "sha256:b0ed6ad6c9640671689c2dbe6244680fe8b897c08fd1fab2228429b66c518e5e", 1736 | "sha256:b21650fa6907e523869e0396c5bd591cc326e5c1dd594dcdccac089561cacfb8", 1737 | "sha256:b3f7e671fb19734c872566e57ce7fc235fa953d7c181bb4ef138e17d607dc8a1", 1738 | "sha256:b77159d9862374da213f741af0c361720200ab7ad21b9f12556e0eb95912cd48", 1739 | "sha256:bb36fbb48b22985d13a6b496ea5fb9bb2a076fea943831643836c9f6febbcfdc", 1740 | "sha256:d066ffc5ed0be00cd0352c95800a519cf9e4b5dd34a028d301bdc7177c72daf3", 1741 | "sha256:d332eecf307fca852d02b63f35a7872de32d5ba8b4ec32da82f45df986b39ff6", 1742 | "sha256:d808a5a5411982a09fef6b49aac62986274ab050e9d3e9817ad65b2791ed1425", 1743 | "sha256:d9bdfa74d369256e4218000a629978590fd7cb6cf6893251dad13d051090436d", 1744 | "sha256:db6a0ddc1282ceb9032e41853e659c9b638789be38e5b8ad7498caac00231c23", 1745 | "sha256:debaf04f813ada978d7d16c7dfa16f3c9c2ec9adf4656efdc4defdf841fc2f0c", 1746 | "sha256:f0408e2dbad9e82b4c960274214af533f856a199c9274bd4aff55d4634dedc33", 1747 | "sha256:f2f3bc7cd9c9fcd39143f11342eb5963317bd54ecc98e3650ca22704b69d9653" 1748 | ], 1749 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", 1750 | "version": "==1.14.0" 1751 | }, 1752 | "yarl": { 1753 | "hashes": [ 1754 | "sha256:044daf3012e43d4b3538562da94a88fb12a6490652dbc29fb19adfa02cf72eac", 1755 | "sha256:0cba38120db72123db7c58322fa69e3c0efa933040ffb586c3a87c063ec7cae8", 1756 | "sha256:167ab7f64e409e9bdd99333fe8c67b5574a1f0495dcfd905bc7454e766729b9e", 1757 | "sha256:1be4bbb3d27a4e9aa5f3df2ab61e3701ce8fcbd3e9846dbce7c033a7e8136746", 1758 | "sha256:1ca56f002eaf7998b5fcf73b2421790da9d2586331805f38acd9997743114e98", 1759 | "sha256:1d3d5ad8ea96bd6d643d80c7b8d5977b4e2fb1bab6c9da7322616fd26203d125", 1760 | "sha256:1eb6480ef366d75b54c68164094a6a560c247370a68c02dddb11f20c4c6d3c9d", 1761 | "sha256:1edc172dcca3f11b38a9d5c7505c83c1913c0addc99cd28e993efeaafdfaa18d", 1762 | "sha256:211fcd65c58bf250fb994b53bc45a442ddc9f441f6fec53e65de8cba48ded986", 1763 | "sha256:29e0656d5497733dcddc21797da5a2ab990c0cb9719f1f969e58a4abac66234d", 1764 | "sha256:368bcf400247318382cc150aaa632582d0780b28ee6053cd80268c7e72796dec", 1765 | "sha256:39d5493c5ecd75c8093fa7700a2fb5c94fe28c839c8e40144b7ab7ccba6938c8", 1766 | "sha256:3abddf0b8e41445426d29f955b24aeecc83fa1072be1be4e0d194134a7d9baee", 1767 | "sha256:3bf8cfe8856708ede6a73907bf0501f2dc4e104085e070a41f5d88e7faf237f3", 1768 | "sha256:3ec1d9a0d7780416e657f1e405ba35ec1ba453a4f1511eb8b9fbab81cb8b3ce1", 1769 | "sha256:45399b46d60c253327a460e99856752009fcee5f5d3c80b2f7c0cae1c38d56dd", 1770 | "sha256:52690eb521d690ab041c3919666bea13ab9fbff80d615ec16fa81a297131276b", 1771 | "sha256:534b047277a9a19d858cde163aba93f3e1677d5acd92f7d10ace419d478540de", 1772 | "sha256:580c1f15500e137a8c37053e4cbf6058944d4c114701fa59944607505c2fe3a0", 1773 | "sha256:59218fef177296451b23214c91ea3aba7858b4ae3306dde120224cfe0f7a6ee8", 1774 | "sha256:5ba63585a89c9885f18331a55d25fe81dc2d82b71311ff8bd378fc8004202ff6", 1775 | "sha256:5bb7d54b8f61ba6eee541fba4b83d22b8a046b4ef4d8eb7f15a7e35db2e1e245", 1776 | "sha256:6152224d0a1eb254f97df3997d79dadd8bb2c1a02ef283dbb34b97d4f8492d23", 1777 | "sha256:67e94028817defe5e705079b10a8438b8cb56e7115fa01640e9c0bb3edf67332", 1778 | "sha256:695ba021a9e04418507fa930d5f0704edbce47076bdcfeeaba1c83683e5649d1", 1779 | "sha256:6a1a9fe17621af43e9b9fcea8bd088ba682c8192d744b386ee3c47b56eaabb2c", 1780 | "sha256:6ab0c3274d0a846840bf6c27d2c60ba771a12e4d7586bf550eefc2df0b56b3b4", 1781 | "sha256:6feca8b6bfb9eef6ee057628e71e1734caf520a907b6ec0d62839e8293e945c0", 1782 | "sha256:737e401cd0c493f7e3dd4db72aca11cfe069531c9761b8ea474926936b3c57c8", 1783 | "sha256:788713c2896f426a4e166b11f4ec538b5736294ebf7d5f654ae445fd44270832", 1784 | "sha256:797c2c412b04403d2da075fb93c123df35239cd7b4cc4e0cd9e5839b73f52c58", 1785 | "sha256:8300401dc88cad23f5b4e4c1226f44a5aa696436a4026e456fe0e5d2f7f486e6", 1786 | "sha256:87f6e082bce21464857ba58b569370e7b547d239ca22248be68ea5d6b51464a1", 1787 | "sha256:89ccbf58e6a0ab89d487c92a490cb5660d06c3a47ca08872859672f9c511fc52", 1788 | "sha256:8b0915ee85150963a9504c10de4e4729ae700af11df0dc5550e6587ed7891e92", 1789 | "sha256:8cce6f9fa3df25f55521fbb5c7e4a736683148bcc0c75b21863789e5185f9185", 1790 | "sha256:95a1873b6c0dd1c437fb3bb4a4aaa699a48c218ac7ca1e74b0bee0ab16c7d60d", 1791 | "sha256:9b4c77d92d56a4c5027572752aa35082e40c561eec776048330d2907aead891d", 1792 | "sha256:9bfcd43c65fbb339dc7086b5315750efa42a34eefad0256ba114cd8ad3896f4b", 1793 | "sha256:9c1f083e7e71b2dd01f7cd7434a5f88c15213194df38bc29b388ccdf1492b739", 1794 | "sha256:a1d0894f238763717bdcfea74558c94e3bc34aeacd3351d769460c1a586a8b05", 1795 | "sha256:a467a431a0817a292121c13cbe637348b546e6ef47ca14a790aa2fa8cc93df63", 1796 | "sha256:aa32aaa97d8b2ed4e54dc65d241a0da1c627454950f7d7b1f95b13985afd6c5d", 1797 | "sha256:ac10bbac36cd89eac19f4e51c032ba6b412b3892b685076f4acd2de18ca990aa", 1798 | "sha256:ac35ccde589ab6a1870a484ed136d49a26bcd06b6a1c6397b1967ca13ceb3913", 1799 | "sha256:bab827163113177aee910adb1f48ff7af31ee0289f434f7e22d10baf624a6dfe", 1800 | "sha256:baf81561f2972fb895e7844882898bda1eef4b07b5b385bcd308d2098f1a767b", 1801 | "sha256:bf19725fec28452474d9887a128e98dd67eee7b7d52e932e6949c532d820dc3b", 1802 | "sha256:c01a89a44bb672c38f42b49cdb0ad667b116d731b3f4c896f72302ff77d71656", 1803 | "sha256:c0910c6b6c31359d2f6184828888c983d54d09d581a4a23547a35f1d0b9484b1", 1804 | "sha256:c10ea1e80a697cf7d80d1ed414b5cb8f1eec07d618f54637067ae3c0334133c4", 1805 | "sha256:c1164a2eac148d85bbdd23e07dfcc930f2e633220f3eb3c3e2a25f6148c2819e", 1806 | "sha256:c145ab54702334c42237a6c6c4cc08703b6aa9b94e2f227ceb3d477d20c36c63", 1807 | "sha256:c17965ff3706beedafd458c452bf15bac693ecd146a60a06a214614dc097a271", 1808 | "sha256:c19324a1c5399b602f3b6e7db9478e5b1adf5cf58901996fc973fe4fccd73eed", 1809 | "sha256:c2a1ac41a6aa980db03d098a5531f13985edcb451bcd9d00670b03129922cd0d", 1810 | "sha256:c6ddcd80d79c96eb19c354d9dca95291589c5954099836b7c8d29278a7ec0bda", 1811 | "sha256:c9c6d927e098c2d360695f2e9d38870b2e92e0919be07dbe339aefa32a090265", 1812 | "sha256:cc8b7a7254c0fc3187d43d6cb54b5032d2365efd1df0cd1749c0c4df5f0ad45f", 1813 | "sha256:cff3ba513db55cc6a35076f32c4cdc27032bd075c9faef31fec749e64b45d26c", 1814 | "sha256:d260d4dc495c05d6600264a197d9d6f7fc9347f21d2594926202fd08cf89a8ba", 1815 | "sha256:d6f3d62e16c10e88d2168ba2d065aa374e3c538998ed04996cd373ff2036d64c", 1816 | "sha256:da6df107b9ccfe52d3a48165e48d72db0eca3e3029b5b8cb4fe6ee3cb870ba8b", 1817 | "sha256:dfe4b95b7e00c6635a72e2d00b478e8a28bfb122dc76349a06e20792eb53a523", 1818 | "sha256:e39378894ee6ae9f555ae2de332d513a5763276a9265f8e7cbaeb1b1ee74623a", 1819 | "sha256:ede3b46cdb719c794427dcce9d8beb4abe8b9aa1e97526cc20de9bd6583ad1ef", 1820 | "sha256:f2a8508f7350512434e41065684076f640ecce176d262a7d54f0da41d99c5a95", 1821 | "sha256:f44477ae29025d8ea87ec308539f95963ffdc31a82f42ca9deecf2d505242e72", 1822 | "sha256:f64394bd7ceef1237cc604b5a89bf748c95982a84bcd3c4bbeb40f685c810794", 1823 | "sha256:fc4dd8b01a8112809e6b636b00f487846956402834a7fd59d46d4f4267181c41", 1824 | "sha256:fce78593346c014d0d986b7ebc80d782b7f5e19843ca798ed62f8e3ba8728576", 1825 | "sha256:fd547ec596d90c8676e369dd8a581a21227fe9b4ad37d0dc7feb4ccf544c2d59" 1826 | ], 1827 | "markers": "python_version >= '3.6'", 1828 | "version": "==1.7.2" 1829 | } 1830 | } 1831 | } 1832 | --------------------------------------------------------------------------------