py-Quantmod | 5 minute intro

Powerful financial charting library based on R's Quantmod

Documentation at: http://py-quantmod.readthedocs.io/en/latest/

Make your first Quantmod chart


In [3]:
import quantmod as qm

# Get symbol
ch = qm.get_symbol('QQQ', start='01/01/2016')

# Add indicators
ch.add_EMA(9)
ch.add_RSI(14)

# Plot
ch.iplot()


Out[3]:

Versus native Plotly + Pandas + Talib


In [2]:
import pandas as pd
import pandas_datareader as web
import plotly.plotly as py
import talib

df = web.DataReader('QQQ', start='01/01/2016', data_source='yahoo')

trace1 = dict(
    type = 'candlestick',
    x = df.index,
    y = df['Close'],
    yaxis = 'y',
)

ma = df['Close'].ewm(com=4).mean()
rsi = talib.RSI(df['Close'].values, 14)
rsi = pd.Series(rsi)

trace1 = dict(
    type = 'candlestick',
    x = df.index,
    open = df['Open'],
    high = df['High'],
    low = df['Low'],
    close = df['Close'],
    showlegend = False,
    yaxis = 'y'
)

trace2 = dict(
    type = 'line',
    x = df.index,
    y = ma,
    line = dict(color='blue'),
    name = 'EMA(9)',
    yaxis = 'y'
)

trace3 = dict(
    type = 'bar',
    x = df.index,
    y = df['Volume'],
    marker = dict(color=[
                    'green'
                    if (value - df['Open'].values[i]) >= 0
                    else 'red'
                    for i, value in enumerate(df['Close'].values)
                ]),
    showlegend = False,
    yaxis = 'y2'
)

trace4 = dict(
    type = 'line',
    x = df.index,
    y = rsi,
    line = dict(color='blue'),
    name = 'RSI(14)',
    yaxis = 'y3'
)

data = [trace1, trace2, trace3, trace4]

layout = dict(
    title = 'QQQ',
    font = dict(family='Droid Sans Mono'),
    margin = dict(
        l = 40,
        r = 40,
        b = 40,
        t = 40
    ),
    xaxis = dict(
        anchor = 'y3',
        rangeslider=dict(visible=False)
    ),
    yaxis = dict(
        domain = [0.5, 1]
    ),
    yaxis2 = dict(
        domain = [0.25, 0.49],
    ),
    yaxis3 = dict(
        domain = [0, 0.24],)
)

figure = dict(data=data, layout=layout)
py.iplot(figure, validate=False)


Out[2]:

DataFrame and OHLCV functions


In [8]:
# Naive charting
ch = qm.get_symbol('AAPL')
ch.iplot(theme='dark')


Out[8]:

In [9]:
# Inplace historical data adjustment
ch.adjust(inplace=True)
ch.iplot(theme='dark')


Out[9]:

In [10]:
ch.add_CCI(14)
ch.add_EMA(5)

# To DataFrame
df = ch.to_frame()
df.tail()


Out[10]:
Open High Low Close Volume Adj Close CCI(14) EMA(5)
Date
2017-04-27 143.919998 144.160004 143.309998 143.789993 14106100 143.789993 77.166218 143.488159
2017-04-28 144.089996 144.300003 143.270004 143.649994 20763500 143.649994 74.789954 143.542104
2017-05-01 145.100006 147.199997 144.960007 146.580002 33424500 146.580002 180.436208 144.554737
2017-05-02 147.539993 148.089996 146.839996 147.509995 40290100 147.509995 185.793112 145.539823
2017-05-03 145.589996 147.490005 144.270004 147.059998 45404200 147.059998 114.499070 146.046548

In [11]:
# Select EMA
ema = df['EMA(5)']

# Alternatively
ema = ch.ind['EMA(5)']

Advanced charting


In [10]:
# Go offline
qm.go_offline()

# True
qm.is_offline()


Out[10]:
True

In [14]:
# Additional arguments
ch.iplot(type='ohlc', log=True, volume=False, legend=False, title='Custom Title', theme='dark', dimensions=(1000,500))


Out[14]:

In [13]:
# Go online
qm.go_online()

# False
qm.is_offline()


Out[13]:
False

In [17]:
# Return figure for Dash
ch.to_figure()


Out[17]:
{'data': [{'close': Date
   2010-01-04     27.727039
   2010-01-05     27.774976
   2010-01-06     27.333178
   2010-01-07     27.282650
   2010-01-08     27.464034
   2010-01-11     27.221758
   2010-01-12     26.912110
   2010-01-13     27.291720
   2010-01-14     27.133657
   2010-01-15     26.680198
   2010-01-19     27.860485
   2010-01-20     27.431644
   2010-01-21     26.957455
   2010-01-22     25.620401
   2010-01-25     26.309658
   2010-01-26     26.681494
   2010-01-27     26.932840
   2010-01-28     25.819922
   2010-01-29     24.883208
   2010-02-01     25.229131
   2010-02-02     25.375533
   2010-02-03     25.812149
   2010-02-04     24.881912
   2010-02-05     25.323710
   2010-02-08     25.150100
   2010-02-09     25.418289
   2010-02-10     25.279660
   2010-02-11     25.739595
   2010-02-12     25.961142
   2010-02-16     26.352412
                    ...    
   2017-03-22    141.419998
   2017-03-23    140.919998
   2017-03-24    140.639999
   2017-03-27    140.880005
   2017-03-28    143.800003
   2017-03-29    144.119995
   2017-03-30    143.929993
   2017-03-31    143.660004
   2017-04-03    143.699997
   2017-04-04    144.770004
   2017-04-05    144.020004
   2017-04-06    143.660004
   2017-04-07    143.339996
   2017-04-10    143.169998
   2017-04-11    141.630005
   2017-04-12    141.800003
   2017-04-13    141.050003
   2017-04-17    141.830002
   2017-04-18    141.199997
   2017-04-19    140.679993
   2017-04-20    142.440002
   2017-04-21    142.270004
   2017-04-24    143.639999
   2017-04-25    144.529999
   2017-04-26    143.679993
   2017-04-27    143.789993
   2017-04-28    143.649994
   2017-05-01    146.580002
   2017-05-02    147.509995
   2017-05-03    147.059998
   Name: Close, dtype: float64,
   'decreasing': {'fillcolor': '#FF7700',
    'line': {'color': 'rgba(0, 0, 0, 0.25)', 'width': 1}},
   'high': Date
   2010-01-04     27.790523
   2010-01-05     27.931743
   2010-01-06     27.885102
   2010-01-07     27.466625
   2010-01-08     27.466625
   2010-01-11     27.596185
   2010-01-12     27.177706
   2010-01-13     27.327996
   2010-01-14     27.267103
   2010-01-15     27.414800
   2010-01-19     27.879919
   2010-01-20     27.926561
   2010-01-21     27.636347
   2010-01-22     26.883606
   2010-01-25     26.520840
   2010-01-26     27.688172
   2010-01-27     27.282650
   2010-01-28     26.624488
   2010-01-29     26.196941
   2010-02-01     25.393672
   2010-02-02     25.435130
   2010-02-03     25.937823
   2010-02-04     25.700728
   2010-02-05     25.393672
   2010-02-08     25.637245
   2010-02-09     25.588011
   2010-02-10     25.471407
   2010-02-11     25.879521
   2010-02-12     26.124387
   2010-02-16     26.389985
                    ...    
   2017-03-22    141.600006
   2017-03-23    141.580002
   2017-03-24    141.740005
   2017-03-27    141.220001
   2017-03-28    144.039993
   2017-03-29    144.490005
   2017-03-30    144.500000
   2017-03-31    144.270004
   2017-04-03    144.119995
   2017-04-04    144.889999
   2017-04-05    145.460007
   2017-04-06    144.520004
   2017-04-07    144.179993
   2017-04-10    143.880005
   2017-04-11    143.350006
   2017-04-12    142.149994
   2017-04-13    142.380005
   2017-04-17    141.880005
   2017-04-18    142.039993
   2017-04-19    142.000000
   2017-04-20    142.919998
   2017-04-21    142.679993
   2017-04-24    143.949997
   2017-04-25    144.899994
   2017-04-26    144.600006
   2017-04-27    144.160004
   2017-04-28    144.300003
   2017-05-01    147.199997
   2017-05-02    148.089996
   2017-05-03    147.490005
   Name: High, dtype: float64,
   'hoverinfo': 'x+y+text+name',
   'increasing': {'fillcolor': '#00CC00',
    'line': {'color': 'rgba(0, 0, 0, 0.25)', 'width': 1}},
   'low': Date
   2010-01-04     27.515857
   2010-01-05     27.628574
   2010-01-06     27.304676
   2010-01-07     27.084425
   2010-01-08     27.085720
   2010-01-11     27.006689
   2010-01-12     26.743682
   2010-01-13     26.443104
   2010-01-14     27.080538
   2010-01-15     26.672424
   2010-01-19     26.849922
   2010-01-20     27.142726
   2010-01-21     26.846035
   2010-01-22     25.543961
   2010-01-25     25.936526
   2010-01-26     26.246174
   2010-01-27     25.851017
   2010-01-28     25.743482
   2010-01-29     24.648705
   2010-02-01     24.784742
   2010-02-02     25.054225
   2010-02-03     25.188969
   2010-02-04     24.819724
   2010-02-05     24.726441
   2010-02-08     25.134552
   2010-02-09     25.231722
   2010-02-10     25.168238
   2010-02-11     25.142326
   2010-02-12     25.328893
   2010-02-16     26.108841
                    ...    
   2017-03-22    139.759995
   2017-03-23    140.610001
   2017-03-24    140.350006
   2017-03-27    138.619995
   2017-03-28    140.619995
   2017-03-29    143.190002
   2017-03-30    143.500000
   2017-03-31    143.009995
   2017-04-03    143.050003
   2017-04-04    143.169998
   2017-04-05    143.809998
   2017-04-06    143.449997
   2017-04-07    143.270004
   2017-04-10    142.899994
   2017-04-11    140.059998
   2017-04-12    141.009995
   2017-04-13    141.050003
   2017-04-17    140.869995
   2017-04-18    141.110001
   2017-04-19    140.449997
   2017-04-20    141.160004
   2017-04-21    141.850006
   2017-04-24    143.179993
   2017-04-25    143.869995
   2017-04-26    143.380005
   2017-04-27    143.309998
   2017-04-28    143.270004
   2017-05-01    144.960007
   2017-05-02    146.839996
   2017-05-03    144.270004
   Name: Low, dtype: float64,
   'name': 'AAPL',
   'open': Date
   2010-01-04     27.651894
   2010-01-05     27.803480
   2010-01-06     27.774976
   2010-01-07     27.434235
   2010-01-08     27.246373
   2010-01-11     27.570272
   2010-01-12     27.102562
   2010-01-13     26.931545
   2010-01-14     27.221758
   2010-01-15     27.327995
   2010-01-19     26.991141
   2010-01-20     27.843644
   2010-01-21     27.476989
   2010-01-22     26.790325
   2010-01-25     26.237105
   2010-01-26     26.682790
   2010-01-27     26.799392
   2010-01-28     26.550639
   2010-01-29     26.051834
   2010-02-01     24.923370
   2010-02-02     25.382011
   2010-02-03     25.286137
   2010-02-04     25.488251
   2010-02-05     24.957057
   2010-02-08     25.353510
   2010-02-09     25.448087
   2010-02-10     25.379420
   2010-02-11     25.248565
   2010-02-12     25.667042
   2010-02-16     26.163256
                    ...    
   2017-03-22    139.850006
   2017-03-23    141.259995
   2017-03-24    141.500000
   2017-03-27    139.389999
   2017-03-28    140.910004
   2017-03-29    143.679993
   2017-03-30    144.190002
   2017-03-31    143.720001
   2017-04-03    143.710007
   2017-04-04    143.250000
   2017-04-05    144.220001
   2017-04-06    144.289993
   2017-04-07    143.729996
   2017-04-10    143.600006
   2017-04-11    142.940002
   2017-04-12    141.600006
   2017-04-13    141.910004
   2017-04-17    141.479996
   2017-04-18    141.410004
   2017-04-19    141.880005
   2017-04-20    141.220001
   2017-04-21    142.440002
   2017-04-24    143.500000
   2017-04-25    143.910004
   2017-04-26    144.470001
   2017-04-27    143.919998
   2017-04-28    144.089996
   2017-05-01    145.100006
   2017-05-02    147.539993
   2017-05-03    145.589996
   Name: Open, dtype: float64,
   'showlegend': False,
   'type': 'candlestick',
   'whiskerwidth': 0,
   'x': DatetimeIndex(['2010-01-04', '2010-01-05', '2010-01-06', '2010-01-07',
                  '2010-01-08', '2010-01-11', '2010-01-12', '2010-01-13',
                  '2010-01-14', '2010-01-15',
                  ...
                  '2017-04-20', '2017-04-21', '2017-04-24', '2017-04-25',
                  '2017-04-26', '2017-04-27', '2017-04-28', '2017-05-01',
                  '2017-05-02', '2017-05-03'],
                 dtype='datetime64[ns]', name='Date', length=1846, freq=None),
   'yaxis': 'y1'},
  {'fillcolor': False,
   'hoverinfo': 'x+y+text+name',
   'line': {'color': '#0044FF', 'width': 2},
   'marker': {'color': False, 'opacity': 1.0, 'size': 3, 'symbol': 'square'},
   'mode': 'lines',
   'name': 'EMA(5)',
   'opacity': 0.6,
   'type': 'scatter',
   'x': DatetimeIndex(['2010-01-04', '2010-01-05', '2010-01-06', '2010-01-07',
                  '2010-01-08', '2010-01-11', '2010-01-12', '2010-01-13',
                  '2010-01-14', '2010-01-15',
                  ...
                  '2017-04-20', '2017-04-21', '2017-04-24', '2017-04-25',
                  '2017-04-26', '2017-04-27', '2017-04-28', '2017-05-01',
                  '2017-05-02', '2017-05-03'],
                 dtype='datetime64[ns]', name='Date', length=1846, freq=None),
   'y': Date
   2010-01-04           NaN
   2010-01-05           NaN
   2010-01-06           NaN
   2010-01-07           NaN
   2010-01-08     27.516375
   2010-01-11     27.418170
   2010-01-12     27.249483
   2010-01-13     27.263562
   2010-01-14     27.220260
   2010-01-15     27.040240
   2010-01-19     27.313655
   2010-01-20     27.352984
   2010-01-21     27.221141
   2010-01-22     26.687561
   2010-01-25     26.561593
   2010-01-26     26.601560
   2010-01-27     26.711987
   2010-01-28     26.414632
   2010-01-29     25.904157
   2010-02-01     25.679149
   2010-02-02     25.577943
   2010-02-03     25.656012
   2010-02-04     25.397979
   2010-02-05     25.373222
   2010-02-08     25.298848
   2010-02-09     25.338662
   2010-02-10     25.318995
   2010-02-11     25.459195
   2010-02-12     25.626510
   2010-02-16     25.868478
                    ...    
   2017-03-22    140.634814
   2017-03-23    140.729876
   2017-03-24    140.699917
   2017-03-27    140.759946
   2017-03-28    141.773298
   2017-03-29    142.555531
   2017-03-30    143.013685
   2017-03-31    143.229125
   2017-04-03    143.386082
   2017-04-04    143.847389
   2017-04-05    143.904928
   2017-04-06    143.823286
   2017-04-07    143.662190
   2017-04-10    143.498126
   2017-04-11    142.875419
   2017-04-12    142.516947
   2017-04-13    142.027966
   2017-04-17    141.961978
   2017-04-18    141.707984
   2017-04-19    141.365320
   2017-04-20    141.723548
   2017-04-21    141.905700
   2017-04-24    142.483799
   2017-04-25    143.165866
   2017-04-26    143.337242
   2017-04-27    143.488159
   2017-04-28    143.542104
   2017-05-01    144.554737
   2017-05-02    145.539823
   2017-05-03    146.046548
   Name: EMA(5), dtype: float64,
   'yaxis': 'y1'},
  {'hoverinfo': 'x+y+text+name',
   'marker': {'color': ['#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#00CC00',
     '#FF7700',
     '#FF7700',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     '#FF7700',
     '#00CC00',
     ...],
    'line': {'color': ['rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      'rgba(0, 0, 0, 0.25)',
      ...],
     'width': 1}},
   'name': 'Volume',
   'showlegend': False,
   'type': 'bar',
   'x': DatetimeIndex(['2010-01-04', '2010-01-05', '2010-01-06', '2010-01-07',
                  '2010-01-08', '2010-01-11', '2010-01-12', '2010-01-13',
                  '2010-01-14', '2010-01-15',
                  ...
                  '2017-04-20', '2017-04-21', '2017-04-24', '2017-04-25',
                  '2017-04-26', '2017-04-27', '2017-04-28', '2017-05-01',
                  '2017-05-02', '2017-05-03'],
                 dtype='datetime64[ns]', name='Date', length=1846, freq=None),
   'y': Date
   2010-01-04    123432400
   2010-01-05    150476200
   2010-01-06    138040000
   2010-01-07    119282800
   2010-01-08    111902700
   2010-01-11    115557400
   2010-01-12    148614900
   2010-01-13    151473000
   2010-01-14    108223500
   2010-01-15    148516900
   2010-01-19    182501900
   2010-01-20    153038200
   2010-01-21    152038600
   2010-01-22    220441900
   2010-01-25    266424900
   2010-01-26    466777500
   2010-01-27    430642100
   2010-01-28    293375600
   2010-01-29    311488100
   2010-02-01    187469100
   2010-02-02    174585600
   2010-02-03    153832000
   2010-02-04    189413000
   2010-02-05    212576700
   2010-02-08    119567700
   2010-02-09    158221700
   2010-02-10     92590400
   2010-02-11    137586400
   2010-02-12    163867200
   2010-02-16    135934400
                   ...    
   2017-03-22     25860200
   2017-03-23     20346300
   2017-03-24     22395600
   2017-03-27     23575100
   2017-03-28     33374800
   2017-03-29     29190000
   2017-03-30     21207300
   2017-03-31     19661700
   2017-04-03     19985700
   2017-04-04     19765700
   2017-04-05     27481500
   2017-04-06     21118000
   2017-04-07     16621300
   2017-04-10     18473000
   2017-04-11     30275300
   2017-04-12     20238900
   2017-04-13     17652900
   2017-04-17     16424000
   2017-04-18     14660800
   2017-04-19     17271300
   2017-04-20     23251100
   2017-04-21     17245200
   2017-04-24     17099200
   2017-04-25     18290300
   2017-04-26     19769400
   2017-04-27     14106100
   2017-04-28     20763500
   2017-05-01     33424500
   2017-05-02     40290100
   2017-05-03     45404200
   Name: Volume, dtype: int64,
   'yaxis': 'y2'},
  {'fillcolor': False,
   'hoverinfo': 'x+y+text+name',
   'line': {'color': '#0044FF', 'width': 2},
   'marker': {'color': False, 'opacity': 1.0, 'size': 3, 'symbol': 'square'},
   'mode': 'lines',
   'name': 'CCI(14)',
   'opacity': 0.6,
   'type': 'scatter',
   'x': DatetimeIndex(['2010-01-04', '2010-01-05', '2010-01-06', '2010-01-07',
                  '2010-01-08', '2010-01-11', '2010-01-12', '2010-01-13',
                  '2010-01-14', '2010-01-15',
                  ...
                  '2017-04-20', '2017-04-21', '2017-04-24', '2017-04-25',
                  '2017-04-26', '2017-04-27', '2017-04-28', '2017-05-01',
                  '2017-05-02', '2017-05-03'],
                 dtype='datetime64[ns]', name='Date', length=1846, freq=None),
   'y': Date
   2010-01-04           NaN
   2010-01-05           NaN
   2010-01-06           NaN
   2010-01-07           NaN
   2010-01-08           NaN
   2010-01-11           NaN
   2010-01-12           NaN
   2010-01-13           NaN
   2010-01-14           NaN
   2010-01-15           NaN
   2010-01-19           NaN
   2010-01-20           NaN
   2010-01-21           NaN
   2010-01-22   -265.766769
   2010-01-25   -165.335407
   2010-01-26    -37.152308
   2010-01-27    -62.979353
   2010-01-28   -148.989578
   2010-01-29   -200.350320
   2010-02-01   -158.843844
   2010-02-02   -113.605953
   2010-02-03    -68.285440
   2010-02-04    -99.869723
   2010-02-05    -85.855230
   2010-02-08    -63.231771
   2010-02-09    -44.555454
   2010-02-10    -49.834293
   2010-02-11     -8.815009
   2010-02-12     29.322505
   2010-02-16    126.064760
                    ...    
   2017-03-22    103.647303
   2017-03-23     94.747039
   2017-03-24     73.653146
   2017-03-27     15.846472
   2017-03-28    194.213851
   2017-03-29    233.195074
   2017-03-30    180.418364
   2017-03-31    119.452217
   2017-04-03     94.488041
   2017-04-04    103.592349
   2017-04-05     93.420522
   2017-04-06     60.776027
   2017-04-07     42.174165
   2017-04-10     22.649389
   2017-04-11    -73.556789
   2017-04-12    -81.640830
   2017-04-13    -98.692318
   2017-04-17   -115.489147
   2017-04-18   -100.342745
   2017-04-19   -102.553000
   2017-04-20    -31.159955
   2017-04-21    -20.722945
   2017-04-24     61.733987
   2017-04-25    112.185519
   2017-04-26     84.404486
   2017-04-27     77.166218
   2017-04-28     74.789954
   2017-05-01    180.436208
   2017-05-02    185.793112
   2017-05-03    114.499070
   Name: CCI(14), dtype: float64,
   'yaxis': 'y3'}],
 'layout': {'annotations': [{'font': {'color': '#00CC00'},
    'showarrow': False,
    'text': 'Last 147.06',
    'x': 0.01,
    'xanchor': 'left',
    'xref': 'paper',
    'y': 0.99,
    'yanchor': 'top',
    'yref': 'paper'},
   {'font': {'color': '#00CC00'},
    'showarrow': False,
    'text': 'Volume 45,404,200',
    'x': 0.01,
    'xanchor': 'left',
    'xref': 'paper',
    'y': 0.48,
    'yanchor': 'top',
    'yref': 'paper'}],
  'autosize': True,
  'bargap': 0.3,
  'bargroupgap': 0.0,
  'barmode': 'group',
  'boxgap': 0.3,
  'boxgroupgap': 0.0,
  'font': {'color': '#222222', 'family': 'droid sans mono', 'size': 12},
  'height': 720,
  'hovermode': 'x',
  'legend': {'bgcolor': 'rgba(0, 0, 0, 0.00)',
   'tracegroupgap': 10,
   'x': 0.01,
   'xanchor': 'left',
   'y': 0.96,
   'yanchor': 'top'},
  'margin': {'b': 40, 'l': 40, 'pad': 0, 'r': 40, 't': 60},
  'paper_bgcolor': '#F3F3F3',
  'plot_bgcolor': '#FFFFFF',
  'showlegend': True,
  'title': 'AAPL',
  'width': 1080,
  'xaxis': {'anchor': 'y3',
   'color': '#444444',
   'rangeselector': {'activecolor': '#888888',
    'bgcolor': '#C9C9C9',
    'bordercolor': '#C9C9C9',
    'buttons': [{'count': 1,
      'label': '1D',
      'step': 'day',
      'stepmode': 'backward'},
     {'count': 5, 'label': '5D', 'step': 'day', 'stepmode': 'backward'},
     {'count': 1, 'label': '1M', 'step': 'month', 'stepmode': 'backward'},
     {'count': 3, 'label': '3M', 'step': 'month', 'stepmode': 'backward'},
     {'count': 6, 'label': '6M', 'step': 'month', 'stepmode': 'backward'},
     {'count': 1, 'label': '1Y', 'step': 'year', 'stepmode': 'backward'},
     {'count': 2, 'label': '2Y', 'step': 'year', 'stepmode': 'backward'},
     {'count': 5, 'label': '5Y', 'step': 'year', 'stepmode': 'backward'},
     {'count': 1, 'label': 'MAX', 'step': 'all', 'stepmode': 'backward'},
     {'count': 1, 'label': 'YTD', 'step': 'year', 'stepmode': 'todate'}],
    'visible': True},
   'rangeslider': {'bgcolor': '#CCCCCC',
    'bordercolor': '#CCCCCC',
    'thickness': 0.1,
    'visible': False},
   'side': 'bottom',
   'tickfont': {'color': '#222222'}},
  'yaxis': {'color': '#444444',
   'domain': [0.5, 1.0],
   'side': 'right',
   'tickfont': {'color': '#222222'},
   'type': 'linear'},
  'yaxis2': {'color': '#444444',
   'domain': [0.25, 0.49],
   'side': 'left',
   'tickfont': {'color': '#222222'},
   'type': 'linear'},
  'yaxis3': {'color': '#444444',
   'domain': [0.0, 0.24],
   'side': 'left',
   'tickfont': {'color': '#222222'},
   'type': 'linear'}}}