├── utils ├── __init__.py ├── fbprophet.py ├── yfinance.py ├── datetime.py ├── util.py └── plotly.py ├── .gitignore ├── Procfile ├── .streamlit └── config.toml ├── .travis.yml ├── Pipfile ├── ci └── setup.sh ├── main.py ├── README.md ├── requirements.txt ├── pylintrc └── Pipfile.lock /utils/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | notebooks 2 | -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- 1 | web: sh ci/setup.sh && pipenv run start 2 | -------------------------------------------------------------------------------- /.streamlit/config.toml: -------------------------------------------------------------------------------- 1 | [theme] 2 | primaryColor="#F63366" 3 | backgroundColor="#FFFFFF" 4 | secondaryBackgroundColor="#F0F2F6" 5 | textColor="#262730" 6 | font="sans serif" -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: python 2 | 3 | python: "3.9" 4 | 5 | install: 6 | - pip install pipenv 7 | - pipenv install --dev 8 | 9 | script: 10 | - pipenv run lint 11 | -------------------------------------------------------------------------------- /Pipfile: -------------------------------------------------------------------------------- 1 | [[source]] 2 | url = "https://pypi.org/simple" 3 | verify_ssl = true 4 | name = "pypi" 5 | 6 | [packages] 7 | streamlit = "*" 8 | yfinance = ">=0.1.63" 9 | fbprophet = "*" 10 | plotly = "*" 11 | pystan = "==2.19.1.1" 12 | 13 | [dev-packages] 14 | pylint = "*" 15 | 16 | [requires] 17 | python_version = "3.9" 18 | 19 | [scripts] 20 | start = "streamlit run main.py" 21 | lint = "pylint ./utils main.py" 22 | -------------------------------------------------------------------------------- /ci/setup.sh: -------------------------------------------------------------------------------- 1 | mkdir -p ~/.streamlit/ 2 | 3 | echo "\ 4 | [general]\n\ 5 | email = \"your-email@domain.com\"\n\ 6 | " > ~/.streamlit/credentials.toml 7 | 8 | echo "\ 9 | [server]\n\ 10 | headless = true\n\ 11 | enableCORS = false\n\ 12 | port = $PORT\n\ 13 | [theme]\n\ 14 | primaryColor=\"#F63366\"\n\ 15 | backgroundColor=\"#FFFFFF\"\n\ 16 | secondaryBackgroundColor=\"#F0F2F6\"\n\ 17 | textColor=\"#262730\"\n\ 18 | font=\"sans serif\"\n\ 19 | " > ~/.streamlit/config.toml 20 | -------------------------------------------------------------------------------- /utils/fbprophet.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Simple fbprophet helpers 3 | ''' 4 | from fbprophet import Prophet 5 | import streamlit as st 6 | 7 | @st.cache 8 | def forecast_raw(data, duration): 9 | time_column = 'Datetime' if 'Datetime' in data.columns else 'Date' 10 | if time_column == 'Datetime': 11 | data[time_column] = data[time_column].dt.tz_localize(None) 12 | df_train = data[[time_column, 'Close']]\ 13 | .rename(columns={time_column: 'ds', 'Close': 'y'}) 14 | m = Prophet() 15 | m.fit(df_train) 16 | future = m.make_future_dataframe(duration.days) 17 | return m, m.predict(future) 18 | -------------------------------------------------------------------------------- /utils/yfinance.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Simple yfinance helpers 3 | ''' 4 | import yfinance as yf 5 | import streamlit as st 6 | from utils.datetime import smallest_interval, TODAY 7 | 8 | DATE_FORMAT = '%Y-%m-%d' 9 | INDICES = ['BTC-USD', '^GSPC', '^IXIC', '^FTSE'] 10 | DATE_FORMAT = '%Y-%m-%d' 11 | 12 | @st.cache(allow_output_mutation=True) 13 | def load_data(ticker, start): 14 | return yf.download(ticker, start.strftime(DATE_FORMAT), 15 | TODAY.strftime(DATE_FORMAT), 16 | interval=smallest_interval(start)).reset_index() 17 | 18 | # Returns a list of data for popular stock indices 19 | def load_indices(start): 20 | load = lambda x: load_data(x, start) 21 | return dict(zip(INDICES, [load(index) for index in INDICES])) 22 | -------------------------------------------------------------------------------- /utils/datetime.py: -------------------------------------------------------------------------------- 1 | """ 2 | Simple datetime helpers 3 | """ 4 | from datetime import timedelta, date 5 | 6 | TODAY = date.today() 7 | TWO_DAYS_FROM_TODAY = TODAY + timedelta(days=2) 8 | SIXTY_DAYS_FROM_TODAY = TODAY + timedelta(days=60) 9 | TWO_YEARS_FROM_TODAY = TODAY + timedelta(days=730) 10 | 11 | def smallest_interval(start, end=TODAY): 12 | # valid intervals: [1m, 2m, 5m, 15m, 30m, 60m, 90m, 1h, 1d, 5d, 1wk, 1mo, 3mo] 13 | duration = end - start 14 | # wont be triggered currently. 15 | if duration <= timedelta(days=7): 16 | return "1m" 17 | if duration <= timedelta(days=60): 18 | return "5m" 19 | if duration <= timedelta(days=730): 20 | return "60m" 21 | return "1d" 22 | 23 | def data_start_date(end): 24 | return date.today() - (end - date.today()) * 6 25 | 26 | def total_duration(end): 27 | return end - TODAY 28 | -------------------------------------------------------------------------------- /utils/util.py: -------------------------------------------------------------------------------- 1 | ''' 2 | General utility helpers 3 | ''' 4 | import streamlit as st 5 | 6 | @st.cache(show_spinner=False) 7 | def scale_index_value(y, index_max, index_min, data_max, data_min): 8 | percentage_scale = (index_max / index_min) / (data_max / data_min) 9 | index_range = index_max - index_min 10 | data_range = data_max - data_min 11 | return ((y - index_min) * data_range) * percentage_scale / index_range \ 12 | + data_min 13 | 14 | @st.cache(show_spinner=False) 15 | def scale_index(index, data_max, data_min): 16 | # pylint: disable=too-many-function-args 17 | scale = lambda y: scale_index_value(y, max(index['Open']), min(index['Open']), 18 | data_max, data_min) 19 | index['ScaledOpen'] = index['Open'].apply(scale) 20 | index['MA5'] = index['ScaledOpen'].rolling(5, min_periods=1).mean() 21 | return index 22 | 23 | @st.cache(show_spinner=False) 24 | def scale_indices(indices, data): 25 | data_max = max(data['Open']) 26 | data_min = min(data['Open']) 27 | scale = lambda t: scale_index(indices[t], data_max, data_min) 28 | return { ticker: scale(ticker) for ticker in indices } 29 | -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | ''' 2 | App entrypoint 3 | ''' 4 | import streamlit as st 5 | 6 | # pylint: disable=wildcard-import unused-wildcard-import 7 | from utils.datetime import * 8 | from utils.yfinance import load_data, load_indices 9 | from utils.util import scale_indices 10 | from utils.fbprophet import forecast_raw 11 | from utils.plotly import live_plot, add_indices 12 | from fbprophet.plot import plot_plotly 13 | from plotly.subplots import make_subplots 14 | 15 | st.set_page_config(layout='wide') 16 | st.title('MUNE: Stock Analytics') 17 | ticker = st.text_input('Enter a ticker', 'SHOP') 18 | end_time = st.slider('Forecast end date:', TWO_DAYS_FROM_TODAY, 19 | TWO_YEARS_FROM_TODAY, value=SIXTY_DAYS_FROM_TODAY) 20 | 21 | load_state = st.text('Loading data...') 22 | 23 | data_start = data_start_date(end_time) 24 | data = load_data(ticker, data_start) 25 | indices_data = scale_indices(load_indices(data_start), data) 26 | 27 | st.subheader('Live Data') 28 | fig = make_subplots(specs=[[{'secondary_y': True}]]) 29 | fig = add_indices(fig, indices_data) 30 | live_fig = live_plot(fig, data) 31 | st.plotly_chart(live_fig, use_container_width=True) 32 | 33 | load_state.text('Loading data... Done!') 34 | 35 | 36 | load_state.text('Training data...') 37 | m, forecast = forecast_raw(data, total_duration(end_time)) 38 | load_state.text('Training data... Done!') 39 | 40 | st.subheader('Price Forecast') 41 | 42 | fig = plot_plotly(m, forecast) 43 | fig.update_layout(width=1900, height=600, 44 | margin={ 'l': 40, 'r': 40, 't': 10, 'b': 10 }) 45 | st.plotly_chart(fig, use_container_width=True) 46 | -------------------------------------------------------------------------------- /utils/plotly.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Simple plotly helpers 3 | ''' 4 | import plotly.graph_objects as go 5 | from itertools import cycle 6 | 7 | COLOR_CYCLE = cycle([ 8 | '#1f77b4', # ocean blue 9 | '#9467bd', # muted purple 10 | '#17becf', # lighter blue 11 | '#e377c2', # raspberry yogurt pink 12 | '#00cc96', # more or less green 13 | '#7f7f7f', # middle gray 14 | '#bcbd22', # curry yellow-green 15 | ]) 16 | 17 | def live_plot(fig, data): 18 | time_column = 'Datetime' if 'Datetime' in data.columns else 'Date' 19 | fig.add_trace(go.Bar( 20 | name = 'volume', x = data[time_column], showlegend=False, 21 | y=data['Volume']), secondary_y=False) 22 | fig.add_trace(go.Candlestick( 23 | name = 'live data', 24 | x = data[time_column], showlegend=False, 25 | open = data['Open'], high = data['High'], 26 | low = data['Low'], close=data['Close']), 27 | secondary_y = True) 28 | fig.layout.yaxis2.showgrid=False 29 | hide_range = [dict(bounds=['sat', 'mon'])] 30 | if time_column == 'Datetime': 31 | hide_range.append(dict(bounds=[16, 9.5], pattern='hour')) 32 | fig.update_xaxes( 33 | rangeslider_visible=False, 34 | rangebreaks=hide_range) 35 | fig.update_layout(legend=dict( 36 | orientation='h', 37 | yanchor='bottom', 38 | y=1.02, 39 | xanchor='right', 40 | x=1 41 | )) 42 | fig.update_layout(width=1900, height=600, 43 | margin={ 'l': 40, 'r': 40, 't': 0, 'b': 10 }) 44 | fig.data[len(fig.data) - 1].increasing.line.color = '#26a69a' 45 | fig.data[len(fig.data) - 1].decreasing.line.color = '#ef5350' 46 | return fig 47 | 48 | def add_indices(fig, indices): 49 | for (ticker, index) in indices.items(): 50 | time_column = 'Datetime' if 'Datetime' in index.columns else 'Date' 51 | color = next(COLOR_CYCLE) 52 | fig.add_trace(go.Scatter( 53 | name=f'{ticker} scaled open', 54 | x = index[time_column], y=index['ScaledOpen'], mode='markers', 55 | marker=dict(opacity=0.3, size=4, color=color), showlegend=False), 56 | secondary_y = True) 57 | fig.add_trace(go.Scatter( 58 | name=f'{ticker} MA5', x = index[time_column], y=index['MA5'], 59 | mode='lines', connectgaps=True, line=dict(width=1.8, color=color)), 60 | secondary_y = True) 61 | return fig 62 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # mune · ![Production](https://pyheroku-badge.herokuapp.com/?app=mune-production) [![Open in Streamlit](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](https://share.streamlit.io/h-richard/mune/main/main.py) [![Build Status](https://travis-ci.com/H-Richard/mune.svg?branch=main)](https://travis-ci.com/H-Richard/mune) [![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/) 2 | 3 | Mune is an open source python web application built to analyze stocks, named after [Homma Munehisa](https://en.wikipedia.org/wiki/Homma_Munehisa). Currently, the forecasting component is powered by [Prophet](https://github.com/facebook/prophet), but this is subject to change. 4 | 5 | 6 | ## Contents 7 | - [Development](#development) 8 | - [Contributing](#contributing) 9 | - [Deployment](#deployment) 10 | - [Features](#features) 11 | - [Backlog](#backlog) 12 | - [Known Issues](#known-issues) 13 | 14 | ## Development 15 | 16 | Currently, this project uses [pipenv](https://pypi.org/project/pipenv/) to manage dependencies, once installed run `pipenv install --dev` to install depdendencies. Then you can either run `pipenv shell` to activate the dev environment or run `pipenv run start` to start the app. Once the app is up and running, streamlit has an auto reload feature that makes development easy. 17 | 18 | Learn more about streamlit [here](https://streamlit.io/)! 19 | 20 | ## Contributing 21 | 22 | Feel free to open pull requests and raise new issues. 23 | 24 | All kinds of PRs are welcome, just make sure `pipenv run lint` passes :smile:. For high risk PRs, please make the base branch `staging` instead of `main`. 25 | 26 | ## Deployment 27 | 28 | Currently, `staging` and `main` are being auto deployed with heroku (only if travis is happy with the changes). See the **Environment** panel or click [here](https://github.com/H-Richard/mune/deployments) for the live instances as the urls are subject to change. 29 | 30 | Thanks to the invite to join [Streamlit Sharing](https://streamlit.io/sharing), this project is also now deployed on a much better cloud server, see the **Open in Streamlit** badge or click [here](https://share.streamlit.io/h-richard/mune/main/main.py). 31 | 32 | ## Features 33 | 34 | - basic time series forecasting 35 | - historical performance against indices 36 | 37 | ## Backlog 38 | 39 | - divident payout adjustments 40 | - warning against leveraged etfs 41 | - better caching 42 | - automated tests 43 | - improve chart performance 44 | 45 | ## Known Issues 46 | - pipenv fails to install `fbprophet` the first time, retry always works 47 | - code sucks 48 | - pineapples don't belong on pizza 49 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | # 2 | # These requirements were autogenerated by pipenv 3 | # To regenerate from the project's Pipfile, run: 4 | # 5 | # pipenv lock --requirements 6 | # 7 | 8 | -i https://pypi.org/simple 9 | altair==4.1.0; python_version >= '3.6' 10 | appnope==0.1.2; sys_platform == 'darwin' and platform_system == 'Darwin' 11 | argon2-cffi==20.1.0 12 | astor==0.8.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' 13 | attrs==21.2.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' 14 | backcall==0.2.0 15 | base58==2.1.0; python_version >= '3.5' 16 | bleach==4.0.0; python_version >= '3.6' 17 | blinker==1.4 18 | cachetools==4.2.2; python_version ~= '3.5' 19 | certifi==2021.5.30 20 | cffi==1.14.6 21 | charset-normalizer==2.0.4; python_version >= '3' 22 | click==7.1.2; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' 23 | cmdstanpy==0.9.5 24 | convertdate==2.3.2; python_version >= '3.5' 25 | cycler==0.10.0 26 | cython==0.29.24; python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3' 27 | debugpy==1.4.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' 28 | decorator==5.0.9; python_version >= '3.5' 29 | defusedxml==0.7.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' 30 | entrypoints==0.3; python_version >= '2.7' 31 | ephem==4.0.0.2 32 | fbprophet==0.7.1 33 | gitdb==4.0.7; python_version >= '3.4' 34 | gitpython==3.1.18; python_version >= '3.6' 35 | hijri-converter==2.2.0; python_version >= '3.6' 36 | holidays==0.11.2; python_version >= '3.6' 37 | idna==3.2; python_version >= '3' 38 | ipykernel==6.2.0; python_version >= '3.4' 39 | ipython-genutils==0.2.0 40 | ipython==7.26.0; python_version >= '3.3' 41 | ipywidgets==7.6.3 42 | jedi==0.18.0; python_version >= '3.6' 43 | jinja2==3.0.1; python_version >= '3.6' 44 | jsonschema==3.2.0 45 | jupyter-client==6.1.12; python_version >= '3.5' 46 | jupyter-core==4.7.1; python_version >= '3.6' 47 | jupyterlab-pygments==0.1.2 48 | jupyterlab-widgets==1.0.0; python_version >= '3.6' 49 | kiwisolver==1.3.1; python_version >= '3.6' 50 | korean-lunar-calendar==0.2.1 51 | lunarcalendar==0.0.9; python_version >= '2.7' and python_version < '4' 52 | lxml==4.6.3; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' 53 | markupsafe==2.0.1; python_version >= '3.6' 54 | matplotlib-inline==0.1.2; python_version >= '3.5' 55 | matplotlib==3.4.3; python_version >= '3.7' 56 | mistune==0.8.4 57 | multitasking==0.0.9 58 | nbclient==0.5.4; python_full_version >= '3.6.1' 59 | nbconvert==6.1.0; python_version >= '3.7' 60 | nbformat==5.1.3; python_version >= '3.5' 61 | nest-asyncio==1.5.1; python_version >= '3.5' 62 | notebook==6.4.3; python_version >= '3.6' 63 | numpy==1.21.2; python_version < '3.11' and python_version >= '3.7' 64 | packaging==21.0; python_version >= '3.6' 65 | pandas==1.3.2; python_full_version >= '3.7.1' 66 | pandocfilters==1.4.3 67 | parso==0.8.2; python_version >= '3.6' 68 | pexpect==4.8.0; sys_platform != 'win32' 69 | pickleshare==0.7.5 70 | pillow==8.3.1; python_version >= '3.6' 71 | plotly==5.2.1 72 | prometheus-client==0.11.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' 73 | prompt-toolkit==3.0.19; python_full_version >= '3.6.1' 74 | protobuf==3.17.3 75 | ptyprocess==0.7.0; os_name != 'nt' 76 | pyarrow==5.0.0; python_version >= '3.6' 77 | pycparser==2.20; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' 78 | pydeck==0.6.2 79 | pygments==2.10.0; python_version >= '3.5' 80 | pymeeus==0.5.11 81 | pyparsing==2.4.7; python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3' 82 | pyrsistent==0.18.0; python_version >= '3.6' 83 | pystan==2.19.1.1 84 | python-dateutil==2.8.2; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' 85 | pytz==2021.1 86 | pyzmq==22.2.1; python_version >= '3.6' 87 | requests==2.26.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5' 88 | send2trash==1.8.0 89 | setuptools-git==1.2 90 | six==1.16.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' 91 | smmap==4.0.0; python_version >= '3.5' 92 | streamlit==0.86.0 93 | tenacity==8.0.1; python_version >= '3.6' 94 | terminado==0.11.1; python_version >= '3.6' 95 | testpath==0.5.0; python_version >= '3.5' 96 | toml==0.10.2; python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3' 97 | toolz==0.11.1; python_version >= '3.5' 98 | tornado==6.1; python_version >= '3.5' 99 | tqdm==4.62.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' 100 | traitlets==5.0.5; python_version >= '3.7' 101 | tzlocal==3.0; python_version >= '3.6' 102 | urllib3==1.26.6; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4' 103 | validators==0.18.2; python_version >= '3.4' 104 | wcwidth==0.2.5 105 | webencodings==0.5.1 106 | widgetsnbextension==3.5.1 107 | yfinance==0.1.63 108 | -------------------------------------------------------------------------------- /pylintrc: -------------------------------------------------------------------------------- 1 | # This Pylint rcfile contains a best-effort configuration to uphold the 2 | # best-practices and style described in the Google Python style guide: 3 | # https://google.github.io/styleguide/pyguide.html 4 | # 5 | # Its canonical open-source location is: 6 | # https://google.github.io/styleguide/pylintrc 7 | 8 | [MASTER] 9 | 10 | # Files or directories to be skipped. They should be base names, not paths. 11 | ignore=third_party 12 | 13 | # Files or directories matching the regex patterns are skipped. The regex 14 | # matches against base names, not paths. 15 | ignore-patterns= 16 | 17 | # Pickle collected data for later comparisons. 18 | persistent=no 19 | 20 | # List of plugins (as comma separated values of python modules names) to load, 21 | # usually to register additional checkers. 22 | load-plugins= 23 | 24 | # Use multiple processes to speed up Pylint. 25 | jobs=4 26 | 27 | # Allow loading of arbitrary C extensions. Extensions are imported into the 28 | # active Python interpreter and may run arbitrary code. 29 | unsafe-load-any-extension=no 30 | 31 | 32 | [MESSAGES CONTROL] 33 | 34 | # Only show warnings with the listed confidence levels. Leave empty to show 35 | # all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED 36 | confidence= 37 | 38 | # Enable the message, report, category or checker with the given id(s). You can 39 | # either give multiple identifier separated by comma (,) or put this option 40 | # multiple time (only on the command line, not in the configuration file where 41 | # it should appear only once). See also the "--disable" option for examples. 42 | #enable= 43 | 44 | # Disable the message, report, category or checker with the given id(s). You 45 | # can either give multiple identifiers separated by comma (,) or put this 46 | # option multiple times (only on the command line, not in the configuration 47 | # file where it should appear only once).You can also use "--disable=all" to 48 | # disable everything first and then reenable specific checks. For example, if 49 | # you want to run only the similarities checker, you can use "--disable=all 50 | # --enable=similarities". If you want to run only the classes checker, but have 51 | # no Warning level messages displayed, use"--disable=all --enable=classes 52 | # --disable=W" 53 | disable=abstract-method, 54 | apply-builtin, 55 | arguments-differ, 56 | attribute-defined-outside-init, 57 | backtick, 58 | bad-option-value, 59 | basestring-builtin, 60 | buffer-builtin, 61 | c-extension-no-member, 62 | consider-using-enumerate, 63 | cmp-builtin, 64 | cmp-method, 65 | coerce-builtin, 66 | coerce-method, 67 | delslice-method, 68 | div-method, 69 | duplicate-code, 70 | eq-without-hash, 71 | execfile-builtin, 72 | file-builtin, 73 | filter-builtin-not-iterating, 74 | fixme, 75 | getslice-method, 76 | global-statement, 77 | hex-method, 78 | idiv-method, 79 | implicit-str-concat-in-sequence, 80 | import-error, 81 | import-self, 82 | import-star-module-level, 83 | inconsistent-return-statements, 84 | input-builtin, 85 | intern-builtin, 86 | invalid-str-codec, 87 | locally-disabled, 88 | long-builtin, 89 | long-suffix, 90 | map-builtin-not-iterating, 91 | misplaced-comparison-constant, 92 | missing-function-docstring, 93 | metaclass-assignment, 94 | next-method-called, 95 | next-method-defined, 96 | no-absolute-import, 97 | no-else-break, 98 | no-else-continue, 99 | no-else-raise, 100 | no-else-return, 101 | no-init, # added 102 | no-member, 103 | no-name-in-module, 104 | no-self-use, 105 | nonzero-method, 106 | oct-method, 107 | old-division, 108 | old-ne-operator, 109 | old-octal-literal, 110 | old-raise-syntax, 111 | parameter-unpacking, 112 | print-statement, 113 | raising-string, 114 | range-builtin-not-iterating, 115 | raw_input-builtin, 116 | rdiv-method, 117 | reduce-builtin, 118 | relative-import, 119 | reload-builtin, 120 | round-builtin, 121 | setslice-method, 122 | signature-differs, 123 | standarderror-builtin, 124 | suppressed-message, 125 | sys-max-int, 126 | too-few-public-methods, 127 | too-many-ancestors, 128 | too-many-arguments, 129 | too-many-boolean-expressions, 130 | too-many-branches, 131 | too-many-instance-attributes, 132 | too-many-locals, 133 | too-many-nested-blocks, 134 | too-many-public-methods, 135 | too-many-return-statements, 136 | too-many-statements, 137 | trailing-newlines, 138 | unichr-builtin, 139 | unicode-builtin, 140 | unnecessary-pass, 141 | unpacking-in-except, 142 | useless-else-on-loop, 143 | useless-object-inheritance, 144 | useless-suppression, 145 | using-cmp-argument, 146 | wrong-import-order, 147 | xrange-builtin, 148 | zip-builtin-not-iterating, 149 | 150 | 151 | [REPORTS] 152 | 153 | # Set the output format. Available formats are text, parseable, colorized, msvs 154 | # (visual studio) and html. You can also give a reporter class, eg 155 | # mypackage.mymodule.MyReporterClass. 156 | output-format=text 157 | 158 | # Put messages in a separate file for each module / package specified on the 159 | # command line instead of printing them on stdout. Reports (if any) will be 160 | # written in a file name "pylint_global.[txt|html]". This option is deprecated 161 | # and it will be removed in Pylint 2.0. 162 | files-output=no 163 | 164 | # Tells whether to display a full report or only the messages 165 | reports=no 166 | 167 | # Python expression which should return a note less than 10 (10 is the highest 168 | # note). You have access to the variables errors warning, statement which 169 | # respectively contain the number of errors / warnings messages and the total 170 | # number of statements analyzed. This is used by the global evaluation report 171 | # (RP0004). 172 | evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10) 173 | 174 | # Template used to display messages. This is a python new-style format string 175 | # used to format the message information. See doc for all details 176 | #msg-template= 177 | 178 | 179 | [BASIC] 180 | 181 | # Good variable names which should always be accepted, separated by a comma 182 | good-names=main,_ 183 | 184 | # Bad variable names which should always be refused, separated by a comma 185 | bad-names= 186 | 187 | # Colon-delimited sets of names that determine each other's naming style when 188 | # the name regexes allow several styles. 189 | name-group= 190 | 191 | # Include a hint for the correct naming format with invalid-name 192 | include-naming-hint=no 193 | 194 | # List of decorators that produce properties, such as abc.abstractproperty. Add 195 | # to this list to register other decorators that produce valid properties. 196 | property-classes=abc.abstractproperty,cached_property.cached_property,cached_property.threaded_cached_property,cached_property.cached_property_with_ttl,cached_property.threaded_cached_property_with_ttl 197 | 198 | # Regular expression matching correct function names 199 | function-rgx=^(?:(?PsetUp|tearDown|setUpModule|tearDownModule)|(?P_?[A-Z][a-zA-Z0-9]*)|(?P_?[a-z][a-z0-9_]*))$ 200 | 201 | # Regular expression matching correct variable names 202 | variable-rgx=^[a-z][a-z0-9_]*$ 203 | 204 | # Regular expression matching correct constant names 205 | const-rgx=^(_?[A-Z][A-Z0-9_]*|__[a-z0-9_]+__|_?[a-z][a-z0-9_]*)$ 206 | 207 | # Regular expression matching correct attribute names 208 | attr-rgx=^_{0,2}[a-z][a-z0-9_]*$ 209 | 210 | # Regular expression matching correct argument names 211 | argument-rgx=^[a-z][a-z0-9_]*$ 212 | 213 | # Regular expression matching correct class attribute names 214 | class-attribute-rgx=^(_?[A-Z][A-Z0-9_]*|__[a-z0-9_]+__|_?[a-z][a-z0-9_]*)$ 215 | 216 | # Regular expression matching correct inline iteration names 217 | inlinevar-rgx=^[a-z][a-z0-9_]*$ 218 | 219 | # Regular expression matching correct class names 220 | class-rgx=^_?[A-Z][a-zA-Z0-9]*$ 221 | 222 | # Regular expression matching correct module names 223 | module-rgx=^(_?[a-z][a-z0-9_]*|__init__)$ 224 | 225 | # Regular expression matching correct method names 226 | method-rgx=(?x)^(?:(?P_[a-z0-9_]+__|runTest|setUp|tearDown|setUpTestCase|tearDownTestCase|setupSelf|tearDownClass|setUpClass|(test|assert)_*[A-Z0-9][a-zA-Z0-9_]*|next)|(?P_{0,2}[A-Z][a-zA-Z0-9_]*)|(?P_{0,2}[a-z][a-z0-9_]*))$ 227 | 228 | # Regular expression which should only match function or class names that do 229 | # not require a docstring. 230 | no-docstring-rgx=(__.*__|main|test.*|.*test|.*Test)$ 231 | 232 | # Minimum line length for functions/classes that require docstrings, shorter 233 | # ones are exempt. 234 | docstring-min-length=10 235 | 236 | 237 | [TYPECHECK] 238 | 239 | # List of decorators that produce context managers, such as 240 | # contextlib.contextmanager. Add to this list to register other decorators that 241 | # produce valid context managers. 242 | contextmanager-decorators=contextlib.contextmanager,contextlib2.contextmanager 243 | 244 | # Tells whether missing members accessed in mixin class should be ignored. A 245 | # mixin class is detected if its name ends with "mixin" (case insensitive). 246 | ignore-mixin-members=yes 247 | 248 | # List of module names for which member attributes should not be checked 249 | # (useful for modules/projects where namespaces are manipulated during runtime 250 | # and thus existing member attributes cannot be deduced by static analysis. It 251 | # supports qualified module names, as well as Unix pattern matching. 252 | ignored-modules= 253 | 254 | # List of class names for which member attributes should not be checked (useful 255 | # for classes with dynamically set attributes). This supports the use of 256 | # qualified names. 257 | ignored-classes=optparse.Values,thread._local,_thread._local 258 | 259 | # List of members which are set dynamically and missed by pylint inference 260 | # system, and so shouldn't trigger E1101 when accessed. Python regular 261 | # expressions are accepted. 262 | generated-members= 263 | 264 | 265 | [FORMAT] 266 | 267 | # Maximum number of characters on a single line. 268 | max-line-length=80 269 | 270 | # TODO(https://github.com/PyCQA/pylint/issues/3352): Direct pylint to exempt 271 | # lines made too long by directives to pytype. 272 | 273 | # Regexp for a line that is allowed to be longer than the limit. 274 | ignore-long-lines=(?x)( 275 | ^\s*(\#\ )??$| 276 | ^\s*(from\s+\S+\s+)?import\s+.+$) 277 | 278 | # Allow the body of an if to be on the same line as the test if there is no 279 | # else. 280 | single-line-if-stmt=yes 281 | 282 | # List of optional constructs for which whitespace checking is disabled. `dict- 283 | # separator` is used to allow tabulation in dicts, etc.: {1 : 1,\n222: 2}. 284 | # `trailing-comma` allows a space between comma and closing bracket: (a, ). 285 | # `empty-line` allows space-only lines. 286 | no-space-check= 287 | 288 | # Maximum number of lines in a module 289 | max-module-lines=99999 290 | 291 | # String used as indentation unit. The internal Google style guide mandates 2 292 | # spaces. Google's externaly-published style guide says 4, consistent with 293 | # PEP 8. Here, we use 2 spaces, for conformity with many open-sourced Google 294 | # projects (like TensorFlow). 295 | indent-string=' ' 296 | 297 | # Number of spaces of indent required inside a hanging or continued line. 298 | indent-after-paren=4 299 | 300 | # Expected format of line ending, e.g. empty (any line ending), LF or CRLF. 301 | expected-line-ending-format= 302 | 303 | 304 | [MISCELLANEOUS] 305 | 306 | # List of note tags to take in consideration, separated by a comma. 307 | notes=TODO 308 | 309 | 310 | [STRING] 311 | 312 | # This flag controls whether inconsistent-quotes generates a warning when the 313 | # character used as a quote delimiter is used inconsistently within a module. 314 | check-quote-consistency=yes 315 | 316 | 317 | [VARIABLES] 318 | 319 | # Tells whether we should check for unused import in __init__ files. 320 | init-import=no 321 | 322 | # A regular expression matching the name of dummy variables (i.e. expectedly 323 | # not used). 324 | dummy-variables-rgx=^\*{0,2}(_$|unused_|dummy_) 325 | 326 | # List of additional names supposed to be defined in builtins. Remember that 327 | # you should avoid to define new builtins when possible. 328 | additional-builtins= 329 | 330 | # List of strings which can identify a callback function by name. A callback 331 | # name must start or end with one of those strings. 332 | callbacks=cb_,_cb 333 | 334 | # List of qualified module names which can have objects that can redefine 335 | # builtins. 336 | redefining-builtins-modules=six,six.moves,past.builtins,future.builtins,functools 337 | 338 | 339 | [LOGGING] 340 | 341 | # Logging modules to check that the string format arguments are in logging 342 | # function parameter format 343 | logging-modules=logging,absl.logging,tensorflow.io.logging 344 | 345 | 346 | [SIMILARITIES] 347 | 348 | # Minimum lines number of a similarity. 349 | min-similarity-lines=4 350 | 351 | # Ignore comments when computing similarities. 352 | ignore-comments=yes 353 | 354 | # Ignore docstrings when computing similarities. 355 | ignore-docstrings=yes 356 | 357 | # Ignore imports when computing similarities. 358 | ignore-imports=no 359 | 360 | 361 | [SPELLING] 362 | 363 | # Spelling dictionary name. Available dictionaries: none. To make it working 364 | # install python-enchant package. 365 | spelling-dict= 366 | 367 | # List of comma separated words that should not be checked. 368 | spelling-ignore-words= 369 | 370 | # A path to a file that contains private dictionary; one word per line. 371 | spelling-private-dict-file= 372 | 373 | # Tells whether to store unknown words to indicated private dictionary in 374 | # --spelling-private-dict-file option instead of raising a message. 375 | spelling-store-unknown-words=no 376 | 377 | 378 | [IMPORTS] 379 | 380 | # Deprecated modules which should not be used, separated by a comma 381 | deprecated-modules=regsub, 382 | TERMIOS, 383 | Bastion, 384 | rexec, 385 | sets 386 | 387 | # Create a graph of every (i.e. internal and external) dependencies in the 388 | # given file (report RP0402 must not be disabled) 389 | import-graph= 390 | 391 | # Create a graph of external dependencies in the given file (report RP0402 must 392 | # not be disabled) 393 | ext-import-graph= 394 | 395 | # Create a graph of internal dependencies in the given file (report RP0402 must 396 | # not be disabled) 397 | int-import-graph= 398 | 399 | # Force import order to recognize a module as part of the standard 400 | # compatibility libraries. 401 | known-standard-library= 402 | 403 | # Force import order to recognize a module as part of a third party library. 404 | known-third-party=enchant, absl 405 | 406 | # Analyse import fallback blocks. This can be used to support both Python 2 and 407 | # 3 compatible code, which means that the block might have code that exists 408 | # only in one or another interpreter, leading to false positives when analysed. 409 | analyse-fallback-blocks=no 410 | 411 | 412 | [CLASSES] 413 | 414 | # List of method names used to declare (i.e. assign) instance attributes. 415 | defining-attr-methods=__init__, 416 | __new__, 417 | setUp 418 | 419 | # List of member names, which should be excluded from the protected access 420 | # warning. 421 | exclude-protected=_asdict, 422 | _fields, 423 | _replace, 424 | _source, 425 | _make 426 | 427 | # List of valid names for the first argument in a class method. 428 | valid-classmethod-first-arg=cls, 429 | class_ 430 | 431 | # List of valid names for the first argument in a metaclass class method. 432 | valid-metaclass-classmethod-first-arg=mcs 433 | 434 | 435 | [EXCEPTIONS] 436 | 437 | # Exceptions that will emit a warning when being caught. Defaults to 438 | # "Exception" 439 | overgeneral-exceptions=StandardError, 440 | Exception, 441 | BaseException 442 | -------------------------------------------------------------------------------- /Pipfile.lock: -------------------------------------------------------------------------------- 1 | { 2 | "_meta": { 3 | "hash": { 4 | "sha256": "67b84a87ac69dac0fb3e1543735534d68d160dc0dccdfade6e83f97a21fb2bb8" 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 | "altair": { 20 | "hashes": [ 21 | "sha256:3edd30d4f4bb0a37278b72578e7e60bc72045a8e6704179e2f4738e35bc12931", 22 | "sha256:7748841a1bea8354173d1140bef6d3b58bea21d201f562528e9599ea384feb7f" 23 | ], 24 | "markers": "python_version >= '3.6'", 25 | "version": "==4.1.0" 26 | }, 27 | "appnope": { 28 | "hashes": [ 29 | "sha256:93aa393e9d6c54c5cd570ccadd8edad61ea0c4b9ea7a01409020c9aa019eb442", 30 | "sha256:dd83cd4b5b460958838f6eb3000c660b1f9caf2a5b1de4264e941512f603258a" 31 | ], 32 | "markers": "sys_platform == 'darwin' and platform_system == 'Darwin'", 33 | "version": "==0.1.2" 34 | }, 35 | "argon2-cffi": { 36 | "hashes": [ 37 | "sha256:05a8ac07c7026542377e38389638a8a1e9b78f1cd8439cd7493b39f08dd75fbf", 38 | "sha256:0bf066bc049332489bb2d75f69216416329d9dc65deee127152caeb16e5ce7d5", 39 | "sha256:18dee20e25e4be86680b178b35ccfc5d495ebd5792cd00781548d50880fee5c5", 40 | "sha256:36320372133a003374ef4275fbfce78b7ab581440dfca9f9471be3dd9a522428", 41 | "sha256:392c3c2ef91d12da510cfb6f9bae52512a4552573a9e27600bdb800e05905d2b", 42 | "sha256:3aa804c0e52f208973845e8b10c70d8957c9e5a666f702793256242e9167c4e0", 43 | "sha256:57358570592c46c420300ec94f2ff3b32cbccd10d38bdc12dc6979c4a8484fbc", 44 | "sha256:6678bb047373f52bcff02db8afab0d2a77d83bde61cfecea7c5c62e2335cb203", 45 | "sha256:6ea92c980586931a816d61e4faf6c192b4abce89aa767ff6581e6ddc985ed003", 46 | "sha256:77e909cc756ef81d6abb60524d259d959bab384832f0c651ed7dcb6e5ccdbb78", 47 | "sha256:7d455c802727710e9dfa69b74ccaab04568386ca17b0ad36350b622cd34606fe", 48 | "sha256:8282b84ceb46b5b75c3a882b28856b8cd7e647ac71995e71b6705ec06fc232c3", 49 | "sha256:8a84934bd818e14a17943de8099d41160da4a336bcc699bb4c394bbb9b94bd32", 50 | "sha256:9bee3212ba4f560af397b6d7146848c32a800652301843df06b9e8f68f0f7361", 51 | "sha256:9dfd5197852530294ecb5795c97a823839258dfd5eb9420233c7cfedec2058f2", 52 | "sha256:b160416adc0f012fb1f12588a5e6954889510f82f698e23ed4f4fa57f12a0647", 53 | "sha256:b94042e5dcaa5d08cf104a54bfae614be502c6f44c9c89ad1535b2ebdaacbd4c", 54 | "sha256:ba7209b608945b889457f949cc04c8e762bed4fe3fec88ae9a6b7765ae82e496", 55 | "sha256:cc0e028b209a5483b6846053d5fd7165f460a1f14774d79e632e75e7ae64b82b", 56 | "sha256:d8029b2d3e4b4cea770e9e5a0104dd8fa185c1724a0f01528ae4826a6d25f97d", 57 | "sha256:da7f0445b71db6d3a72462e04f36544b0de871289b0bc8a7cc87c0f5ec7079fa", 58 | "sha256:e2db6e85c057c16d0bd3b4d2b04f270a7467c147381e8fd73cbbe5bc719832be" 59 | ], 60 | "version": "==20.1.0" 61 | }, 62 | "astor": { 63 | "hashes": [ 64 | "sha256:070a54e890cefb5b3739d19f30f5a5ec840ffc9c50ffa7d23cc9fc1a38ebbfc5", 65 | "sha256:6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e" 66 | ], 67 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", 68 | "version": "==0.8.1" 69 | }, 70 | "attrs": { 71 | "hashes": [ 72 | "sha256:149e90d6d8ac20db7a955ad60cf0e6881a3f20d37096140088356da6c716b0b1", 73 | "sha256:ef6aaac3ca6cd92904cdd0d83f629a15f18053ec84e6432106f7a4d04ae4f5fb" 74 | ], 75 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", 76 | "version": "==21.2.0" 77 | }, 78 | "backcall": { 79 | "hashes": [ 80 | "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e", 81 | "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255" 82 | ], 83 | "version": "==0.2.0" 84 | }, 85 | "base58": { 86 | "hashes": [ 87 | "sha256:171a547b4a3c61e1ae3807224a6f7aec75e364c4395e7562649d7335768001a2", 88 | "sha256:8225891d501b68c843ffe30b86371f844a21c6ba00da76f52f9b998ba771fb48" 89 | ], 90 | "markers": "python_version >= '3.5'", 91 | "version": "==2.1.0" 92 | }, 93 | "bleach": { 94 | "hashes": [ 95 | "sha256:c1685a132e6a9a38bf93752e5faab33a9517a6c0bb2f37b785e47bf253bdb51d", 96 | "sha256:ffa9221c6ac29399cc50fcc33473366edd0cf8d5e2cbbbb63296dc327fb67cc8" 97 | ], 98 | "markers": "python_version >= '3.6'", 99 | "version": "==4.0.0" 100 | }, 101 | "blinker": { 102 | "hashes": [ 103 | "sha256:471aee25f3992bd325afa3772f1063dbdbbca947a041b8b89466dc00d606f8b6" 104 | ], 105 | "version": "==1.4" 106 | }, 107 | "cachetools": { 108 | "hashes": [ 109 | "sha256:2cc0b89715337ab6dbba85b5b50effe2b0c74e035d83ee8ed637cf52f12ae001", 110 | "sha256:61b5ed1e22a0924aed1d23b478f37e8d52549ff8a961de2909c69bf950020cff" 111 | ], 112 | "markers": "python_version ~= '3.5'", 113 | "version": "==4.2.2" 114 | }, 115 | "certifi": { 116 | "hashes": [ 117 | "sha256:2bbf76fd432960138b3ef6dda3dde0544f27cbf8546c458e60baf371917ba9ee", 118 | "sha256:50b1e4f8446b06f41be7dd6338db18e0990601dce795c2b1686458aa7e8fa7d8" 119 | ], 120 | "version": "==2021.5.30" 121 | }, 122 | "cffi": { 123 | "hashes": [ 124 | "sha256:06c54a68935738d206570b20da5ef2b6b6d92b38ef3ec45c5422c0ebaf338d4d", 125 | "sha256:0c0591bee64e438883b0c92a7bed78f6290d40bf02e54c5bf0978eaf36061771", 126 | "sha256:19ca0dbdeda3b2615421d54bef8985f72af6e0c47082a8d26122adac81a95872", 127 | "sha256:22b9c3c320171c108e903d61a3723b51e37aaa8c81255b5e7ce102775bd01e2c", 128 | "sha256:26bb2549b72708c833f5abe62b756176022a7b9a7f689b571e74c8478ead51dc", 129 | "sha256:33791e8a2dc2953f28b8d8d300dde42dd929ac28f974c4b4c6272cb2955cb762", 130 | "sha256:3c8d896becff2fa653dc4438b54a5a25a971d1f4110b32bd3068db3722c80202", 131 | "sha256:4373612d59c404baeb7cbd788a18b2b2a8331abcc84c3ba40051fcd18b17a4d5", 132 | "sha256:487d63e1454627c8e47dd230025780e91869cfba4c753a74fda196a1f6ad6548", 133 | "sha256:48916e459c54c4a70e52745639f1db524542140433599e13911b2f329834276a", 134 | "sha256:4922cd707b25e623b902c86188aca466d3620892db76c0bdd7b99a3d5e61d35f", 135 | "sha256:55af55e32ae468e9946f741a5d51f9896da6b9bf0bbdd326843fec05c730eb20", 136 | "sha256:57e555a9feb4a8460415f1aac331a2dc833b1115284f7ded7278b54afc5bd218", 137 | "sha256:5d4b68e216fc65e9fe4f524c177b54964af043dde734807586cf5435af84045c", 138 | "sha256:64fda793737bc4037521d4899be780534b9aea552eb673b9833b01f945904c2e", 139 | "sha256:6d6169cb3c6c2ad50db5b868db6491a790300ade1ed5d1da29289d73bbe40b56", 140 | "sha256:7bcac9a2b4fdbed2c16fa5681356d7121ecabf041f18d97ed5b8e0dd38a80224", 141 | "sha256:80b06212075346b5546b0417b9f2bf467fea3bfe7352f781ffc05a8ab24ba14a", 142 | "sha256:818014c754cd3dba7229c0f5884396264d51ffb87ec86e927ef0be140bfdb0d2", 143 | "sha256:8eb687582ed7cd8c4bdbff3df6c0da443eb89c3c72e6e5dcdd9c81729712791a", 144 | "sha256:99f27fefe34c37ba9875f224a8f36e31d744d8083e00f520f133cab79ad5e819", 145 | "sha256:9f3e33c28cd39d1b655ed1ba7247133b6f7fc16fa16887b120c0c670e35ce346", 146 | "sha256:a8661b2ce9694ca01c529bfa204dbb144b275a31685a075ce123f12331be790b", 147 | "sha256:a9da7010cec5a12193d1af9872a00888f396aba3dc79186604a09ea3ee7c029e", 148 | "sha256:aedb15f0a5a5949ecb129a82b72b19df97bbbca024081ed2ef88bd5c0a610534", 149 | "sha256:b315d709717a99f4b27b59b021e6207c64620790ca3e0bde636a6c7f14618abb", 150 | "sha256:ba6f2b3f452e150945d58f4badd92310449876c4c954836cfb1803bdd7b422f0", 151 | "sha256:c33d18eb6e6bc36f09d793c0dc58b0211fccc6ae5149b808da4a62660678b156", 152 | "sha256:c9a875ce9d7fe32887784274dd533c57909b7b1dcadcc128a2ac21331a9765dd", 153 | "sha256:c9e005e9bd57bc987764c32a1bee4364c44fdc11a3cc20a40b93b444984f2b87", 154 | "sha256:d2ad4d668a5c0645d281dcd17aff2be3212bc109b33814bbb15c4939f44181cc", 155 | "sha256:d950695ae4381ecd856bcaf2b1e866720e4ab9a1498cba61c602e56630ca7195", 156 | "sha256:e22dcb48709fc51a7b58a927391b23ab37eb3737a98ac4338e2448bef8559b33", 157 | "sha256:e8c6a99be100371dbb046880e7a282152aa5d6127ae01783e37662ef73850d8f", 158 | "sha256:e9dc245e3ac69c92ee4c167fbdd7428ec1956d4e754223124991ef29eb57a09d", 159 | "sha256:eb687a11f0a7a1839719edd80f41e459cc5366857ecbed383ff376c4e3cc6afd", 160 | "sha256:eb9e2a346c5238a30a746893f23a9535e700f8192a68c07c0258e7ece6ff3728", 161 | "sha256:ed38b924ce794e505647f7c331b22a693bee1538fdf46b0222c4717b42f744e7", 162 | "sha256:f0010c6f9d1a4011e429109fda55a225921e3206e7f62a0c22a35344bfd13cca", 163 | "sha256:f0c5d1acbfca6ebdd6b1e3eded8d261affb6ddcf2186205518f1428b8569bb99", 164 | "sha256:f10afb1004f102c7868ebfe91c28f4a712227fe4cb24974350ace1f90e1febbf", 165 | "sha256:f174135f5609428cc6e1b9090f9268f5c8935fddb1b25ccb8255a2d50de6789e", 166 | "sha256:f3ebe6e73c319340830a9b2825d32eb6d8475c1dac020b4f0aa774ee3b898d1c", 167 | "sha256:f627688813d0a4140153ff532537fbe4afea5a3dffce1f9deb7f91f848a832b5", 168 | "sha256:fd4305f86f53dfd8cd3522269ed7fc34856a8ee3709a5e28b2836b2db9d4cd69" 169 | ], 170 | "version": "==1.14.6" 171 | }, 172 | "charset-normalizer": { 173 | "hashes": [ 174 | "sha256:0c8911edd15d19223366a194a513099a302055a962bca2cec0f54b8b63175d8b", 175 | "sha256:f23667ebe1084be45f6ae0538e4a5a865206544097e4e8bbcacf42cd02a348f3" 176 | ], 177 | "markers": "python_version >= '3'", 178 | "version": "==2.0.4" 179 | }, 180 | "click": { 181 | "hashes": [ 182 | "sha256:d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a", 183 | "sha256:dacca89f4bfadd5de3d7489b7c8a566eee0d3676333fbb50030263894c38c0dc" 184 | ], 185 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", 186 | "version": "==7.1.2" 187 | }, 188 | "cmdstanpy": { 189 | "hashes": [ 190 | "sha256:916c40a4c10d513c88d8553728cfd87b12f600687d827019df9fff8648f6a18f", 191 | "sha256:ba60fb1f9daf9a33faabcbba935c247e3652ce850e9a71b07d085fa163e0edd9" 192 | ], 193 | "version": "==0.9.5" 194 | }, 195 | "convertdate": { 196 | "hashes": [ 197 | "sha256:57df962a6047534f1452c390ad48e3dc5c83052ad83ad6dd78d60ae22f99214c", 198 | "sha256:8f5e9efc2b71410d33217012c0a215f83463f765c94d5883bf656ce7a962b888" 199 | ], 200 | "markers": "python_version >= '3.5'", 201 | "version": "==2.3.2" 202 | }, 203 | "cycler": { 204 | "hashes": [ 205 | "sha256:1d8a5ae1ff6c5cf9b93e8811e581232ad8920aeec647c37316ceac982b08cb2d", 206 | "sha256:cd7b2d1018258d7247a71425e9f26463dfb444d411c39569972f4ce586b0c9d8" 207 | ], 208 | "version": "==0.10.0" 209 | }, 210 | "cython": { 211 | "hashes": [ 212 | "sha256:09ac3087ac7a3d489ebcb3fb8402e00c13d1a3a1c6bc73fd3b0d756a3e341e79", 213 | "sha256:0a142c6b862e6ed6b02209d543062c038c110585b5e32d1ad7c9717af4f07e41", 214 | "sha256:0d414458cb22f8a90d64260da6dace5d5fcebde43f31be52ca51f818c46db8cb", 215 | "sha256:10cb3def9774fa99e4583617a5616874aed3255dc241fd1f4a3c2978c78e1c53", 216 | "sha256:112efa54a58293a4fb0acf0dd8e5b3736e95b595eee24dd88615648e445abe41", 217 | "sha256:166f9f29cd0058ce1a14a7b3a2458b849ed34b1ec5fd4108af3fdd2c24afcbb0", 218 | "sha256:2d9e61ed1056a3b6a4b9156b62297ad18b357a7948e57a2f49b061217696567e", 219 | "sha256:2f41ef7edd76dd23315925e003f0c58c8585f3ab24be6885c4b3f60e77c82746", 220 | "sha256:37bcfa5df2a3009f49624695d917c3804fccbdfcdc5eda6378754a879711a4d5", 221 | "sha256:416046a98255eff97ec02077d20ebeaae52682dfca1c35aadf31260442b92514", 222 | "sha256:4cf4452f0e4d50e11701bca38f3857fe6fa16593e7fd6a4d5f7be66f611b7da2", 223 | "sha256:55b0ee28c2c8118bfb3ad9b25cf7a6cbd724e442ea96956e32ccd908d5e3e043", 224 | "sha256:5dd56d0be50073f0e54825a8bc3393852de0eed126339ecbca0ae149dba55cfc", 225 | "sha256:5fa12ebafc2f688ea6d26ab6d1d2e634a9872509ba7135b902bb0d8b368fb04b", 226 | "sha256:5fb977945a2111f6b64501fdf7ed0ec162cc502b84457fd648d6a558ea8de0d6", 227 | "sha256:60c958bcab0ff315b4036a949bed1c65334e1f6a69e17e9966d742febb59043a", 228 | "sha256:661dbdea519d9cfb288867252b75fef73ffa8e8bb674cec27acf70646afb369b", 229 | "sha256:6a2cf2ccccc25413864928dfd730c29db6f63eaf98206c1e600003a445ca7f58", 230 | "sha256:6ade74eece909fd3a437d9a5084829180751d7ade118e281e9824dd75eafaff2", 231 | "sha256:73ac33a4379056a02031baa4def255717fadb9181b5ac2b244792d53eae1c925", 232 | "sha256:76cbca0188d278e93d12ebdaf5990678e6e436485fdfad49dbe9b07717d41a3c", 233 | "sha256:774cb8fd931ee1ba52c472bc1c19077cd6895c1b24014ae07bb27df59aed5ebe", 234 | "sha256:821c2d416ad7d006b069657ee1034c0e0cb45bdbe9ab6ab631e8c495dfcfa4ac", 235 | "sha256:84826ec1c11cda56261a252ddecac0c7d6b02e47e81b94f40b27b4c23c29c17c", 236 | "sha256:854fe2193d3ad4c8b61932ff54d6dbe10c5fa8749eb8958d72cc0ab28243f833", 237 | "sha256:88dc3c250dec280b0489a83950b15809762e27232f4799b1b8d0bad503f5ab84", 238 | "sha256:8cb87777e82d1996aef6c146560a19270684271c9c669ba62ac6803b3cd2ff82", 239 | "sha256:91339ee4b465924a3ea4b2a9cec7f7227bc4cadf673ce859d24c2b9ef60b1214", 240 | "sha256:9164aeef1af6f837e4fc20402a31d256188ba4d535e262c6cb78caf57ad744f8", 241 | "sha256:a102cfa795c6b3b81a29bdb9dbec545367cd7f353c03e6f30a056fdfefd92854", 242 | "sha256:ad43e684ade673565f6f9d6638015112f6c7f11aa2a632167b79014f613f0f5f", 243 | "sha256:afb521523cb46ddaa8d269b421f88ea2731fee05e65b952b96d4db760f5a2a1c", 244 | "sha256:b28f92e617f540d3f21f8fd479a9c6491be920ffff672a4c61b7fc4d7f749f39", 245 | "sha256:bc05de569f811be1fcfde6756c9048ae518f0c4b6d9f8f024752c5365d934cac", 246 | "sha256:cdf04d07c3600860e8c2ebaad4e8f52ac3feb212453c1764a49ac08c827e8443", 247 | "sha256:d8d1a087f35e39384303f5e6b75d465d6f29d746d7138eae9d3b6e8e6f769eae", 248 | "sha256:eb2843f8cc01c645725e6fc690a84e99cdb266ce8ebe427cf3a680ff09f876aa", 249 | "sha256:f2e9381497b12e8f622af620bde0d1d094035d79b899abb2ddd3a7891f535083", 250 | "sha256:f96411f0120b5cae483923aaacd2872af8709be4b46522daedc32f051d778385" 251 | ], 252 | "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", 253 | "version": "==0.29.24" 254 | }, 255 | "debugpy": { 256 | "hashes": [ 257 | "sha256:00f9d14da52b87e98e26f5c3c8f1937cc496915b38f8ccb7b329336b21898678", 258 | "sha256:129312b01ec46ab303a8c0667d559a0de0bed1a394cc128039b6f008f1c376b7", 259 | "sha256:12cb415e7394c6738527cbc482935aa9414e9b4cc87dd040015d0e5cb8b4471a", 260 | "sha256:1762908202b0b0b481ec44125edb625d136d16c4991d3a7c1310c85672ffe5ba", 261 | "sha256:1bc8e835a48ef23280cbaf2b70a5a2b629b9ee79685b64d974bfb8d467f4aa67", 262 | "sha256:2bfda2721046fb43a7074d475a12adcd55a65bfd23a1ff675427b09a01ba40cc", 263 | "sha256:2d4c4ab934fbe1c7095d19b3d4246afe119396b49540ca5d5ad34ef01b27bd2a", 264 | "sha256:309909b6c85f89aea3fa10fc256b52fef3c25fee4d00e1b5f5db1ace57203a2c", 265 | "sha256:3756cd421be701d06490635372327ebd1ccb44b37d59682c994f6bd59e040a91", 266 | "sha256:399b2c60c8e67a5d30c6e4522129e8be8d484e6064286f8ba3ce857a3927312a", 267 | "sha256:3a6dee475102d0169732162b735878e8787500719ccb4d54b1458afe992a4c4d", 268 | "sha256:3d92cb2e8b4f9591f6d6e17ccf8c1a55a58857949d9a5aae0ff37b64faaa3b80", 269 | "sha256:4655824321b36b353b12d1617a29c79320412f085ecabf54524603b4c0c791e8", 270 | "sha256:4e0d57a8c35b20b4e363db943b909aa83f12594e2f34070a1db5fa9b7213336b", 271 | "sha256:52920ccb4acdbb2a9a42e0a4d60a7bbc4a34bf16fd23c674b280f8e9a8cacbd6", 272 | "sha256:595170ac17567773b546d40a0ff002dc350cfcd95c9233f65e79370954fb9a01", 273 | "sha256:67d496890d1cada5ce924cb30178684e7b82a36b80b8868beb148db54fd9e44c", 274 | "sha256:6bb62615b3ad3d7202b7b7eb85f3d000aa17a61303af5f11eab048c91a1f30a6", 275 | "sha256:71e67d352cabdc6a3f4dc3e39a1d2d1e76763a2102a276904e3495ede48a9832", 276 | "sha256:732ac8bb79694cb4127c08bfc6128274f3dee9e6fd2ddde7bf026a40efeb202d", 277 | "sha256:7376bd8f4272ab01342940bd020955f021e26954e1f0df91cfa8bf1fa4451b56", 278 | "sha256:768f393ffaa66a3b3ed92b06e21912a5df3e01f18fb531bcbba2f94cad1725a7", 279 | "sha256:7b332ce0d1a46f0f4200d59ee78428f18301d1fb85d07402723b94e1de96951c", 280 | "sha256:7b4e399790a301c83ad6b153452233695b2f15450d78956a6d297859eb44d185", 281 | "sha256:7e12e94aa2c9a0017c0a84cd475063108d06e305360b69c933bde17a6a527f80", 282 | "sha256:84ff51b8b5c847d5421324ca419db1eec813a4dd2bbf19dbbbe132e2ab2b2fc6", 283 | "sha256:86cd13162b752664e8ef048287a6973c8fba0a71f396b31cf36394880ec2a6bf", 284 | "sha256:889316de0b8ff3732927cb058cfbd3371e4cd0002ecc170d34c755ad289c867c", 285 | "sha256:89d53d57001e54a3854489e898c697aafb2d6bb81fca596da2400f3fd7fd397c", 286 | "sha256:8a2be4e5d696ad39be6c6c37dc580993d04aad7d893fd6e449e1a055d7b5dddb", 287 | "sha256:8e63585c372873cd88c2380c0b3c4815c724a9713f5b86d1b3a1f1ac30df079e", 288 | "sha256:939c94d516e6ed5433cc3ba12d9d0d8108499587158ae5f76f6db18d49e21b5b", 289 | "sha256:959d39f3d724d25b7ab79278f032e33df03c6376d51b3517abaf2f8e83594ee0", 290 | "sha256:9a0cd73d7a76222fbc9f9180612ccb4ad7d7f7e4f26e55ef1fbd459c0f2f5322", 291 | "sha256:9d559bd0e4c288487349e0723bc70ff06390638446ee8087d4d5711486119643", 292 | "sha256:a19def91a0a166877c2a26b611c1ad0473ce85b1df61ae5276197375d574228b", 293 | "sha256:a2c5a1c49239707ed5bc8e97d8f9252fb392d9e13c79c7b477593d7dde4ae24a", 294 | "sha256:a4368c79a2c4458d5a0540381a32f8fdc02b3c9ba9dd413a49b42929297b29b3", 295 | "sha256:a9f582203af34c6978bffaba77425662e949251998276e9dece113862e753459", 296 | "sha256:ab37f189b1dd0d8420545c9f3d066bd1601a1ae85b26de38f5c1ccb96cf0b042", 297 | "sha256:ac2d1cdd3279806dab2119937c0769f11dee13166650aaa84b6700b30a845d10", 298 | "sha256:bad668e9edb21199017ab31f52a05e14506ad6566110560796d2a8f258e0b819", 299 | "sha256:c5e771fcd12727f734caf2a10ff92966ae9857db0ccb6bebd1a4f776c54186a8", 300 | "sha256:c96e82d863db97d3eb498cc8e55773004724bdeaa58fb0eb7ee7d5a21d240d6a", 301 | "sha256:cd36e75c0f71a924f4b4cdb5f74b3321952cf636aadf70e0f85fd9cd2edfc1d0", 302 | "sha256:cf6b26f26f97ef3033008db7b3df7233363407d7b6cacd4bc4f8e02ce8e11df4", 303 | "sha256:d89ab3bd51d6a3f13b093bc3881a827d8f6c9588d9a493bddb3b47f9d078fd1d", 304 | "sha256:dea62527a4a2770a0d12ce46564636d892bba29baaf5dba5bfe98bb55bf17a11", 305 | "sha256:e47c42bc1a68ead3c39d9a658d3ccf311bc45dc84f3c90fa5cb7de1796243f47", 306 | "sha256:e6711106aafc26ecb78e43c4be0a49bd0ae4a1f3e1aa502de151e38f4717b2a2", 307 | "sha256:e7e049a4e8e362183a5a5b4ad058a1543211970819d0c11011c87c3a9dec2eaf", 308 | "sha256:ebc241351791595796864a960892e1cd58627064feda939d0377edd0730bbff2", 309 | "sha256:eee2224ce547d2958ffc0d63cd280a9cc6377043f32ce370cfe4ca6be4e05476", 310 | "sha256:f20a07ac5fb0deee9be1ad1a9a124d858a8b79c66c7ec5e1767d78aa964f86c4", 311 | "sha256:f77406f33760e6f13a7ff0ac375d9c8856844b61cd95f7502b57116858f0cfe1", 312 | "sha256:fece69933d17e0918b73ddeb5e23bcf789edd2a6eb0d438b09c40d51e76b9c74" 313 | ], 314 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", 315 | "version": "==1.4.1" 316 | }, 317 | "decorator": { 318 | "hashes": [ 319 | "sha256:6e5c199c16f7a9f0e3a61a4a54b3d27e7dad0dbdde92b944426cb20914376323", 320 | "sha256:72ecfba4320a893c53f9706bebb2d55c270c1e51a28789361aa93e4a21319ed5" 321 | ], 322 | "markers": "python_version >= '3.5'", 323 | "version": "==5.0.9" 324 | }, 325 | "defusedxml": { 326 | "hashes": [ 327 | "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69", 328 | "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61" 329 | ], 330 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", 331 | "version": "==0.7.1" 332 | }, 333 | "entrypoints": { 334 | "hashes": [ 335 | "sha256:589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19", 336 | "sha256:c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451" 337 | ], 338 | "markers": "python_version >= '2.7'", 339 | "version": "==0.3" 340 | }, 341 | "ephem": { 342 | "hashes": [ 343 | "sha256:029dff6d8212ea9c63a8e34d1e0e416833b6b1888642ee0b7c69eb983f55eda7", 344 | "sha256:02a0500965d624e0033f18e297afc80695f976d24eeb4f4c6c1c2edaae69d7df", 345 | "sha256:065e0a36886e4dd03e8f3ccda44112f24557838332e45ca7844dd03f5f95f393", 346 | "sha256:1066dd87d1d8a52cef8bed27c3135601d6124c5e9b25d989ab1f9f54461d674f", 347 | "sha256:1670ef5b538c5a011e0aed92f3f71ce21f973c097d21c3953e9da9ee6577f0b4", 348 | "sha256:1d5410a30977cc9c4b5d34b1fc9c450cfe3f0764c750fe8706276703ffb9faf4", 349 | "sha256:1d5e33e5dfbdcb3c185f2b138037ef54d4a258478704ca8206a82a41db6e41fe", 350 | "sha256:27fd1afa205b31fbfd3ed6618470b29738112b0bc07b330960ff95053446683e", 351 | "sha256:2d679fbbc87161a9d48f462f972ce58b39e46df6a1025f55462478e86098cc52", 352 | "sha256:32f534d418bd75d37fe9379508eef6bd58fdc4c6f5f8ccee8167a426c3dbae18", 353 | "sha256:375e486e45bbfe2fae98e063d1963bddfff05e160fb17191da61b6fb03e37516", 354 | "sha256:582ef4ffc52e9cb737291a4763aa28e3dfbad04d3713d88661311d8cfd9894c4", 355 | "sha256:65e5dad6f47932ebb1a0f91af67fa1d6ef4bdfa25035f978c6e33002607c62b9", 356 | "sha256:665485e788c7fc27d0885f8932346babe76d15def396179ead60ff7222b86165", 357 | "sha256:669a664e020eacffe244f053ebdb67a7c2a0bade0297a8d58f9494043126ccdc", 358 | "sha256:6732de67ea31d84ae091b1efb1a3c55eca6f0b9db2551f23e6fbe46cdb1340b0", 359 | "sha256:6dd2c480ec6193e5f13e182605b4a6aa2fc682b9d4b24c95b16eb8706b27d548", 360 | "sha256:6ddc93438de184b44397352fd204b6e08c264a70bf52862f1ae729a83f5b83cd", 361 | "sha256:7383a7e119eebce8e1153f7deff1ee0c764ef339b57e0efe9787b0a60a8bee46", 362 | "sha256:75736183d327da14afc99751bbdddc2bfa91b7f978f216f7ee7e404e8155903b", 363 | "sha256:7be194fba66d682ea7144b43b42ff936e1900c2b714afa3c9dd48f167be9ecc9", 364 | "sha256:86df088522ae40443649be14da0a584acc3c2e89676b523293437be9cf40908a", 365 | "sha256:8d7febea4305f9257c28fe002dba531d8ee0f136d0e681a03dd9449459ab4ccb", 366 | "sha256:a70b0b1d06256086422e2bb55fb8451bbd20c63144cba047cc174f4bb1035a61", 367 | "sha256:b33d79e92b9c5a5f4f65fe35b337ea743518307eb8cb6f41b77430673da35332", 368 | "sha256:be60729ca6569b1fbbdd34ad965f4d12aa739ce919b0b6182b0ac32c6fc2530a", 369 | "sha256:c67ada1549928228b885ffe7264bdcd99321e0eade410ce9d74018a6cd3cf422", 370 | "sha256:cc5fe92b349d072797d1297357a75f50daa662fca3c87fc0dcedb4edc5f39869", 371 | "sha256:cef85182ec6f724b961d48a609ac50b45aaafe0d6c4e988ad2a42856149e8280", 372 | "sha256:d03de73ebf6a91681d597eb5b5d43bcf6f0c67e292bba2f9a974734b4f15757e", 373 | "sha256:d21ec00ba43d7034dd51594339eab786930a6ae0569a4b168cbb20932be0671c", 374 | "sha256:dcd372ea57185ec12dc0bf9bc9fc57f00d8efd5291a742828731fb3840a789cb", 375 | "sha256:e10fc9715abcc924dfffcde8438a7e0afe574ee99afc945a729fa88739fc3289", 376 | "sha256:e1e4d92e04f187aaa1779f272778214b11f53456c0edbe29c7630a20fd5a29f0", 377 | "sha256:ea90124c1e23cc599757ddfbd34ecef7452b82d2205e1abdb5ad6880ae74942b", 378 | "sha256:ee47fcf845e94781672f84138e9d5b5f0ab3a9f46f8a63f6a49fddd9cb302cbc", 379 | "sha256:f1d9fec04e41a8b00e366ba9c2aece5a937cd36504173f6310e7aeb218c2fc2c", 380 | "sha256:f3461bdc9cbd986517379e16817a03ce2d579ab91f6b4dd9717e60a02a51a5ce", 381 | "sha256:f38cf6f3696ba3ea0829de0c1dcc2a729b45938b3fc22db4081858aae4bd5b92", 382 | "sha256:f5f76e5c65da92934946e76d093f68624645ba441102d7821a6d0f2d11ab655f", 383 | "sha256:fa2163ed6562521a261f42d8a07d2b50991511f3e0725b1f64c07889fc9414ab" 384 | ], 385 | "version": "==4.0.0.2" 386 | }, 387 | "fbprophet": { 388 | "hashes": [ 389 | "sha256:3ac63a05caf5117d9c6ed83fa6f9d4ffc207b60a56854c905f2789d8a89c2b6f" 390 | ], 391 | "index": "pypi", 392 | "version": "==0.7.1" 393 | }, 394 | "gitdb": { 395 | "hashes": [ 396 | "sha256:6c4cc71933456991da20917998acbe6cf4fb41eeaab7d6d67fbc05ecd4c865b0", 397 | "sha256:96bf5c08b157a666fec41129e6d327235284cca4c81e92109260f353ba138005" 398 | ], 399 | "markers": "python_version >= '3.4'", 400 | "version": "==4.0.7" 401 | }, 402 | "gitpython": { 403 | "hashes": [ 404 | "sha256:b838a895977b45ab6f0cc926a9045c8d1c44e2b653c1fcc39fe91f42c6e8f05b", 405 | "sha256:fce760879cd2aebd2991b3542876dc5c4a909b30c9d69dfc488e504a8db37ee8" 406 | ], 407 | "markers": "python_version >= '3.6'", 408 | "version": "==3.1.18" 409 | }, 410 | "hijri-converter": { 411 | "hashes": [ 412 | "sha256:db9a5f31c884254163af6a1c39be81c807a5e897ba9587624d6706dd1048f160", 413 | "sha256:f8a224c3227547e23f2931a2a6fca4d04c2ebb64a1ff626f754353f2fa08070e" 414 | ], 415 | "markers": "python_version >= '3.6'", 416 | "version": "==2.2.0" 417 | }, 418 | "holidays": { 419 | "hashes": [ 420 | "sha256:0dcbb52ba06ae4f3b85226734aa2cb34f99185e1ebb66c4e23a6b123b26cd3ae", 421 | "sha256:76e6932d437a4215e835ea884497102fd25676d0692d3de230578e6c8d551d5b" 422 | ], 423 | "markers": "python_version >= '3.6'", 424 | "version": "==0.11.2" 425 | }, 426 | "idna": { 427 | "hashes": [ 428 | "sha256:14475042e284991034cb48e06f6851428fb14c4dc953acd9be9a5e95c7b6dd7a", 429 | "sha256:467fbad99067910785144ce333826c71fb0e63a425657295239737f7ecd125f3" 430 | ], 431 | "markers": "python_version >= '3'", 432 | "version": "==3.2" 433 | }, 434 | "ipykernel": { 435 | "hashes": [ 436 | "sha256:35cc31accec420e90c4b66ea7f4e7b067c769e31af3502e45326c6f1294d238d", 437 | "sha256:4439459f171d77f35b7f7e72dace5d7c2dd10a5c9e2c22b173ad9048fbfe7656" 438 | ], 439 | "markers": "python_version >= '3.4'", 440 | "version": "==6.2.0" 441 | }, 442 | "ipython": { 443 | "hashes": [ 444 | "sha256:0cff04bb042800129348701f7bd68a430a844e8fb193979c08f6c99f28bb735e", 445 | "sha256:892743b65c21ed72b806a3a602cca408520b3200b89d1924f4b3d2cdb3692362" 446 | ], 447 | "markers": "python_version >= '3.3'", 448 | "version": "==7.26.0" 449 | }, 450 | "ipython-genutils": { 451 | "hashes": [ 452 | "sha256:72dd37233799e619666c9f639a9da83c34013a73e8bbc79a7a6348d93c61fab8", 453 | "sha256:eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8" 454 | ], 455 | "version": "==0.2.0" 456 | }, 457 | "ipywidgets": { 458 | "hashes": [ 459 | "sha256:9f1a43e620530f9e570e4a493677d25f08310118d315b00e25a18f12913c41f0", 460 | "sha256:e6513cfdaf5878de30f32d57f6dc2474da395a2a2991b94d487406c0ab7f55ca" 461 | ], 462 | "version": "==7.6.3" 463 | }, 464 | "jedi": { 465 | "hashes": [ 466 | "sha256:18456d83f65f400ab0c2d3319e48520420ef43b23a086fdc05dff34132f0fb93", 467 | "sha256:92550a404bad8afed881a137ec9a461fed49eca661414be45059329614ed0707" 468 | ], 469 | "markers": "python_version >= '3.6'", 470 | "version": "==0.18.0" 471 | }, 472 | "jinja2": { 473 | "hashes": [ 474 | "sha256:1f06f2da51e7b56b8f238affdd6b4e2c61e39598a378cc49345bc1bd42a978a4", 475 | "sha256:703f484b47a6af502e743c9122595cc812b0271f661722403114f71a79d0f5a4" 476 | ], 477 | "markers": "python_version >= '3.6'", 478 | "version": "==3.0.1" 479 | }, 480 | "jsonschema": { 481 | "hashes": [ 482 | "sha256:4e5b3cf8216f577bee9ce139cbe72eca3ea4f292ec60928ff24758ce626cd163", 483 | "sha256:c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a" 484 | ], 485 | "version": "==3.2.0" 486 | }, 487 | "jupyter-client": { 488 | "hashes": [ 489 | "sha256:c4bca1d0846186ca8be97f4d2fa6d2bae889cce4892a167ffa1ba6bd1f73e782", 490 | "sha256:e053a2c44b6fa597feebe2b3ecb5eea3e03d1d91cc94351a52931ee1426aecfc" 491 | ], 492 | "markers": "python_version >= '3.5'", 493 | "version": "==6.1.12" 494 | }, 495 | "jupyter-core": { 496 | "hashes": [ 497 | "sha256:79025cb3225efcd36847d0840f3fc672c0abd7afd0de83ba8a1d3837619122b4", 498 | "sha256:8c6c0cac5c1b563622ad49321d5ec47017bd18b94facb381c6973a0486395f8e" 499 | ], 500 | "markers": "python_version >= '3.6'", 501 | "version": "==4.7.1" 502 | }, 503 | "jupyterlab-pygments": { 504 | "hashes": [ 505 | "sha256:abfb880fd1561987efaefcb2d2ac75145d2a5d0139b1876d5be806e32f630008", 506 | "sha256:cfcda0873626150932f438eccf0f8bf22bfa92345b814890ab360d666b254146" 507 | ], 508 | "version": "==0.1.2" 509 | }, 510 | "jupyterlab-widgets": { 511 | "hashes": [ 512 | "sha256:5c1a29a84d3069208cb506b10609175b249b6486d6b1cbae8fcde2a11584fb78", 513 | "sha256:caeaf3e6103180e654e7d8d2b81b7d645e59e432487c1d35a41d6d3ee56b3fef" 514 | ], 515 | "markers": "python_version >= '3.6'", 516 | "version": "==1.0.0" 517 | }, 518 | "kiwisolver": { 519 | "hashes": [ 520 | "sha256:0cd53f403202159b44528498de18f9285b04482bab2a6fc3f5dd8dbb9352e30d", 521 | "sha256:1e1bc12fb773a7b2ffdeb8380609f4f8064777877b2225dec3da711b421fda31", 522 | "sha256:225e2e18f271e0ed8157d7f4518ffbf99b9450fca398d561eb5c4a87d0986dd9", 523 | "sha256:232c9e11fd7ac3a470d65cd67e4359eee155ec57e822e5220322d7b2ac84fbf0", 524 | "sha256:31dfd2ac56edc0ff9ac295193eeaea1c0c923c0355bf948fbd99ed6018010b72", 525 | "sha256:33449715e0101e4d34f64990352bce4095c8bf13bed1b390773fc0a7295967b3", 526 | "sha256:401a2e9afa8588589775fe34fc22d918ae839aaaf0c0e96441c0fdbce6d8ebe6", 527 | "sha256:44a62e24d9b01ba94ae7a4a6c3fb215dc4af1dde817e7498d901e229aaf50e4e", 528 | "sha256:50af681a36b2a1dee1d3c169ade9fdc59207d3c31e522519181e12f1b3ba7000", 529 | "sha256:563c649cfdef27d081c84e72a03b48ea9408c16657500c312575ae9d9f7bc1c3", 530 | "sha256:5989db3b3b34b76c09253deeaf7fbc2707616f130e166996606c284395da3f18", 531 | "sha256:5a7a7dbff17e66fac9142ae2ecafb719393aaee6a3768c9de2fd425c63b53e21", 532 | "sha256:5c3e6455341008a054cccee8c5d24481bcfe1acdbc9add30aa95798e95c65621", 533 | "sha256:5f6ccd3dd0b9739edcf407514016108e2280769c73a85b9e59aa390046dbf08b", 534 | "sha256:72c99e39d005b793fb7d3d4e660aed6b6281b502e8c1eaf8ee8346023c8e03bc", 535 | "sha256:78751b33595f7f9511952e7e60ce858c6d64db2e062afb325985ddbd34b5c131", 536 | "sha256:834ee27348c4aefc20b479335fd422a2c69db55f7d9ab61721ac8cd83eb78882", 537 | "sha256:8be8d84b7d4f2ba4ffff3665bcd0211318aa632395a1a41553250484a871d454", 538 | "sha256:950a199911a8d94683a6b10321f9345d5a3a8433ec58b217ace979e18f16e248", 539 | "sha256:a357fd4f15ee49b4a98b44ec23a34a95f1e00292a139d6015c11f55774ef10de", 540 | "sha256:a53d27d0c2a0ebd07e395e56a1fbdf75ffedc4a05943daf472af163413ce9598", 541 | "sha256:acef3d59d47dd85ecf909c359d0fd2c81ed33bdff70216d3956b463e12c38a54", 542 | "sha256:b38694dcdac990a743aa654037ff1188c7a9801ac3ccc548d3341014bc5ca278", 543 | "sha256:b9edd0110a77fc321ab090aaa1cfcaba1d8499850a12848b81be2222eab648f6", 544 | "sha256:c08e95114951dc2090c4a630c2385bef681cacf12636fb0241accdc6b303fd81", 545 | "sha256:c5518d51a0735b1e6cee1fdce66359f8d2b59c3ca85dc2b0813a8aa86818a030", 546 | "sha256:c8fd0f1ae9d92b42854b2979024d7597685ce4ada367172ed7c09edf2cef9cb8", 547 | "sha256:ca3820eb7f7faf7f0aa88de0e54681bddcb46e485beb844fcecbcd1c8bd01689", 548 | "sha256:cf8b574c7b9aa060c62116d4181f3a1a4e821b2ec5cbfe3775809474113748d4", 549 | "sha256:d3155d828dec1d43283bd24d3d3e0d9c7c350cdfcc0bd06c0ad1209c1bbc36d0", 550 | "sha256:f8d6f8db88049a699817fd9178782867bf22283e3813064302ac59f61d95be05", 551 | "sha256:fd34fbbfbc40628200730bc1febe30631347103fc8d3d4fa012c21ab9c11eca9" 552 | ], 553 | "markers": "python_version >= '3.6'", 554 | "version": "==1.3.1" 555 | }, 556 | "korean-lunar-calendar": { 557 | "hashes": [ 558 | "sha256:12ce54b1392ed45a82dc6cea85ee5f7e33630556e82488f57e37a22482c8275d", 559 | "sha256:a619ea88610129019267467b85cc9faf0fab6e1694b2e782d1aeb610cdd382d5" 560 | ], 561 | "version": "==0.2.1" 562 | }, 563 | "lunarcalendar": { 564 | "hashes": [ 565 | "sha256:5ef25883d73898b37edb54da9e0f04215aaa68b897fd12e9d4b79756ff91c8cb", 566 | "sha256:681142f22fc353c3abca4b25699e3d1aa7083ad1c268dce36ba297eca04bed5a" 567 | ], 568 | "markers": "python_version >= '2.7' and python_version < '4'", 569 | "version": "==0.0.9" 570 | }, 571 | "lxml": { 572 | "hashes": [ 573 | "sha256:079f3ae844f38982d156efce585bc540c16a926d4436712cf4baee0cce487a3d", 574 | "sha256:0fbcf5565ac01dff87cbfc0ff323515c823081c5777a9fc7703ff58388c258c3", 575 | "sha256:122fba10466c7bd4178b07dba427aa516286b846b2cbd6f6169141917283aae2", 576 | "sha256:1b38116b6e628118dea5b2186ee6820ab138dbb1e24a13e478490c7db2f326ae", 577 | "sha256:1b7584d421d254ab86d4f0b13ec662a9014397678a7c4265a02a6d7c2b18a75f", 578 | "sha256:26e761ab5b07adf5f555ee82fb4bfc35bf93750499c6c7614bd64d12aaa67927", 579 | "sha256:289e9ca1a9287f08daaf796d96e06cb2bc2958891d7911ac7cae1c5f9e1e0ee3", 580 | "sha256:2a9d50e69aac3ebee695424f7dbd7b8c6d6eb7de2a2eb6b0f6c7db6aa41e02b7", 581 | "sha256:3082c518be8e97324390614dacd041bb1358c882d77108ca1957ba47738d9d59", 582 | "sha256:33bb934a044cf32157c12bfcfbb6649807da20aa92c062ef51903415c704704f", 583 | "sha256:3439c71103ef0e904ea0a1901611863e51f50b5cd5e8654a151740fde5e1cade", 584 | "sha256:36108c73739985979bf302006527cf8a20515ce444ba916281d1c43938b8bb96", 585 | "sha256:39b78571b3b30645ac77b95f7c69d1bffc4cf8c3b157c435a34da72e78c82468", 586 | "sha256:4289728b5e2000a4ad4ab8da6e1db2e093c63c08bdc0414799ee776a3f78da4b", 587 | "sha256:4bff24dfeea62f2e56f5bab929b4428ae6caba2d1eea0c2d6eb618e30a71e6d4", 588 | "sha256:4c61b3a0db43a1607d6264166b230438f85bfed02e8cff20c22e564d0faff354", 589 | "sha256:542d454665a3e277f76954418124d67516c5f88e51a900365ed54a9806122b83", 590 | "sha256:5a0a14e264069c03e46f926be0d8919f4105c1623d620e7ec0e612a2e9bf1c04", 591 | "sha256:5c8c163396cc0df3fd151b927e74f6e4acd67160d6c33304e805b84293351d16", 592 | "sha256:64812391546a18896adaa86c77c59a4998f33c24788cadc35789e55b727a37f4", 593 | "sha256:66e575c62792c3f9ca47cb8b6fab9e35bab91360c783d1606f758761810c9791", 594 | "sha256:6f12e1427285008fd32a6025e38e977d44d6382cf28e7201ed10d6c1698d2a9a", 595 | "sha256:74f7d8d439b18fa4c385f3f5dfd11144bb87c1da034a466c5b5577d23a1d9b51", 596 | "sha256:7610b8c31688f0b1be0ef882889817939490a36d0ee880ea562a4e1399c447a1", 597 | "sha256:76fa7b1362d19f8fbd3e75fe2fb7c79359b0af8747e6f7141c338f0bee2f871a", 598 | "sha256:7728e05c35412ba36d3e9795ae8995e3c86958179c9770e65558ec3fdfd3724f", 599 | "sha256:8157dadbb09a34a6bd95a50690595e1fa0af1a99445e2744110e3dca7831c4ee", 600 | "sha256:820628b7b3135403540202e60551e741f9b6d3304371712521be939470b454ec", 601 | "sha256:884ab9b29feaca361f7f88d811b1eea9bfca36cf3da27768d28ad45c3ee6f969", 602 | "sha256:89b8b22a5ff72d89d48d0e62abb14340d9e99fd637d046c27b8b257a01ffbe28", 603 | "sha256:92e821e43ad382332eade6812e298dc9701c75fe289f2a2d39c7960b43d1e92a", 604 | "sha256:b007cbb845b28db4fb8b6a5cdcbf65bacb16a8bd328b53cbc0698688a68e1caa", 605 | "sha256:bc4313cbeb0e7a416a488d72f9680fffffc645f8a838bd2193809881c67dd106", 606 | "sha256:bccbfc27563652de7dc9bdc595cb25e90b59c5f8e23e806ed0fd623755b6565d", 607 | "sha256:c1a40c06fd5ba37ad39caa0b3144eb3772e813b5fb5b084198a985431c2f1e8d", 608 | "sha256:c47ff7e0a36d4efac9fd692cfa33fbd0636674c102e9e8d9b26e1b93a94e7617", 609 | "sha256:c4f05c5a7c49d2fb70223d0d5bcfbe474cf928310ac9fa6a7c6dddc831d0b1d4", 610 | "sha256:cdaf11d2bd275bf391b5308f86731e5194a21af45fbaaaf1d9e8147b9160ea92", 611 | "sha256:ce256aaa50f6cc9a649c51be3cd4ff142d67295bfc4f490c9134d0f9f6d58ef0", 612 | "sha256:d2e35d7bf1c1ac8c538f88d26b396e73dd81440d59c1ef8522e1ea77b345ede4", 613 | "sha256:d916d31fd85b2f78c76400d625076d9124de3e4bda8b016d25a050cc7d603f24", 614 | "sha256:df7c53783a46febb0e70f6b05df2ba104610f2fb0d27023409734a3ecbb78fb2", 615 | "sha256:e1cbd3f19a61e27e011e02f9600837b921ac661f0c40560eefb366e4e4fb275e", 616 | "sha256:efac139c3f0bf4f0939f9375af4b02c5ad83a622de52d6dfa8e438e8e01d0eb0", 617 | "sha256:efd7a09678fd8b53117f6bae4fa3825e0a22b03ef0a932e070c0bdbb3a35e654", 618 | "sha256:f2380a6376dfa090227b663f9678150ef27543483055cc327555fb592c5967e2", 619 | "sha256:f8380c03e45cf09f8557bdaa41e1fa7c81f3ae22828e1db470ab2a6c96d8bc23", 620 | "sha256:f90ba11136bfdd25cae3951af8da2e95121c9b9b93727b1b896e3fa105b2f586" 621 | ], 622 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", 623 | "version": "==4.6.3" 624 | }, 625 | "markupsafe": { 626 | "hashes": [ 627 | "sha256:01a9b8ea66f1658938f65b93a85ebe8bc016e6769611be228d797c9d998dd298", 628 | "sha256:023cb26ec21ece8dc3907c0e8320058b2e0cb3c55cf9564da612bc325bed5e64", 629 | "sha256:0446679737af14f45767963a1a9ef7620189912317d095f2d9ffa183a4d25d2b", 630 | "sha256:0717a7390a68be14b8c793ba258e075c6f4ca819f15edfc2a3a027c823718567", 631 | "sha256:0955295dd5eec6cb6cc2fe1698f4c6d84af2e92de33fbcac4111913cd100a6ff", 632 | "sha256:0d4b31cc67ab36e3392bbf3862cfbadac3db12bdd8b02a2731f509ed5b829724", 633 | "sha256:10f82115e21dc0dfec9ab5c0223652f7197feb168c940f3ef61563fc2d6beb74", 634 | "sha256:168cd0a3642de83558a5153c8bd34f175a9a6e7f6dc6384b9655d2697312a646", 635 | "sha256:1d609f577dc6e1aa17d746f8bd3c31aa4d258f4070d61b2aa5c4166c1539de35", 636 | "sha256:1f2ade76b9903f39aa442b4aadd2177decb66525062db244b35d71d0ee8599b6", 637 | "sha256:2a7d351cbd8cfeb19ca00de495e224dea7e7d919659c2841bbb7f420ad03e2d6", 638 | "sha256:2d7d807855b419fc2ed3e631034685db6079889a1f01d5d9dac950f764da3dad", 639 | "sha256:2ef54abee730b502252bcdf31b10dacb0a416229b72c18b19e24a4509f273d26", 640 | "sha256:36bc903cbb393720fad60fc28c10de6acf10dc6cc883f3e24ee4012371399a38", 641 | "sha256:37205cac2a79194e3750b0af2a5720d95f786a55ce7df90c3af697bfa100eaac", 642 | "sha256:3c112550557578c26af18a1ccc9e090bfe03832ae994343cfdacd287db6a6ae7", 643 | "sha256:3dd007d54ee88b46be476e293f48c85048603f5f516008bee124ddd891398ed6", 644 | "sha256:47ab1e7b91c098ab893b828deafa1203de86d0bc6ab587b160f78fe6c4011f75", 645 | "sha256:49e3ceeabbfb9d66c3aef5af3a60cc43b85c33df25ce03d0031a608b0a8b2e3f", 646 | "sha256:4efca8f86c54b22348a5467704e3fec767b2db12fc39c6d963168ab1d3fc9135", 647 | "sha256:53edb4da6925ad13c07b6d26c2a852bd81e364f95301c66e930ab2aef5b5ddd8", 648 | "sha256:5855f8438a7d1d458206a2466bf82b0f104a3724bf96a1c781ab731e4201731a", 649 | "sha256:594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a", 650 | "sha256:5bb28c636d87e840583ee3adeb78172efc47c8b26127267f54a9c0ec251d41a9", 651 | "sha256:60bf42e36abfaf9aff1f50f52644b336d4f0a3fd6d8a60ca0d054ac9f713a864", 652 | "sha256:611d1ad9a4288cf3e3c16014564df047fe08410e628f89805e475368bd304914", 653 | "sha256:6557b31b5e2c9ddf0de32a691f2312a32f77cd7681d8af66c2692efdbef84c18", 654 | "sha256:693ce3f9e70a6cf7d2fb9e6c9d8b204b6b39897a2c4a1aa65728d5ac97dcc1d8", 655 | "sha256:6a7fae0dd14cf60ad5ff42baa2e95727c3d81ded453457771d02b7d2b3f9c0c2", 656 | "sha256:6c4ca60fa24e85fe25b912b01e62cb969d69a23a5d5867682dd3e80b5b02581d", 657 | "sha256:6fcf051089389abe060c9cd7caa212c707e58153afa2c649f00346ce6d260f1b", 658 | "sha256:7d91275b0245b1da4d4cfa07e0faedd5b0812efc15b702576d103293e252af1b", 659 | "sha256:905fec760bd2fa1388bb5b489ee8ee5f7291d692638ea5f67982d968366bef9f", 660 | "sha256:97383d78eb34da7e1fa37dd273c20ad4320929af65d156e35a5e2d89566d9dfb", 661 | "sha256:984d76483eb32f1bcb536dc27e4ad56bba4baa70be32fa87152832cdd9db0833", 662 | "sha256:99df47edb6bda1249d3e80fdabb1dab8c08ef3975f69aed437cb69d0a5de1e28", 663 | "sha256:a30e67a65b53ea0a5e62fe23682cfe22712e01f453b95233b25502f7c61cb415", 664 | "sha256:ab3ef638ace319fa26553db0624c4699e31a28bb2a835c5faca8f8acf6a5a902", 665 | "sha256:add36cb2dbb8b736611303cd3bfcee00afd96471b09cda130da3581cbdc56a6d", 666 | "sha256:b2f4bf27480f5e5e8ce285a8c8fd176c0b03e93dcc6646477d4630e83440c6a9", 667 | "sha256:b7f2d075102dc8c794cbde1947378051c4e5180d52d276987b8d28a3bd58c17d", 668 | "sha256:baa1a4e8f868845af802979fcdbf0bb11f94f1cb7ced4c4b8a351bb60d108145", 669 | "sha256:be98f628055368795d818ebf93da628541e10b75b41c559fdf36d104c5787066", 670 | "sha256:bf5d821ffabf0ef3533c39c518f3357b171a1651c1ff6827325e4489b0e46c3c", 671 | "sha256:c47adbc92fc1bb2b3274c4b3a43ae0e4573d9fbff4f54cd484555edbf030baf1", 672 | "sha256:d7f9850398e85aba693bb640262d3611788b1f29a79f0c93c565694658f4071f", 673 | "sha256:d8446c54dc28c01e5a2dbac5a25f071f6653e6e40f3a8818e8b45d790fe6ef53", 674 | "sha256:e0f138900af21926a02425cf736db95be9f4af72ba1bb21453432a07f6082134", 675 | "sha256:e9936f0b261d4df76ad22f8fee3ae83b60d7c3e871292cd42f40b81b70afae85", 676 | "sha256:f5653a225f31e113b152e56f154ccbe59eeb1c7487b39b9d9f9cdb58e6c79dc5", 677 | "sha256:f826e31d18b516f653fe296d967d700fddad5901ae07c622bb3705955e1faa94", 678 | "sha256:f8ba0e8349a38d3001fae7eadded3f6606f0da5d748ee53cc1dab1d6527b9509", 679 | "sha256:f9081981fe268bd86831e5c75f7de206ef275defcb82bc70740ae6dc507aee51", 680 | "sha256:fa130dd50c57d53368c9d59395cb5526eda596d3ffe36666cd81a44d56e48872" 681 | ], 682 | "markers": "python_version >= '3.6'", 683 | "version": "==2.0.1" 684 | }, 685 | "matplotlib": { 686 | "hashes": [ 687 | "sha256:01c9de93a2ca0d128c9064f23709362e7fefb34910c7c9e0b8ab0de8258d5eda", 688 | "sha256:41b6e307458988891fcdea2d8ecf84a8c92d53f84190aa32da65f9505546e684", 689 | "sha256:48e1e0859b54d5f2e29bb78ca179fd59b971c6ceb29977fb52735bfd280eb0f5", 690 | "sha256:54a026055d5f8614f184e588f6e29064019a0aa8448450214c0b60926d62d919", 691 | "sha256:556965514b259204637c360d213de28d43a1f4aed1eca15596ce83f768c5a56f", 692 | "sha256:5c988bb43414c7c2b0a31bd5187b4d27fd625c080371b463a6d422047df78913", 693 | "sha256:6a724e3a48a54b8b6e7c4ae38cd3d07084508fa47c410c8757e9db9791421838", 694 | "sha256:6be8df61b1626e1a142c57e065405e869e9429b4a6dab4a324757d0dc4d42235", 695 | "sha256:844a7b0233e4ff7fba57e90b8799edaa40b9e31e300b8d5efc350937fa8b1bea", 696 | "sha256:85f0c9cf724715e75243a7b3087cf4a3de056b55e05d4d76cc58d610d62894f3", 697 | "sha256:a78a3b51f29448c7f4d4575e561f6b0dbb8d01c13c2046ab6c5220eb25c06506", 698 | "sha256:b884715a59fec9ad3b6048ecf3860f3b2ce965e676ef52593d6fa29abcf7d330", 699 | "sha256:b8b53f336a4688cfce615887505d7e41fd79b3594bf21dd300531a4f5b4f746a", 700 | "sha256:c70b6311dda3e27672f1bf48851a0de816d1ca6aaf3d49365fbdd8e959b33d2b", 701 | "sha256:ebfb01a65c3f5d53a8c2a8133fec2b5221281c053d944ae81ff5822a68266617", 702 | "sha256:eeb1859efe7754b1460e1d4991bbd4a60a56f366bc422ef3a9c5ae05f0bc70b5", 703 | "sha256:f15edcb0629a0801738925fe27070480f446fcaa15de65946ff946ad99a59a40", 704 | "sha256:f1c5efc278d996af8a251b2ce0b07bbeccb821f25c8c9846bdcb00ffc7f158aa", 705 | "sha256:f72657f1596199dc1e4e7a10f52a4784ead8a711f4e5b59bea95bdb97cf0e4fd", 706 | "sha256:fc4f526dfdb31c9bd6b8ca06bf9fab663ca12f3ec9cdf4496fb44bc680140318", 707 | "sha256:fcd6f1954943c0c192bfbebbac263f839d7055409f1173f80d8b11a224d236da" 708 | ], 709 | "markers": "python_version >= '3.7'", 710 | "version": "==3.4.3" 711 | }, 712 | "matplotlib-inline": { 713 | "hashes": [ 714 | "sha256:5cf1176f554abb4fa98cb362aa2b55c500147e4bdbb07e3fda359143e1da0811", 715 | "sha256:f41d5ff73c9f5385775d5c0bc13b424535c8402fe70ea8210f93e11f3683993e" 716 | ], 717 | "markers": "python_version >= '3.5'", 718 | "version": "==0.1.2" 719 | }, 720 | "mistune": { 721 | "hashes": [ 722 | "sha256:59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e", 723 | "sha256:88a1051873018da288eee8538d476dffe1262495144b33ecb586c4ab266bb8d4" 724 | ], 725 | "version": "==0.8.4" 726 | }, 727 | "multitasking": { 728 | "hashes": [ 729 | "sha256:b59d99f709d2e17d60ccaa2be09771b6e9ed9391c63f083c0701e724f624d2e0" 730 | ], 731 | "version": "==0.0.9" 732 | }, 733 | "nbclient": { 734 | "hashes": [ 735 | "sha256:6c8ad36a28edad4562580847f9f1636fe5316a51a323ed85a24a4ad37d4aefce", 736 | "sha256:95a300c6fbe73721736cf13972a46d8d666f78794b832866ed7197a504269e11" 737 | ], 738 | "markers": "python_full_version >= '3.6.1'", 739 | "version": "==0.5.4" 740 | }, 741 | "nbconvert": { 742 | "hashes": [ 743 | "sha256:37cd92ff2ae6a268e62075ff8b16129e0be4939c4dfcee53dc77cc8a7e06c684", 744 | "sha256:d22a8ff202644d31db254d24d52c3a96c82156623fcd7c7f987bba2612303ec9" 745 | ], 746 | "markers": "python_version >= '3.7'", 747 | "version": "==6.1.0" 748 | }, 749 | "nbformat": { 750 | "hashes": [ 751 | "sha256:b516788ad70771c6250977c1374fcca6edebe6126fd2adb5a69aa5c2356fd1c8", 752 | "sha256:eb8447edd7127d043361bc17f2f5a807626bc8e878c7709a1c647abda28a9171" 753 | ], 754 | "markers": "python_version >= '3.5'", 755 | "version": "==5.1.3" 756 | }, 757 | "nest-asyncio": { 758 | "hashes": [ 759 | "sha256:76d6e972265063fe92a90b9cc4fb82616e07d586b346ed9d2c89a4187acea39c", 760 | "sha256:afc5a1c515210a23c461932765691ad39e8eba6551c055ac8d5546e69250d0aa" 761 | ], 762 | "markers": "python_version >= '3.5'", 763 | "version": "==1.5.1" 764 | }, 765 | "notebook": { 766 | "hashes": [ 767 | "sha256:b50eafa8208d5db966efd1caa4076b4dfc51815e02a805b32ecd717e9e6cc071", 768 | "sha256:e6b6dfed36b00cf950f63c0d42e947c101d4258aec21624de62b9e0c11ed5c0d" 769 | ], 770 | "markers": "python_version >= '3.6'", 771 | "version": "==6.4.3" 772 | }, 773 | "numpy": { 774 | "hashes": [ 775 | "sha256:09858463db6dd9f78b2a1a05c93f3b33d4f65975771e90d2cf7aadb7c2f66edf", 776 | "sha256:209666ce9d4a817e8a4597cd475b71b4878a85fa4b8db41d79fdb4fdee01dde2", 777 | "sha256:298156f4d3d46815eaf0fcf0a03f9625fc7631692bd1ad851517ab93c3168fc6", 778 | "sha256:30fc68307c0155d2a75ad19844224be0f2c6f06572d958db4e2053f816b859ad", 779 | "sha256:423216d8afc5923b15df86037c6053bf030d15cc9e3224206ef868c2d63dd6dc", 780 | "sha256:426a00b68b0d21f2deb2ace3c6d677e611ad5a612d2c76494e24a562a930c254", 781 | "sha256:466e682264b14982012887e90346d33435c984b7fead7b85e634903795c8fdb0", 782 | "sha256:51a7b9db0a2941434cd930dacaafe0fc9da8f3d6157f9d12f761bbde93f46218", 783 | "sha256:52a664323273c08f3b473548bf87c8145b7513afd63e4ebba8496ecd3853df13", 784 | "sha256:550564024dc5ceee9421a86fc0fb378aa9d222d4d0f858f6669eff7410c89bef", 785 | "sha256:5de64950137f3a50b76ce93556db392e8f1f954c2d8207f78a92d1f79aa9f737", 786 | "sha256:640c1ccfd56724f2955c237b6ccce2e5b8607c3bc1cc51d3933b8c48d1da3723", 787 | "sha256:7fdc7689daf3b845934d67cb221ba8d250fdca20ac0334fea32f7091b93f00d3", 788 | "sha256:805459ad8baaf815883d0d6f86e45b3b0b67d823a8f3fa39b1ed9c45eaf5edf1", 789 | "sha256:92a0ab128b07799dd5b9077a9af075a63467d03ebac6f8a93e6440abfea4120d", 790 | "sha256:9f2dc79c093f6c5113718d3d90c283f11463d77daa4e83aeeac088ec6a0bda52", 791 | "sha256:a5109345f5ce7ddb3840f5970de71c34a0ff7fceb133c9441283bb8250f532a3", 792 | "sha256:a55e4d81c4260386f71d22294795c87609164e22b28ba0d435850fbdf82fc0c5", 793 | "sha256:a9da45b748caad72ea4a4ed57e9cd382089f33c5ec330a804eb420a496fa760f", 794 | "sha256:b160b9a99ecc6559d9e6d461b95c8eec21461b332f80267ad2c10394b9503496", 795 | "sha256:b342064e647d099ca765f19672696ad50c953cac95b566af1492fd142283580f", 796 | "sha256:b5e8590b9245803c849e09bae070a8e1ff444f45e3f0bed558dd722119eea724", 797 | "sha256:bf75d5825ef47aa51d669b03ce635ecb84d69311e05eccea083f31c7570c9931", 798 | "sha256:c01b59b33c7c3ba90744f2c695be571a3bd40ab2ba7f3d169ffa6db3cfba614f", 799 | "sha256:d96a6a7d74af56feb11e9a443150216578ea07b7450f7c05df40eec90af7f4a7", 800 | "sha256:dd0e3651d210068d13e18503d75aaa45656eef51ef0b261f891788589db2cc38", 801 | "sha256:e167b9805de54367dcb2043519382be541117503ce99e3291cc9b41ca0a83557", 802 | "sha256:e42029e184008a5fd3d819323345e25e2337b0ac7f5c135b7623308530209d57", 803 | "sha256:f545c082eeb09ae678dd451a1b1dbf17babd8a0d7adea02897a76e639afca310", 804 | "sha256:fde50062d67d805bc96f1a9ecc0d37bfc2a8f02b937d2c50824d186aa91f2419" 805 | ], 806 | "markers": "python_version < '3.11' and python_version >= '3.7'", 807 | "version": "==1.21.2" 808 | }, 809 | "packaging": { 810 | "hashes": [ 811 | "sha256:7dc96269f53a4ccec5c0670940a4281106dd0bb343f47b7471f779df49c2fbe7", 812 | "sha256:c86254f9220d55e31cc94d69bade760f0847da8000def4dfe1c6b872fd14ff14" 813 | ], 814 | "markers": "python_version >= '3.6'", 815 | "version": "==21.0" 816 | }, 817 | "pandas": { 818 | "hashes": [ 819 | "sha256:0cd5776be891331a3e6b425b5abeab9596abea18435c5982191356f9b24ae731", 820 | "sha256:1099e2a0cd3a01ec62cca183fc1555833a2d43764950ef8cb5948c8abfc51014", 821 | "sha256:132def05e73d292c949b02e7ef873debb77acc44a8b119d215921046f0c3a91d", 822 | "sha256:1738154049062156429a5cf2fd79a69c9f3fa4f231346a7ec6fd156cd1a9a621", 823 | "sha256:34ced9ce5d5b17b556486da7256961b55b471d64a8990b56e67a84ebeb259416", 824 | "sha256:53b17e4debba26b7446b1e4795c19f94f0c715e288e08145e44bdd2865e819b3", 825 | "sha256:59a78d7066d1c921a77e3306aa0ebf6e55396c097d5dfcc4df8defe3dcecb735", 826 | "sha256:66a95361b81b4ba04b699ecd2416b0591f40cd1e24c60a8bfe0d19009cfa575a", 827 | "sha256:69e1b2f5811f46827722fd641fdaeedb26002bd1e504eacc7a8ec36bdc25393e", 828 | "sha256:7996d311413379136baf0f3cf2a10e331697657c87ced3f17ac7c77f77fe34a3", 829 | "sha256:89f40e5d21814192802421df809f948247d39ffe171e45fe2ab4abf7bd4279d8", 830 | "sha256:9cce01f6d655b4add966fcd36c32c5d1fe84628e200626b3f5e2f40db2d16a0f", 831 | "sha256:a56246de744baf646d1f3e050c4653d632bc9cd2e0605f41051fea59980e880a", 832 | "sha256:ba7ceb8abc6dbdb1e34612d1173d61e4941f1a1eb7e6f703b2633134ae6a6c89", 833 | "sha256:c9e8e0ce5284ebebe110efd652c164ed6eab77f5de4c3533abc756302ee77765", 834 | "sha256:cbcb84d63867af3411fa063af3de64902665bb5b3d40b25b2059e40603594e87", 835 | "sha256:f07a9745ca075ae73a5ce116f5e58f691c0dc9de0bff163527858459df5c176f", 836 | "sha256:fa54dc1d3e5d004a09ab0b1751473698011ddf03e14f1f59b84ad9a6ac630975", 837 | "sha256:fcb71b1935249de80e3a808227189eee381d4d74a31760ced2df21eedc92a8e3" 838 | ], 839 | "markers": "python_full_version >= '3.7.1'", 840 | "version": "==1.3.2" 841 | }, 842 | "pandocfilters": { 843 | "hashes": [ 844 | "sha256:bc63fbb50534b4b1f8ebe1860889289e8af94a23bff7445259592df25a3906eb" 845 | ], 846 | "version": "==1.4.3" 847 | }, 848 | "parso": { 849 | "hashes": [ 850 | "sha256:12b83492c6239ce32ff5eed6d3639d6a536170723c6f3f1506869f1ace413398", 851 | "sha256:a8c4922db71e4fdb90e0d0bc6e50f9b273d3397925e5e60a717e719201778d22" 852 | ], 853 | "markers": "python_version >= '3.6'", 854 | "version": "==0.8.2" 855 | }, 856 | "pexpect": { 857 | "hashes": [ 858 | "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937", 859 | "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c" 860 | ], 861 | "markers": "sys_platform != 'win32'", 862 | "version": "==4.8.0" 863 | }, 864 | "pickleshare": { 865 | "hashes": [ 866 | "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca", 867 | "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56" 868 | ], 869 | "version": "==0.7.5" 870 | }, 871 | "pillow": { 872 | "hashes": [ 873 | "sha256:0b2efa07f69dc395d95bb9ef3299f4ca29bcb2157dc615bae0b42c3c20668ffc", 874 | "sha256:114f816e4f73f9ec06997b2fde81a92cbf0777c9e8f462005550eed6bae57e63", 875 | "sha256:147bd9e71fb9dcf08357b4d530b5167941e222a6fd21f869c7911bac40b9994d", 876 | "sha256:15a2808e269a1cf2131930183dcc0419bc77bb73eb54285dde2706ac9939fa8e", 877 | "sha256:196560dba4da7a72c5e7085fccc5938ab4075fd37fe8b5468869724109812edd", 878 | "sha256:1c03e24be975e2afe70dfc5da6f187eea0b49a68bb2b69db0f30a61b7031cee4", 879 | "sha256:1fd5066cd343b5db88c048d971994e56b296868766e461b82fa4e22498f34d77", 880 | "sha256:29c9569049d04aaacd690573a0398dbd8e0bf0255684fee512b413c2142ab723", 881 | "sha256:2b6dfa068a8b6137da34a4936f5a816aba0ecc967af2feeb32c4393ddd671cba", 882 | "sha256:2cac53839bfc5cece8fdbe7f084d5e3ee61e1303cccc86511d351adcb9e2c792", 883 | "sha256:2ee77c14a0299d0541d26f3d8500bb57e081233e3fa915fa35abd02c51fa7fae", 884 | "sha256:37730f6e68bdc6a3f02d2079c34c532330d206429f3cee651aab6b66839a9f0e", 885 | "sha256:3f08bd8d785204149b5b33e3b5f0ebbfe2190ea58d1a051c578e29e39bfd2367", 886 | "sha256:479ab11cbd69612acefa8286481f65c5dece2002ffaa4f9db62682379ca3bb77", 887 | "sha256:4bc3c7ef940eeb200ca65bd83005eb3aae8083d47e8fcbf5f0943baa50726856", 888 | "sha256:660a87085925c61a0dcc80efb967512ac34dbb256ff7dd2b9b4ee8dbdab58cf4", 889 | "sha256:67b3666b544b953a2777cb3f5a922e991be73ab32635666ee72e05876b8a92de", 890 | "sha256:70af7d222df0ff81a2da601fab42decb009dc721545ed78549cb96e3a1c5f0c8", 891 | "sha256:75e09042a3b39e0ea61ce37e941221313d51a9c26b8e54e12b3ececccb71718a", 892 | "sha256:8960a8a9f4598974e4c2aeb1bff9bdd5db03ee65fd1fce8adf3223721aa2a636", 893 | "sha256:9364c81b252d8348e9cc0cb63e856b8f7c1b340caba6ee7a7a65c968312f7dab", 894 | "sha256:969cc558cca859cadf24f890fc009e1bce7d7d0386ba7c0478641a60199adf79", 895 | "sha256:9a211b663cf2314edbdb4cf897beeb5c9ee3810d1d53f0e423f06d6ebbf9cd5d", 896 | "sha256:a17ca41f45cf78c2216ebfab03add7cc350c305c38ff34ef4eef66b7d76c5229", 897 | "sha256:a2f381932dca2cf775811a008aa3027671ace723b7a38838045b1aee8669fdcf", 898 | "sha256:a4eef1ff2d62676deabf076f963eda4da34b51bc0517c70239fafed1d5b51500", 899 | "sha256:c088a000dfdd88c184cc7271bfac8c5b82d9efa8637cd2b68183771e3cf56f04", 900 | "sha256:c0e0550a404c69aab1e04ae89cca3e2a042b56ab043f7f729d984bf73ed2a093", 901 | "sha256:c11003197f908878164f0e6da15fce22373ac3fc320cda8c9d16e6bba105b844", 902 | "sha256:c2a5ff58751670292b406b9f06e07ed1446a4b13ffced6b6cab75b857485cbc8", 903 | "sha256:c35d09db702f4185ba22bb33ef1751ad49c266534339a5cebeb5159d364f6f82", 904 | "sha256:c379425c2707078dfb6bfad2430728831d399dc95a7deeb92015eb4c92345eaf", 905 | "sha256:cc866706d56bd3a7dbf8bac8660c6f6462f2f2b8a49add2ba617bc0c54473d83", 906 | "sha256:d0da39795049a9afcaadec532e7b669b5ebbb2a9134576ebcc15dd5bdae33cc0", 907 | "sha256:f156d6ecfc747ee111c167f8faf5f4953761b5e66e91a4e6767e548d0f80129c", 908 | "sha256:f4ebde71785f8bceb39dcd1e7f06bcc5d5c3cf48b9f69ab52636309387b097c8", 909 | "sha256:fc214a6b75d2e0ea7745488da7da3c381f41790812988c7a92345978414fad37", 910 | "sha256:fd7eef578f5b2200d066db1b50c4aa66410786201669fb76d5238b007918fb24", 911 | "sha256:ff04c373477723430dce2e9d024c708a047d44cf17166bf16e604b379bf0ca14" 912 | ], 913 | "markers": "python_version >= '3.6'", 914 | "version": "==8.3.1" 915 | }, 916 | "plotly": { 917 | "hashes": [ 918 | "sha256:1575c34f87313818fc109a3d3326f2b91363d049c1e80cbf68561c8df24fb47c", 919 | "sha256:bf7c8123541a2c6579c309561a8e1058c129434c67419651efbdc4922b11da8f" 920 | ], 921 | "index": "pypi", 922 | "version": "==5.2.1" 923 | }, 924 | "prometheus-client": { 925 | "hashes": [ 926 | "sha256:3a8baade6cb80bcfe43297e33e7623f3118d660d41387593758e2fb1ea173a86", 927 | "sha256:b014bc76815eb1399da8ce5fc84b7717a3e63652b0c0f8804092c9363acab1b2" 928 | ], 929 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", 930 | "version": "==0.11.0" 931 | }, 932 | "prompt-toolkit": { 933 | "hashes": [ 934 | "sha256:08360ee3a3148bdb5163621709ee322ec34fc4375099afa4bbf751e9b7b7fa4f", 935 | "sha256:7089d8d2938043508aa9420ec18ce0922885304cddae87fb96eebca942299f88" 936 | ], 937 | "markers": "python_full_version >= '3.6.1'", 938 | "version": "==3.0.19" 939 | }, 940 | "protobuf": { 941 | "hashes": [ 942 | "sha256:13ee7be3c2d9a5d2b42a1030976f760f28755fcf5863c55b1460fd205e6cd637", 943 | "sha256:145ce0af55c4259ca74993ddab3479c78af064002ec8227beb3d944405123c71", 944 | "sha256:14c1c9377a7ffbeaccd4722ab0aa900091f52b516ad89c4b0c3bb0a4af903ba5", 945 | "sha256:1556a1049ccec58c7855a78d27e5c6e70e95103b32de9142bae0576e9200a1b0", 946 | "sha256:26010f693b675ff5a1d0e1bdb17689b8b716a18709113288fead438703d45539", 947 | "sha256:2ae692bb6d1992afb6b74348e7bb648a75bb0d3565a3f5eea5bec8f62bd06d87", 948 | "sha256:2bfb815216a9cd9faec52b16fd2bfa68437a44b67c56bee59bc3926522ecb04e", 949 | "sha256:4ffbd23640bb7403574f7aff8368e2aeb2ec9a5c6306580be48ac59a6bac8bde", 950 | "sha256:59e5cf6b737c3a376932fbfb869043415f7c16a0cf176ab30a5bbc419cd709c1", 951 | "sha256:6902a1e4b7a319ec611a7345ff81b6b004b36b0d2196ce7a748b3493da3d226d", 952 | "sha256:6ce4d8bf0321e7b2d4395e253f8002a1a5ffbcfd7bcc0a6ba46712c07d47d0b4", 953 | "sha256:6d847c59963c03fd7a0cd7c488cadfa10cda4fff34d8bc8cba92935a91b7a037", 954 | "sha256:72804ea5eaa9c22a090d2803813e280fb273b62d5ae497aaf3553d141c4fdd7b", 955 | "sha256:7a4c97961e9e5b03a56f9a6c82742ed55375c4a25f2692b625d4087d02ed31b9", 956 | "sha256:85d6303e4adade2827e43c2b54114d9a6ea547b671cb63fafd5011dc47d0e13d", 957 | "sha256:8727ee027157516e2c311f218ebf2260a18088ffb2d29473e82add217d196b1c", 958 | "sha256:99938f2a2d7ca6563c0ade0c5ca8982264c484fdecf418bd68e880a7ab5730b1", 959 | "sha256:9b7a5c1022e0fa0dbde7fd03682d07d14624ad870ae52054849d8960f04bc764", 960 | "sha256:a22b3a0dbac6544dacbafd4c5f6a29e389a50e3b193e2c70dae6bbf7930f651d", 961 | "sha256:a38bac25f51c93e4be4092c88b2568b9f407c27217d3dd23c7a57fa522a17554", 962 | "sha256:a981222367fb4210a10a929ad5983ae93bd5a050a0824fc35d6371c07b78caf6", 963 | "sha256:ab6bb0e270c6c58e7ff4345b3a803cc59dbee19ddf77a4719c5b635f1d547aa8", 964 | "sha256:c56c050a947186ba51de4f94ab441d7f04fcd44c56df6e922369cc2e1a92d683", 965 | "sha256:e76d9686e088fece2450dbc7ee905f9be904e427341d289acbe9ad00b78ebd47", 966 | "sha256:ebcb546f10069b56dc2e3da35e003a02076aaa377caf8530fe9789570984a8d2", 967 | "sha256:f0e59430ee953184a703a324b8ec52f571c6c4259d496a19d1cabcdc19dabc62", 968 | "sha256:ffea251f5cd3c0b9b43c7a7a912777e0bc86263436a87c2555242a348817221b" 969 | ], 970 | "version": "==3.17.3" 971 | }, 972 | "ptyprocess": { 973 | "hashes": [ 974 | "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", 975 | "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220" 976 | ], 977 | "markers": "os_name != 'nt'", 978 | "version": "==0.7.0" 979 | }, 980 | "pyarrow": { 981 | "hashes": [ 982 | "sha256:1832709281efefa4f199c639e9f429678286329860188e53beeda71750775923", 983 | "sha256:1d9485741e497ccc516cb0a0c8f56e22be55aea815be185c3f9a681323b0e614", 984 | "sha256:24e64ea33eed07441cc0e80c949e3a1b48211a1add8953268391d250f4d39922", 985 | "sha256:2d26186ca9748a1fb89ae6c1fa04fb343a4279b53f118734ea8096f15d66c820", 986 | "sha256:357605665fbefb573d40939b13a684c2490b6ed1ab4a5de8dd246db4ab02e5a4", 987 | "sha256:4341ac0f552dc04c450751e049976940c7f4f8f2dae03685cc465ebe0a61e231", 988 | "sha256:456a4488ae810a0569d1adf87dbc522bcc9a0e4a8d1809b934ca28c163d8edce", 989 | "sha256:4d8adda1892ef4553c4804af7f67cce484f4d6371564e2d8374b8e2bc85293e2", 990 | "sha256:53e550dec60d1ab86cba3afa1719dc179a8bc9632a0e50d9fe91499cf0a7f2bc", 991 | "sha256:5c0d1b68e67bb334a5af0cecdf9b6a702aaa4cc259c5cbb71b25bbed40fcedaf", 992 | "sha256:601b0aabd6fb066429e706282934d4d8d38f53bdb8d82da9576be49f07eedf5c", 993 | "sha256:64f30aa6b28b666a925d11c239344741850eb97c29d3aa0f7187918cf82494f7", 994 | "sha256:6e1f0e4374061116f40e541408a8a170c170d0a070b788717e18165ebfdd2a54", 995 | "sha256:6e937ce4a40ea0cc7896faff96adecadd4485beb53fbf510b46858e29b2e75ae", 996 | "sha256:7560332e5846f0e7830b377c14c93624e24a17f91c98f0b25dafb0ca1ea6ba02", 997 | "sha256:7c4edd2bacee3eea6c8c28bddb02347f9d41a55ec9692c71c6de6e47c62a7f0d", 998 | "sha256:99c8b0f7e2ce2541dd4c0c0101d9944bb8e592ae3295fe7a2f290ab99222666d", 999 | "sha256:9e04d3621b9f2f23898eed0d044203f66c156d880f02c5534a7f9947ebb1a4af", 1000 | "sha256:b1453c2411b5062ba6bf6832dbc4df211ad625f678c623a2ee177aee158f199b", 1001 | "sha256:b3115df938b8d7a7372911a3cb3904196194bcea8bb48911b4b3eafee3ab8d90", 1002 | "sha256:b6387d2058d95fa48ccfedea810a768187affb62f4a3ef6595fa30bf9d1a65cf", 1003 | "sha256:bbe2e439bec2618c74a3bb259700c8a7353dc2ea0c5a62686b6cf04a50ab1e0d", 1004 | "sha256:c3fc856f107ca2fb3c9391d7ea33bbb33f3a1c2b4a0e2b41f7525c626214cc03", 1005 | "sha256:c5493d2414d0d690a738aac8dd6d38518d1f9b870e52e24f89d8d7eb3afd4161", 1006 | "sha256:e9ec80f4a77057498cf4c5965389e42e7f6a618b6859e6dd615e57505c9167a6", 1007 | "sha256:ed135a99975380c27077f9d0e210aea8618ed9fadcec0e71f8a3190939557afe", 1008 | "sha256:f4db312e9ba80e730cefcae0a05b63ea5befc7634c28df56682b628ad8e1c25c", 1009 | "sha256:ff21711f6ff3b0bc90abc8ca8169e676faeb2401ddc1a0bc1c7dc181708a3406" 1010 | ], 1011 | "markers": "python_version >= '3.6'", 1012 | "version": "==5.0.0" 1013 | }, 1014 | "pycparser": { 1015 | "hashes": [ 1016 | "sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0", 1017 | "sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705" 1018 | ], 1019 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", 1020 | "version": "==2.20" 1021 | }, 1022 | "pydeck": { 1023 | "hashes": [ 1024 | "sha256:24ffadfba72cf610a413d49bd9542f2f4fd745f33d6535dd339b121e9e084be8", 1025 | "sha256:e0d1f36e5cf0f8181f82d25a5f33381b8296caaac671f355afe4a660964d0dea" 1026 | ], 1027 | "version": "==0.6.2" 1028 | }, 1029 | "pygments": { 1030 | "hashes": [ 1031 | "sha256:b8e67fe6af78f492b3c4b3e2970c0624cbf08beb1e493b2c99b9fa1b67a20380", 1032 | "sha256:f398865f7eb6874156579fdf36bc840a03cab64d1cde9e93d68f46a425ec52c6" 1033 | ], 1034 | "markers": "python_version >= '3.5'", 1035 | "version": "==2.10.0" 1036 | }, 1037 | "pymeeus": { 1038 | "hashes": [ 1039 | "sha256:bb9d670818d8b0594317b48a7dadea02a0594e5344263bf2054e1a011c8fed55" 1040 | ], 1041 | "version": "==0.5.11" 1042 | }, 1043 | "pyparsing": { 1044 | "hashes": [ 1045 | "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1", 1046 | "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b" 1047 | ], 1048 | "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", 1049 | "version": "==2.4.7" 1050 | }, 1051 | "pyrsistent": { 1052 | "hashes": [ 1053 | "sha256:097b96f129dd36a8c9e33594e7ebb151b1515eb52cceb08474c10a5479e799f2", 1054 | "sha256:2aaf19dc8ce517a8653746d98e962ef480ff34b6bc563fc067be6401ffb457c7", 1055 | "sha256:404e1f1d254d314d55adb8d87f4f465c8693d6f902f67eb6ef5b4526dc58e6ea", 1056 | "sha256:48578680353f41dca1ca3dc48629fb77dfc745128b56fc01096b2530c13fd426", 1057 | "sha256:4916c10896721e472ee12c95cdc2891ce5890898d2f9907b1b4ae0f53588b710", 1058 | "sha256:527be2bfa8dc80f6f8ddd65242ba476a6c4fb4e3aedbf281dfbac1b1ed4165b1", 1059 | "sha256:58a70d93fb79dc585b21f9d72487b929a6fe58da0754fa4cb9f279bb92369396", 1060 | "sha256:5e4395bbf841693eaebaa5bb5c8f5cdbb1d139e07c975c682ec4e4f8126e03d2", 1061 | "sha256:6b5eed00e597b5b5773b4ca30bd48a5774ef1e96f2a45d105db5b4ebb4bca680", 1062 | "sha256:73ff61b1411e3fb0ba144b8f08d6749749775fe89688093e1efef9839d2dcc35", 1063 | "sha256:772e94c2c6864f2cd2ffbe58bb3bdefbe2a32afa0acb1a77e472aac831f83427", 1064 | "sha256:773c781216f8c2900b42a7b638d5b517bb134ae1acbebe4d1e8f1f41ea60eb4b", 1065 | "sha256:a0c772d791c38bbc77be659af29bb14c38ced151433592e326361610250c605b", 1066 | "sha256:b29b869cf58412ca5738d23691e96d8aff535e17390128a1a52717c9a109da4f", 1067 | "sha256:c1a9ff320fa699337e05edcaae79ef8c2880b52720bc031b219e5b5008ebbdef", 1068 | "sha256:cd3caef37a415fd0dae6148a1b6957a8c5f275a62cca02e18474608cb263640c", 1069 | "sha256:d5ec194c9c573aafaceebf05fc400656722793dac57f254cd4741f3c27ae57b4", 1070 | "sha256:da6e5e818d18459fa46fac0a4a4e543507fe1110e808101277c5a2b5bab0cd2d", 1071 | "sha256:e79d94ca58fcafef6395f6352383fa1a76922268fa02caa2272fff501c2fdc78", 1072 | "sha256:f3ef98d7b76da5eb19c37fda834d50262ff9167c65658d1d8f974d2e4d90676b", 1073 | "sha256:f4c8cabb46ff8e5d61f56a037974228e978f26bfefce4f61a4b1ac0ba7a2ab72" 1074 | ], 1075 | "markers": "python_version >= '3.6'", 1076 | "version": "==0.18.0" 1077 | }, 1078 | "pystan": { 1079 | "hashes": [ 1080 | "sha256:1127522641533a6ccb7684d4008d06c092cbe6f3ee7d44679a87937ee39093ab", 1081 | "sha256:2b44502aaa8866e0bcc81df1537e7e08b74aaf4cc9d4bf43e7c8b168f3568ca6", 1082 | "sha256:2baa4106ddc7fb90712bd0e5ab8693ce130b001c6166839247511326edc6d0ba", 1083 | "sha256:3622520b2e55d2ce70a3027d9910b6197a8bc2ef59e01967be9c4e607a48a9c1", 1084 | "sha256:43fdd98561f0cba0637f1fa343ed7d5adc885d04a655ab6302dbfd08f016105d", 1085 | "sha256:4a0820df5fcd13c7a4cae75d59809adee72d1135a604dc2b5f068d4ac8ca349e", 1086 | "sha256:5020ac3ca3a840f428f090fc5fe75412e2a7948ac7e3de59f4bbfd7a4539c0ef", 1087 | "sha256:5b67008f5780c7cf0f3fbad5bc54bc9919efc9655d63e0314dc013e85c7a0f14", 1088 | "sha256:61340356889547e29e2e6db7ef28f821b91e73fee80a888e81a794a24a249987", 1089 | "sha256:6c4bbbb0a59144135d9821f2b9c308bfdf70aa61befdc7dc435f4c86bfb4457e", 1090 | "sha256:837a62976b32e4fd2bd48fee3b419c651e19747280e440d5934bea3822b22115", 1091 | "sha256:9d8c2ae05d1dca854a55b2ae9276af5866e473fb8264d03d5267abadb3c602da", 1092 | "sha256:b2ef9031dfbd65757828e2441cb9a76c9217fb5bb93817fee2550722e7a785b3", 1093 | "sha256:bc1193f52bc6c6419dd753bcb0b6958b24fe588dc3da3c7f70bd23dcbda6ec2a", 1094 | "sha256:c87bd98db2b5c67fa08177de04c98b46d1fcd68ae53dbe55ffc5187868068002", 1095 | "sha256:e6580cec2f5ed1bdb44eab83d54fe87b11e673ed65d6c2064d8d9f76265ce049", 1096 | "sha256:e8e0924c318a0ea67260167a74f040078a4ce0d3fd4a7d566aa76f7752a85fab", 1097 | "sha256:e9fbbf10dfc0ef8e7343ee4a3e17fd5c214fb12fc42615673e14908949b410e4", 1098 | "sha256:f16c399da3d9d72e9661b131c23d51a59c789416598885714813fcb552234c83", 1099 | "sha256:fa8bad8dbc0da22bbe6f36af56c9abbfcf10f92df8ce627d59a36bd8d25eb038" 1100 | ], 1101 | "index": "pypi", 1102 | "version": "==2.19.1.1" 1103 | }, 1104 | "python-dateutil": { 1105 | "hashes": [ 1106 | "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86", 1107 | "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9" 1108 | ], 1109 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", 1110 | "version": "==2.8.2" 1111 | }, 1112 | "pytz": { 1113 | "hashes": [ 1114 | "sha256:83a4a90894bf38e243cf052c8b58f381bfe9a7a483f6a9cab140bc7f702ac4da", 1115 | "sha256:eb10ce3e7736052ed3623d49975ce333bcd712c7bb19a58b9e2089d4057d0798" 1116 | ], 1117 | "version": "==2021.1" 1118 | }, 1119 | "pyzmq": { 1120 | "hashes": [ 1121 | "sha256:021e22a8c58ab294bd4b96448a2ca4e716e1d76600192ff84c33d71edb1fbd37", 1122 | "sha256:0471d634c7fe48ff7d3849798da6c16afc71676dd890b5ae08eb1efe735c6fec", 1123 | "sha256:0d17bac19e934e9f547a8811b7c2a32651a7840f38086b924e2e3dcb2fae5c3a", 1124 | "sha256:200ac096cee5499964c90687306a7244b79ef891f773ed4cf15019fd1f3df330", 1125 | "sha256:240b83b3a8175b2f616f80092cbb019fcd5c18598f78ffc6aa0ae9034b300f14", 1126 | "sha256:246f27b88722cfa729bb04881e94484e40b085720d728c1b05133b3f331b0b7b", 1127 | "sha256:2534a036b777f957bd6b89b55fb2136775ca2659fb0f1c85036ba78d17d86fd5", 1128 | "sha256:262f470e7acde18b7217aac78d19d2e29ced91a5afbeb7d98521ebf26461aa7e", 1129 | "sha256:2dd3896b3c952cf6c8013deda53c1df16bf962f355b5503d23521e0f6403ae3d", 1130 | "sha256:31c5dfb6df5148789835128768c01bf6402eb753d06f524f12f6786caf96fb44", 1131 | "sha256:4842a8263cbaba6fce401bbe4e2b125321c401a01714e42624dabc554bfc2629", 1132 | "sha256:50d007d5702171bc810c1e74498fa2c7bc5b50f9750697f7fd2a3e71a25aad91", 1133 | "sha256:5933d1f4087de6e52906f72d92e1e4dcc630d371860b92c55d7f7a4b815a664c", 1134 | "sha256:620b0abb813958cb3ecb5144c177e26cde92fee6f43c4b9de6b329515532bf27", 1135 | "sha256:631f932fb1fa4b76f31adf976f8056519bc6208a3c24c184581c3dd5be15066e", 1136 | "sha256:66375a6094af72a6098ed4403b15b4db6bf00013c6febc1baa832e7abda827f4", 1137 | "sha256:6a5b4566f66d953601d0d47d4071897f550a265bafd52ebcad5ac7aad3838cbb", 1138 | "sha256:6d18c76676771fd891ca8e0e68da0bbfb88e30129835c0ade748016adb3b6242", 1139 | "sha256:6e9c030222893afa86881d7485d3e841969760a16004bd23e9a83cca28b42778", 1140 | "sha256:89200ab6ef9081c72a04ed84c52a50b60dcb0655375aeedb40689bc7c934715e", 1141 | "sha256:93705cb90baa9d6f75e8448861a1efd3329006f79095ab18846bd1eaa342f7c3", 1142 | "sha256:a649065413ba4eab92a783a7caa4de8ce14cf46ba8a2a09951426143f1298adb", 1143 | "sha256:ac4497e4b7d134ee53ce5532d9cc3b640d6e71806a55062984e0c99a2f88f465", 1144 | "sha256:b2c16d20bd0aef8e57bc9505fdd80ea0d6008020c3740accd96acf1b3d1b5347", 1145 | "sha256:b3f57bee62e36be5c97712de32237c5589caee0d1154c2ad01a888accfae20bc", 1146 | "sha256:b4428302c389fffc0c9c07a78cad5376636b9d096f332acfe66b321ae9ff2c63", 1147 | "sha256:b4a51c7d906dc263a0cc5590761e53e0a68f2c2fefe549cbef21c9ee5d2d98a4", 1148 | "sha256:b921758f8b5098faa85f341bbdd5e36d5339de5e9032ca2b07d8c8e7bec5069b", 1149 | "sha256:c1b6619ceb33a8907f1cb82ff8afc8a133e7a5f16df29528e919734718600426", 1150 | "sha256:c9cb0bd3a3cb7ccad3caa1d7b0d18ba71ed3a4a3610028e506a4084371d4d223", 1151 | "sha256:d60a407663b7c2af781ab7f49d94a3d379dd148bb69ea8d9dd5bc69adf18097c", 1152 | "sha256:da7f7f3bb08bcf59a6b60b4e53dd8f08bb00c9e61045319d825a906dbb3c8fb7", 1153 | "sha256:e66025b64c4724ba683d6d4a4e5ee23de12fe9ae683908f0c7f0f91b4a2fd94e", 1154 | "sha256:ed67df4eaa99a20d162d76655bda23160abdf8abf82a17f41dfd3962e608dbcc", 1155 | "sha256:f520e9fee5d7a2e09b051d924f85b977c6b4e224e56c0551c3c241bbeeb0ad8d", 1156 | "sha256:f5c84c5de9a773bbf8b22c51e28380999ea72e5e85b4db8edf5e69a7a0d4d9f9", 1157 | "sha256:ff345d48940c834168f81fa1d4724675099f148f1ab6369748c4d712ed71bf7c" 1158 | ], 1159 | "markers": "python_version >= '3.6'", 1160 | "version": "==22.2.1" 1161 | }, 1162 | "requests": { 1163 | "hashes": [ 1164 | "sha256:6c1246513ecd5ecd4528a0906f910e8f0f9c6b8ec72030dc9fd154dc1a6efd24", 1165 | "sha256:b8aa58f8cf793ffd8782d3d8cb19e66ef36f7aba4353eec859e74678b01b07a7" 1166 | ], 1167 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", 1168 | "version": "==2.26.0" 1169 | }, 1170 | "send2trash": { 1171 | "hashes": [ 1172 | "sha256:d2c24762fd3759860a0aff155e45871447ea58d2be6bdd39b5c8f966a0c99c2d", 1173 | "sha256:f20eaadfdb517eaca5ce077640cb261c7d2698385a6a0f072a4a5447fd49fa08" 1174 | ], 1175 | "version": "==1.8.0" 1176 | }, 1177 | "setuptools-git": { 1178 | "hashes": [ 1179 | "sha256:e7764dccce7d97b4b5a330d7b966aac6f9ac026385743fd6cedad553f2494cfa", 1180 | "sha256:ff64136da01aabba76ae88b050e7197918d8b2139ccbf6144e14d472b9c40445" 1181 | ], 1182 | "version": "==1.2" 1183 | }, 1184 | "six": { 1185 | "hashes": [ 1186 | "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", 1187 | "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" 1188 | ], 1189 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", 1190 | "version": "==1.16.0" 1191 | }, 1192 | "smmap": { 1193 | "hashes": [ 1194 | "sha256:7e65386bd122d45405ddf795637b7f7d2b532e7e401d46bbe3fb49b9986d5182", 1195 | "sha256:a9a7479e4c572e2e775c404dcd3080c8dc49f39918c2cf74913d30c4c478e3c2" 1196 | ], 1197 | "markers": "python_version >= '3.5'", 1198 | "version": "==4.0.0" 1199 | }, 1200 | "streamlit": { 1201 | "hashes": [ 1202 | "sha256:66298c36b3c7ad124b06d0f2bfe08158091d755b8e1134e3ddfc05c90e318adb", 1203 | "sha256:eb70f07b39a95ee0ee12c53044907fd41ccdfaf6d886f09acd7912c66fcfdf32" 1204 | ], 1205 | "index": "pypi", 1206 | "version": "==0.86.0" 1207 | }, 1208 | "tenacity": { 1209 | "hashes": [ 1210 | "sha256:43242a20e3e73291a28bcbcacfd6e000b02d3857a9a9fff56b297a27afdc932f", 1211 | "sha256:f78f4ea81b0fabc06728c11dc2a8c01277bfc5181b321a4770471902e3eb844a" 1212 | ], 1213 | "markers": "python_version >= '3.6'", 1214 | "version": "==8.0.1" 1215 | }, 1216 | "terminado": { 1217 | "hashes": [ 1218 | "sha256:962b402edbb480718054dc37027bada293972ecadfb587b89f01e2b8660a2132", 1219 | "sha256:9e0457334863be3e6060c487ad60e0995fa1df54f109c67b24ff49a4f2f34df5" 1220 | ], 1221 | "markers": "python_version >= '3.6'", 1222 | "version": "==0.11.1" 1223 | }, 1224 | "testpath": { 1225 | "hashes": [ 1226 | "sha256:1acf7a0bcd3004ae8357409fc33751e16d37ccc650921da1094a86581ad1e417", 1227 | "sha256:8044f9a0bab6567fc644a3593164e872543bb44225b0e24846e2c89237937589" 1228 | ], 1229 | "markers": "python_version >= '3.5'", 1230 | "version": "==0.5.0" 1231 | }, 1232 | "toml": { 1233 | "hashes": [ 1234 | "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", 1235 | "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f" 1236 | ], 1237 | "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", 1238 | "version": "==0.10.2" 1239 | }, 1240 | "toolz": { 1241 | "hashes": [ 1242 | "sha256:1bc473acbf1a1db4e72a1ce587be347450e8f08324908b8a266b486f408f04d5", 1243 | "sha256:c7a47921f07822fe534fb1c01c9931ab335a4390c782bd28c6bcc7c2f71f3fbf" 1244 | ], 1245 | "markers": "python_version >= '3.5'", 1246 | "version": "==0.11.1" 1247 | }, 1248 | "tornado": { 1249 | "hashes": [ 1250 | "sha256:0a00ff4561e2929a2c37ce706cb8233b7907e0cdc22eab98888aca5dd3775feb", 1251 | "sha256:0d321a39c36e5f2c4ff12b4ed58d41390460f798422c4504e09eb5678e09998c", 1252 | "sha256:1e8225a1070cd8eec59a996c43229fe8f95689cb16e552d130b9793cb570a288", 1253 | "sha256:20241b3cb4f425e971cb0a8e4ffc9b0a861530ae3c52f2b0434e6c1b57e9fd95", 1254 | "sha256:25ad220258349a12ae87ede08a7b04aca51237721f63b1808d39bdb4b2164558", 1255 | "sha256:33892118b165401f291070100d6d09359ca74addda679b60390b09f8ef325ffe", 1256 | "sha256:33c6e81d7bd55b468d2e793517c909b139960b6c790a60b7991b9b6b76fb9791", 1257 | "sha256:3447475585bae2e77ecb832fc0300c3695516a47d46cefa0528181a34c5b9d3d", 1258 | "sha256:34ca2dac9e4d7afb0bed4677512e36a52f09caa6fded70b4e3e1c89dbd92c326", 1259 | "sha256:3e63498f680547ed24d2c71e6497f24bca791aca2fe116dbc2bd0ac7f191691b", 1260 | "sha256:548430be2740e327b3fe0201abe471f314741efcb0067ec4f2d7dcfb4825f3e4", 1261 | "sha256:6196a5c39286cc37c024cd78834fb9345e464525d8991c21e908cc046d1cc02c", 1262 | "sha256:61b32d06ae8a036a6607805e6720ef00a3c98207038444ba7fd3d169cd998910", 1263 | "sha256:6286efab1ed6e74b7028327365cf7346b1d777d63ab30e21a0f4d5b275fc17d5", 1264 | "sha256:65d98939f1a2e74b58839f8c4dab3b6b3c1ce84972ae712be02845e65391ac7c", 1265 | "sha256:66324e4e1beede9ac79e60f88de548da58b1f8ab4b2f1354d8375774f997e6c0", 1266 | "sha256:6c77c9937962577a6a76917845d06af6ab9197702a42e1346d8ae2e76b5e3675", 1267 | "sha256:70dec29e8ac485dbf57481baee40781c63e381bebea080991893cd297742b8fd", 1268 | "sha256:7250a3fa399f08ec9cb3f7b1b987955d17e044f1ade821b32e5f435130250d7f", 1269 | "sha256:748290bf9112b581c525e6e6d3820621ff020ed95af6f17fedef416b27ed564c", 1270 | "sha256:7da13da6f985aab7f6f28debab00c67ff9cbacd588e8477034c0652ac141feea", 1271 | "sha256:8f959b26f2634a091bb42241c3ed8d3cedb506e7c27b8dd5c7b9f745318ddbb6", 1272 | "sha256:9de9e5188a782be6b1ce866e8a51bc76a0fbaa0e16613823fc38e4fc2556ad05", 1273 | "sha256:a48900ecea1cbb71b8c71c620dee15b62f85f7c14189bdeee54966fbd9a0c5bd", 1274 | "sha256:b87936fd2c317b6ee08a5741ea06b9d11a6074ef4cc42e031bc6403f82a32575", 1275 | "sha256:c77da1263aa361938476f04c4b6c8916001b90b2c2fdd92d8d535e1af48fba5a", 1276 | "sha256:cb5ec8eead331e3bb4ce8066cf06d2dfef1bfb1b2a73082dfe8a161301b76e37", 1277 | "sha256:cc0ee35043162abbf717b7df924597ade8e5395e7b66d18270116f8745ceb795", 1278 | "sha256:d14d30e7f46a0476efb0deb5b61343b1526f73ebb5ed84f23dc794bdb88f9d9f", 1279 | "sha256:d371e811d6b156d82aa5f9a4e08b58debf97c302a35714f6f45e35139c332e32", 1280 | "sha256:d3d20ea5782ba63ed13bc2b8c291a053c8d807a8fa927d941bd718468f7b950c", 1281 | "sha256:d3f7594930c423fd9f5d1a76bee85a2c36fd8b4b16921cae7e965f22575e9c01", 1282 | "sha256:dcef026f608f678c118779cd6591c8af6e9b4155c44e0d1bc0c87c036fb8c8c4", 1283 | "sha256:e0791ac58d91ac58f694d8d2957884df8e4e2f6687cdf367ef7eb7497f79eaa2", 1284 | "sha256:e385b637ac3acaae8022e7e47dfa7b83d3620e432e3ecb9a3f7f58f150e50921", 1285 | "sha256:e519d64089b0876c7b467274468709dadf11e41d65f63bba207e04217f47c085", 1286 | "sha256:e7229e60ac41a1202444497ddde70a48d33909e484f96eb0da9baf8dc68541df", 1287 | "sha256:ed3ad863b1b40cd1d4bd21e7498329ccaece75db5a5bf58cd3c9f130843e7102", 1288 | "sha256:f0ba29bafd8e7e22920567ce0d232c26d4d47c8b5cf4ed7b562b5db39fa199c5", 1289 | "sha256:fa2ba70284fa42c2a5ecb35e322e68823288a4251f9ba9cc77be04ae15eada68", 1290 | "sha256:fba85b6cd9c39be262fcd23865652920832b61583de2a2ca907dbd8e8a8c81e5" 1291 | ], 1292 | "markers": "python_version >= '3.5'", 1293 | "version": "==6.1" 1294 | }, 1295 | "tqdm": { 1296 | "hashes": [ 1297 | "sha256:07856e19a1fe4d2d9621b539d3f072fa88c9c1ef1f3b7dd4d4953383134c3164", 1298 | "sha256:35540feeaca9ac40c304e916729e6b78045cbbeccd3e941b2868f09306798ac9" 1299 | ], 1300 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", 1301 | "version": "==4.62.1" 1302 | }, 1303 | "traitlets": { 1304 | "hashes": [ 1305 | "sha256:178f4ce988f69189f7e523337a3e11d91c786ded9360174a3d9ca83e79bc5396", 1306 | "sha256:69ff3f9d5351f31a7ad80443c2674b7099df13cc41fc5fa6e2f6d3b0330b0426" 1307 | ], 1308 | "markers": "python_version >= '3.7'", 1309 | "version": "==5.0.5" 1310 | }, 1311 | "tzlocal": { 1312 | "hashes": [ 1313 | "sha256:c736f2540713deb5938d789ca7c3fc25391e9a20803f05b60ec64987cf086559", 1314 | "sha256:f4e6e36db50499e0d92f79b67361041f048e2609d166e93456b50746dc4aef12" 1315 | ], 1316 | "markers": "python_version >= '3.6'", 1317 | "version": "==3.0" 1318 | }, 1319 | "urllib3": { 1320 | "hashes": [ 1321 | "sha256:39fb8672126159acb139a7718dd10806104dec1e2f0f6c88aab05d17df10c8d4", 1322 | "sha256:f57b4c16c62fa2760b7e3d97c35b255512fb6b59a259730f36ba32ce9f8e342f" 1323 | ], 1324 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'", 1325 | "version": "==1.26.6" 1326 | }, 1327 | "validators": { 1328 | "hashes": [ 1329 | "sha256:0143dcca8a386498edaf5780cbd5960da1a4c85e0719f3ee5c9b41249c4fefbd", 1330 | "sha256:37cd9a9213278538ad09b5b9f9134266e7c226ab1fede1d500e29e0a8fbb9ea6" 1331 | ], 1332 | "markers": "python_version >= '3.4'", 1333 | "version": "==0.18.2" 1334 | }, 1335 | "wcwidth": { 1336 | "hashes": [ 1337 | "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784", 1338 | "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83" 1339 | ], 1340 | "version": "==0.2.5" 1341 | }, 1342 | "webencodings": { 1343 | "hashes": [ 1344 | "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", 1345 | "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923" 1346 | ], 1347 | "version": "==0.5.1" 1348 | }, 1349 | "widgetsnbextension": { 1350 | "hashes": [ 1351 | "sha256:079f87d87270bce047512400efd70238820751a11d2d8cb137a5a5bdbaf255c7", 1352 | "sha256:bd314f8ceb488571a5ffea6cc5b9fc6cba0adaf88a9d2386b93a489751938bcd" 1353 | ], 1354 | "version": "==3.5.1" 1355 | }, 1356 | "yfinance": { 1357 | "hashes": [ 1358 | "sha256:11364fe94f1cf7811c45fc620acb61c8c45fcb88de317c7718bbdbc9c1573a4c" 1359 | ], 1360 | "index": "pypi", 1361 | "version": "==0.1.63" 1362 | } 1363 | }, 1364 | "develop": { 1365 | "astroid": { 1366 | "hashes": [ 1367 | "sha256:3975a0bd5373bdce166e60c851cfcbaf21ee96de80ec518c1f4cb3e94c3fb334", 1368 | "sha256:ab7f36e8a78b8e54a62028ba6beef7561db4cdb6f2a5009ecc44a6f42b5697ef" 1369 | ], 1370 | "markers": "python_version ~= '3.6'", 1371 | "version": "==2.6.6" 1372 | }, 1373 | "isort": { 1374 | "hashes": [ 1375 | "sha256:9c2ea1e62d871267b78307fe511c0838ba0da28698c5732d54e2790bf3ba9899", 1376 | "sha256:e17d6e2b81095c9db0a03a8025a957f334d6ea30b26f9ec70805411e5c7c81f2" 1377 | ], 1378 | "markers": "python_version < '4.0' and python_full_version >= '3.6.1'", 1379 | "version": "==5.9.3" 1380 | }, 1381 | "lazy-object-proxy": { 1382 | "hashes": [ 1383 | "sha256:17e0967ba374fc24141738c69736da90e94419338fd4c7c7bef01ee26b339653", 1384 | "sha256:1fee665d2638491f4d6e55bd483e15ef21f6c8c2095f235fef72601021e64f61", 1385 | "sha256:22ddd618cefe54305df49e4c069fa65715be4ad0e78e8d252a33debf00f6ede2", 1386 | "sha256:24a5045889cc2729033b3e604d496c2b6f588c754f7a62027ad4437a7ecc4837", 1387 | "sha256:410283732af311b51b837894fa2f24f2c0039aa7f220135192b38fcc42bd43d3", 1388 | "sha256:4732c765372bd78a2d6b2150a6e99d00a78ec963375f236979c0626b97ed8e43", 1389 | "sha256:489000d368377571c6f982fba6497f2aa13c6d1facc40660963da62f5c379726", 1390 | "sha256:4f60460e9f1eb632584c9685bccea152f4ac2130e299784dbaf9fae9f49891b3", 1391 | "sha256:5743a5ab42ae40caa8421b320ebf3a998f89c85cdc8376d6b2e00bd12bd1b587", 1392 | "sha256:85fb7608121fd5621cc4377a8961d0b32ccf84a7285b4f1d21988b2eae2868e8", 1393 | "sha256:9698110e36e2df951c7c36b6729e96429c9c32b3331989ef19976592c5f3c77a", 1394 | "sha256:9d397bf41caad3f489e10774667310d73cb9c4258e9aed94b9ec734b34b495fd", 1395 | "sha256:b579f8acbf2bdd9ea200b1d5dea36abd93cabf56cf626ab9c744a432e15c815f", 1396 | "sha256:b865b01a2e7f96db0c5d12cfea590f98d8c5ba64ad222300d93ce6ff9138bcad", 1397 | "sha256:bf34e368e8dd976423396555078def5cfc3039ebc6fc06d1ae2c5a65eebbcde4", 1398 | "sha256:c6938967f8528b3668622a9ed3b31d145fab161a32f5891ea7b84f6b790be05b", 1399 | "sha256:d1c2676e3d840852a2de7c7d5d76407c772927addff8d742b9808fe0afccebdf", 1400 | "sha256:d7124f52f3bd259f510651450e18e0fd081ed82f3c08541dffc7b94b883aa981", 1401 | "sha256:d900d949b707778696fdf01036f58c9876a0d8bfe116e8d220cfd4b15f14e741", 1402 | "sha256:ebfd274dcd5133e0afae738e6d9da4323c3eb021b3e13052d8cbd0e457b1256e", 1403 | "sha256:ed361bb83436f117f9917d282a456f9e5009ea12fd6de8742d1a4752c3017e93", 1404 | "sha256:f5144c75445ae3ca2057faac03fda5a902eff196702b0a24daf1d6ce0650514b" 1405 | ], 1406 | "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", 1407 | "version": "==1.6.0" 1408 | }, 1409 | "mccabe": { 1410 | "hashes": [ 1411 | "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42", 1412 | "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f" 1413 | ], 1414 | "version": "==0.6.1" 1415 | }, 1416 | "pylint": { 1417 | "hashes": [ 1418 | "sha256:2e1a0eb2e8ab41d6b5dbada87f066492bb1557b12b76c47c2ee8aa8a11186594", 1419 | "sha256:8b838c8983ee1904b2de66cce9d0b96649a91901350e956d78f289c3bc87b48e" 1420 | ], 1421 | "index": "pypi", 1422 | "version": "==2.9.6" 1423 | }, 1424 | "toml": { 1425 | "hashes": [ 1426 | "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", 1427 | "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f" 1428 | ], 1429 | "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", 1430 | "version": "==0.10.2" 1431 | }, 1432 | "wrapt": { 1433 | "hashes": [ 1434 | "sha256:b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7" 1435 | ], 1436 | "version": "==1.12.1" 1437 | } 1438 | } 1439 | } 1440 | --------------------------------------------------------------------------------