Browse Source

K线

master
vee 3 years ago
parent
commit
76ee15c174
  1. 9
      components/entrustOrderList/entrustOrderList.vue
  2. 104
      components/kline/kline.vue
  3. 18
      components/kline/props.js
  4. 135
      components/kline/tradingView/chartConfig.js
  5. 206
      components/kline/tradingView/datafeed.js
  6. 205
      components/kline/tradingView/datafeed1.js
  7. 22
      components/kline/tradingView/event.js
  8. 1978
      components/kline/tradingView/pako.js
  9. 77
      components/kline/tradingView/readme.md
  10. 141
      components/kline/tradingView/websocket.js
  11. 149
      components/kline/tradingView/websocket1.js
  12. 502
      pages/markets/kLine.vue
  13. 986
      pages/markets/kLine1.vue
  14. 109
      pages/markets/kLine2.vue
  15. 1
      static/charting_library/ar-tv-chart.132c7060.html
  16. 2
      static/charting_library/bundles/0.d46f0b5e9380d7893de5.js
  17. BIN
      static/charting_library/bundles/0579d40b812fa2c3ffe72e5803a6e14c.cur
  18. 0
      static/charting_library/bundles/1.92647ec0a7beb8b2898d.css
  19. 0
      static/charting_library/bundles/1.92647ec0a7beb8b2898d.rtl.css
  20. 1
      static/charting_library/bundles/1.f02c87d35fbc8ffcaedb.js
  21. 6
      static/charting_library/bundles/10.21e665b7935d5bc4ba64.js
  22. 1
      static/charting_library/bundles/11.8b65dc2e0d8b6e5041c4.css
  23. 1
      static/charting_library/bundles/11.8b65dc2e0d8b6e5041c4.rtl.css
  24. 1
      static/charting_library/bundles/11.df012db70159a159d927.js
  25. 1
      static/charting_library/bundles/12.37750b21f6d8d35c6e6e.js
  26. 1
      static/charting_library/bundles/12.ef8057448f3a7ae1c3d8.css
  27. 1
      static/charting_library/bundles/12.ef8057448f3a7ae1c3d8.rtl.css
  28. 1
      static/charting_library/bundles/13.699469c73d09b7add56d.js
  29. 1
      static/charting_library/bundles/13.9240f13280154f2593b7.css
  30. 1
      static/charting_library/bundles/13.9240f13280154f2593b7.rtl.css
  31. 1
      static/charting_library/bundles/14.8095b40dd1e7deedf401.css
  32. 1
      static/charting_library/bundles/14.8095b40dd1e7deedf401.rtl.css
  33. 1
      static/charting_library/bundles/14.d1148b38d59df9ca5061.js
  34. 3
      static/charting_library/bundles/15.44f2acca80348a1da1a6.js
  35. 1
      static/charting_library/bundles/16.680572949c1125757d35.js
  36. 1
      static/charting_library/bundles/16.d567c9db608f3d98d8de.css
  37. 1
      static/charting_library/bundles/16.d567c9db608f3d98d8de.rtl.css
  38. 1
      static/charting_library/bundles/17.404a01f527881dfff424.js
  39. 1
      static/charting_library/bundles/17.ec35a19db935279c5b42.css
  40. 1
      static/charting_library/bundles/17.ec35a19db935279c5b42.rtl.css
  41. 4
      static/charting_library/bundles/18.78de69cfba051874e071.js
  42. 1
      static/charting_library/bundles/19.048f7f5d36fef428ca8d.js
  43. 1
      static/charting_library/bundles/19.75c30426f9d3ad5ca0c5.css
  44. 1
      static/charting_library/bundles/19.75c30426f9d3ad5ca0c5.rtl.css
  45. BIN
      static/charting_library/bundles/1df47f578aeef40dd1f2328338a133be.png
  46. 4
      static/charting_library/bundles/2.60931787a6734697ac13.js
  47. 4
      static/charting_library/bundles/20.bc09ed47c5a62e1bc5c2.js
  48. 1
      static/charting_library/bundles/21.4c7b5cccb67a95e7e782.js
  49. 1
      static/charting_library/bundles/21.8153544955cdc47262e3.css
  50. 1
      static/charting_library/bundles/21.8153544955cdc47262e3.rtl.css
  51. 1
      static/charting_library/bundles/22.ca4300bcf614d8d5f4ab.js
  52. 1
      static/charting_library/bundles/22.da9773799a06c6066d1e.css
  53. 1
      static/charting_library/bundles/22.da9773799a06c6066d1e.rtl.css
  54. 1
      static/charting_library/bundles/23.256ba98e6a03200bdeba.js
  55. 1
      static/charting_library/bundles/23.ee754f50171546186397.css
  56. 1
      static/charting_library/bundles/23.ee754f50171546186397.rtl.css
  57. 1
      static/charting_library/bundles/24.bc4fafedb1730259aa10.js
  58. 1
      static/charting_library/bundles/24.e70c1623e0c74477ef2e.css
  59. 1
      static/charting_library/bundles/24.e70c1623e0c74477ef2e.rtl.css
  60. 2591
      static/charting_library/bundles/25.7416db26ed3dcc87c05a.js
  61. 1
      static/charting_library/bundles/26.3aeec391d4e6e19989ee.js
  62. 1
      static/charting_library/bundles/26.69139a843bc1c84f790b.css
  63. 1
      static/charting_library/bundles/26.69139a843bc1c84f790b.rtl.css
  64. 3
      static/charting_library/bundles/27.e3ec08b1fb9df5f36ada.js
  65. 1
      static/charting_library/bundles/28.3140e8cb507ad2593c76.css
  66. 1
      static/charting_library/bundles/28.3140e8cb507ad2593c76.rtl.css
  67. 1
      static/charting_library/bundles/28.9f103042c27ea2df422f.js
  68. 1
      static/charting_library/bundles/29.07af6dca962ea27209f0.css
  69. 1
      static/charting_library/bundles/29.07af6dca962ea27209f0.rtl.css
  70. 1
      static/charting_library/bundles/29.3df8712b85d45a626aa0.js
  71. 1
      static/charting_library/bundles/3.76c398b01b707e5b251c.js
  72. 1
      static/charting_library/bundles/3.eeb90413029441681f91.css
  73. 1
      static/charting_library/bundles/3.eeb90413029441681f91.rtl.css
  74. 8
      static/charting_library/bundles/30.0b732ccb122d160480b6.js
  75. 5
      static/charting_library/bundles/31.8d2b7a538755fd1bb760.js
  76. 4
      static/charting_library/bundles/32.13ce02217cf8f9dd6d90.js
  77. BIN
      static/charting_library/bundles/3293616ec0c605c7c2db25829a0a509e.woff
  78. 1
      static/charting_library/bundles/33.02ed7df481ae8243d2f2.css
  79. 1
      static/charting_library/bundles/33.02ed7df481ae8243d2f2.rtl.css
  80. 1
      static/charting_library/bundles/33.4d0dd1f7001fc02099bb.js
  81. 1
      static/charting_library/bundles/34.4b6099931f57311efc1a.css
  82. 1
      static/charting_library/bundles/34.4b6099931f57311efc1a.rtl.css
  83. 1
      static/charting_library/bundles/34.c9baa59add71a1e48fd2.js
  84. 1
      static/charting_library/bundles/35.999f0e072062b7369a1a.css
  85. 1
      static/charting_library/bundles/35.999f0e072062b7369a1a.rtl.css
  86. 1
      static/charting_library/bundles/35.ed9e360f9686ad3a9497.js
  87. 1
      static/charting_library/bundles/36.1882d1a8d312a0e193e9.js
  88. 1
      static/charting_library/bundles/36.f315a19c17d5636af8f7.css
  89. 1
      static/charting_library/bundles/36.f315a19c17d5636af8f7.rtl.css
  90. 8
      static/charting_library/bundles/37.90129e4904155350d6a1.js
  91. 3
      static/charting_library/bundles/38.41f3d509b61c8af47de3.js
  92. 1
      static/charting_library/bundles/39.74a7bc3b464cd284827f.css
  93. 1
      static/charting_library/bundles/39.74a7bc3b464cd284827f.rtl.css
  94. 1
      static/charting_library/bundles/39.bc1e9ce938fd5152831f.js
  95. 0
      static/charting_library/bundles/4.92647ec0a7beb8b2898d.css
  96. 0
      static/charting_library/bundles/4.92647ec0a7beb8b2898d.rtl.css
  97. 1
      static/charting_library/bundles/4.c7430b8d89cddcf51345.js
  98. 2
      static/charting_library/bundles/40.b59f41ba4cacbfb8acc3.js
  99. 1
      static/charting_library/bundles/40566afd832a155e5e370a8bd423de4b.svg
  100. BIN
      static/charting_library/bundles/40f9a03d174178efb12303caa9bc7cd8.woff2

9
components/entrustOrderList/entrustOrderList.vue

@ -2,12 +2,13 @@
<view class="entrustOrderList">
<!-- 四个tab -->
<view class="tab">
<view class="item" :class="{ select: type === 0 }" @click="onChangeType(0)">{{ i18n.CurrentEntrust }}
</view>
<view class="item" :class="{ select: type === 1 }" @click="onChangeType(1)">{{ i18n.Position }}
</view>
<view class="item" :class="{ select: type === 2 }" @click="onChangeType(2)">{{ i18n.Closed }}
</view>
<view class="item" :class="{ select: type === 0 }" @click="onChangeType(0)">{{ i18n.CurrentEntrust }}
</view>
<view class="item" :class="{ select: type === 3 }" @click="onChangeType(3)">{{ i18n.Revoked }}
</view>
</view>
@ -190,10 +191,10 @@
data() {
return {
list: [],
status: 'undone',
status: 'opened',
closeModalShow: false,
stopModalShow: false,
type: 0,
type: 1,
test: 0,
dealList: [{
dealType: 'long'

104
components/kline/kline.vue

@ -0,0 +1,104 @@
<template>
<view>
<view id="kline" :windowWidth="width" :change:windowWidth="KlineJs.setWidth" :windowHeight="height"
:change:windowHeight="KlineJs.setHeight" :symbol="symbol"
:change:symbol="KlineJs.setSymbol"></view>
</view>
</template>
<script>
import props from './props.js'
export default {
name: "kline",
mixins: [props],
data() {
return {
};
},
created() {
}
}
</script>
<script module="KlineJs" lang="renderjs">
import {
widget
} from '@/static/charting_library/charting_library.js'
import {
chartConfig
} from './tradingView/chartConfig.js'
//
var widgetObj = null
//
var index_market = 'btcusdt'
//
var index_activeCycle = '1'
export default {
data() {
return {
chartHeight: 0,
chartWidth: 0,
chartSymbol:'btc'
}
},
//renderjs
mounted() {
//
this.initChart()
},
methods: {
setSymbol(symbol){
console.log(symbol)
this.chartSymbol=symbol
},
setWidth(width) {
console.log("可用窗口宽度:", width)
this.chartWidth = width
},
setHeight(height) {
console.log("可用窗口高度:", height)
this.chartHeight = 300
},
initChart() {
// chartConfig chartConfig.js
// chartConfig
chartConfig.interval = index_activeCycle
chartConfig.intervals = ['1','5']
// chartConfig
chartConfig.symbol = this.symbol
//
chartConfig.width = this.chartWidth
chartConfig.height = this.chartHeight
// TradingView
console.log(window.TradingView.version())
const language = uni.getStorageSync("language")|| 'en_US';
if(language.indexOf('zh')>-1){
chartConfig.locale=language
}else{
chartConfig.locale=language.split('_')[0]
}
widgetObj = new widget(chartConfig)
console.log(widgetObj)
widgetObj.onChartReady(() => {
// k线 7线30线
widgetObj.chart().createStudy('Moving Average', false, false, [5], null, {
'Plot.linewidth': 2,
'Plot.color': '#2ba7d6'
})
this.$nextTick(() => {
widgetObj.chart().resetData()
})
})
},
}
}
</script>

18
components/kline/props.js

@ -0,0 +1,18 @@
export default {
props: {
// 组件宽度
width: {
type: Number,
default: 0
},
//组件高度
height: {
type: Number,
default: 0
},
symbol: {
type: String,
default: ''
},
}
}

135
components/kline/tradingView/chartConfig.js

@ -0,0 +1,135 @@
import {
FeedBase
} from './datafeed.js'
// new UDFCompatibleDatafeed('https://demo-feed-data.tradingview.com')
var chartConfig = {
// debug: true,
width: 0, //宽度
height: 0, //高度
//....
autosize: false, //自适应宽高
fullscreen: false, //布尔值显示图表是否占用窗口中所有可用的空间。
//如果上面参数开启会影响到宽高项
timeframe: '1',
timezone: "Asia/Bangkok",
container: "kline",
datafeed: new FeedBase(),
library_path: "./static/charting_library/",
locale: "en",
loading_screen: {
"backgroundColor": "#1e222d",
"foregroundColor": "#ffffff"
},
theme: 'Dark',
//#ifdef APP-PLUS
preset: "mobile",
//#endif
//禁用功能
disabled_features: [ // 需要屏蔽掉的 参考 https://tradingview.gitee.io/featuresets/
"widget_logo", //LOGO
"left_toolbar",
"header_screenshot",
"header_fullscreen_button",
"header_undo_redo",
"header_indicators",
"header_symbol_search", // 搜索
'symbol_search_hot_key',
"header_saveload", // 上传下载按钮
"header_compare", //compare
"volume_force_overlay", // k线与销量分开
'header_interval_dialog_button',
'show_interval_dialog_on_key_press',
"legend_context_menu",
"edit_buttons_in_legend",
'dont_show_boolean_study_arguments',
"save_chart_properties_to_local_storage",
"use_localstorage_for_settings",
"display_market_status",
"fix_left_edge",
"timeframes_toolbar", // 底部时间栏目
//#ifdef APP-PLUS
"source_selection_markers",
// "chart_zoom",//图表缩放
'pane_context_menu', // 图表右键菜单
// "header_widget",
// 'header_widget_dom_node', // 顶部工具栏
"header_screenshot", // 照相机按钮
// "header_chart_type", // 图标类型按钮
// "header_undo_redo", // 左右箭头
// "header_resolutions", // 分辨率
// "property_pages",
// "control_bar", //图表左移、右移 放大 缩小 工具
"go_to_date", //前往到某个时间
// "left_toolbar", // 左侧栏
"header_fullscreen_button", //全屏
// 'header_indicators', // 技术指标
// "border_around_the_chart", //边框环绕
//#endif
],
//启用名称的数组
enabled_features: [
"move_logo_to_main_pane",
"keep_left_toolbar_visible_on_small_screens", //防止左侧工具栏在小屏消失
"seconds_resolution", //支持秒的周期
"hide_left_toolbar_by_defaut", //第一次打开隐藏左侧工具
"hide_last_na_study_output", //隐藏 n/a
],
custom_css_url: "./css/tradingview.css",
studies_overrides: {
"volume.precision": 0,
// 销量线
"volume.volume.color.0": "#d64b62",
"volume.volume.color.1": "#08ab90",
},
overrides: {
// 蜡烛样式
"mainSeriesProperties.candleStyle.upColor": "#08ab90",
"mainSeriesProperties.candleStyle.downColor": "#d64b62",
// 画布背景颜色
"paneProperties.background": "#ffffff",
//纵向网格线颜色
"paneProperties.vertGridProperties.color": "#1f2943",
//横向网格线颜色
"paneProperties.horzGridProperties.color": "#1f2943",
//刻度属性文本颜色
"scalesProperties.textColor": '#61688a',
// 设置坐标轴字体大小
//#ifdef APP-PLUS
'scalesProperties.fontSize': 12,
//#endif
//#ifdef H5
'scalesProperties.fontSize': 12,
//#endif
//隐藏左上角行情信息
'paneProperties.legendProperties.showLegend': false,
'left_toolbar': false,
//销量面板尺寸,支持的值: large, medium, small, tiny
"volumePaneSize": "medium",
// 设置十字线
'paneProperties.crossHairProperties.color': "rgba(197, 206, 226, 0.4)",
//#ifdef APP-PLUS
'paneProperties.crossHairProperties.width': 5,
//#endif
//#ifdef H5
'paneProperties.crossHairProperties.width': 1,
//#endif
'paneProperties.crossHairProperties.style': 0,
//烛心
// "mainSeriesProperties.candleStyle.drawWick" : true,
//烛心颜色
//"mainSeriesProperties.candleStyle.wickUpColor:" : '#8a3a3b',
//"mainSeriesProperties.candleStyle.wickDownColor" : "#8a3a3b",
// 白色烛心颜色
// "mainSeriesProperties.candleStyle.wickUpColor:" : '#8a3a3b',
// "mainSeriesProperties.candleStyle.wickDownColor" : "#8a3a3b",
//边框
"mainSeriesProperties.candleStyle.drawBorder": true,
},
}
exports.chartConfig = chartConfig

206
components/kline/tradingView/datafeed.js

@ -0,0 +1,206 @@
/*********************************************/
// 次文件只需要关注 getBars 和 subscribeBars 函数即可
/******************************************/
import {
socket
} from './websocket.js'
import {
Event
} from './event.js'
// 历史数据 第一条数据的 时间撮 因为k线图一次性历史数据只拿一部分,用户吧图往前滑动,就会用这个时间撮去请求更早的 历史数据
var detafeed_historyTime = 0
// 上一次的 K线周期 切换产品的时候 需要从websock 取消订阅这个
var detafeed_lastResolution = null
// 上一次的产品 切换产品的时候 需要从websock 取消订阅这个
var detafeed_lastSymbol = null
function FeedBase() {}
FeedBase.prototype.onReady = function(callback) {
callback(this._configuration)
}
FeedBase.prototype.getSendSymbolName = function(symbolName) {
var name = symbolName.split('/')
return (name[0] + name[1]).toLocaleLowerCase()
}
FeedBase.prototype.resolveSymbol = function(symbolName, onResolve, onError) {
onResolve({
"name": symbolName,
"timezone": "Asia/Shanghai",
"pricescale": 10000000000000000,
"minmov": 1,
"minmov2": 0,
"ticker": symbolName,
"description": "",
"session": "24x7",
"type": "bitcoin",
"volume_precision": 10,
"has_intraday": true,
"intraday_multipliers": ['1', '5', '15', '30', '60', '240', '1440'], // 时间
"has_weekly_and_monthly": false,
"has_no_volume": false,
"regular_session": "24x7",
})
}
/**
* 更多时间类型在这里添加 时间类型请看火币文档
* @param resolution 订阅周期 按照自己喜欢的来 30 30分钟 1D 一天
* @param name 交易对symbol
* @param to 结束时间
* @returns {object}
*/
const resolutionFormat = (resolution, name, to) => {
let req = `market.${name}.kline.${resolution}min`;
let minutes = resolution;
if (resolution.includes('D')) {
if (resolution.length < 2) resolution = '1' + resolution;
req = `market.${name}.kline.${parseInt(resolution)}day`;
minutes = parseInt(resolution) * 24 * 60;
} else if (resolution.includes('W')) {
if (resolution.length < 2) resolution = '1' + resolution;
req = `market.${name}.kline.${parseInt(resolution)}week`;
minutes = parseInt(resolution) * 24 * 60 * 7;
} else if (resolution.includes('M')) {
if (resolution.length < 2) resolution = '1' + resolution;
req = `market.${name}.kline.${parseInt(resolution)}mon`;
minutes = parseInt(resolution) * 24 * 60 * 30;
} else {
if (resolution / 60 > 1) {
req = `market.${name}.kline.${resolution / 60}hour`;
}
}
let from = null;
if (to) {
from = to - 50 * minutes * 60;
if (resolution.includes('M') || resolution.includes('W')) { // 周线月线控制条数,时间超出火币规定范围, ws报错
from = to - 50 * minutes * 60;
}
}
return {
minutes,
req,
from,
to,
};
};
FeedBase.prototype.getBars = function(symbolInfo, resolution, periodParams, onHistoryCallback, onErrorCallback) {
console.log("获取历史数据")
// 切换产品周期 或者 切换产品 会执行这个函数
let reso = resolutionFormat(resolution, symbolInfo.name, periodParams.to > detafeed_historyTime ? periodParams
.to :
detafeed_historyTime)
// 是历史数据
var history = true
/*
!detafeed_historyTime 如果没请请求过这个产品或者这个周期的历史数据
resolution !== detafeed_lastResolution 是否更换了产品周期
detafeed_lastSymbol !== symbolInfo.name 是否切换了产品
*/
if (!detafeed_historyTime || (resolution !== detafeed_lastResolution) || detafeed_lastSymbol !== symbolInfo
.name) {
// 那就不是历史数据
history = false
// 储存请求过的产品
detafeed_lastSymbol = symbolInfo.name
// 记录目前时间戳,就用目前时间戳往前请求历史数据
detafeed_historyTime = window.parseInt((Date.now() / 1000))
}
/*
@socket.sendData
第一个参数订阅历史数据
第二个参数订阅实时数据
第三个参数 是否是历史数据
*/
socket.sendData({
event: "req",
type: "kline",
channel: [reso.req],
fromDate:reso.from,
toDate:reso.to
}, reso.req, history)
Event.off('data')
Event.on('data', data => {
if (data && Array.isArray(data)) {
// 记录这次请求的时间周期
detafeed_lastResolution = resolution
var meta = {
noData: false
}
const datas = []
if (data.length) {
detafeed_historyTime = data[0].id
for (let i of data) {
i.time = i.id * 1000
i.volume = i.vol
datas.push(i)
}
} else {
meta = {
noData: true,
nextTime: detafeed_historyTime
}
}
onHistoryCallback(datas, meta)
}
})
}
FeedBase.prototype.subscribeBars = function(symbolInfo, resolution, onRealtimeCallback, subscriberUID, onResetCacheNeededCallback) {
Event.off('realTime')
// 拿到实时数据 在这里画
Event.on('realTime', data => {
if (Object.prototype.toString.call(data) === '[object Object]' && data.hasOwnProperty('open')) {
//因为有的数值为科学计数法,故增加了转换函数,因为修改了源码中处理小数点的代码,所以需要二次元运算
//如果大于1则根据float形式进行toFixed(2),如果小于1则按照string形式进行截取处理显示
let realtimeData = {
time: data.id * 1000,
volume: data.vol <= 0.00001 ? transferToNumber(data.vol) : data.vol,
close: data.close <= 0.00001 ? transferToNumber(data.close) : data.close,
open: data.open <= 0.00001 ? transferToNumber(data.open) : data.open,
high: data.high <= 0.00001 ? transferToNumber(data.high) : data.high,
low: data.low <= 0.00001 ? transferToNumber(data.low) : data.low
}
onRealtimeCallback(realtimeData)
}
})
}
FeedBase.prototype.unsubscribeBars = function(listenerGuid) {
// 取消订阅产品的callback
}
//处理科学计数法
function transferToNumber(inputNumber) {
if (isNaN(inputNumber)) {
return inputNumber
}
inputNumber = '' + inputNumber
inputNumber = parseFloat(inputNumber)
let eformat = inputNumber.toExponential() // 转换为标准的科学计数法形式(字符串)
let tmpArray = eformat.match(/\d(?:\.(\d*))?e([+-]\d+)/) // 分离出小数值和指数值
let number = inputNumber.toFixed(Math.max(0, (tmpArray[1] || '').length - tmpArray[2]))
return number
}
exports.FeedBase = FeedBase

205
components/kline/tradingView/datafeed1.js

@ -0,0 +1,205 @@
/*********************************************/
// 次文件只需要关注 getBars 和 subscribeBars 函数即可
/******************************************/
import {
socket
} from './websocket.js'
import {
Event
} from './event.js'
// 历史数据 第一条数据的 时间撮 因为k线图一次性历史数据只拿一部分,用户吧图往前滑动,就会用这个时间撮去请求更早的 历史数据
var detafeed_historyTime = 0
// 上一次的 K线周期 切换产品的时候 需要从websock 取消订阅这个
var detafeed_lastResolution = null
// 上一次的产品 切换产品的时候 需要从websock 取消订阅这个
var detafeed_lastSymbol = null
function FeedBase() {}
FeedBase.prototype.onReady = function(callback) {
callback(this._configuration)
}
FeedBase.prototype.getSendSymbolName = function(symbolName) {
var name = symbolName.split('/')
return (name[0] + name[1]).toLocaleLowerCase()
}
FeedBase.prototype.resolveSymbol = function(symbolName, onResolve, onError) {
onResolve({
"name": symbolName,
"timezone": "Asia/Shanghai",
"pricescale": 10000000000000000,
"minmov": 1,
"minmov2": 0,
"ticker": symbolName,
"description": "",
"session": "24x7",
"type": "bitcoin",
"volume_precision": 10,
"has_intraday": true,
"intraday_multipliers": ['1', '5', '15', '30', '60', '240', '1440'], // 时间
"has_weekly_and_monthly": false,
"has_no_volume": false,
"regular_session": "24x7",
})
}
/**
* 更多时间类型在这里添加 时间类型请看火币文档
* @param resolution 订阅周期 按照自己喜欢的来 30 30分钟 1D 一天
* @param name 交易对symbol
* @param to 结束时间
* @returns {object}
*/
const resolutionFormat = (resolution, name, to) => {
let req = `market.${name}.kline.${resolution}min`;
let minutes = resolution;
if (resolution.includes('D')) {
if (resolution.length < 2) resolution = '1' + resolution;
req = `market.${name}.kline.${parseInt(resolution)}day`;
minutes = parseInt(resolution) * 24 * 60;
} else if (resolution.includes('W')) {
if (resolution.length < 2) resolution = '1' + resolution;
req = `market.${name}.kline.${parseInt(resolution)}week`;
minutes = parseInt(resolution) * 24 * 60 * 7;
} else if (resolution.includes('M')) {
if (resolution.length < 2) resolution = '1' + resolution;
req = `market.${name}.kline.${parseInt(resolution)}mon`;
minutes = parseInt(resolution) * 24 * 60 * 30;
} else {
if (resolution / 60 > 1) {
req = `market.${name}.kline.${resolution / 60}hour`;
}
}
let from = null;
if (to) {
from = to - 50 * minutes * 60;
if (resolution.includes('M') || resolution.includes('W')) { // 周线月线控制条数,时间超出火币规定范围, ws报错
from = to - 50 * minutes * 60;
}
}
return {
minutes,
req,
from,
to,
};
};
FeedBase.prototype.getBars = function(symbolInfo, resolution, periodParams, onHistoryCallback, onErrorCallback) {
console.log("获取历史数据")
// 切换产品周期 或者 切换产品 会执行这个函数
let reso = resolutionFormat(resolution, symbolInfo.name, periodParams.to > detafeed_historyTime ? periodParams
.to :
detafeed_historyTime)
// 是历史数据
var history = true
/*
!detafeed_historyTime 如果没请请求过这个产品或者这个周期的历史数据
resolution !== detafeed_lastResolution 是否更换了产品周期
detafeed_lastSymbol !== symbolInfo.name 是否切换了产品
*/
if (!detafeed_historyTime || (resolution !== detafeed_lastResolution) || detafeed_lastSymbol !== symbolInfo
.name) {
// 那就不是历史数据
history = false
// 储存请求过的产品
detafeed_lastSymbol = symbolInfo.name
// 记录目前时间戳,就用目前时间戳往前请求历史数据
detafeed_historyTime = window.parseInt((Date.now() / 1000))
}
/*
@socket.sendData
第一个参数订阅历史数据
第二个参数订阅实时数据
第三个参数 是否是历史数据
*/
socket.sendData({
req: reso.req,
id: "id10",
from: reso.from,
to: reso.to,
}, reso.req, history)
Event.off('data')
Event.on('data', data => {
if (data && Array.isArray(data)) {
// 记录这次请求的时间周期
detafeed_lastResolution = resolution
var meta = {
noData: false
}
const datas = []
if (data.length) {
detafeed_historyTime = data[0].id
for (let i of data) {
i.time = i.id * 1000
i.volume = i.vol
datas.push(i)
}
} else {
meta = {
noData: true,
nextTime: detafeed_historyTime
}
}
onHistoryCallback(datas, meta)
}
})
}
FeedBase.prototype.subscribeBars = function(symbolInfo, resolution, onRealtimeCallback, subscriberUID, onResetCacheNeededCallback) {
Event.off('realTime')
// 拿到实时数据 在这里画
Event.on('realTime', data => {
if (Object.prototype.toString.call(data) === '[object Object]' && data.hasOwnProperty('open')) {
//因为有的数值为科学计数法,故增加了转换函数,因为修改了源码中处理小数点的代码,所以需要二次元运算
//如果大于1则根据float形式进行toFixed(2),如果小于1则按照string形式进行截取处理显示
let realtimeData = {
time: data.id * 1000,
volume: data.vol <= 0.00001 ? transferToNumber(data.vol) : data.vol,
close: data.close <= 0.00001 ? transferToNumber(data.close) : data.close,
open: data.open <= 0.00001 ? transferToNumber(data.open) : data.open,
high: data.high <= 0.00001 ? transferToNumber(data.high) : data.high,
low: data.low <= 0.00001 ? transferToNumber(data.low) : data.low
}
onRealtimeCallback(realtimeData)
}
})
}
FeedBase.prototype.unsubscribeBars = function(listenerGuid) {
// 取消订阅产品的callback
}
//处理科学计数法
function transferToNumber(inputNumber) {
if (isNaN(inputNumber)) {
return inputNumber
}
inputNumber = '' + inputNumber
inputNumber = parseFloat(inputNumber)
let eformat = inputNumber.toExponential() // 转换为标准的科学计数法形式(字符串)
let tmpArray = eformat.match(/\d(?:\.(\d*))?e([+-]\d+)/) // 分离出小数值和指数值
let number = inputNumber.toFixed(Math.max(0, (tmpArray[1] || '').length - tmpArray[2]))
return number
}
exports.FeedBase = FeedBase

22
components/kline/tradingView/event.js

@ -0,0 +1,22 @@
var Event = {
EVENT: {},
emit (eventName, resp) {
if (this.EVENT[eventName] && Object.prototype.toString.call(this.EVENT[eventName]) === "[object Array]") {
for (let i = 0, fn; fn = this.EVENT[eventName][i++];) {
fn(resp)
}
}
},
on (name, fn) {
if (this.EVENT[name] && Object.prototype.toString.call(this.EVENT[name]) === "[object Array]") {
this.EVENT[name].push(fn)
} else {
this.EVENT[name] = [fn]
}
},
off (name) {
this.EVENT[name] = null
}
}
exports.Event = Event

1978
components/kline/tradingView/pako.js

File diff suppressed because it is too large

77
components/kline/tradingView/readme.md

@ -0,0 +1,77 @@
修改了TradingView 如下源码
//charting_library.min.js
//原因是preset: "mobile", 的时候某些工具栏不显示
mobile: {
// disabled_features: ["left_toolbar", "header_widget", "timeframes_toolbar", "edit_buttons_in_legend",
// "context_menus", "control_bar", "border_around_the_chart"
// ],
disabled_features: [],
enabled_features: []
}
//--library.db04e45ec22f0b637da3.js--
//原因是想把0 .000000000001325 这样的价格格式化成0 .0{11}132
//奈何找不到文档也 cv不了别人代码 熬了一晚上翻的源码直接改
t.prototype._formatAsDecimal = function(t, i) {
//格式化价格
if (this.type == "price") {
t = 0.00039123
var price = "0.00";
//如果价格大于1则保留2位小数
if (t > 1) {
price = t.toFixed(2)
} else {
//否则
let splitList = t.toString().split(".")
let num = 0
if (splitList[1]) {
for (var i = 0; i < splitList[1].length; i++) {
if (splitList[1][i] == "0") {
num++
} else {
//如果不为0了 直接中断
break;
}
}
}
if (num >= 4) {
var last = "" + splitList[1].substring(num, splitList[1].length)
if (last.length >= 4) {
if (last[4] >= 5) {
price = '0.0{' + num + '}' + (parseInt(last[1] + last[2] + last[3]) + 1)
} else {
price = '0.0{' + num + '}' + last[1] + last[2] + last[3]
}
} else {
price = '0.0{' + num + '}' + last
}
} else {
price = t.toFixed(5)
}
}
return price
} else {
var n, r, s, a, l;
i = i || 0, n = this._fractional ? Math.pow(10, this._fractionalLength || 0) :
Math.pow(10, i) * this._priceScale / this._minMove, r = Math.floor(t), s = +(
Math
.round(t * n) - r * n).toFixed(this._fractionalLength), s >= n && (s -= n,
r +=
1), a = "", 1 !== n && (l = void 0 !== this._fractionalLength ? this
._fractionalLength : NaN,
a = e.formatterOptions.decimalSign + o(+s.toFixed(this._fractionalLength) *
this._minMove, l + i),
a = this._removeEndingZeros(a, i))
return "" + r + a
}
}
// 隐藏符号
// r.appendTo(t),
this._itemsBinding.push({
value: o,
cell: r,
source: t.source
})

141
components/kline/tradingView/websocket.js

@ -0,0 +1,141 @@
import
constant
from '@/utils/constant.js'
import {
Event
} from './event.js'
import pakoJs from './pako.js'
var pako = pakoJs
var socket = {
socket: null, // socket name
id:null,
realTimeData: null, // 请求实时数据的参数
intervalObj: null, // 定时器的名字
lastRealTimeData: null, // 上一次请求的产品
sendData(historyData, realTimeDatas, history) {
// 储存历史数据
this.historyData = historyData
this.realTimeData = realTimeDatas
// 如果上一次订阅过产品
if (this.lastRealTimeData) {
// 请求这一次的历史
this.historyData.id=this.id
this.sendWsRequest(this.historyData)
// 如果不是订阅历史产品 那么肯定就是切换周期咯 或者切换产品咯
// 那么就订阅一下 这次产品的或者周期的 实时数据
if (!history) {
console.log('订阅新的' + realTimeDatas)
console.log(111111,realTimeDatas)
this.sendWsRequest({
event: 'un_sub',
type: 'kline',
id: this.id,
channel:[this.lastRealTimeData],
})
this.lastRealTimeData = this.realTimeData
}
} else {
// 如果是第一次订阅,就是说刚进入交易所,
// 先存起来这一次请求的产品 作为历史产品
this.lastRealTimeData = this.realTimeData
// 然后 初始化一下websocket
this.initWs()
}
},
initWs() {
this.socket = new WebSocket(constant.WSSURL)
this.socket.onopen = () => {
}
this.socket.onmessage = resp => {
this.message(resp)
}
this.socket.onclose = () => {
this.close()
}
this.socket.onerror = err => {
this.error(err)
}
},
error(err) {
console.log(err, 'depth-socket::error')
},
close() {
// 如果websocket关闭的话,就从新打开一下。
this.initWs()
console.log('depth-socket::close')
},
message(resp) {
resp=JSON.parse(resp.data)
if (resp.channel === 'conn') {
this.id = resp.data
this.historyData.id=this.id
this.sendWsRequest(this.historyData)
}else {
if(resp.event === 'req'){
this.sendWsRequest({
event: 'sub',
type: 'kline',
id: this.id,
channel:[this.lastRealTimeData],
})
Event.emit('data', resp.data)
}else{
Event.emit('realTime', resp.data)
}
}
},
checkSendMessage(options) {
// 这里处理websocket 连接不上的问题
var checkTimes = 10
var i = 0
this.intervalObj = setInterval(() => {
i += 1
if (this.socket.readyState === 1) {
// ...
this.socket.send(options)
clearInterval(this.intervalObj)
return
}
if (i >= checkTimes) {
clearInterval(this.intervalObj)
console.log('send post_data_str timeout.')
}
}, 500)
},
sendWsRequest(options) {
switch (this.socket.readyState) {
case 0:
this.checkSendMessage(JSON.stringify(options))
break
case 1:
this.socket.send(JSON.stringify(options))
break
case 2:
console.log('ws关闭状态')
break
case 3:
this.initWs()
break
default:
console.log('ws未知错误')
}
}
}
exports.socket = socket

149
components/kline/tradingView/websocket1.js

@ -0,0 +1,149 @@
import {
Event
} from './event.js'
import pakoJs from './pako.js'
var pako = pakoJs
var socket = {
socket: null, // socket name
realTimeData: null, // 请求实时数据的参数
intervalObj: null, // 定时器的名字
lastRealTimeData: null, // 上一次请求的产品
sendData(historyData, realTimeDatas, history) {
// 储存历史数据
this.historyData = historyData
this.realTimeData = realTimeDatas
// 如果上一次订阅过产品
if (this.lastRealTimeData) {
// 如果不是订阅历史产品 那么肯定就是切换周期咯 或者 切换产品
// 那么就取消订阅上一次的产品实时数据
if (!history) {
console.log('取消订阅' + this.lastRealTimeData)
this.sendWsRequest({
"unsub": this.lastRealTimeData,
"id": "id1"
})
}
// 请求这一次的历史
this.sendWsRequest(this.historyData)
console.log(111111,realTimeDatas)
// 如果不是订阅历史产品 那么肯定就是切换周期咯 或者切换产品咯
// 那么就订阅一下 这次产品的或者周期的 实时数据
if (!history) {
console.log('订阅新的' + realTimeDatas)
this.sendWsRequest({
"sub": realTimeDatas,
"id": "id1"
})
}
} else {
// 如果是第一次订阅,就是说刚进入交易所,
// 先存起来这一次请求的产品 作为历史产品
this.lastRealTimeData = this.realTimeData
// 然后 初始化一下websocket
this.initWs()
}
},
initWs() {
this.socket = new WebSocket('wss://api.huobi.pro/ws')
this.socket.onopen = () => {
this.sendWsRequest(this.historyData)
this.sendWsRequest({
"sub": this.historyData.req,
"id": "id1"
})
}
this.socket.onmessage = resp => {
this.message(resp)
}
this.socket.onclose = () => {
this.close()
}
this.socket.onerror = err => {
this.error(err)
}
},
error(err) {
console.log(err, 'depth-socket::error')
},
close() {
// 如果websocket关闭的话,就从新打开一下。
this.initWs()
console.log('depth-socket::close')
},
message(resp) {
//console.log(resp)
let this_ = this
let reader = new FileReader()
reader.onload = function(e) {
// 对数据进行解压
let msg = JSON.parse(pako.ungzip(reader.result, {
to: 'string'
}))
// console.log(msg)
// 如果是实时数据触发Event('realTime') 喂数据
if (msg.tick) {
Event.emit('realTime', msg.tick)
}
//响应服务器,避免断开连接
if (msg.ping) {
this_.socket.send(JSON.stringify({
pong: msg.ping
}));
this_.hasCheck = true
}
this_.lastRealTimeData = this_.realTimeData
// 如果是历史数据触发Event('data') 绘制数据
if (msg.data && Array.isArray(msg.data)) {
console.log(msg.data)
Event.emit('data', msg.data)
}
}
// //将返回的数据解析为字符串格式
reader.readAsArrayBuffer(resp.data);
},
checkSendMessage(options) {
// 这里处理websocket 连接不上的问题
var checkTimes = 10
var i = 0
this.intervalObj = setInterval(() => {
i += 1
if (this.socket.readyState === 1) {
// ...
this.socket.send(options)
clearInterval(this.intervalObj)
return
}
if (i >= checkTimes) {
clearInterval(this.intervalObj)
console.log('send post_data_str timeout.')
}
}, 500)
},
sendWsRequest(options) {
switch (this.socket.readyState) {
case 0:
this.checkSendMessage(JSON.stringify(options))
break
case 1:
this.socket.send(JSON.stringify(options))
break
case 2:
console.log('ws关闭状态')
break
case 3:
this.initWs()
break
default:
console.log('ws未知错误')
}
}
}
exports.socket = socket

502
pages/markets/kLine.vue

@ -34,29 +34,9 @@
</view>
</view>
</view>
<view class="tab">
<view class="item" :class="{ select: type === '1min' }" @click="onChangeType('1min')">1min
</view>
<view class="item" :class="{ select: type === '5min' }" @click="onChangeType('5min')">5min
</view>
<view class="item" :class="{ select: type === '15min' }" @click="onChangeType('15min')">15min
</view>
<view class="item" :class="{ select: type === '30min' }" @click="onChangeType('30min')">30min
</view>
<view class="item" :class="{ select: type === '60min' }" @click="onChangeType('60min')">60min
</view>
<view class="item" :class="{ select: type === '1day' }" @click="onChangeType('1day')">1day
</view>
<view class="item" :class="{ select: type === '1week' }" @click="onChangeType('1week')">1week
</view>
<view class="item" :class="{ select: type === '1mon' }" @click="onChangeType('1mon')">1mon
</view>
</view>
<!-- K线图 -->
<view class="kline" id="kline" :kdata="kdata" :change:kdata="klineE.receive"
style="height:500rpx;width: 100%;position: relative; padding: 0px; margin: 0px; border-width: 0px; cursor: default;">
</view>
<kline v-if="showKline" :width="chartWidth" :height="chartHeight" :symbol="symbol.symbol"></kline>
<!-- 买卖挂牌表 -->
<view class="MarketTrades">
<view class="headTitle"> {{ i18n.Markettrades }}</view>
@ -106,11 +86,11 @@
</template>
<script>
import ktest from '@/utils/ktest.js'
import kline from '@/components/kline/kline.vue'
export default {
name: "trade",
components: {
ktest
kline
},
data() {
return {
@ -122,7 +102,22 @@
usdRate: 0
},
bboList: {},
sum: {}
sum: {},
//
device: {},
//H5
isH5APP: false,
//
windowHeight: 0,
//
windowWidth: 0,
showKline: false,
// k线
chartWidth: 0,
// K线
chartHeight: 0,
//(PX)
menuHeight: 0,
};
},
@ -134,6 +129,9 @@
onLoad() {
//this.kdata = this.splitData(ktest.JSON);
// console.log(this.kdata, 1111)
//
},
onShow() {
this.into();
@ -144,12 +142,55 @@
},
onUnload() {
this.websock.closeSocket();
},
methods: {
//
calcWindow() {
//
this.windowWidth = uni.getSystemInfoSync().windowWidth
this.windowHeight = uni.getSystemInfoSync().windowHeight
//K线
this.device = uni.getDeviceInfo()
let dType = this.device.deviceType
//PC pad K线
if (dType == 'pc' || dType == 'pad' || dType == 'unknow') {
this.chartWidth = this.windowWidth
this.chartHeight = this.windowHeight - this.menuHeight
} else {
//APP
this.chartWidth = this.windowWidth
this.chartHeight = this.windowHeight - this.menuHeight
}
// K线
this.showKline = true
},
//
confirmPrimary() {
plus.screen.lockOrientation('landscape-primary')
plus.navigator.setFullscreen(true);
},
// //
cancelPrimary() {
plus.screen.lockOrientation('portrait-primary')
plus.navigator.setFullscreen(false);
},
toPage(url) {
uni.navigateTo({
url,
fail(err) {
console.log(err)
}
})
},
into() {
this.symbol = uni.getStorageSync('symbol');
setTimeout(() => {
//
this.calcWindow()
}, 200)
if (!this.symbol) {
// #ifdef H5
history.back()
@ -166,7 +207,6 @@
statisticsSum() {
this.sum.buy = 0
this.sum.sell = 0
console.log(this.sum.buy);
for (var buy in this.bboList.buy) {
if (buy >= 8) {
@ -189,34 +229,7 @@
this.websock.subKline(this.type, this.symbol.symbol);
},
formateDate(time) {
// var date = new Date(parseInt(time * 1000));
// var Y = date.getFullYear();
// var M = '-' + (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1);
// var D = '-' + date.getDate();
// var h = ' ' + date.getHours();
// var m = ':' + date.getMinutes();
// var s = ':' + date.getSeconds();
// var time;
// if (this.type.indexOf('min') > -1) {
// time = Y + M + D + h + m;
// } else if (this.type === '1day' || this.type === '1week') {
// time = Y + M + D;
// } else {
// time = Y + M;
// }
// return time;
var time;
time = this.$index.formatyymmddhhmmss(parseInt(time * 1000))
if (this.type === '1mon') {
time = time.split(' ')[0];
time = time.substring(time.indexOf('/') + 1, time.length)
} else if (this.type === '1day' || this.type === '1week') {
time = time.split(' ')[0];
}
return time;
},
getBboList() {
const bboList = this.$api.bboList({
"symbol": this.symbol.symbol
@ -266,8 +279,8 @@
that.websock.setId(data.data);
that.websock.subBbo(that.symbol.symbol)
that.websock.subDetail(that.symbol.symbol)
that.websock.subKHistory(that.type, that.symbol.symbol)
that.websock.subKline(that.type, that.symbol.symbol)
// that.websock.subKHistory(that.type, that.symbol.symbol)
// that.websock.subKline(that.type, that.symbol.symbol)
} else if (data.channel === 'market.pairsgroup') {
that.symbolList = data.data.USDT;
@ -280,53 +293,17 @@
that.marketDetail = data.data;
} else if (data.channel === 'market.' + that.symbol.symbol + ".kline." + that.type) {
if (data.event === 'req') {
that.kdata = that.splitData(data.data)
//that.kdata = that.splitData(data.data)
} else {
that.upkline(data.data)
//that.upkline(data.data)
}
}
});
},
upkline(data) {
if (data.id === this.kdata.values[this.kdata.values.length - 1][5]) {
this.kdata.values.pop();
this.kdata.volumes.pop();
this.kdata.values.push([data.open, data.close, data.low, data.high, data.kTime, data.id]);
this.kdata.volumes.push([this.kdata.volumes.length, data.high, data.open > data.close ? 1 : -1])
} else {
this.kdata.values.push([data.open, data.close, data.low, data.high, data.kTime, data.id]);
this.kdata.volumes.push([this.kdata.volumes.length, this.kdata.volumes.length, data.high, data.open >
data.close ? 1 : -1
])
this.kdata.categoryData.push(this.formateDate(data.kTime));
}
},
splitData(rawData) {
let categoryData = [];
let values = [];
let volumes = [];
for (let i = 0; i < rawData.length; i++) {
var ldata = rawData[i];
categoryData.push(this.formateDate(ldata.kTime));
values.push([ldata.open, ldata.close, ldata.low, ldata.high, ldata.kTime, ldata.id]);
volumes.push([i, ldata.high, ldata.open > ldata.close ? 1 : -1]);
}
return {
categoryData: categoryData,
values: values,
volumes: volumes,
webSocketChannel: 'market.' + this.symbol.symbol + ".kline." + this.type
};
},
depthChange(e) {
console.log(e);
},
goto(page) {
let url = '';
switch (page) {
@ -354,340 +331,7 @@
},
}
</script>
<script module="klineE" lang="renderjs">
let kline
export default {
data() {
return {
start: 98,
end: 100
};
},
mounted() {
if (typeof window.echarts === 'function') {
//this.initEcharts()
} else {
// //
// const script = document.createElement('script');
// //this.kdata=this.splitData(this.kdata);
// // view www www
// script.src = './static/echarts.js';
// script.onload = this.initEcharts.bind(this);
// document.head.appendChild(script);
}
},
methods: {
receive(newValue, oldValue, ownerVm, vm) {
if (this.channel != newValue.webSocketChannel) {
this.is = false
}
this.channel = newValue.webSocketChannel
const script = document.createElement('script');
// view www www
script.src = './static/echarts.js';
script.onload = this.upData.bind(this);
document.head.appendChild(script);
},
calculateMA(dayCount, data) {
var result = [];
for (var i = 0, len = data.values.length; i < len; i++) {
if (i < dayCount) {
result.push('-');
continue;
}
var sum = 0;
for (var j = 0; j < dayCount; j++) {
sum += data.values[i - j][1];
}
result.push(+(sum / dayCount).toFixed(3));
}
return result;
},
upData(myChart) {
const upColor = '#00C873';
const downColor = '#FF3750';
var chartDom = document.getElementById('kline');
if (!this.is) {
// console.log("this.is11111111", this.is)
this.myChart = echarts.init(chartDom);
if (this.kdata.categoryData.length < 100) {
this.start = 50
this.end = 100
} else if (this.kdata.categoryData.length < 200) {
this.start = 85
this.end = 100
} else {
this.start = 98
this.end = 100
}
} else {
// console.log(this.myChart.getModel().option.dataZoom[0].start)
this.start = this.myChart.getModel().option.dataZoom[0].start
this.end = this.myChart.getModel().option.dataZoom[0].end
}
this.is = true;
var option;
this.myChart.setOption(
(option = {
tooltip: {
trigger: 'axis',
axisPointer: {
animation: false,
type: 'cross',
lineStyle: {
width: 1,
opacity: 3
}
}
},
xAxis: [{
type: 'category',
data: this.kdata.categoryData,
boundaryGap: false,
axisLine: {
show: false,
onZero: false
},
axisTick: {
show: false
},
splitLine: {
show: false
},
min: 'dataMin',
max: 'dataMax',
axisPointer: {
z: 100
}
},
{
type: 'category',
gridIndex: 1,
data: this.kdata.categoryData,
boundaryGap: false,
axisLine: {
onZero: false
},
axisTick: {
show: false
},
splitLine: {
show: false
},
axisLabel: {
show: false
},
min: 'dataMin',
max: 'dataMax'
}
],
yAxis: [{
position: 'right',
scale: true,
axisLine: {
show: false
},
axisTick: {
show: true
},
splitArea: {
show: false, // areaStyle: {
// color: 'transparency',
// },
},
splitLine: {
show: true,
lineStyle: {
// 使
color: ['#211F32']
}
}
},
{
scale: true,
gridIndex: 1,
splitNumber: 2,
axisLabel: {
show: false
},
axisLine: {
show: false
},
axisTick: {
show: false
},
splitLine: {
show: false
}
}
],
visualMap: {
show: false,
seriesIndex: 5,
dimension: 2,
pieces: [{
value: 1,
color: downColor
},
{
value: -1,
color: upColor
}
]
},
grid: [{
top: '8%',
left: '10rpx',
right: '50rpx',
height: '60%',
backgroundColor: 'transparent',
},
{
left: '10rpx',
right: '50rpx',
top: '80%',
height: '16%'
}
],
dataZoom: [{
type: 'inside',
start: this.start,
end: this.end
},
{
show: false,
xAxisIndex: [0, 1],
type: 'slider',
top: '85%',
start: this.start,
end: this.end
}
],
series: [{
type: 'candlestick',
data: this.kdata.values,
itemStyle: {
color: upColor,
color0: downColor,
borderColor: undefined,
borderColor0: undefined
},
markLine: {
symbol: ['none', 'none'],
data: [
{
name: 'max line on close',
type: 'max',
valueDim: 'highest'
}
]
},
tooltip: {
formatter: function(param) {
param = param[0];
return [
'Date: ' + param.name +
'<hr size=1 style="margin: 3px 0">',
'Open: ' + param.data[0] + '<br/>',
'Close: ' + param.data[1] + '<br/>',
'Lowest: ' + param.data[2] + '<br/>',
'Highest: ' + param.data[3] + '<br/>'
].join('');
}
}
},
{
name: 'MA5',
type: 'line',
showSymbol: false,
data: this.calculateMA(5, this.kdata),
smooth: true,
lineStyle: {
opacity: 0.5
}
},
{
name: 'MA10',
type: 'line',
showSymbol: false,
data: this.calculateMA(10, this.kdata),
smooth: true,
lineStyle: {
opacity: 0.5
}
},
{
name: 'MA20',
type: 'line',
showSymbol: false,
data: this.calculateMA(20, this.kdata),
smooth: true,
lineStyle: {
opacity: 0.5
}
},
{
name: 'MA30',
type: 'line',
showSymbol: false,
data: this.calculateMA(30, this.kdata),
smooth: true,
lineStyle: {
opacity: 0.5
}
},
{
name: 'Volume',
type: 'bar',
xAxisIndex: 1,
yAxisIndex: 1,
data: this.kdata.volumes,
itemStyle: {
color: upColor,
borderColor: undefined,
},
}
]
}),
true
);
}
},
watch: {
// `question`
columData: function(newQuestion, oldQuestion) {
// this.updateEcharts(this.option)
}
},
}
</script>
<style lang="scss" scoped>
.main {
@ -763,7 +407,7 @@
.top {
height: 80rpx;
border-bottom: 2rpx solid #A1A0A8;
margin-top: 30px;
.price {
line-height: 80rpx;
font-size: 40rpx;

986
pages/markets/kLine1.vue

@ -0,0 +1,986 @@
<template>
<view class="main">
<!-- nav -->
<navigation>{{ symbol.pair }}</navigation>
<!-- 价格百分比 -->
<!-- #ifdef APP-PLUS -->
<view class="header">
<!-- #endif -->
<!-- #ifdef H5 -->
<view class="headerH5">
<!-- #endif -->
<view class="top">
<!-- 实时价格 -->
<text class="price">{{parseFloat(marketDetail.close).toFixed(marketDetail.baseCoinScale)}}</text>
<!-- 百分比,根据数据正负判断颜色 -->
<text class="percent"
:class="{ rise: marketDetail.percent>=0 }">{{marketDetail.percent>=0?'+'+marketDetail.percent:marketDetail.percent}}%</text>
</view>
<view class="bottom">
<view class="left">
<view class="title">{{ i18n.Highest }}</view>
<view class="value">{{marketDetail.high}}</view>
</view>
<view class="center">
<view class="title">{{ i18n.Lowest }}</view>
<view class="value">{{marketDetail.low}}</view>
</view>
<view class="right">
<view class="title">{{ i18n.Amount }}</view>
<view class="value">{{marketDetail.amount}}</view>
</view>
</view>
</view>
<view class="tab">
<view class="item" :class="{ select: type === '1min' }" @click="onChangeType('1min')">1min
</view>
<view class="item" :class="{ select: type === '5min' }" @click="onChangeType('5min')">5min
</view>
<view class="item" :class="{ select: type === '15min' }" @click="onChangeType('15min')">15min
</view>
<view class="item" :class="{ select: type === '30min' }" @click="onChangeType('30min')">30min
</view>
<view class="item" :class="{ select: type === '60min' }" @click="onChangeType('60min')">60min
</view>
<view class="item" :class="{ select: type === '1day' }" @click="onChangeType('1day')">1day
</view>
<view class="item" :class="{ select: type === '1week' }" @click="onChangeType('1week')">1week
</view>
<view class="item" :class="{ select: type === '1mon' }" @click="onChangeType('1mon')">1mon
</view>
</view>
<!-- K线图 -->
<view class="kline" id="kline" :kdata="kdata" :change:kdata="klineE.receive"
style="height:500rpx;width: 100%;position: relative; padding: 0px; margin: 0px; border-width: 0px; cursor: default;">
</view>
<!-- 买卖挂牌表 -->
<view class="MarketTrades">
<view class="headTitle"> {{ i18n.Markettrades }}</view>
<view class="table">
<view class="box">
<view class="title">
<view class="quantity">{{ i18n.Quantity }}</view>
<view class="price">{{ i18n.BuyingPrice }}</view>
</view>
<view class="list">
<view class="item" v-for="(item, index) in bboList.buy" :key="index">
<text class="price">{{parseFloat(item.size).toFixed(6)}}</text>
<text class="num buy">{{ item.price }}</text>
<view class="buybg" :style="`width: ${item.size/sum.buy*100 }%;`"></view>
</view>
</view>
</view>
<view class="box">
<view class="title">
<view class="quantity">{{ i18n.Quantity }}</view>
<view class="price">{{ i18n.SellPrice }}</view>
</view>
<view class="list">
<view class="item" v-for="(item, index) in bboList.sell" :key="index">
<text class="price">{{parseFloat(item.size).toFixed(6)}}</text>
<text class="num sell">{{ item.price }}</text>
<view class="sellbg" :style="`width: ${item.size/sum.sell*100 }%;`"></view>
</view>
</view>
</view>
</view>
</view>
<view class="btn">
<!-- open按钮 -->
<u-button class="button" color="#00E8A2" throttleTime="500" @click="btnClick('buy')">
{{ i18n.open }}
</u-button>
<!-- close按钮 -->
<u-button class="button" color="#F4506A" throttleTime="500" @click="btnClick('sell')">
{{ i18n.close }}
</u-button>
</view>
</view>
</template>
<script>
import ktest from '@/utils/ktest.js'
export default {
name: "trade",
components: {
ktest
},
data() {
return {
kdata: {},
type: '1min',
symbol: null,
marketDetail: {
close: 0,
usdRate: 0
},
bboList: {},
sum: {}
};
},
computed: {
i18n() {
return this.$t("markets");
},
},
onLoad() {
//this.kdata = this.splitData(ktest.JSON);
// console.log(this.kdata, 1111)
},
onShow() {
this.into();
},
onHide() {
this.websock.closeSocket();
},
onUnload() {
this.websock.closeSocket();
},
methods: {
into() {
this.symbol = uni.getStorageSync('symbol');
if (!this.symbol) {
// #ifdef H5
history.back()
// #endif
// #ifdef APP-PLUS
uni.navigateBack()
// #endif
}
this.getMarketDetail();
this.initWebSocket();
this.getBboList()
},
statisticsSum() {
this.sum.buy = 0
this.sum.sell = 0
console.log(this.sum.buy);
for (var buy in this.bboList.buy) {
if (buy >= 8) {
break;
}
this.sum.buy += parseFloat(this.bboList.buy[buy].size)
}
for (var sell in this.bboList.sell) {
if (sell >= 8) {
break;
}
this.sum.sell += parseFloat(this.bboList.sell[sell].size)
}
},
onChangeType(type) {
this.websock.unSubKline(this.type, this.symbol.symbol);
this.type = type
this.websock.subKHistory(this.type, this.symbol.symbol);
this.websock.subKline(this.type, this.symbol.symbol);
},
formateDate(time) {
// var date = new Date(parseInt(time * 1000));
// var Y = date.getFullYear();
// var M = '-' + (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1);
// var D = '-' + date.getDate();
// var h = ' ' + date.getHours();
// var m = ':' + date.getMinutes();
// var s = ':' + date.getSeconds();
// var time;
// if (this.type.indexOf('min') > -1) {
// time = Y + M + D + h + m;
// } else if (this.type === '1day' || this.type === '1week') {
// time = Y + M + D;
// } else {
// time = Y + M;
// }
// return time;
var time;
time = this.$index.formatyymmddhhmmss(parseInt(time * 1000))
if (this.type === '1mon') {
time = time.split(' ')[0];
time = time.substring(time.indexOf('/') + 1, time.length)
} else if (this.type === '1day' || this.type === '1week') {
time = time.split(' ')[0];
}
return time;
},
getBboList() {
const bboList = this.$api.bboList({
"symbol": this.symbol.symbol
});
bboList.then(res => {
// console.log(9999999, res)
this.bboList = res
this.statisticsSum();
})
.catch(e => {
// console.log(e)
uni.showToast({
title: e,
icon: 'none',
duration: 2500
})
})
},
getMarketDetail() {
const marketDetail = this.$api.marketDetail({
"symbol": this.symbol.symbol
});
marketDetail.then(res => {
this.marketDetail = res
})
.catch(e => {
// console.log(e)
uni.showToast({
title: e,
icon: 'none',
duration: 2500
})
})
},
initWebSocket() {
this.websock = new this.$websocket(this.$constant.WSSURL) // xxx URL
var that = this
this.websock.getWebSocketMsg(data => {
if (data.channel === 'conn') {
that.websockId = data.data
that.websock.setId(data.data);
that.websock.subBbo(that.symbol.symbol)
that.websock.subDetail(that.symbol.symbol)
that.websock.subKHistory(that.type, that.symbol.symbol)
that.websock.subKline(that.type, that.symbol.symbol)
} else if (data.channel === 'market.pairsgroup') {
that.symbolList = data.data.USDT;
} else if (data.channel === 'market.' + that.symbol.symbol + '.bbo') {
that.bboList = data.data;
that.statisticsSum();
} else if (data.channel === 'market.' + that.symbol.symbol + '.trade') {
that.tradeList = data.data;
} else if (data.channel === 'market.' + that.symbol.symbol + '.detail') {
that.marketDetail = data.data;
} else if (data.channel === 'market.' + that.symbol.symbol + ".kline." + that.type) {
if (data.event === 'req') {
that.kdata = that.splitData(data.data)
} else {
that.upkline(data.data)
}
}
});
},
upkline(data) {
if (data.id === this.kdata.values[this.kdata.values.length - 1][5]) {
this.kdata.values.pop();
this.kdata.volumes.pop();
this.kdata.values.push([data.open, data.close, data.low, data.high, data.kTime, data.id]);
this.kdata.volumes.push([this.kdata.volumes.length, data.high, data.open > data.close ? 1 : -1])
} else {
this.kdata.values.push([data.open, data.close, data.low, data.high, data.kTime, data.id]);
this.kdata.volumes.push([this.kdata.volumes.length, this.kdata.volumes.length, data.high, data.open >
data.close ? 1 : -1
])
this.kdata.categoryData.push(this.formateDate(data.kTime));
}
},
splitData(rawData) {
let categoryData = [];
let values = [];
let volumes = [];
for (let i = 0; i < rawData.length; i++) {
var ldata = rawData[i];
categoryData.push(this.formateDate(ldata.kTime));
values.push([ldata.open, ldata.close, ldata.low, ldata.high, ldata.kTime, ldata.id]);
volumes.push([i, ldata.high, ldata.open > ldata.close ? 1 : -1]);
}
return {
categoryData: categoryData,
values: values,
volumes: volumes,
webSocketChannel: 'market.' + this.symbol.symbol + ".kline." + this.type
};
},
depthChange(e) {
console.log(e);
},
goto(page) {
let url = '';
switch (page) {
case 'kLine':
url = '/pages/markets/kLine'
break;
default:
break;
}
uni.navigateTo({
url,
});
},
btnClick(type) {
uni.setStorageSync('orderType', type);
// #ifdef H5
history.back()
// #endif
// #ifdef APP-PLUS
uni.navigateBack()
// #endif
}
},
}
</script>
<script module="klineE" lang="renderjs">
let kline
export default {
data() {
return {
start: 98,
end: 100
};
},
mounted() {
if (typeof window.echarts === 'function') {
//this.initEcharts()
} else {
// //
// const script = document.createElement('script');
// //this.kdata=this.splitData(this.kdata);
// // view www www
// script.src = './static/echarts.js';
// script.onload = this.initEcharts.bind(this);
// document.head.appendChild(script);
}
},
methods: {
receive(newValue, oldValue, ownerVm, vm) {
if (this.channel != newValue.webSocketChannel) {
this.is = false
}
this.channel = newValue.webSocketChannel
const script = document.createElement('script');
// view www www
script.src = './static/echarts.js';
script.onload = this.upData.bind(this);
document.head.appendChild(script);
},
calculateMA(dayCount, data) {
var result = [];
for (var i = 0, len = data.values.length; i < len; i++) {
if (i < dayCount) {
result.push('-');
continue;
}
var sum = 0;
for (var j = 0; j < dayCount; j++) {
sum += data.values[i - j][1];
}
result.push(+(sum / dayCount).toFixed(3));
}
return result;
},
intoOption() {
const upColor = '#00C873';
const downColor = '#FF3750';
this.option = {
tooltip: {
trigger: 'axis',
axisPointer: {
animation: false,
type: 'cross',
lineStyle: {
width: 1,
opacity: 3
}
}
},
xAxis: [{
type: 'category',
data: this.kdata.categoryData,
boundaryGap: false,
axisLine: {
show: false,
onZero: false
},
axisTick: {
show: false
},
splitLine: {
show: false
},
min: 'dataMin',
max: 'dataMax',
axisPointer: {
z: 100
}
},
{
type: 'category',
gridIndex: 1,
data: this.kdata.categoryData,
boundaryGap: false,
axisLine: {
onZero: false
},
axisTick: {
show: false
},
splitLine: {
show: false
},
axisLabel: {
show: false
},
min: 'dataMin',
max: 'dataMax'
}
],
yAxis: [{
position: 'right',
scale: true,
axisLine: {
show: false
},
axisTick: {
show: true
},
splitArea: {
show: false, // areaStyle: {
// color: 'transparency',
// },
},
splitLine: {
show: true,
lineStyle: {
// 使
color: ['#211F32']
}
}
},
{
scale: true,
gridIndex: 1,
splitNumber: 2,
axisLabel: {
show: false
},
axisLine: {
show: false
},
axisTick: {
show: false
},
splitLine: {
show: false
}
}
],
visualMap: {
show: false,
seriesIndex: 5,
dimension: 2,
pieces: [{
value: 1,
color: downColor
},
{
value: -1,
color: upColor
}
]
},
grid: [{
top: '8%',
left: '10rpx',
right: '50rpx',
height: '60%',
backgroundColor: 'transparent',
},
{
left: '10rpx',
right: '50rpx',
top: '80%',
height: '16%'
}
],
dataZoom: [{
type: 'inside',
zoomLock: true,
start: this.start,
end: this.end
},
{
show: false,
xAxisIndex: [0, 1],
type: 'slider',
top: '85%',
zoomLock: true,
start: this.start,
end: this.end
}
],
series: [{
type: 'candlestick',
data: this.kdata.values,
itemStyle: {
color: upColor,
color0: downColor,
borderColor: undefined,
borderColor0: undefined
},
markLine: {
symbol: ['none', 'none'],
data: [
{
name: 'max line on close',
type: 'max',
valueDim: 'highest'
}
]
},
tooltip: {
formatter: function(param) {
param = param[0];
return [
'Date: ' + param.name +
'<hr size=1 style="margin: 3px 0">',
'Open: ' + param.data[0] + '<br/>',
'Close: ' + param.data[1] + '<br/>',
'Lowest: ' + param.data[2] + '<br/>',
'Highest: ' + param.data[3] + '<br/>'
].join('');
}
}
},
{
name: 'MA5',
type: 'line',
showSymbol: false,
data: this.calculateMA(5, this.kdata),
smooth: true,
lineStyle: {
opacity: 0.5
}
},
{
name: 'MA10',
type: 'line',
showSymbol: false,
data: this.calculateMA(10, this.kdata),
smooth: true,
lineStyle: {
opacity: 0.5
}
},
{
name: 'MA20',
type: 'line',
showSymbol: false,
data: this.calculateMA(20, this.kdata),
smooth: true,
lineStyle: {
opacity: 0.5
}
},
{
name: 'MA30',
type: 'line',
showSymbol: false,
data: this.calculateMA(30, this.kdata),
smooth: true,
lineStyle: {
opacity: 0.5
}
},
{
name: 'Volume',
type: 'bar',
xAxisIndex: 1,
yAxisIndex: 1,
data: this.kdata.volumes,
itemStyle: {
color: upColor,
borderColor: undefined,
},
}
]
}
},
upData(myChart) {
var chartDom = document.getElementById('kline');
if (!this.is) {
this.myChart = echarts.init(chartDom);
if (this.kdata.categoryData.length < 100) {
this.start = 50
this.end = 100
} else if (this.kdata.categoryData.length < 200) {
this.start = 85
this.end = 100
} else {
this.start = 98
this.end = 100
}
this.intoOption();
setTimeout(() => {
this.myChart.setOption(
this.option,
true
);
}, 100)
} else {
// console.log(this.myChart.getModel().option.dataZoom[0].start)
this.start = this.myChart.getModel().option.dataZoom[0].start
this.end = this.myChart.getModel().option.dataZoom[0].end
// this.myChart.getModel().option.series[0].data=this.kdata.values
//console.log("this.is11111111", this.myChart.getModel().option.series[0].data)
this.myChart.appendData({
seriesIndex: 0,
data: this.kdata.values
});
}
//
this.is = true;
}
},
watch: {
// `question`
columData: function(newQuestion, oldQuestion) {
// this.updateEcharts(this.option)
}
},
}
</script>
<style lang="scss" scoped>
.main {
.header {
background: #000000;
margin-top: 200rpx;
padding: 0 32rpx;
.top {
height: 80rpx;
border-bottom: 2rpx solid #A1A0A8;
.price {
line-height: 80rpx;
font-size: 40rpx;
}
.percent {
vertical-align: text-top;
margin-left: 20rpx;
padding: 8rpx 20rpx;
border-radius: 8rpx;
font-size: 24rpx;
background-color: rgba($color: #F26666, $alpha: 0.2);
color: #F26666;
&.rise {
color: #00E8A2;
background-color: rgba($color: #00E8A2, $alpha: 0.2);
}
}
}
.bottom {
display: flex;
font-size: 24rpx;
.title {
margin-top: 24rpx;
line-height: 32rpx;
}
.value {
margin: 24rpx 0;
color: #A1A0A8;
}
.left {
flex: 1;
text-align: left;
}
.center {
flex: 1;
text-align: center;
}
.right {
flex: 1;
text-align: right;
}
}
}
.headerH5 {
background: #000000;
margin-top: 122rpx;
padding: 0 32rpx;
.top {
height: 80rpx;
border-bottom: 2rpx solid #A1A0A8;
.price {
line-height: 80rpx;
font-size: 40rpx;
}
.percent {
vertical-align: text-top;
margin-left: 20rpx;
padding: 8rpx 20rpx;
border-radius: 8rpx;
font-size: 24rpx;
background-color: rgba($color: #F26666, $alpha: 0.2);
color: #F26666;
&.rise {
color: #00E8A2;
background-color: rgba($color: #00E8A2, $alpha: 0.2);
}
}
}
.bottom {
display: flex;
font-size: 24rpx;
.title {
margin-top: 24rpx;
line-height: 32rpx;
}
.value {
margin: 24rpx 0;
color: #A1A0A8;
}
.left {
flex: 1;
text-align: left;
}
.center {
flex: 1;
text-align: center;
}
.right {
flex: 1;
text-align: right;
}
}
}
.tab {
display: flex;
background: #000000;
.item {
height: 64rpx;
line-height: 64rpx;
flex: 1;
font-size: 24rpx;
text-align: center;
&.select {
background: rgba(0, 232, 162, 0.3);
border-radius: 19px;
}
}
}
.kline {
background: #000000;
}
.MarketTrades {
.headTitle {
padding-left: 32rpx;
font-size: 34rpx;
height: 80rpx;
line-height: 80rpx;
}
.table {
display: flex;
font-size: 24rpx;
.box {
padding-left: 32rpx;
flex: 1;
overflow: hidden;
height: 450rpx;
margin-bottom: 132rpx;
.title {
display: flex;
margin-bottom: 16rpx;
color: #A1A0A8;
.quantity {
flex: 1;
}
.price {
flex: 1;
text-align: center;
}
}
.list {
overflow: hidden;
.item {
position: relative;
width: 100%;
height: 50rpx;
line-height: 50rpx;
display: flex;
.price {
display: block;
width: 50%;
text-align: left;
z-index: 1;
}
.num {
display: block;
width: 50%;
text-align: right;
padding-right: 32rpx;
z-index: 1;
&.buy {
color: #00E8A2;
}
&.sell {
color: #F4506A;
}
}
.buybg {
height: 100%;
position: absolute;
top: 0;
left: 0;
z-index: 0;
background: rgba($color: #00E8A2, $alpha: 0.1)
}
.sellbg {
height: 100%;
position: absolute;
top: 0;
right: 0;
z-index: 0;
background: rgba($color: #F4506A, $alpha: 0.1)
}
}
}
}
}
}
.btn {
display: flex;
z-index: 999;
position: fixed;
bottom: 16rpx;
left: 2%;
width: 96%;
.button {
flex: 1;
box-sizing: border-box;
height: 96rpx;
border-radius: 16rpx;
font-weight: 700;
font-size: 28rpx;
color: #15141F !important;
&:nth-child(2) {
margin-left: 14rpx;
}
}
}
}
</style>

109
pages/markets/kLine2.vue

@ -0,0 +1,109 @@
<template>
<view class="app">
<!-- K线 -->
<kline v-if="showKline" :width="chartWidth" :height="chartHeight"></kline>
</view>
</template>
<script>
import kline from '../../components/kline/kline.vue'
export default {
components: {
kline
},
data() {
return {
//
device: {},
//H5
isH5APP: false,
//
windowHeight: 0,
//
windowWidth: 0,
showKline: false,
// k线
chartWidth: 0,
// K线
chartHeight: 0,
//(PX)
menuHeight: 0,
};
},
onLoad() {
// #ifdef APP-PLUS
//
this.confirmPrimary()
// #endif
//
setTimeout(() => {
//
this.calcWindow()
}, 200)
},
onUnload() {
// #ifdef APP-PLUS
//退
this.cancelPrimary()
// #endif
},
methods: {
//
calcWindow() {
//
this.windowWidth = uni.getSystemInfoSync().windowWidth
this.windowHeight = uni.getSystemInfoSync().windowHeight
//K线
this.device = uni.getDeviceInfo()
let dType = this.device.deviceType
//PC pad K线
if (dType == 'pc' || dType == 'pad' || dType == 'unknow') {
this.chartWidth = this.windowWidth
this.chartHeight = this.windowHeight - this.menuHeight
} else {
//APP
this.chartWidth = this.windowWidth
this.chartHeight = this.windowHeight - this.menuHeight
}
// K线
this.showKline = true
},
//
confirmPrimary() {
plus.screen.lockOrientation('landscape-primary')
plus.navigator.setFullscreen(true);
},
// //
cancelPrimary() {
plus.screen.lockOrientation('portrait-primary')
plus.navigator.setFullscreen(false);
},
toPage(url) {
uni.navigateTo({
url,
fail(err) {
console.log(err)
}
})
},
}
};
</script>
<style lang="scss">
body,
page {
position: absolute;
width: 100%;
height: 100%;
}
.app {
width: 100%;
height: 100%;
}
</style>

1
static/charting_library/ar-tv-chart.132c7060.html

File diff suppressed because one or more lines are too long

2
static/charting_library/bundles/0.d46f0b5e9380d7893de5.js

@ -0,0 +1,2 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{"+EG+":function(t,e,n){"use strict";n.d(e,"a",(function(){return o})),n.d(e,"b",(function(){return r}));var i=n("q1tI");class o extends i.Component{shouldComponentUpdate(){return!1}render(){return i.createElement("div",{style:{position:"fixed",zIndex:150,left:0,top:0},ref:this.props.reference})}}const r=i.createContext(null)},"0YpW":function(t,e,n){"use strict";const i=(()=>{let t;return()=>{var e;if(void 0===t){const n=document.createElement("div"),i=n.style;i.visibility="hidden",i.width="100px",i.msOverflowStyle="scrollbar",document.body.appendChild(n);const o=n.offsetWidth;n.style.overflow="scroll";const r=document.createElement("div");r.style.width="100%",n.appendChild(r);const s=r.offsetWidth;null===(e=n.parentNode)||void 0===e||e.removeChild(n),t=o-s}return t}})();function o(t,e,n){null!==t&&t.style.setProperty(e,n)}function r(t,e){return getComputedStyle(t,null).getPropertyValue(e)}function s(t,e){return parseInt(r(t,e))}n.d(e,"a",(function(){return u}));let c=0,d=!1;function u(t){const{body:e}=document,n=e.querySelector(".widgetbar-wrap");if(t&&1==++c){const t=r(e,"overflow"),c=s(e,"padding-right");"hidden"!==t.toLowerCase()&&e.scrollHeight>e.offsetHeight&&(o(n,"right",i()+"px"),e.style.paddingRight=c+i()+"px",d=!0),e.classList.add("i-no-scroll")}else if(!t&&c>0&&0==--c&&(e.classList.remove("i-no-scroll"),d)){o(n,"right","0px");let t=0;0,e.scrollHeight<=e.clientHeight&&(t-=i()),e.style.paddingRight=(t<0?0:t)+"px",d=!1}}},"8Rai":function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));var i=n("q1tI"),o=n("R5JZ");function r(t){const{click:e,mouseDown:n,touchEnd:r,touchStart:s,handler:c,reference:d,ownerDocument:u=document}=t,l=Object(i.useRef)(null),a=Object(i.useRef)(new CustomEvent("timestamp").timeStamp);return Object(i.useLayoutEffect)(()=>{const t={click:e,mouseDown:n,touchEnd:r,touchStart:s},i=d?d.current:l.current;return Object(o.a)(a.current,i,c,u,t)},[e,n,r,s,c]),d||l}},AiMB:function(t,e,n){"use strict";n.d(e,"a",(function(){return d})),n.d(e,"b",(function(){return u}));var i=n("q1tI"),o=n("i8i4"),r=n("e3/o"),s=n("jAh7"),c=n("+EG+");class d extends i.PureComponent{constructor(){super(...arguments),this._uuid=Object(r.guid)()}componentWillUnmount(){this._manager().removeWindow(this._uuid)}render(){const t=this._manager().ensureWindow(this._uuid,this.props.layerOptions);return t.style.top=this.props.top||"",t.style.bottom=this.props.bottom||"",t.style.left=this.props.left||"",t.style.right=this.props.right||"",t.style.pointerEvents=this.props.pointerEvents||"",o.createPortal(i.createElement(u.Provider,{value:this},this.props.children),t)}moveToTop(){this._manager().moveToTop(this._uuid)}_manager(){return null===this.context?Object(s.b)():this.context}}d.contextType=c.b;const u=i.createContext(null)},Iivm:function(t,e,n){"use strict";var i=n("q1tI");const o=i.forwardRef((t,e)=>{const{icon:n="",...o}=t;return i.createElement("span",{...o,ref:e,dangerouslySetInnerHTML:{__html:n}})});n.d(e,"a",(function(){return o}))},jAh7:function(t,e,n){
"use strict";n.d(e,"a",(function(){return r})),n.d(e,"b",(function(){return c}));var i=n("Eyy1");class o{constructor(){this._storage=[]}add(t){this._storage.push(t)}remove(t){this._storage=this._storage.filter(e=>t!==e)}has(t){return this._storage.includes(t)}getItems(){return this._storage}}class r{constructor(t=document){this._storage=new o,this._windows=new Map,this._index=0,this._document=t,this._container=t.createDocumentFragment()}setContainer(t){const e=this._container,n=null===t?this._document.createDocumentFragment():t;!function(t,e){Array.from(t.childNodes).forEach(t=>{t.nodeType===Node.ELEMENT_NODE&&e.appendChild(t)})}(e,n),this._container=n}registerWindow(t){this._storage.has(t)||this._storage.add(t)}ensureWindow(t,e={position:"fixed",direction:"normal"}){const n=this._windows.get(t);if(void 0!==n)return n;this.registerWindow(t);const i=this._document.createElement("div");if(i.style.position=e.position,i.style.zIndex=this._index.toString(),i.dataset.id=t,void 0!==e.index){const t=this._container.childNodes.length;if(e.index>=t)this._container.appendChild(i);else if(e.index<=0)this._container.insertBefore(i,this._container.firstChild);else{const t=this._container.childNodes[e.index];this._container.insertBefore(i,t)}}else"reverse"===e.direction?this._container.insertBefore(i,this._container.firstChild):this._container.appendChild(i);return this._windows.set(t,i),++this._index,i}unregisterWindow(t){this._storage.remove(t);const e=this._windows.get(t);void 0!==e&&(null!==e.parentElement&&e.parentElement.removeChild(e),this._windows.delete(t))}getZindex(t){const e=this.ensureWindow(t);return parseInt(e.style.zIndex||"0")}moveToTop(t){if(this.getZindex(t)!==this._index){this.ensureWindow(t).style.zIndex=(++this._index).toString()}}removeWindow(t){this.unregisterWindow(t)}}const s=new WeakMap;function c(t=document){const e=t.getElementById("overlap-manager-root");if(null!==e)return Object(i.ensureDefined)(s.get(e));{const e=new r(t),n=function(t){const e=t.createElement("div");return e.style.position="absolute",e.style.zIndex=150..toString(),e.style.top="0px",e.style.left="0px",e.id="overlap-manager-root",e}(t);return s.set(n,e),e.setContainer(n),t.body.appendChild(n),e}}}}]);

BIN
static/charting_library/bundles/0579d40b812fa2c3ffe72e5803a6e14c.cur

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

0
static/charting_library/bundles/1.92647ec0a7beb8b2898d.css

0
static/charting_library/bundles/1.92647ec0a7beb8b2898d.rtl.css

1
static/charting_library/bundles/1.f02c87d35fbc8ffcaedb.js

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[1],[]]);

6
static/charting_library/bundles/10.21e665b7935d5bc4ba64.js

@ -0,0 +1,6 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{cvc5:function(e,t,n){var r,o,i;e.exports=(r=n("q1tI"),o=n("i8i4"),i=n("MjAr"),function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="dist/",t(0)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(e){return e&&e.__esModule?e:{default:e}}(n(1));t.default=r.default,e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(2),u=(r(i),n(3)),a=r(u),s=r(n(13)),c=r(n(14)),f=r(n(15)),l=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.measure=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n.props.includeMargin;if(n.props.shouldMeasure){n._node.parentNode||n._setDOMNode();var t=n.getDimensions(n._node,e),r="function"==typeof n.props.children;n._propsToMeasure.some((function(e){if(t[e]!==n._lastDimensions[e])return n.props.onMeasure(t),r&&void 0!==n&&n.setState({dimensions:t}),n._lastDimensions=t,!0}))}},n.state={dimensions:{width:0,height:0,top:0,right:0,bottom:0,left:0}},n._node=null,n._propsToMeasure=n._getPropsToMeasure(e),n._lastDimensions={},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),o(t,[{key:"componentDidMount",value:function(){var e=this;this._setDOMNode(),this.measure(),this.resizeObserver=new c.default((function(){return e.measure()})),this.resizeObserver.observe(this._node)}},{key:"componentWillReceiveProps",value:function(e){var t=(e.config,e.whitelist),n=e.blacklist;this.props.whitelist===t&&this.props.blacklist===n||(this._propsToMeasure=this._getPropsToMeasure({whitelist:t,blacklist:n}))}},{key:"componentWillUnmount",value:function(){this.resizeObserver.disconnect(this._node),this._node=null}},{key:"_setDOMNode",value:function(){this._node=s.default.findDOMNode(this)}},{key:"getDimensions",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._node,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.props.includeMargin;return(0,f.default)(e,{margin:t})}},{
key:"_getPropsToMeasure",value:function(e){var t=e.whitelist,n=e.blacklist;return t.filter((function(e){return n.indexOf(e)<0}))}},{key:"render",value:function(){var e=this.props.children;return i.Children.only("function"==typeof e?e(this.state.dimensions):e)}}]),t}(i.Component);l.propTypes={whitelist:a.default.array,blacklist:a.default.array,includeMargin:a.default.bool,useClone:a.default.bool,cloneOptions:a.default.object,shouldMeasure:a.default.bool,onMeasure:a.default.func},l.defaultProps={whitelist:["width","height","top","right","bottom","left"],blacklist:[],includeMargin:!0,useClone:!1,cloneOptions:{},shouldMeasure:!0,onMeasure:function(){return null}},t.default=l,e.exports=t.default},function(e,t){e.exports=r},function(e,t,n){(function(t){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};if("production"!==t.env.NODE_ENV){var o="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;e.exports=n(5)((function(e){return"object"===(void 0===e?"undefined":r(e))&&null!==e&&e.$$typeof===o}),!0)}else e.exports=n(12)()}).call(t,n(4))},function(e,t){"use strict";function n(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function o(e){if(c===setTimeout)return setTimeout(e,0);if((c===n||!c)&&setTimeout)return c=setTimeout,setTimeout(e,0);try{return c(e,0)}catch(t){try{return c.call(null,e,0)}catch(t){return c.call(this,e,0)}}}function i(){y&&p&&(y=!1,p.length?d=p.concat(d):h=-1,d.length&&u())}function u(){if(!y){var e=o(i);y=!0;for(var t=d.length;t;){for(p=d,d=[];++h<t;)p&&p[h].run();h=-1,t=d.length}p=null,y=!1,function(e){if(f===clearTimeout)return clearTimeout(e);if((f===r||!f)&&clearTimeout)return f=clearTimeout,clearTimeout(e);try{f(e)}catch(t){try{return f.call(null,e)}catch(t){return f.call(this,e)}}}(e)}}function a(e,t){this.fun=e,this.array=t}function s(){}var c,f,l=e.exports={};!function(){try{c="function"==typeof setTimeout?setTimeout:n}catch(e){c=n}try{f="function"==typeof clearTimeout?clearTimeout:r}catch(e){f=r}}();var p,d=[],y=!1,h=-1;l.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];d.push(new a(e,t)),1!==d.length||y||o(u)},a.prototype.run=function(){this.fun.apply(null,this.array)},l.title="browser",l.browser=!0,l.env={},l.argv=[],l.version="",l.versions={},l.on=s,l.addListener=s,l.once=s,l.off=s,l.removeListener=s,l.removeAllListeners=s,l.emit=s,l.prependListener=s,l.prependOnceListener=s,l.listeners=function(e){return[]},l.binding=function(e){throw new Error("process.binding is not supported")},l.cwd=function(){return"/"},l.chdir=function(e){throw new Error("process.chdir is not supported")},l.umask=function(){return 0}},function(e,t,n){(function(t){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e
}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=n(6),i=n(7),u=n(8),a=n(9),s=n(10),c=n(11);e.exports=function(e,n){function f(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function l(e){this.message=e,this.stack=""}function p(e){function r(r,c,f,p,d,y,h){if(p=p||w,y=y||f,h!==s)if(n)i(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");else if("production"!==t.env.NODE_ENV&&"undefined"!=typeof console){var v=p+":"+f;!o[v]&&a<3&&(u(!1,"You are manually calling a React.PropTypes validation function for the `%s` prop on `%s`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details.",y,p),o[v]=!0,a++)}return null==c[f]?r?new l(null===c[f]?"The "+d+" `"+y+"` is marked as required in `"+p+"`, but its value is `null`.":"The "+d+" `"+y+"` is marked as required in `"+p+"`, but its value is `undefined`."):null:e(c,f,p,d,y)}if("production"!==t.env.NODE_ENV)var o={},a=0;var c=r.bind(null,!1);return c.isRequired=r.bind(null,!0),c}function d(e){return p((function(t,n,r,o,i,u){var a=t[n];return h(a)!==e?new l("Invalid "+o+" `"+i+"` of type `"+v(a)+"` supplied to `"+r+"`, expected `"+e+"`."):null}))}function y(t){switch(void 0===t?"undefined":r(t)){case"number":case"string":case"undefined":return!0;case"boolean":return!t;case"object":if(Array.isArray(t))return t.every(y);if(null===t||e(t))return!0;var n=function(e){var t=e&&(b&&e[b]||e[g]);if("function"==typeof t)return t}(t);if(!n)return!1;var o,i=n.call(t);if(n!==t.entries){for(;!(o=i.next()).done;)if(!y(o.value))return!1}else for(;!(o=i.next()).done;){var u=o.value;if(u&&!y(u[1]))return!1}return!0;default:return!1}}function h(e){var t=void 0===e?"undefined":r(e);return Array.isArray(e)?"array":e instanceof RegExp?"object":function(e,t){return"symbol"===e||"Symbol"===t["@@toStringTag"]||"function"==typeof Symbol&&t instanceof Symbol}(t,e)?"symbol":t}function v(e){if(null==e)return""+e;var t=h(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}function m(e){var t=v(e);switch(t){case"array":case"object":return"an "+t;case"boolean":case"date":case"regexp":return"a "+t;default:return t}}var b="function"==typeof Symbol&&Symbol.iterator,g="@@iterator",w="<<anonymous>>",O={array:d("array"),bool:d("boolean"),func:d("function"),number:d("number"),object:d("object"),string:d("string"),symbol:d("symbol"),any:p(o.thatReturnsNull),arrayOf:function(e){return p((function(t,n,r,o,i){if("function"!=typeof e)return new l("Property `"+i+"` of component `"+r+"` has invalid PropType notation inside arrayOf.");var u=t[n];if(!Array.isArray(u))return new l("Invalid "+o+" `"+i+"` of type `"+h(u)+"` supplied to `"+r+"`, expected an array.");for(var a=0;a<u.length;a++){var c=e(u,a,r,o,i+"["+a+"]",s)
;if(c instanceof Error)return c}return null}))},element:p((function(t,n,r,o,i){var u=t[n];return e(u)?null:new l("Invalid "+o+" `"+i+"` of type `"+h(u)+"` supplied to `"+r+"`, expected a single ReactElement.")})),instanceOf:function(e){return p((function(t,n,r,o,i){if(!(t[n]instanceof e)){var u=e.name||w;return new l("Invalid "+o+" `"+i+"` of type `"+function(e){return e.constructor&&e.constructor.name?e.constructor.name:w}(t[n])+"` supplied to `"+r+"`, expected instance of `"+u+"`.")}return null}))},node:p((function(e,t,n,r,o){return y(e[t])?null:new l("Invalid "+r+" `"+o+"` supplied to `"+n+"`, expected a ReactNode.")})),objectOf:function(e){return p((function(t,n,r,o,i){if("function"!=typeof e)return new l("Property `"+i+"` of component `"+r+"` has invalid PropType notation inside objectOf.");var u=t[n],a=h(u);if("object"!==a)return new l("Invalid "+o+" `"+i+"` of type `"+a+"` supplied to `"+r+"`, expected an object.");for(var c in u)if(u.hasOwnProperty(c)){var f=e(u,c,r,o,i+"."+c,s);if(f instanceof Error)return f}return null}))},oneOf:function(e){return Array.isArray(e)?p((function(t,n,r,o,i){for(var u=t[n],a=0;a<e.length;a++)if(f(u,e[a]))return null;return new l("Invalid "+o+" `"+i+"` of value `"+u+"` supplied to `"+r+"`, expected one of "+JSON.stringify(e)+".")})):("production"!==t.env.NODE_ENV&&u(!1,"Invalid argument supplied to oneOf, expected an instance of array."),o.thatReturnsNull)},oneOfType:function(e){if(!Array.isArray(e))return"production"!==t.env.NODE_ENV&&u(!1,"Invalid argument supplied to oneOfType, expected an instance of array."),o.thatReturnsNull;for(var n=0;n<e.length;n++){var r=e[n];if("function"!=typeof r)return u(!1,"Invalid argument supplied to oneOfType. Expected an array of check functions, but received %s at index %s.",m(r),n),o.thatReturnsNull}return p((function(t,n,r,o,i){for(var u=0;u<e.length;u++)if(null==(0,e[u])(t,n,r,o,i,s))return null;return new l("Invalid "+o+" `"+i+"` supplied to `"+r+"`.")}))},shape:function(e){return p((function(t,n,r,o,i){var u=t[n],a=h(u);if("object"!==a)return new l("Invalid "+o+" `"+i+"` of type `"+a+"` supplied to `"+r+"`, expected `object`.");for(var c in e){var f=e[c];if(f){var p=f(u,c,r,o,i+"."+c,s);if(p)return p}}return null}))},exact:function(e){return p((function(t,n,r,o,i){var u=t[n],c=h(u);if("object"!==c)return new l("Invalid "+o+" `"+i+"` of type `"+c+"` supplied to `"+r+"`, expected `object`.");var f=a({},t[n],e);for(var p in f){var d=e[p];if(!d)return new l("Invalid "+o+" `"+i+"` key `"+p+"` supplied to `"+r+"`.\nBad object: "+JSON.stringify(t[n],null," ")+"\nValid keys: "+JSON.stringify(Object.keys(e),null," "));var y=d(u,p,r,o,i+"."+p,s);if(y)return y}return null}))}};return l.prototype=Error.prototype,O.checkPropTypes=c,O.PropTypes=O,O}}).call(t,n(4))},function(e,t){"use strict";function n(e){return function(){return e}}var r=function(){};r.thatReturns=n,r.thatReturnsFalse=n(!1),r.thatReturnsTrue=n(!0),r.thatReturnsNull=n(null),r.thatReturnsThis=function(){return this},r.thatReturnsArgument=function(e){return e},e.exports=r
},function(e,t,n){(function(t){"use strict";var n=function(e){};"production"!==t.env.NODE_ENV&&(n=function(e){if(void 0===e)throw new Error("invariant requires an error message argument")}),e.exports=function(e,t,r,o,i,u,a,s){if(n(t),!e){var c;if(void 0===t)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var f=[r,o,i,u,a,s],l=0;(c=new Error(t.replace(/%s/g,(function(){return f[l++]})))).name="Invariant Violation"}throw c.framesToPop=1,c}}}).call(t,n(4))},function(e,t,n){(function(t){"use strict";var r=n(6);if("production"!==t.env.NODE_ENV){var o=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var o=0,i="Warning: "+e.replace(/%s/g,(function(){return n[o++]}));"undefined"!=typeof console&&console.error(i);try{throw new Error(i)}catch(e){}};r=function(e,t){if(void 0===t)throw new Error("`warning(condition, format, ...args)` requires a warning message argument");if(0!==t.indexOf("Failed Composite propType: ")&&!e){for(var n=arguments.length,r=Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];o.apply(void 0,[t].concat(r))}}}e.exports=r}).call(t,n(4))},function(e,t){"use strict";function n(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var u,a,s=n(e),c=1;c<arguments.length;c++){for(var f in u=Object(arguments[c]))o.call(u,f)&&(s[f]=u[f]);if(r){a=r(u);for(var l=0;l<a.length;l++)i.call(u,a[l])&&(s[a[l]]=u[a[l]])}}return s}},function(e,t){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){(function(t){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};if("production"!==t.env.NODE_ENV)var o=n(7),i=n(8),u=n(10),a={};e.exports=function(e,n,s,c,f){if("production"!==t.env.NODE_ENV)for(var l in e)if(e.hasOwnProperty(l)){var p;try{o("function"==typeof e[l],"%s: %s type `%s` is invalid; it must be a function, usually from the `prop-types` package, but received `%s`.",c||"React class",s,l,r(e[l])),p=e[l](n,l,c,s,null,u)}catch(e){p=e}
if(i(!p||p instanceof Error,"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",c||"React class",s,l,void 0===p?"undefined":r(p)),p instanceof Error&&!(p.message in a)){a[p.message]=!0;var d=f?f():"";i(!1,"Failed %s type: %s%s",s,p.message,null!=d?d:"")}}}}).call(t,n(4))},function(e,t,n){"use strict";var r=n(6),o=n(7),i=n(10);e.exports=function(){function e(e,t,n,r,u,a){a!==i&&o(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t){e.exports=o},function(e,t){e.exports=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.getBoundingClientRect(),o=void 0,i=void 0,u=void 0;return t.margin&&(u=(0,r.default)(getComputedStyle(e))),t.margin?(o=u.left+n.width+u.right,i=u.top+n.height+u.bottom):(o=n.width,i=n.height),{width:o,height:i,top:n.top,right:n.right,bottom:n.bottom,left:n.left}};var r=function(e){return e&&e.__esModule?e:{default:e}}(n(16));e.exports=t.default},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return{top:n((e=e||{}).marginTop),right:n(e.marginRight),bottom:n(e.marginBottom),left:n(e.marginLeft)}};var n=function(e){return parseInt(e)||0};e.exports=t.default}]))}}]);

1
static/charting_library/bundles/11.8b65dc2e0d8b6e5041c4.css

@ -0,0 +1 @@
.wrap-164vy-kj{bottom:0;display:flex;left:0;position:fixed;right:0;top:0;z-index:0}.wrap-164vy-kj.positionBottom-164vy-kj{align-items:flex-end}.backdrop-164vy-kj{background-color:#9598a1;bottom:0;left:0;opacity:.7;position:absolute;right:0;top:0;transform:translateZ(0)}html.theme-dark .backdrop-164vy-kj{background-color:#0c0e15}.drawer-164vy-kj{-webkit-overflow-scrolling:touch;background:#fff;box-shadow:0 2px 4px #0003;box-sizing:border-box;padding:6px 0;z-index:1}html.theme-dark .drawer-164vy-kj{background:#1e222d;box-shadow:0 2px 4px #0006}.drawer-164vy-kj.positionLeft-164vy-kj{margin-right:40px;max-width:calc(100% - 40px);min-width:260px}.drawer-164vy-kj.positionBottom-164vy-kj{border-top-left-radius:6px;border-top-right-radius:6px;flex-basis:100%;margin-top:100px;max-height:calc(100% - 100px);overflow:auto}

1
static/charting_library/bundles/11.8b65dc2e0d8b6e5041c4.rtl.css

@ -0,0 +1 @@
.wrap-164vy-kj{bottom:0;display:flex;left:0;position:fixed;right:0;top:0;z-index:0}.wrap-164vy-kj.positionBottom-164vy-kj{align-items:flex-end}.backdrop-164vy-kj{background-color:#9598a1;bottom:0;left:0;opacity:.7;position:absolute;right:0;top:0;transform:translateZ(0)}html.theme-dark .backdrop-164vy-kj{background-color:#0c0e15}.drawer-164vy-kj{-webkit-overflow-scrolling:touch;background:#fff;box-shadow:0 2px 4px #0003;box-sizing:border-box;padding:6px 0;z-index:1}html.theme-dark .drawer-164vy-kj{background:#1e222d;box-shadow:0 2px 4px #0006}.drawer-164vy-kj.positionLeft-164vy-kj{margin-left:40px;max-width:calc(100% - 40px);min-width:260px}.drawer-164vy-kj.positionBottom-164vy-kj{border-top-left-radius:6px;border-top-right-radius:6px;flex-basis:100%;margin-top:100px;max-height:calc(100% - 100px);overflow:auto}

1
static/charting_library/bundles/11.df012db70159a159d927.js

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[11],[]]);

1
static/charting_library/bundles/12.37750b21f6d8d35c6e6e.js

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[12],[]]);

1
static/charting_library/bundles/12.ef8057448f3a7ae1c3d8.css

@ -0,0 +1 @@
.item-2IihgTnv{align-items:center;background-color:#fff;color:#131722;cursor:default;display:flex;flex-flow:row nowrap;font-size:14px;padding:2px 10px 2px 8px;transition-property:none;white-space:nowrap}html.theme-dark .item-2IihgTnv{background-color:#1e222d;color:#b2b5be}.item-2IihgTnv.hovered-2IihgTnv,.item-2IihgTnv:active{color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-2IihgTnv:hover{color:#131722}}html.theme-dark .item-2IihgTnv.hovered-2IihgTnv,html.theme-dark .item-2IihgTnv:active{color:#c1c4cd}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv:hover{color:#c1c4cd}}.item-2IihgTnv.hovered-2IihgTnv,.item-2IihgTnv:active{background-color:#f0f3fa}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-2IihgTnv:hover{background-color:#f0f3fa}}html.theme-dark .item-2IihgTnv.hovered-2IihgTnv,html.theme-dark .item-2IihgTnv:active{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv:hover{background-color:#2a2e39}}.item-2IihgTnv.isDisabled-2IihgTnv{cursor:default;opacity:.3}.item-2IihgTnv.isDisabled-2IihgTnv,.item-2IihgTnv.isDisabled-2IihgTnv:active{background-color:#fff;color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-2IihgTnv.isDisabled-2IihgTnv:hover{background-color:#fff;color:#131722}}html.theme-dark .item-2IihgTnv.isDisabled-2IihgTnv,html.theme-dark .item-2IihgTnv.isDisabled-2IihgTnv:active{background-color:#1e222d}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv.isDisabled-2IihgTnv:hover{background-color:#1e222d}}html.theme-dark .item-2IihgTnv.isDisabled-2IihgTnv,html.theme-dark .item-2IihgTnv.isDisabled-2IihgTnv:active{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv.isDisabled-2IihgTnv:hover{color:#b2b5be}}.item-2IihgTnv.isActive-2IihgTnv,.item-2IihgTnv.isActive-2IihgTnv:active{background-color:#2962ff;color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-2IihgTnv.isActive-2IihgTnv:hover{background-color:#2962ff;color:#fff}}html.theme-dark .item-2IihgTnv.isActive-2IihgTnv,html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:active{background-color:#2962ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:hover{background-color:#2962ff}}html.theme-dark .item-2IihgTnv.isActive-2IihgTnv,html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:active{color:#d1d4dc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:hover{color:#d1d4dc}}.item-2IihgTnv.isActive-2IihgTnv .shortcut-2IihgTnv,.item-2IihgTnv.isActive-2IihgTnv:active .shortcut-2IihgTnv{color:#ffffffb3}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-2IihgTnv.isActive-2IihgTnv:hover .shortcut-2IihgTnv{color:#ffffffb3}}html.theme-dark .item-2IihgTnv.isActive-2IihgTnv .shortcut-2IihgTnv,html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:active .shortcut-2IihgTnv{color:#131722b3}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:hover .shortcut-2IihgTnv{color:#131722b3}}.item-2IihgTnv.isActive-2IihgTnv .toolbox-2IihgTnv,.item-2IihgTnv.isActive-2IihgTnv:active .toolbox-2IihgTnv{color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-2IihgTnv.isActive-2IihgTnv:hover .toolbox-2IihgTnv{color:#fff}}html.theme-dark .item-2IihgTnv.isActive-2IihgTnv .toolbox-2IihgTnv,html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:active .toolbox-2IihgTnv{color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:hover .toolbox-2IihgTnv{color:#fff}}.item-2IihgTnv.withIcon-2IihgTnv{padding-bottom:6px;padding-top:6px}.item-2IihgTnv:before{content:" ";display:block;height:28px}.icon-2IihgTnv{align-items:center;display:flex;height:28px;justify-content:center;margin-right:6px;width:28px}.icon-2IihgTnv svg{display:block}.labelRow-2IihgTnv{align-items:baseline;box-sizing:border-box;display:flex;flex:0 1 100%;flex-direction:row;justify-content:space-between;max-width:100%;min-width:0;padding-right:12px}.labelRow-2IihgTnv:first-child{padding-left:4px}.labelRow-2IihgTnv:last-child{padding-right:4px}.label-2IihgTnv{display:flex;flex:0 0 auto;max-width:100%;overflow:hidden}.shortcut-2IihgTnv{color:#9598a1;font-size:12px;margin-right:14px;min-width:27px}html.theme-dark .shortcut-2IihgTnv{color:#5d606b}.toolbox-2IihgTnv{align-items:center;color:#787b86;display:flex;position:relative}html.theme-dark .toolbox-2IihgTnv{color:#787b86}.feature-no-touch .toolbox-2IihgTnv.showOnHover-2IihgTnv{opacity:0}.toolbox-2IihgTnv>:not(:last-child){margin-right:4px}@media screen and (max-width:428px){.toolbox-2IihgTnv>:not(:last-child){margin-right:8px}}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.feature-no-touch .item-2IihgTnv:hover .toolbox-2IihgTnv.showOnHover-2IihgTnv{opacity:1}}

1
static/charting_library/bundles/12.ef8057448f3a7ae1c3d8.rtl.css

@ -0,0 +1 @@
.item-2IihgTnv{align-items:center;background-color:#fff;color:#131722;cursor:default;display:flex;flex-flow:row nowrap;font-size:14px;padding:2px 8px 2px 10px;transition-property:none;white-space:nowrap}html.theme-dark .item-2IihgTnv{background-color:#1e222d;color:#b2b5be}.item-2IihgTnv.hovered-2IihgTnv,.item-2IihgTnv:active{color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-2IihgTnv:hover{color:#131722}}html.theme-dark .item-2IihgTnv.hovered-2IihgTnv,html.theme-dark .item-2IihgTnv:active{color:#c1c4cd}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv:hover{color:#c1c4cd}}.item-2IihgTnv.hovered-2IihgTnv,.item-2IihgTnv:active{background-color:#f0f3fa}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-2IihgTnv:hover{background-color:#f0f3fa}}html.theme-dark .item-2IihgTnv.hovered-2IihgTnv,html.theme-dark .item-2IihgTnv:active{background-color:#2a2e39}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv:hover{background-color:#2a2e39}}.item-2IihgTnv.isDisabled-2IihgTnv{cursor:default;opacity:.3}.item-2IihgTnv.isDisabled-2IihgTnv,.item-2IihgTnv.isDisabled-2IihgTnv:active{background-color:#fff;color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-2IihgTnv.isDisabled-2IihgTnv:hover{background-color:#fff;color:#131722}}html.theme-dark .item-2IihgTnv.isDisabled-2IihgTnv,html.theme-dark .item-2IihgTnv.isDisabled-2IihgTnv:active{background-color:#1e222d}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv.isDisabled-2IihgTnv:hover{background-color:#1e222d}}html.theme-dark .item-2IihgTnv.isDisabled-2IihgTnv,html.theme-dark .item-2IihgTnv.isDisabled-2IihgTnv:active{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv.isDisabled-2IihgTnv:hover{color:#b2b5be}}.item-2IihgTnv.isActive-2IihgTnv,.item-2IihgTnv.isActive-2IihgTnv:active{background-color:#2962ff;color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-2IihgTnv.isActive-2IihgTnv:hover{background-color:#2962ff;color:#fff}}html.theme-dark .item-2IihgTnv.isActive-2IihgTnv,html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:active{background-color:#2962ff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:hover{background-color:#2962ff}}html.theme-dark .item-2IihgTnv.isActive-2IihgTnv,html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:active{color:#d1d4dc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:hover{color:#d1d4dc}}.item-2IihgTnv.isActive-2IihgTnv .shortcut-2IihgTnv,.item-2IihgTnv.isActive-2IihgTnv:active .shortcut-2IihgTnv{color:#ffffffb3}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-2IihgTnv.isActive-2IihgTnv:hover .shortcut-2IihgTnv{color:#ffffffb3}}html.theme-dark .item-2IihgTnv.isActive-2IihgTnv .shortcut-2IihgTnv,html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:active .shortcut-2IihgTnv{color:#131722b3}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:hover .shortcut-2IihgTnv{color:#131722b3}}.item-2IihgTnv.isActive-2IihgTnv .toolbox-2IihgTnv,.item-2IihgTnv.isActive-2IihgTnv:active .toolbox-2IihgTnv{color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.item-2IihgTnv.isActive-2IihgTnv:hover .toolbox-2IihgTnv{color:#fff}}html.theme-dark .item-2IihgTnv.isActive-2IihgTnv .toolbox-2IihgTnv,html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:active .toolbox-2IihgTnv{color:#fff}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .item-2IihgTnv.isActive-2IihgTnv:hover .toolbox-2IihgTnv{color:#fff}}.item-2IihgTnv.withIcon-2IihgTnv{padding-bottom:6px;padding-top:6px}.item-2IihgTnv:before{content:" ";display:block;height:28px}.icon-2IihgTnv{align-items:center;display:flex;height:28px;justify-content:center;margin-left:6px;width:28px}.icon-2IihgTnv svg{display:block}.labelRow-2IihgTnv{align-items:baseline;box-sizing:border-box;display:flex;flex:0 1 100%;flex-direction:row;justify-content:space-between;max-width:100%;min-width:0;padding-left:12px}.labelRow-2IihgTnv:first-child{padding-right:4px}.labelRow-2IihgTnv:last-child{padding-left:4px}.label-2IihgTnv{display:flex;flex:0 0 auto;max-width:100%;overflow:hidden}.shortcut-2IihgTnv{color:#9598a1;font-size:12px;margin-left:14px;min-width:27px}html.theme-dark .shortcut-2IihgTnv{color:#5d606b}.toolbox-2IihgTnv{align-items:center;color:#787b86;display:flex;position:relative}html.theme-dark .toolbox-2IihgTnv{color:#787b86}.feature-no-touch .toolbox-2IihgTnv.showOnHover-2IihgTnv{opacity:0}.toolbox-2IihgTnv>:not(:last-child){margin-left:4px}@media screen and (max-width:428px){.toolbox-2IihgTnv>:not(:last-child){margin-left:8px}}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.feature-no-touch .item-2IihgTnv:hover .toolbox-2IihgTnv.showOnHover-2IihgTnv{opacity:1}}

1
static/charting_library/bundles/13.699469c73d09b7add56d.js

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[13],[]]);

1
static/charting_library/bundles/13.9240f13280154f2593b7.css

@ -0,0 +1 @@
.icon-19OjtB6A{align-items:center;display:flex;flex-direction:row;transition:transform .35s cubic-bezier(.175,.885,.32,1.275)}.icon-19OjtB6A svg{fill:currentColor;display:block;height:4px;width:8px}.icon-19OjtB6A.dropped-19OjtB6A{transform:rotate(180deg)}

1
static/charting_library/bundles/13.9240f13280154f2593b7.rtl.css

@ -0,0 +1 @@
.icon-19OjtB6A{align-items:center;display:flex;flex-direction:row;transition:transform .35s cubic-bezier(.175,.885,.32,1.275)}.icon-19OjtB6A svg{fill:currentColor;display:block;height:4px;width:8px}.icon-19OjtB6A.dropped-19OjtB6A{transform:rotate(-180deg)}

1
static/charting_library/bundles/14.8095b40dd1e7deedf401.css

File diff suppressed because one or more lines are too long

1
static/charting_library/bundles/14.8095b40dd1e7deedf401.rtl.css

File diff suppressed because one or more lines are too long

1
static/charting_library/bundles/14.d1148b38d59df9ca5061.js

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[14],[]]);

3
static/charting_library/bundles/15.44f2acca80348a1da1a6.js

@ -0,0 +1,3 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{"2ish":function(e,t,n){},"3F0O":function(e,t,n){"use strict";function o(...e){return t=>{for(const n of e)void 0!==n&&n(t)}}n.d(t,"a",(function(){return o}))},"9p+j":function(e){e.exports=JSON.parse('{"input":"input-3bEGcMc9","with-start-slot":"with-start-slot-16sVynIv","with-end-slot":"with-end-slot-S5RrC8PC"}')},"Bcy+":function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var o=n("3F0O"),r=n("SpAO");function i(e){const{onFocus:t,onBlur:n,intent:i,highlight:c,disabled:s}=e,[u,a]=Object(r.a)(),l=Object(o.a)(s?void 0:a.onFocus,t),d=Object(o.a)(s?void 0:a.onBlur,n);return{...e,intent:i||(u?"primary":"default"),highlight:null!=c?c:u,onFocus:l,onBlur:d}}},Dgta:function(e){e.exports=JSON.parse('{"container":"container-q0mjim9E","intent-default":"intent-default-1iFRsAl_","focused":"focused-3_QrLayY","readonly":"readonly-2O87siLj","disabled":"disabled-1IdBwvKU","with-highlight":"with-highlight-1fw5sABK","grouped":"grouped-OqOAs_gO","adjust-position":"adjust-position-CZNDwrAs","first-row":"first-row-1TtmkJB5","first-col":"first-col-3gkQgeTB","stretch":"stretch-1ZwMxhiW","font-size-medium":"font-size-medium-2X_Vsy16","font-size-large":"font-size-large-3XsO4Jyv","size-small":"size-small-1yttw7pF","size-medium":"size-medium-JO0bzDKQ","size-large":"size-large-3NHYwkZf","intent-success":"intent-success-3d9hoQq6","intent-warning":"intent-warning-2R7B-fcl","intent-danger":"intent-danger-2aIQ0kCh","intent-primary":"intent-primary-1uA2IWJE","border-none":"border-none-1THKKmlu","border-thin":"border-thin-xydp6U9V","border-thick":"border-thick-2gyRxvRu","no-corner-top-left":"no-corner-top-left-1CiWWKym","no-corner-top-right":"no-corner-top-right-3FhGiM-K","no-corner-bottom-right":"no-corner-bottom-right-7_q0YPc_","no-corner-bottom-left":"no-corner-bottom-left-3MCGXDki","highlight":"highlight-1k6YPfiQ","shown":"shown-2dwiJlCW"}')},ECWH:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var o=n("q1tI");function r(e){return Object(o.useCallback)(function(e){return t=>{e.forEach(e=>{"function"==typeof e?e(t):null!==e&&(e.current=t)})}}(e),e)}},NGCk:function(e){e.exports=JSON.parse('{"inner-slot":"inner-slot-2OKMGqSc","interactive":"interactive-3SE8kqul","icon":"icon-2tguASdP","inner-middle-slot":"inner-middle-slot-FxLdcHA0","before-slot":"before-slot-3KAG-INy","after-slot":"after-slot-34RFQaLb"}')},RG4O:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var o=n("q1tI");function r(){const e=Object(o.useRef)(!1),t=Object(o.useCallback)(()=>{e.current=!0},[e]),n=Object(o.useCallback)(()=>{e.current=!1},[e]);return{isMouseDown:e,handleMouseDown:t,handleMouseUp:n}}},SpAO:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var o=n("q1tI");function r(e){const[t,n]=Object(o.useState)(!1);return[t,{onFocus:Object(o.useCallback)((function(t){void 0!==e&&e.current!==t.target||n(!0)}),[e]),onBlur:Object(o.useCallback)((function(t){void 0!==e&&e.current!==t.target||n(!1)}),[e])}]}},T9x2:function(e,t,n){},ZWNO:function(e,t,n){"use strict";function o(e){
let t=0;return e.isTop&&e.isLeft||(t+=1),e.isTop&&e.isRight||(t+=2),e.isBottom&&e.isLeft||(t+=8),e.isBottom&&e.isRight||(t+=4),t}n.d(t,"a",(function(){return o}))},ewrn:function(e,t,n){},ldG2:function(e,t,n){"use strict";var o=n("q1tI"),r=n.n(o),i=n("TSYQ"),c=n("Eyy1"),s=n("ECWH"),u=n("ijHL"),a=n("wwkJ"),l=n("ZWNO");var d=n("Dgta");n("ewrn");function f(e){let t="";return 0!==e&&(1&e&&(t=i(t,d["no-corner-top-left"])),2&e&&(t=i(t,d["no-corner-top-right"])),4&e&&(t=i(t,d["no-corner-bottom-right"])),8&e&&(t=i(t,d["no-corner-bottom-left"]))),t}function b(e,t,n,o){const{removeRoundBorder:r,className:c,intent:s="default",borderStyle:u="thin",size:a,highlight:b,disabled:h,readonly:m,stretch:p,noReadonlyStyles:g,isFocused:O}=e,j=f(null!=r?r:Object(l.a)(n));return i(d.container,d["intent-"+s],d["border-"+u],a&&d["size-"+a],j,b&&d["with-highlight"],h&&d.disabled,m&&!g&&d.readonly,O&&d.focused,p&&d.stretch,t&&d.grouped,!o&&d["adjust-position"],n.isTop&&d["first-row"],n.isLeft&&d["first-col"],c)}function h(e,t){const{highlight:n,highlightRemoveRoundBorder:o}=e;if(!n)return d.highlight;const r=f(null!=o?o:Object(l.a)(t));return i(d.highlight,d.shown,r)}const m={FontSizeMedium:Object(c.ensureDefined)(d["font-size-medium"]),FontSizeLarge:Object(c.ensureDefined)(d["font-size-large"])},p={passive:!1};function g(e,t){const{id:n,role:i,onFocus:c,onBlur:l,onMouseOver:d,onMouseOut:f,onMouseDown:m,onMouseUp:g,onKeyDown:O,onClick:j,tabIndex:w,startSlot:y,middleSlot:v,endSlot:S,onWheel:C,onWheelNoPassive:F=null}=e,{isGrouped:k,cellState:N,disablePositionAdjustment:x=!1}=Object(o.useContext)(a.a),R=function(e,t=null,n){const r=Object(o.useRef)(null),i=Object(o.useRef)(null),c=Object(o.useCallback)(()=>{if(null===r.current||null===i.current)return;const[e,t,n]=i.current;null!==t&&r.current.addEventListener(e,t,n)},[]),s=Object(o.useCallback)(()=>{if(null===r.current||null===i.current)return;const[e,t,n]=i.current;null!==t&&r.current.removeEventListener(e,t,n)},[]),u=Object(o.useCallback)(e=>{s(),r.current=e,c()},[]);return Object(o.useEffect)(()=>(i.current=[e,t,n],c(),s),[e,t,n]),u}("wheel",F,p);return r.a.createElement("span",{id:n,role:i,className:b(e,k,N,x),tabIndex:w,ref:Object(s.a)([t,R]),onFocus:c,onBlur:l,onMouseOver:d,onMouseOut:f,onMouseDown:m,onMouseUp:g,onKeyDown:O,onClick:j,onWheel:C,...Object(u.b)(e),...Object(u.a)(e)},y,v,S,r.a.createElement("span",{className:h(e,N)}))}g.displayName="ControlSkeleton";const O=r.a.forwardRef(g);n.d(t,"b",(function(){return m})),n.d(t,"a",(function(){return O}))},szLm:function(e,t,n){"use strict";function o(e){null!==e&&e.setSelectionRange(0,e.value.length)}n.d(t,"a",(function(){return o}))},wHCJ:function(e,t,n){"use strict";var o=n("q1tI"),r=n.n(o),i=n("TSYQ"),c=n("ijHL"),s=n("3F0O"),u=n("szLm"),a=n("ECWH"),l=n("Bcy+"),d=n("SpAO"),f=n("RG4O"),b=n("ldG2"),h=n("xADF"),m=n("9p+j");n("2ish");function p(e){return!Object(c.d)(e)&&!Object(c.e)(e)}function g(e){
const{id:t,title:n,role:o,tabIndex:s,placeholder:u,name:a,type:l,value:d,defaultValue:f,draggable:g,autoComplete:O,autoFocus:j,maxLength:w,min:y,max:v,step:S,pattern:C,inputMode:F,onSelect:k,onFocus:N,onBlur:x,onKeyDown:R,onKeyUp:M,onKeyPress:B,onChange:D,onDragStart:E,size:z="medium",className:I,inputClassName:K,disabled:L,readonly:T,containerTabIndex:A,startSlot:q,endSlot:G,reference:J,containerReference:W,onContainerFocus:Q,...H}=e,U=Object(c.c)(H,p),P={...Object(c.a)(H),...Object(c.b)(H),id:t,title:n,role:o,tabIndex:s,placeholder:u,name:a,type:l,value:d,defaultValue:f,draggable:g,autoComplete:O,autoFocus:j,maxLength:w,min:y,max:v,step:S,pattern:C,inputMode:F,onSelect:k,onFocus:N,onBlur:x,onKeyDown:R,onKeyUp:M,onKeyPress:B,onChange:D,onDragStart:E};return r.a.createElement(b.a,{...U,disabled:L,readonly:T,tabIndex:A,className:i(m.container,I),size:z,ref:W,onFocus:Q,startSlot:q,middleSlot:r.a.createElement(h.c,null,r.a.createElement("input",{...P,className:i(m.input,K,q&&m["with-start-slot"],G&&m["with-end-slot"]),disabled:L,readOnly:T,ref:J})),endSlot:G})}function O(e){e=Object(l.a)(e);const{disabled:t,autoSelectOnFocus:n,tabIndex:i=0,onFocus:c,onBlur:b,reference:h,containerReference:m=null}=e,p=Object(o.useRef)(null),O=Object(o.useRef)(null),[j,w]=Object(d.a)(),y=t?void 0:j?-1:i,v=t?void 0:j?i:-1,{isMouseDown:S,handleMouseDown:C,handleMouseUp:F}=Object(f.a)(),k=Object(s.a)(w.onFocus,(function(e){n&&!S.current&&Object(u.a)(e.currentTarget)}),c),N=Object(s.a)(w.onBlur,b),x=Object(o.useCallback)(e=>{p.current=e,h&&("function"==typeof h&&h(e),"object"==typeof h&&(h.current=e))},[p,h]);return r.a.createElement(g,{...e,isFocused:j,containerTabIndex:y,tabIndex:v,onContainerFocus:function(e){O.current===e.target&&null!==p.current&&p.current.focus()},onFocus:k,onBlur:N,reference:x,containerReference:Object(a.a)([O,m]),onMouseDown:C,onMouseUp:F})}n.d(t,"a",(function(){return O}))},wwkJ:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var o=n("q1tI");const r=n.n(o).a.createContext({isGrouped:!1,cellState:{isTop:!0,isRight:!0,isBottom:!0,isLeft:!0}})},xADF:function(e,t,n){"use strict";n.d(t,"d",(function(){return s})),n.d(t,"c",(function(){return u})),n.d(t,"b",(function(){return a})),n.d(t,"a",(function(){return l}));var o=n("q1tI"),r=n.n(o),i=n("TSYQ"),c=n("NGCk");n("T9x2");function s(e){const{className:t,interactive:n=!0,icon:o=!1,children:s}=e;return r.a.createElement("span",{className:i(c["inner-slot"],n&&c.interactive,o&&c.icon,t)},s)}function u(e){const{className:t,children:n}=e;return r.a.createElement("span",{className:i(c["inner-slot"],c["inner-middle-slot"],t)},n)}function a(e){const{className:t,interactive:n=!0,icon:o=!1,children:s}=e;return r.a.createElement("span",{className:i(c["inner-slot"],n&&c.interactive,o&&c.icon,t)},s)}function l(e){const{className:t,children:n}=e;return r.a.createElement("span",{className:i(c["after-slot"],t)},n)}}}]);

1
static/charting_library/bundles/16.680572949c1125757d35.js

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[16],[]]);

1
static/charting_library/bundles/16.d567c9db608f3d98d8de.css

File diff suppressed because one or more lines are too long

1
static/charting_library/bundles/16.d567c9db608f3d98d8de.rtl.css

File diff suppressed because one or more lines are too long

1
static/charting_library/bundles/17.404a01f527881dfff424.js

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[17],[]]);

1
static/charting_library/bundles/17.ec35a19db935279c5b42.css

File diff suppressed because one or more lines are too long

1
static/charting_library/bundles/17.ec35a19db935279c5b42.rtl.css

File diff suppressed because one or more lines are too long

4
static/charting_library/bundles/18.78de69cfba051874e071.js

@ -0,0 +1,4 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{"02pg":function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n("q1tI"),i=n("TSYQ"),a=n("XiJV");function o(e){return r.createElement("div",{className:i(a.separator,e.className)})}},"1LIl":function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var r=n("q1tI"),i=n.n(r),a=n("TSYQ"),o=n("H9Gg"),s=n("PSOE");function l(e){const{queryString:t,rules:n,text:l,className:c}=e,u=Object(r.useMemo)(()=>Object(o.b)(t,l,n),[t,n,l]);return i.a.createElement(r.Fragment,null,u.length?l.split("").map((e,t)=>i.a.createElement(r.Fragment,{key:t},u[t]?i.a.createElement("span",{className:a(s.highlighted,c)},e):i.a.createElement("span",null,e))):l)}},ASyk:function(e,t,n){e.exports={"tablet-normal-breakpoint":"screen and (max-width: 768px)","small-height-breakpoint":"screen and (max-height: 360px)","tablet-small-breakpoint":"screen and (max-width: 428px)"}},H9Gg:function(e,t,n){"use strict";n.d(t,"c",(function(){return i})),n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return o}));var r=n("ogJP");function i(e){const{data:t,rules:n,queryString:i,isPreventedFromFiltering:a,primaryKey:o,secondaryKey:s=o,optionalPrimaryKey:l}=e;return t.map(e=>{const t=l&&e[l]?e[l]:e[o],a=e[s];let c,u=0;return n.forEach(e=>{var n,o,s,l;const{re:d,fullMatch:h}=e;return d.lastIndex=0,t&&t.toLowerCase()===i.toLowerCase()?(u=3,void(c=null===(n=t.match(h))||void 0===n?void 0:n.index)):Object(r.isString)(t)&&h.test(t)?(u=2,void(c=null===(o=t.match(h))||void 0===o?void 0:o.index)):Object(r.isString)(a)&&h.test(a)?(u=1,void(c=null===(s=a.match(h))||void 0===s?void 0:s.index)):void(Object(r.isString)(a)&&d.test(a)&&(u=1,c=null===(l=a.match(d))||void 0===l?void 0:l.index))}),{matchPriority:u,matchIndex:c,item:e}}).filter(e=>a||e.matchPriority).sort((e,t)=>{if(e.matchPriority<t.matchPriority)return 1;if(e.matchPriority>t.matchPriority)return-1;if(e.matchPriority===t.matchPriority){if(void 0===e.matchIndex||void 0===t.matchIndex)return 0;if(e.matchIndex>t.matchIndex)return 1;if(e.matchIndex<t.matchIndex)return-1}return 0}).map(({item:e})=>e)}function a(e,t){const n=[],r=e.toLowerCase(),i=e.split("").map((e,t)=>`(${0!==t?"[/\\s-]"+s(e):s(e)})`).join("(.*?)")+"(.*)";return n.push({fullMatch:new RegExp(`(${s(e)})`,"i"),re:new RegExp("^"+i,"i"),reserveRe:new RegExp(i,"i"),fuzzyHighlight:!0}),t&&t.hasOwnProperty(r)&&n.push({fullMatch:t[r],re:t[r],fuzzyHighlight:!1}),n}function o(e,t,n){const r=[];return e&&n?(n.forEach(e=>{const{fullMatch:n,re:i,reserveRe:a}=e;n.lastIndex=0,i.lastIndex=0;const o=n.exec(t),s=o||i.exec(t)||a&&a.exec(t);if(e.fuzzyHighlight=!o,s)if(e.fuzzyHighlight){let e=s.index;for(let t=1;t<s.length;t++){const n=s[t],i=s[t].length;if(t%2){const t=n.startsWith(" ")||n.startsWith("/")||n.startsWith("-");r[t?e+1:e]=!0}e+=i}}else for(let e=0;e<s[0].length;e++)r[s.index+e]=!0}),r):r}function s(e){return e.replace(/[!-/[-^{-}]/g,"\\$&")}},ItnF:function(e,t,n){e.exports={dialog:"dialog-2cMrvu9r",wrapper:"wrapper-2cMrvu9r",separator:"separator-2cMrvu9r"}},MyWJ:function(e,t,n){
e.exports={container:"container-3n5_2-hI",inputContainer:"inputContainer-3n5_2-hI",withCancel:"withCancel-3n5_2-hI",input:"input-3n5_2-hI",icon:"icon-3n5_2-hI",cancel:"cancel-3n5_2-hI"}},PSOE:function(e,t,n){e.exports={highlighted:"highlighted-1Qud56dI"}},QHWU:function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var r=n("q1tI"),i=n.n(r),a=n("TSYQ"),o=n.n(a),s=n("YFKU"),l=n("Iivm"),c=n("hYdZ"),u=n("MyWJ");function d(e){const{children:t,renderInput:n,onCancel:r,...a}=e;return i.a.createElement("div",{className:u.container},i.a.createElement("div",{className:o()(u.inputContainer,r&&u.withCancel)},n||i.a.createElement(h,{...a})),t,i.a.createElement(l.a,{className:u.icon,icon:c}),r&&i.a.createElement("div",{className:u.cancel,onClick:r},Object(s.t)("Cancel")))}function h(e){const{className:t,reference:n,value:r,onChange:a,onFocus:s,onBlur:l,onKeyDown:c,onSelect:d,placeholder:h,...m}=e;return i.a.createElement("input",{...m,ref:n,type:"text",className:o()(t,u.input),autoComplete:"off","data-role":"search",placeholder:h,value:r,onChange:a,onFocus:s,onBlur:l,onSelect:d,onKeyDown:c})}},R5JZ:function(e,t,n){"use strict";function r(e,t,n,r,i){function a(i){if(e>i.timeStamp)return;const a=i.target;void 0!==n&&null!==t&&null!==a&&a.ownerDocument===r&&(t.contains(a)||n(i))}return i.click&&r.addEventListener("click",a,!1),i.mouseDown&&r.addEventListener("mousedown",a,!1),i.touchEnd&&r.addEventListener("touchend",a,!1),i.touchStart&&r.addEventListener("touchstart",a,!1),()=>{r.removeEventListener("click",a,!1),r.removeEventListener("mousedown",a,!1),r.removeEventListener("touchend",a,!1),r.removeEventListener("touchstart",a,!1)}}n.d(t,"a",(function(){return r}))},XiJV:function(e,t,n){e.exports={separator:"separator-3No0pWrk"}},g89m:function(e,t,n){"use strict";var r=n("q1tI"),i=n.n(r),a=n("Eyy1"),o=n("TSYQ"),s=n.n(o),l=n("/3z9"),c=n("d700"),u=n("WXjp"),d=n("02pg"),h=n("uhCe"),m=n("/KDZ"),p=n("pafz"),f=n("ZjKI"),g=n("FQhm"),v=n("Iivm");const b=i.a.createContext({setHideClose:()=>{}});var E=n("zztK"),w=n("px1m");function x(e){const{title:t,subtitle:n,showCloseIcon:a=!0,onClose:o,renderBefore:l,renderAfter:c,draggable:u,className:d,unsetAlign:h}=e,[m,p]=Object(r.useState)(!1);return i.a.createElement(b.Provider,{value:{setHideClose:p}},i.a.createElement("div",{className:s()(w.container,d,(n||h)&&w.unsetAlign)},l,i.a.createElement("div",{"data-dragg-area":u,className:w.title},i.a.createElement("div",{className:w.ellipsis},t),n&&i.a.createElement("div",{className:s()(w.ellipsis,w.subtitle)},n)),c,a&&!m&&i.a.createElement(v.a,{className:w.close,icon:E,onClick:o,"data-name":"close","data-role":"button"})))}var C=n("ItnF");n.d(t,"a",(function(){return N}));const y={vertical:20},_={vertical:0};class N extends i.a.PureComponent{constructor(){super(...arguments),this._controller=null,this._reference=null,this._renderChildren=(e,t)=>(this._controller=e,this.props.render({requestResize:this._requestResize,centerAndFit:this._centerAndFit,isSmallWidth:t})),this._handleReference=e=>this._reference=e,this._handleClose=()=>{
this.props.onClose()},this._handleKeyDown=e=>{var t;if(!e.defaultPrevented)switch(this.props.onKeyDown&&this.props.onKeyDown(e),Object(l.hashFromEvent)(e)){case 27:if(e.defaultPrevented)return;if(this.props.forceCloseOnEsc&&this.props.forceCloseOnEsc())return void this._handleClose();const{activeElement:n}=document,r=Object(a.ensureNotNull)(this._reference);if(null!==n){if(e.preventDefault(),"true"===(t=n).getAttribute("data-haspopup")&&"true"!==t.getAttribute("data-expanded"))return void this._handleClose();if(Object(c.b)(n))return void r.focus();if(r.contains(n))return void this._handleClose()}}},this._requestResize=()=>{null!==this._controller&&this._controller.recalculateBounds()},this._centerAndFit=()=>{null!==this._controller&&this._controller.centerAndFit()}}componentDidMount(){g.subscribe(f.CLOSE_POPUPS_AND_DIALOGS_COMMAND,this._handleClose,null)}componentWillUnmount(){g.unsubscribe(f.CLOSE_POPUPS_AND_DIALOGS_COMMAND,this._handleClose,null)}focus(){Object(a.ensureNotNull)(this._reference).focus()}getElement(){return this._reference}contains(e){var t,n;return null!==(n=null===(t=this._reference)||void 0===t?void 0:t.contains(e))&&void 0!==n&&n}render(){const{className:e,headerClassName:t,isOpened:n,title:r,dataName:a,onClickOutside:o,additionalElementPos:l,additionalHeaderElement:c,backdrop:f,shouldForceFocus:g=!0,showSeparator:v,subtitle:b,draggable:E=!0,fullScreen:w=!1,showCloseIcon:N=!0,rounded:I=!0,isAnimationEnabled:P,growPoint:S,dialogTooltip:O,unsetHeaderAlign:k}=this.props,A="after"!==l?c:void 0,L="after"===l?c:void 0;return i.a.createElement(m.a,{rule:h.a.SmallHeight},l=>i.a.createElement(m.a,{rule:h.a.TabletSmall},c=>i.a.createElement(u.a,{rounded:!(c||w)&&I,className:s()(C.dialog,e),isOpened:n,reference:this._handleReference,onKeyDown:this._handleKeyDown,onClickOutside:o,onClickBackdrop:o,fullscreen:c||w,guard:l?_:y,boundByScreen:c||w,shouldForceFocus:g,backdrop:f,draggable:E,isAnimationEnabled:P,growPoint:S,name:this.props.dataName,dialogTooltip:O},i.a.createElement("div",{className:C.wrapper,"data-name":a,"data-dialog-name":"string"==typeof r?r:""},void 0!==r&&i.a.createElement(x,{draggable:E&&!(c||w),onClose:this._handleClose,renderAfter:L,renderBefore:A,subtitle:b,title:r,showCloseIcon:N,className:t,unsetAlign:k}),v&&i.a.createElement(d.a,{className:C.separator}),i.a.createElement(p.a.Consumer,null,e=>this._renderChildren(e,c||w))))))}}},hYdZ:function(e,t){e.exports='<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none"><path stroke="currentColor" d="M12.4 12.5a7 7 0 1 0-4.9 2 7 7 0 0 0 4.9-2zm0 0l5.101 5"/></svg>'},ijHL:function(e,t,n){"use strict";function r(e){return a(e,o)}function i(e){return a(e,s)}function a(e,t){const n=Object.entries(e).filter(t),r={};for(const[e,t]of n)r[e]=t;return r}function o(e){const[t,n]=e;return 0===t.indexOf("data-")&&"string"==typeof n}function s(e){return 0===e[0].indexOf("aria-")}n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return i})),n.d(t,"c",(function(){return a})),n.d(t,"e",(function(){return o})),n.d(t,"d",(function(){
return s}))},px1m:function(e,t,n){e.exports={"small-height-breakpoint":"screen and (max-height: 360px)",container:"container-2sL5JydP",unsetAlign:"unsetAlign-2sL5JydP",title:"title-2sL5JydP",subtitle:"subtitle-2sL5JydP",ellipsis:"ellipsis-2sL5JydP",close:"close-2sL5JydP"}},uhCe:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n("ASyk");const i={SmallHeight:r["small-height-breakpoint"],TabletSmall:r["tablet-small-breakpoint"],TabletNormal:r["tablet-normal-breakpoint"]}},zztK:function(e,t){e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17 17" width="17" height="17" fill="none"><path stroke="currentColor" stroke-width="1.2" d="M1 1l15 15m0-15L1 16"/></svg>'}}]);

1
static/charting_library/bundles/19.048f7f5d36fef428ca8d.js

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[19],[]]);

1
static/charting_library/bundles/19.75c30426f9d3ad5ca0c5.css

@ -0,0 +1 @@
.container-3n5_2-hI{align-items:center;border-bottom:1px solid #e0e3eb;border-color:#e0e3eb currentcolor;border-top:1px solid #e0e3eb;cursor:default;display:flex;flex-shrink:0;position:relative}html.theme-dark .container-3n5_2-hI{border-color:#434651}.inputContainer-3n5_2-hI{height:24px;padding:8px 16px 8px 47px;width:100%}.inputContainer-3n5_2-hI.withCancel-3n5_2-hI{padding-right:70px}.input-3n5_2-hI{background-color:initial;border:none;color:#131722;font-size:16px;height:100%;margin:0;padding:0;width:100%}html.theme-dark .input-3n5_2-hI{color:#a3a6af}.input-3n5_2-hI::placeholder{color:#a3a6af;font-weight:400}html.theme-dark .input-3n5_2-hI::placeholder{color:#434651}.icon-3n5_2-hI{color:#a3a6af;height:18px;left:20px;pointer-events:none;position:absolute;top:calc(50% - 9px)}.cancel-3n5_2-hI{color:#787b86;position:absolute;right:20px}.highlighted-1Qud56dI,html.theme-dark .highlighted-1Qud56dI{color:#2962ff}

1
static/charting_library/bundles/19.75c30426f9d3ad5ca0c5.rtl.css

@ -0,0 +1 @@
.container-3n5_2-hI{align-items:center;border-bottom:1px solid #e0e3eb;border-color:#e0e3eb currentcolor;border-top:1px solid #e0e3eb;cursor:default;display:flex;flex-shrink:0;position:relative}html.theme-dark .container-3n5_2-hI{border-color:#434651}.inputContainer-3n5_2-hI{height:24px;padding:8px 47px 8px 16px;width:100%}.inputContainer-3n5_2-hI.withCancel-3n5_2-hI{padding-left:70px}.input-3n5_2-hI{background-color:initial;border:none;color:#131722;font-size:16px;height:100%;margin:0;padding:0;width:100%}html.theme-dark .input-3n5_2-hI{color:#a3a6af}.input-3n5_2-hI::placeholder{color:#a3a6af;font-weight:400}html.theme-dark .input-3n5_2-hI::placeholder{color:#434651}.icon-3n5_2-hI{color:#a3a6af;height:18px;pointer-events:none;position:absolute;right:20px;top:calc(50% - 9px)}.cancel-3n5_2-hI{color:#787b86;left:20px;position:absolute}.highlighted-1Qud56dI,html.theme-dark .highlighted-1Qud56dI{color:#2962ff}

BIN
static/charting_library/bundles/1df47f578aeef40dd1f2328338a133be.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

4
static/charting_library/bundles/2.60931787a6734697ac13.js

@ -0,0 +1,4 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{RgaO:function(t,e,i){"use strict";i.d(e,"a",(function(){return n}));var s=i("8Rai");function n(t){const{children:e,...i}=t;return e(Object(s.a)(i))}},WXjp:function(t,e,i){"use strict";var s=i("q1tI"),n=i("TSYQ"),o=i("Eyy1"),a=i("+EG+"),r=i("jAh7"),h=i("ijHL"),l=i("aYmi");class d extends s.PureComponent{constructor(){super(...arguments),this._manager=new r.a,this._handleSlot=t=>{this._manager.setContainer(t)}}render(){const{rounded:t=!0,shadowed:e=!0,fullscreen:i=!1,darker:o=!1,className:r,backdrop:d}=this.props,c=n(r,l.dialog,t&&l.rounded,e&&l.shadowed,i&&l.fullscreen,o&&l.darker),u=Object(h.b)(this.props),p=this.props.style?{...this._createStyles(),...this.props.style}:this._createStyles();return s.createElement(s.Fragment,null,s.createElement(a.b.Provider,{value:this._manager},d&&s.createElement("div",{onClick:this.props.onClickBackdrop,className:l.backdrop}),s.createElement("div",{...u,className:c,style:p,ref:this.props.reference,onFocus:this.props.onFocus,onMouseDown:this.props.onMouseDown,onMouseUp:this.props.onMouseUp,onClick:this.props.onClick,onKeyDown:this.props.onKeyDown,tabIndex:-1},this.props.children)),s.createElement(a.a,{reference:this._handleSlot}))}_createStyles(){const{bottom:t,left:e,width:i,right:s,top:n,zIndex:o,height:a}=this.props;return{bottom:t,left:e,right:s,top:n,zIndex:o,maxWidth:i,height:a}}}var c=i("uqKQ"),u=i("RgaO"),p=i("Hr11");function g(t,e,i,s){return t+e>s&&(t=s-e),t<i&&(t=i),t}function _(t){return{x:Object(p.clamp)(t.x,20,document.documentElement.clientWidth-20),y:Object(p.clamp)(t.y,20,window.innerHeight-20)}}function m(t){return{x:t.clientX,y:t.clientY}}function f(t){return{x:t.touches[0].clientX,y:t.touches[0].clientY}}class v{constructor(t,e,i={boundByScreen:!0}){this._drag=null,this._canBeTouchClick=!1,this._frame=null,this._onMouseDragStart=t=>{if(0!==t.button)return;t.preventDefault(),document.addEventListener("mousemove",this._onMouseDragMove),document.addEventListener("mouseup",this._onMouseDragEnd);const e=_(m(t));this._dragStart(e)},this._onTouchDragStart=t=>{this._canBeTouchClick=!0,t.preventDefault(),this._header.addEventListener("touchmove",this._onTouchDragMove,{passive:!1});const e=_(f(t));this._dragStart(e)},this._onMouseDragEnd=t=>{t.target instanceof Node&&this._header.contains(t.target)&&t.preventDefault(),document.removeEventListener("mousemove",this._onMouseDragMove),document.removeEventListener("mouseup",this._onMouseDragEnd),this._onDragStop()},this._onTouchDragEnd=t=>{this._header.removeEventListener("touchmove",this._onTouchDragMove),this._onDragStop(),this._canBeTouchClick&&(this._canBeTouchClick=!1,function(t){if(t instanceof SVGElement){const e=document.createEvent("SVGEvents");e.initEvent("click",!0,!0),t.dispatchEvent(e)}t instanceof HTMLElement&&t.click()}(t.target))},this._onMouseDragMove=t=>{const e=_(m(t));this._dragMove(e)},this._onTouchDragMove=t=>{this._canBeTouchClick=!1,t.preventDefault();const e=_(f(t));this._dragMove(e)},this._onDragStop=()=>{this._drag=null,
this._header.classList.remove("dragging")},this._dialog=t,this._header=e,this._options=i,this._header.addEventListener("mousedown",this._onMouseDragStart),this._header.addEventListener("touchstart",this._onTouchDragStart),this._header.addEventListener("touchend",this._onTouchDragEnd)}destroy(){null!==this._frame&&cancelAnimationFrame(this._frame),this._header.removeEventListener("mousedown",this._onMouseDragStart),document.removeEventListener("mouseup",this._onMouseDragEnd),this._header.removeEventListener("touchstart",this._onTouchDragStart),this._header.removeEventListener("touchend",this._onTouchDragEnd),document.removeEventListener("mouseleave",this._onMouseDragEnd)}updateOptions(t){this._options=t}_dragStart(t){const e=this._dialog.getBoundingClientRect();this._drag={startX:t.x,startY:t.y,finishX:t.x,finishY:t.y,dialogX:e.left,dialogY:e.top};const i=Math.round(e.left),s=Math.round(e.top);this._dialog.style.transform=`translate(${i}px, ${s}px)`,this._header.classList.add("dragging")}_dragMove(t){if(this._drag){if(this._drag.finishX=t.x,this._drag.finishY=t.y,null!==this._frame)return;this._frame=requestAnimationFrame(()=>{if(this._drag){const e=t.x-this._drag.startX,i=t.y-this._drag.startY;this._moveDialog(this._drag.dialogX+e,this._drag.dialogY+i)}this._frame=null})}}_moveDialog(t,e){const i=this._dialog.getBoundingClientRect(),{boundByScreen:s}=this._options,n=g(t,i.width,s?0:-1/0,s?window.innerWidth:1/0),o=g(e,i.height,s?0:-1/0,s?window.innerHeight:1/0);this._dialog.style.transform=`translate(${Math.round(n)}px, ${Math.round(o)}px)`}}class y{constructor(t,e={vertical:0}){this._frame=null,this._isFullscreen=!1,this._handleResize=()=>{null===this._frame&&(this._frame=requestAnimationFrame(()=>{this.recalculateBounds(),this._frame=null}))},this._dialog=t,this._options=e,this._initialHeight=t.style.height,window.addEventListener("resize",this._handleResize)}updateOptions(t={vertical:0}){this._options=t}setFullscreen(t){this._isFullscreen!==t&&(this._isFullscreen=t,this.recalculateBounds())}centerAndFit(){const{x:t,y:e}=this.getDialogsTopLeftCoordinates(),i=this._calcAvailableHeight(),s=this._calcDialogHeight();i===s&&(this._dialog.style.height=s+"px"),this._dialog.style.top="0px",this._dialog.style.left="0px",this._dialog.style.transform=`translate(${t}px, ${e}px)`}getDialogsTopLeftCoordinates(){const{clientHeight:t,clientWidth:e}=document.documentElement,i=this._calcDialogHeight(),s=e/2-this._dialog.clientWidth/2,n=t/2-i/2;return{x:Math.round(s),y:Math.round(n)}}recalculateBounds(){this._dialog.style.height="auto";const{clientHeight:t,clientWidth:e}=document.documentElement;if(this._isFullscreen)this._dialog.style.top="0px",this._dialog.style.left="0px",this._dialog.style.width=e+"px",this._dialog.style.height=t+"px",this._dialog.style.transform="none";else{const{vertical:i}=this._options;this._dialog.style.width="",this._dialog.style.height="";const s=this._dialog.getBoundingClientRect(),n=t-2*i,o=g(s.left,s.width,0,e),a=g(s.top,s.height,i,t);this._dialog.style.top="0px",this._dialog.style.left="0px",
this._dialog.style.transform=`translate(${Math.round(o)}px, ${Math.round(a)}px)`,this._dialog.style.height=n<s.height?n+"px":this._initialHeight}}destroy(){window.removeEventListener("resize",this._handleResize),null!==this._frame&&(cancelAnimationFrame(this._frame),this._frame=null)}_calcDialogHeight(){const t=this._calcAvailableHeight();return t<this._dialog.clientHeight?t:this._dialog.clientHeight}_calcAvailableHeight(){return document.documentElement.clientHeight-2*this._options.vertical}}var E=i("AiMB"),x=i("pafz"),M=i("0YpW"),w=i("ZzSk");i.d(e,"a",(function(){return S}));w["tooltip-offset"];class D extends s.PureComponent{constructor(t){super(t),this._dialog=null,this._handleDialogRef=t=>{const{reference:e}=this.props;this._dialog=t,"function"==typeof e&&e(t)},this._handleFocus=t=>{this._moveToTop()},this._handleMouseDown=t=>{this._moveToTop()},this._handleTouchStart=t=>{this._moveToTop()},this.state={canFitTooltip:!1}}render(){return s.createElement(x.a.Provider,{value:this},s.createElement(u.a,{mouseDown:!0,touchStart:!0,handler:this.props.onClickOutside},t=>s.createElement("div",{ref:t,"data-outside-boundary-for":this.props.name,onFocus:this._handleFocus,onMouseDown:this._handleMouseDown,onTouchStart:this._handleTouchStart,"data-dialog-name":this.props["data-dialog-name"]},s.createElement(d,{style:this._applyAnimationCSSVariables(),...this.props,reference:this._handleDialogRef,className:n(w.dialog,this.props.className)},!1,this.props.children))))}componentDidMount(){const t=Object(o.ensureNotNull)(this._dialog);if(this.props.draggable){const e=t.querySelector("[data-dragg-area]");e&&e instanceof HTMLElement&&(this._drag=new v(t,e,{boundByScreen:Boolean(this.props.boundByScreen)}))}this.props.autofocus&&!t.contains(document.activeElement)&&t.focus(),(this._isFullScreen()||this.props.fixedBody)&&Object(M.a)(!0),this._resize=new y(t,this.props.guard),this.props.isAnimationEnabled&&this.props.growPoint&&this._applyAppearanceAnimation(this.props.growPoint),this.props.centeredOnMount&&this._resize.centerAndFit(),this._resize.setFullscreen(this._isFullScreen()),this.props.shouldForceFocus&&t.focus()}componentDidUpdate(){this._resize&&(this._resize.updateOptions(this.props.guard),this._resize.setFullscreen(this._isFullScreen())),this._drag&&this._drag.updateOptions({boundByScreen:Boolean(this.props.boundByScreen)})}componentWillUnmount(){this._drag&&this._drag.destroy(),this._resize&&this._resize.destroy(),(this._isFullScreen()||this.props.fixedBody)&&Object(M.a)(!1)}focus(){this._dialog&&this._dialog.focus()}centerAndFit(){this._resize&&this._resize.centerAndFit()}recalculateBounds(){this._resize&&this._resize.recalculateBounds()}_moveToTop(){null!==this.context&&this.context.moveToTop()}_applyAnimationCSSVariables(){return{"--animationTranslateStartX":null,"--animationTranslateStartY":null,"--animationTranslateEndX":null,"--animationTranslateEndY":null}}_applyAppearanceAnimation(t){if(this._resize&&this._dialog){const{x:e,y:i}=t,{x:s,y:n}=this._resize.getDialogsTopLeftCoordinates()
;this._dialog.style.setProperty("--animationTranslateStartX",e+"px"),this._dialog.style.setProperty("--animationTranslateStartY",i+"px"),this._dialog.style.setProperty("--animationTranslateEndX",s+"px"),this._dialog.style.setProperty("--animationTranslateEndY",n+"px"),this._dialog.classList.add(w.dialogAnimatedAppearance)}}_handleTooltipFit(){0}_isFullScreen(){return Boolean(this.props.fullscreen)}}D.contextType=E.b,D.defaultProps={boundByScreen:!0,draggable:!0,centeredOnMount:!0};const S=Object(c.a)(D)},ZzSk:function(t,e,i){t.exports={"tablet-normal-breakpoint":"screen and (max-width: 768px)","tooltip-offset":"20px",dialog:"dialog-2AogBbC7",dragging:"dragging-2AogBbC7",dialogAnimatedAppearance:"dialogAnimatedAppearance-2AogBbC7",dialogAnimation:"dialogAnimation-2AogBbC7",dialogTooltip:"dialogTooltip-2AogBbC7"}},aYmi:function(t,e,i){t.exports={dialog:"dialog-UM6w7sFp",rounded:"rounded-UM6w7sFp",shadowed:"shadowed-UM6w7sFp",fullscreen:"fullscreen-UM6w7sFp",darker:"darker-UM6w7sFp",backdrop:"backdrop-UM6w7sFp"}},pafz:function(t,e,i){"use strict";i.d(e,"a",(function(){return n}));var s=i("q1tI");const n=s.createContext(null)},uqKQ:function(t,e,i){"use strict";i.d(e,"a",(function(){return o}));var s=i("q1tI"),n=i("AiMB");function o(t){return class extends s.PureComponent{render(){const{isOpened:e,root:i}=this.props;if(!e)return null;const o=s.createElement(t,{...this.props,zIndex:150});return"parent"===i?o:s.createElement(n.a,null,o)}}}}}]);

4
static/charting_library/bundles/20.bc09ed47c5a62e1bc5c2.js

@ -0,0 +1,4 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{iR1w:function(t,e,r){"use strict";var n=r("wx14");function o(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}var i=r("JX7q"),a=Number.isNaN||function(t){return"number"==typeof t&&t!=t};function l(t,e){if(t.length!==e.length)return!1;for(var r=0;r<t.length;r++)if(n=t[r],o=e[r],!(n===o||a(n)&&a(o)))return!1;var n,o;return!0}var s=function(t,e){var r;void 0===e&&(e=l);var n,o=[],i=!1;return function(){for(var a=[],l=0;l<arguments.length;l++)a[l]=arguments[l];return i&&r===this&&e(a,o)||(n=t.apply(this,a),i=!0,r=this,o=a),n}},c=r("q1tI");r("zLVn");r.d(e,"b",(function(){return y})),r.d(e,"a",(function(){return z}));var u="object"==typeof performance&&"function"==typeof performance.now?function(){return performance.now()}:function(){return Date.now()};function f(t){cancelAnimationFrame(t.id)}function d(t,e){var r=u();var n={id:requestAnimationFrame((function o(){u()-r>=e?t.call(null):n.id=requestAnimationFrame(o)}))};return n}var h=null;function p(t){if(void 0===t&&(t=!1),null===h||t){var e=document.createElement("div"),r=e.style;r.width="50px",r.height="50px",r.overflow="scroll",r.direction="rtl";var n=document.createElement("div"),o=n.style;return o.width="100px",o.height="100px",e.appendChild(n),document.body.appendChild(e),e.scrollLeft>0?h="positive-descending":(e.scrollLeft=1,h=0===e.scrollLeft?"negative":"positive-ascending"),document.body.removeChild(e),h}return h}var m=function(t,e){return t};function v(t){var e,r,a=t.getItemOffset,l=t.getEstimatedTotalSize,u=t.getItemSize,h=t.getOffsetForIndexAndAlignment,v=t.getStartIndexForOffset,S=t.getStopIndexForStartIndex,I=t.initInstanceProps,_=t.shouldResetStyleCacheOnItemSizeChange,M=t.validateProps;return r=e=function(t){function e(e){var r;return(r=t.call(this,e)||this)._instanceProps=I(r.props,Object(i.a)(Object(i.a)(r))),r._outerRef=void 0,r._resetIsScrollingTimeoutId=null,r.state={instance:Object(i.a)(Object(i.a)(r)),isScrolling:!1,scrollDirection:"forward",scrollOffset:"number"==typeof r.props.initialScrollOffset?r.props.initialScrollOffset:0,scrollUpdateWasRequested:!1},r._callOnItemsRendered=void 0,r._callOnItemsRendered=s((function(t,e,n,o){return r.props.onItemsRendered({overscanStartIndex:t,overscanStopIndex:e,visibleStartIndex:n,visibleStopIndex:o})})),r._callOnScroll=void 0,r._callOnScroll=s((function(t,e,n){return r.props.onScroll({scrollDirection:t,scrollOffset:e,scrollUpdateWasRequested:n})})),r._getItemStyle=void 0,r._getItemStyle=function(t){var e,n=r.props,o=n.direction,i=n.itemSize,l=n.layout,s=r._getItemStyleCache(_&&i,_&&l,_&&o);if(s.hasOwnProperty(t))e=s[t];else{var c=a(r.props,t,r._instanceProps),f=u(r.props,t,r._instanceProps),d="horizontal"===o||"horizontal"===l,h="rtl"===o,p=d?c:0;s[t]=e={position:"absolute",left:h?void 0:p,right:h?p:void 0,top:d?0:c,height:d?"100%":f,width:d?f:"100%"}}return e},r._getItemStyleCache=void 0,r._getItemStyleCache=s((function(t,e,r){return{}})),r._onScrollHorizontal=function(t){
var e=t.currentTarget,n=e.clientWidth,o=e.scrollLeft,i=e.scrollWidth;r.setState((function(t){if(t.scrollOffset===o)return null;var e=r.props.direction,a=o;if("rtl"===e)switch(p()){case"negative":a=-o;break;case"positive-descending":a=i-n-o}return a=Math.max(0,Math.min(a,i-n)),{isScrolling:!0,scrollDirection:t.scrollOffset<o?"forward":"backward",scrollOffset:a,scrollUpdateWasRequested:!1}}),r._resetIsScrollingDebounced)},r._onScrollVertical=function(t){var e=t.currentTarget,n=e.clientHeight,o=e.scrollHeight,i=e.scrollTop;r.setState((function(t){if(t.scrollOffset===i)return null;var e=Math.max(0,Math.min(i,o-n));return{isScrolling:!0,scrollDirection:t.scrollOffset<e?"forward":"backward",scrollOffset:e,scrollUpdateWasRequested:!1}}),r._resetIsScrollingDebounced)},r._outerRefSetter=function(t){var e=r.props.outerRef;r._outerRef=t,"function"==typeof e?e(t):null!=e&&"object"==typeof e&&e.hasOwnProperty("current")&&(e.current=t)},r._resetIsScrollingDebounced=function(){null!==r._resetIsScrollingTimeoutId&&f(r._resetIsScrollingTimeoutId),r._resetIsScrollingTimeoutId=d(r._resetIsScrolling,150)},r._resetIsScrolling=function(){r._resetIsScrollingTimeoutId=null,r.setState({isScrolling:!1},(function(){r._getItemStyleCache(-1,null)}))},r}o(e,t),e.getDerivedStateFromProps=function(t,e){return g(t,e),M(t),null};var r=e.prototype;return r.scrollTo=function(t){t=Math.max(0,t),this.setState((function(e){return e.scrollOffset===t?null:{scrollDirection:e.scrollOffset<t?"forward":"backward",scrollOffset:t,scrollUpdateWasRequested:!0}}),this._resetIsScrollingDebounced)},r.scrollToItem=function(t,e){void 0===e&&(e="auto");var r=this.props.itemCount,n=this.state.scrollOffset;t=Math.max(0,Math.min(t,r-1)),this.scrollTo(h(this.props,t,e,n,this._instanceProps))},r.componentDidMount=function(){var t=this.props,e=t.direction,r=t.initialScrollOffset,n=t.layout;if("number"==typeof r&&null!=this._outerRef){var o=this._outerRef;"horizontal"===e||"horizontal"===n?o.scrollLeft=r:o.scrollTop=r}this._callPropsCallbacks()},r.componentDidUpdate=function(){var t=this.props,e=t.direction,r=t.layout,n=this.state,o=n.scrollOffset;if(n.scrollUpdateWasRequested&&null!=this._outerRef){var i=this._outerRef;if("horizontal"===e||"horizontal"===r)if("rtl"===e)switch(p()){case"negative":i.scrollLeft=-o;break;case"positive-ascending":i.scrollLeft=o;break;default:var a=i.clientWidth,l=i.scrollWidth;i.scrollLeft=l-a-o}else i.scrollLeft=o;else i.scrollTop=o}this._callPropsCallbacks()},r.componentWillUnmount=function(){null!==this._resetIsScrollingTimeoutId&&f(this._resetIsScrollingTimeoutId)},r.render=function(){var t=this.props,e=t.children,r=t.className,o=t.direction,i=t.height,a=t.innerRef,s=t.innerElementType,u=t.innerTagName,f=t.itemCount,d=t.itemData,h=t.itemKey,p=void 0===h?m:h,v=t.layout,g=t.outerElementType,S=t.outerTagName,I=t.style,_=t.useIsScrolling,M=t.width,y=this.state.isScrolling,z="horizontal"===o||"horizontal"===v,O=z?this._onScrollHorizontal:this._onScrollVertical,x=this._getRangeToRender(),w=x[0],b=x[1],C=[]
;if(f>0)for(var R=w;R<=b;R++)C.push(Object(c.createElement)(e,{data:d,key:p(R,d),index:R,isScrolling:_?y:void 0,style:this._getItemStyle(R)}));var T=l(this.props,this._instanceProps);return Object(c.createElement)(g||S||"div",{className:r,onScroll:O,ref:this._outerRefSetter,style:Object(n.a)({position:"relative",height:i,width:M,overflow:"auto",WebkitOverflowScrolling:"touch",willChange:"transform",direction:o},I)},Object(c.createElement)(s||u||"div",{children:C,ref:a,style:{height:z?"100%":T,pointerEvents:y?"none":void 0,width:z?T:"100%"}}))},r._callPropsCallbacks=function(){if("function"==typeof this.props.onItemsRendered&&this.props.itemCount>0){var t=this._getRangeToRender(),e=t[0],r=t[1],n=t[2],o=t[3];this._callOnItemsRendered(e,r,n,o)}if("function"==typeof this.props.onScroll){var i=this.state,a=i.scrollDirection,l=i.scrollOffset,s=i.scrollUpdateWasRequested;this._callOnScroll(a,l,s)}},r._getRangeToRender=function(){var t=this.props,e=t.itemCount,r=t.overscanCount,n=this.state,o=n.isScrolling,i=n.scrollDirection,a=n.scrollOffset;if(0===e)return[0,0,0,0];var l=v(this.props,a,this._instanceProps),s=S(this.props,l,a,this._instanceProps),c=o&&"backward"!==i?1:Math.max(1,r),u=o&&"forward"!==i?1:Math.max(1,r);return[Math.max(0,l-c),Math.max(0,Math.min(e-1,s+u)),l,s]},e}(c.PureComponent),e.defaultProps={direction:"ltr",itemData:void 0,layout:"vertical",overscanCount:2,useIsScrolling:!1},r}var g=function(t,e){t.children,t.direction,t.height,t.layout,t.innerTagName,t.outerTagName,t.width,e.instance},S=function(t,e,r){var n=t.itemSize,o=r.itemMetadataMap,i=r.lastMeasuredIndex;if(e>i){var a=0;if(i>=0){var l=o[i];a=l.offset+l.size}for(var s=i+1;s<=e;s++){var c=n(s);o[s]={offset:a,size:c},a+=c}r.lastMeasuredIndex=e}return o[e]},I=function(t,e,r,n,o){for(;n<=r;){var i=n+Math.floor((r-n)/2),a=S(t,i,e).offset;if(a===o)return i;a<o?n=i+1:a>o&&(r=i-1)}return n>0?n-1:0},_=function(t,e,r,n){for(var o=t.itemCount,i=1;r<o&&S(t,r,e).offset<n;)r+=i,i*=2;return I(t,e,Math.min(r,o-1),Math.floor(r/2),n)},M=function(t,e){var r=t.itemCount,n=e.itemMetadataMap,o=e.estimatedItemSize,i=e.lastMeasuredIndex,a=0;if(i>=r&&(i=r-1),i>=0){var l=n[i];a=l.offset+l.size}return a+(r-i-1)*o},y=v({getItemOffset:function(t,e,r){return S(t,e,r).offset},getItemSize:function(t,e,r){return r.itemMetadataMap[e].size},getEstimatedTotalSize:M,getOffsetForIndexAndAlignment:function(t,e,r,n,o){var i=t.direction,a=t.height,l=t.layout,s=t.width,c="horizontal"===i||"horizontal"===l?s:a,u=S(t,e,o),f=M(t,o),d=Math.max(0,Math.min(f-c,u.offset)),h=Math.max(0,u.offset-c+u.size);switch("smart"===r&&(r=n>=h-c&&n<=d+c?"auto":"center"),r){case"start":return d;case"end":return h;case"center":return Math.round(h+(d-h)/2);case"auto":default:return n>=h&&n<=d?n:n<h?h:d}},getStartIndexForOffset:function(t,e,r){return function(t,e,r){var n=e.itemMetadataMap,o=e.lastMeasuredIndex;return(o>0?n[o].offset:0)>=r?I(t,e,o,0,r):_(t,e,Math.max(0,o),r)}(t,r,e)},getStopIndexForStartIndex:function(t,e,r,n){
for(var o=t.direction,i=t.height,a=t.itemCount,l=t.layout,s=t.width,c="horizontal"===o||"horizontal"===l?s:i,u=S(t,e,n),f=r+c,d=u.offset+u.size,h=e;h<a-1&&d<f;)h++,d+=S(t,h,n).size;return h},initInstanceProps:function(t,e){var r={itemMetadataMap:{},estimatedItemSize:t.estimatedItemSize||50,lastMeasuredIndex:-1};return e.resetAfterIndex=function(t,n){void 0===n&&(n=!0),r.lastMeasuredIndex=Math.min(r.lastMeasuredIndex,t-1),e._getItemStyleCache(-1),n&&e.forceUpdate()},r},shouldResetStyleCacheOnItemSizeChange:!1,validateProps:function(t){t.itemSize}}),z=v({getItemOffset:function(t,e){return e*t.itemSize},getItemSize:function(t,e){return t.itemSize},getEstimatedTotalSize:function(t){var e=t.itemCount;return t.itemSize*e},getOffsetForIndexAndAlignment:function(t,e,r,n){var o=t.direction,i=t.height,a=t.itemCount,l=t.itemSize,s=t.layout,c=t.width,u="horizontal"===o||"horizontal"===s?c:i,f=Math.max(0,a*l-u),d=Math.min(f,e*l),h=Math.max(0,e*l-u+l);switch("smart"===r&&(r=n>=h-u&&n<=d+u?"auto":"center"),r){case"start":return d;case"end":return h;case"center":var p=Math.round(h+(d-h)/2);return p<Math.ceil(u/2)?0:p>f+Math.floor(u/2)?f:p;case"auto":default:return n>=h&&n<=d?n:n<h?h:d}},getStartIndexForOffset:function(t,e){var r=t.itemCount,n=t.itemSize;return Math.max(0,Math.min(r-1,Math.floor(e/n)))},getStopIndexForStartIndex:function(t,e,r){var n=t.direction,o=t.height,i=t.itemCount,a=t.itemSize,l=t.layout,s=t.width,c=e*a,u="horizontal"===n||"horizontal"===l?s:o,f=Math.ceil((u+r-c)/a);return Math.max(0,Math.min(i-1,e+f-1))},initInstanceProps:function(t){},shouldResetStyleCacheOnItemSizeChange:!0,validateProps:function(t){t.itemSize}})}}]);

1
static/charting_library/bundles/21.4c7b5cccb67a95e7e782.js

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[21],[]]);

1
static/charting_library/bundles/21.8153544955cdc47262e3.css

@ -0,0 +1 @@
.wrapper-21v50zE8{display:inline-block;flex:none;height:18px;position:relative;width:18px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.wrapper-21v50zE8 .input-24iGIobO:hover:not(:focus):not(:disabled)+.box-3574HVnv{border-color:#a3a6af}html.theme-dark .wrapper-21v50zE8 .input-24iGIobO:hover:not(:focus):not(:disabled)+.box-3574HVnv{border-color:#5d606b}.wrapper-21v50zE8 .input-24iGIobO:hover:checked:not(:focus):not(:disabled)+.box-3574HVnv{background-color:#1e53e5;border-color:#1e53e5}html.theme-dark .wrapper-21v50zE8 .input-24iGIobO:hover:checked:not(:focus):not(:disabled)+.box-3574HVnv{background-color:#1e53e5;border-color:#1e53e5}}.wrapper-21v50zE8 .box-3574HVnv{align-items:center;border:1px solid #b2b5be;border-radius:3px;box-sizing:border-box;display:flex;height:100%;justify-content:center;position:relative;transition:background-color .35s ease;width:100%}html.theme-dark .wrapper-21v50zE8 .box-3574HVnv{border:1px solid #50535e}.wrapper-21v50zE8 .box-3574HVnv .icon-2jsUbtec{align-items:center;box-sizing:border-box;display:inline-flex}.wrapper-21v50zE8 .box-3574HVnv .icon-2jsUbtec,.wrapper-21v50zE8 .box-3574HVnv .icon-2jsUbtec svg{height:9px;width:11px}.wrapper-21v50zE8 .box-3574HVnv:before{border:2px solid #2962ff80;border-radius:6px;box-sizing:border-box;content:"";height:26px;left:-5px;opacity:0;position:absolute;top:-5px;transform:scale(.69231);width:26px}html.theme-dark .wrapper-21v50zE8 .box-3574HVnv:before{border:2px solid #2962ff80}.wrapper-21v50zE8 .box-3574HVnv.noOutline-3VoWuntz:before{content:none}.wrapper-21v50zE8 .box-3574HVnv:after{background-color:initial;border-radius:50%;content:"";height:6px;left:calc(50% - 3px);position:absolute;top:calc(50% - 3px);width:6px}.wrapper-21v50zE8 .intent-danger-1Sr9dowC{border-color:#f44336}html.theme-dark .wrapper-21v50zE8 .intent-danger-1Sr9dowC{border-color:#d32f2f}.wrapper-21v50zE8 .input-24iGIobO{cursor:inherit;height:100%;left:0;margin:0;opacity:0;padding:0;position:absolute;top:0;width:100%}.wrapper-21v50zE8 .input-24iGIobO:checked+.box-3574HVnv{background-color:#2962ff;border-color:#2962ff}html.theme-dark .wrapper-21v50zE8 .input-24iGIobO:checked+.box-3574HVnv{background-color:#2962ff;border-color:#2962ff}.wrapper-21v50zE8 .input-24iGIobO:checked+.box-3574HVnv.check-382c8Fu1 .icon-2jsUbtec{stroke:#fff}html.theme-dark .wrapper-21v50zE8 .input-24iGIobO:checked+.box-3574HVnv.check-382c8Fu1 .icon-2jsUbtec{stroke:#d1d4dc}.wrapper-21v50zE8 .input-24iGIobO:checked+.box-3574HVnv.dot-3gRd-7Qt:after{background-color:#fff}html.theme-dark .wrapper-21v50zE8 .input-24iGIobO:checked+.box-3574HVnv.dot-3gRd-7Qt:after{background-color:#d1d4dc}.wrapper-21v50zE8 .input-24iGIobO:disabled+.box-3574HVnv{background-color:#e0e3eb;border-color:#b2b5be}html.theme-dark .wrapper-21v50zE8 .input-24iGIobO:disabled+.box-3574HVnv{background-color:#2a2e39;border-color:#50535e}.wrapper-21v50zE8 .input-24iGIobO:checked:disabled+.box-3574HVnv{background-color:#e0e3eb}html.theme-dark .wrapper-21v50zE8 .input-24iGIobO:checked:disabled+.box-3574HVnv{background-color:#2a2e39}.wrapper-21v50zE8 .input-24iGIobO:checked:disabled+.box-3574HVnv.check-382c8Fu1 .icon-2jsUbtec{stroke:#b2b5be}html.theme-dark .wrapper-21v50zE8 .input-24iGIobO:checked:disabled+.box-3574HVnv.check-382c8Fu1 .icon-2jsUbtec{stroke:#50535e}.wrapper-21v50zE8 .input-24iGIobO:checked:disabled+.box-3574HVnv.dot-3gRd-7Qt:after{background-color:#b2b5be}html.theme-dark .wrapper-21v50zE8 .input-24iGIobO:checked:disabled+.box-3574HVnv.dot-3gRd-7Qt:after{background-color:#50535e}.wrapper-21v50zE8 .input-24iGIobO:active:not(:disabled)+.box-3574HVnv,html.theme-dark .wrapper-21v50zE8 .input-24iGIobO:active:not(:disabled)+.box-3574HVnv{border-color:#2962ff}.wrapper-21v50zE8 .input-24iGIobO:focus+.box-3574HVnv:before{opacity:1;transform:scale(1)}.wrapper-21v50zE8 .input-24iGIobO:focus-visible+.box-3574HVnv:before{opacity:1;transform:scale(1)}.wrapper-21v50zE8 .input-24iGIobO:focus:not(:focus-visible)+.box-3574HVnv:before{opacity:0;transform:scale(.69231)}

1
static/charting_library/bundles/21.8153544955cdc47262e3.rtl.css

@ -0,0 +1 @@
.wrapper-21v50zE8{display:inline-block;flex:none;height:18px;position:relative;width:18px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.wrapper-21v50zE8 .input-24iGIobO:hover:not(:focus):not(:disabled)+.box-3574HVnv{border-color:#a3a6af}html.theme-dark .wrapper-21v50zE8 .input-24iGIobO:hover:not(:focus):not(:disabled)+.box-3574HVnv{border-color:#5d606b}.wrapper-21v50zE8 .input-24iGIobO:hover:checked:not(:focus):not(:disabled)+.box-3574HVnv{background-color:#1e53e5;border-color:#1e53e5}html.theme-dark .wrapper-21v50zE8 .input-24iGIobO:hover:checked:not(:focus):not(:disabled)+.box-3574HVnv{background-color:#1e53e5;border-color:#1e53e5}}.wrapper-21v50zE8 .box-3574HVnv{align-items:center;border:1px solid #b2b5be;border-radius:3px;box-sizing:border-box;display:flex;height:100%;justify-content:center;position:relative;transition:background-color .35s ease;width:100%}html.theme-dark .wrapper-21v50zE8 .box-3574HVnv{border:1px solid #50535e}.wrapper-21v50zE8 .box-3574HVnv .icon-2jsUbtec{align-items:center;box-sizing:border-box;display:inline-flex}.wrapper-21v50zE8 .box-3574HVnv .icon-2jsUbtec,.wrapper-21v50zE8 .box-3574HVnv .icon-2jsUbtec svg{height:9px;width:11px}.wrapper-21v50zE8 .box-3574HVnv:before{border:2px solid #2962ff80;border-radius:6px;box-sizing:border-box;content:"";height:26px;opacity:0;position:absolute;right:-5px;top:-5px;transform:scale(.69231);width:26px}html.theme-dark .wrapper-21v50zE8 .box-3574HVnv:before{border:2px solid #2962ff80}.wrapper-21v50zE8 .box-3574HVnv.noOutline-3VoWuntz:before{content:none}.wrapper-21v50zE8 .box-3574HVnv:after{background-color:initial;border-radius:50%;content:"";height:6px;position:absolute;right:calc(50% - 3px);top:calc(50% - 3px);width:6px}.wrapper-21v50zE8 .intent-danger-1Sr9dowC{border-color:#f44336}html.theme-dark .wrapper-21v50zE8 .intent-danger-1Sr9dowC{border-color:#d32f2f}.wrapper-21v50zE8 .input-24iGIobO{cursor:inherit;height:100%;margin:0;opacity:0;padding:0;position:absolute;right:0;top:0;width:100%}.wrapper-21v50zE8 .input-24iGIobO:checked+.box-3574HVnv{background-color:#2962ff;border-color:#2962ff}html.theme-dark .wrapper-21v50zE8 .input-24iGIobO:checked+.box-3574HVnv{background-color:#2962ff;border-color:#2962ff}.wrapper-21v50zE8 .input-24iGIobO:checked+.box-3574HVnv.check-382c8Fu1 .icon-2jsUbtec{stroke:#fff}html.theme-dark .wrapper-21v50zE8 .input-24iGIobO:checked+.box-3574HVnv.check-382c8Fu1 .icon-2jsUbtec{stroke:#d1d4dc}.wrapper-21v50zE8 .input-24iGIobO:checked+.box-3574HVnv.dot-3gRd-7Qt:after{background-color:#fff}html.theme-dark .wrapper-21v50zE8 .input-24iGIobO:checked+.box-3574HVnv.dot-3gRd-7Qt:after{background-color:#d1d4dc}.wrapper-21v50zE8 .input-24iGIobO:disabled+.box-3574HVnv{background-color:#e0e3eb;border-color:#b2b5be}html.theme-dark .wrapper-21v50zE8 .input-24iGIobO:disabled+.box-3574HVnv{background-color:#2a2e39;border-color:#50535e}.wrapper-21v50zE8 .input-24iGIobO:checked:disabled+.box-3574HVnv{background-color:#e0e3eb}html.theme-dark .wrapper-21v50zE8 .input-24iGIobO:checked:disabled+.box-3574HVnv{background-color:#2a2e39}.wrapper-21v50zE8 .input-24iGIobO:checked:disabled+.box-3574HVnv.check-382c8Fu1 .icon-2jsUbtec{stroke:#b2b5be}html.theme-dark .wrapper-21v50zE8 .input-24iGIobO:checked:disabled+.box-3574HVnv.check-382c8Fu1 .icon-2jsUbtec{stroke:#50535e}.wrapper-21v50zE8 .input-24iGIobO:checked:disabled+.box-3574HVnv.dot-3gRd-7Qt:after{background-color:#b2b5be}html.theme-dark .wrapper-21v50zE8 .input-24iGIobO:checked:disabled+.box-3574HVnv.dot-3gRd-7Qt:after{background-color:#50535e}.wrapper-21v50zE8 .input-24iGIobO:active:not(:disabled)+.box-3574HVnv,html.theme-dark .wrapper-21v50zE8 .input-24iGIobO:active:not(:disabled)+.box-3574HVnv{border-color:#2962ff}.wrapper-21v50zE8 .input-24iGIobO:focus+.box-3574HVnv:before{opacity:1;transform:scale(1)}.wrapper-21v50zE8 .input-24iGIobO:focus-visible+.box-3574HVnv:before{opacity:1;transform:scale(1)}.wrapper-21v50zE8 .input-24iGIobO:focus:not(:focus-visible)+.box-3574HVnv:before{opacity:0;transform:scale(.69231)}

1
static/charting_library/bundles/22.ca4300bcf614d8d5f4ab.js

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[22],[]]);

1
static/charting_library/bundles/22.da9773799a06c6066d1e.css

@ -0,0 +1 @@
.button-3B9fDLtm{align-items:center;background-color:var(--tv-list-item-button-background-color);border-radius:4px;color:#787b86;display:inline-flex;font-size:0;height:22px;justify-content:center;min-width:22px;width:22px}.button-3B9fDLtm:active{background-color:var(--tv-list-item-button-background-hover-color,#e0e3eb);color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-3B9fDLtm:hover{background-color:var(--tv-list-item-button-background-hover-color,#e0e3eb);color:#131722}}html.theme-dark .button-3B9fDLtm:active{background-color:var(--tv-list-item-button-background-hover-color,#363a45)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-3B9fDLtm:hover{background-color:var(--tv-list-item-button-background-hover-color,#363a45)}}html.theme-dark .button-3B9fDLtm:active{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-3B9fDLtm:hover{color:#b2b5be}}.button-3B9fDLtm.disabled-3B9fDLtm,.button-3B9fDLtm.disabled-3B9fDLtm:active{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-3B9fDLtm.disabled-3B9fDLtm:hover{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}}html.theme-dark .button-3B9fDLtm.disabled-3B9fDLtm,html.theme-dark .button-3B9fDLtm.disabled-3B9fDLtm:active{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-3B9fDLtm.disabled-3B9fDLtm:hover{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}}.button-3B9fDLtm.active-3B9fDLtm,html.theme-dark .button-3B9fDLtm.active-3B9fDLtm{color:#90bff9}.button-3B9fDLtm.active-3B9fDLtm:active{background-color:#1848cc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-3B9fDLtm.active-3B9fDLtm:hover{background-color:#1848cc}}html.theme-dark .button-3B9fDLtm.active-3B9fDLtm:active{background-color:#1848cc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-3B9fDLtm.active-3B9fDLtm:hover{background-color:#1848cc}}.hidden-3B9fDLtm{visibility:hidden}

1
static/charting_library/bundles/22.da9773799a06c6066d1e.rtl.css

@ -0,0 +1 @@
.button-3B9fDLtm{align-items:center;background-color:var(--tv-list-item-button-background-color);border-radius:4px;color:#787b86;display:inline-flex;font-size:0;height:22px;justify-content:center;min-width:22px;width:22px}.button-3B9fDLtm:active{background-color:var(--tv-list-item-button-background-hover-color,#e0e3eb);color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-3B9fDLtm:hover{background-color:var(--tv-list-item-button-background-hover-color,#e0e3eb);color:#131722}}html.theme-dark .button-3B9fDLtm:active{background-color:var(--tv-list-item-button-background-hover-color,#363a45)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-3B9fDLtm:hover{background-color:var(--tv-list-item-button-background-hover-color,#363a45)}}html.theme-dark .button-3B9fDLtm:active{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-3B9fDLtm:hover{color:#b2b5be}}.button-3B9fDLtm.disabled-3B9fDLtm,.button-3B9fDLtm.disabled-3B9fDLtm:active{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-3B9fDLtm.disabled-3B9fDLtm:hover{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}}html.theme-dark .button-3B9fDLtm.disabled-3B9fDLtm,html.theme-dark .button-3B9fDLtm.disabled-3B9fDLtm:active{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-3B9fDLtm.disabled-3B9fDLtm:hover{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}}.button-3B9fDLtm.active-3B9fDLtm,html.theme-dark .button-3B9fDLtm.active-3B9fDLtm{color:#90bff9}.button-3B9fDLtm.active-3B9fDLtm:active{background-color:#1848cc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-3B9fDLtm.active-3B9fDLtm:hover{background-color:#1848cc}}html.theme-dark .button-3B9fDLtm.active-3B9fDLtm:active{background-color:#1848cc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .button-3B9fDLtm.active-3B9fDLtm:hover{background-color:#1848cc}}.hidden-3B9fDLtm{visibility:hidden}

1
static/charting_library/bundles/23.256ba98e6a03200bdeba.js

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[23],[]]);

1
static/charting_library/bundles/23.ee754f50171546186397.css

@ -0,0 +1 @@
.footer-KW8170fm{border-top:1px solid #e0e3eb;display:flex;flex:0 0 auto;padding:16px 20px}html.theme-dark .footer-KW8170fm{border-top:1px solid #434651}@media screen and (max-height:360px){.footer-KW8170fm{padding:10px 20px}}.footer-KW8170fm .submitButton-KW8170fm{padding-left:12px}.footer-KW8170fm .buttons-KW8170fm{margin-left:auto}

1
static/charting_library/bundles/23.ee754f50171546186397.rtl.css

@ -0,0 +1 @@
.footer-KW8170fm{border-top:1px solid #e0e3eb;display:flex;flex:0 0 auto;padding:16px 20px}html.theme-dark .footer-KW8170fm{border-top:1px solid #434651}@media screen and (max-height:360px){.footer-KW8170fm{padding:10px 20px}}.footer-KW8170fm .submitButton-KW8170fm{padding-right:12px}.footer-KW8170fm .buttons-KW8170fm{margin-right:auto}

1
static/charting_library/bundles/24.bc4fafedb1730259aa10.js

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[24],[]]);

1
static/charting_library/bundles/24.e70c1623e0c74477ef2e.css

@ -0,0 +1 @@
.favorite-I_fAY9V2{align-items:center;background-color:var(--tv-list-item-button-background-color);border-radius:4px;color:#787b86;display:inline-flex;font-size:0;height:22px;justify-content:center;min-width:22px;width:22px}.favorite-I_fAY9V2:active{background-color:var(--tv-list-item-button-background-hover-color,#e0e3eb);color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.favorite-I_fAY9V2:hover{background-color:var(--tv-list-item-button-background-hover-color,#e0e3eb);color:#131722}}html.theme-dark .favorite-I_fAY9V2:active{background-color:var(--tv-list-item-button-background-hover-color,#363a45)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .favorite-I_fAY9V2:hover{background-color:var(--tv-list-item-button-background-hover-color,#363a45)}}html.theme-dark .favorite-I_fAY9V2:active{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .favorite-I_fAY9V2:hover{color:#b2b5be}}.favorite-I_fAY9V2.disabled-I_fAY9V2,.favorite-I_fAY9V2.disabled-I_fAY9V2:active{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.favorite-I_fAY9V2.disabled-I_fAY9V2:hover{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}}html.theme-dark .favorite-I_fAY9V2.disabled-I_fAY9V2,html.theme-dark .favorite-I_fAY9V2.disabled-I_fAY9V2:active{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .favorite-I_fAY9V2.disabled-I_fAY9V2:hover{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}}.favorite-I_fAY9V2.active-I_fAY9V2,html.theme-dark .favorite-I_fAY9V2.active-I_fAY9V2{color:#90bff9}.favorite-I_fAY9V2.active-I_fAY9V2:active{background-color:#1848cc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.favorite-I_fAY9V2.active-I_fAY9V2:hover{background-color:#1848cc}}html.theme-dark .favorite-I_fAY9V2.active-I_fAY9V2:active{background-color:#1848cc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .favorite-I_fAY9V2.active-I_fAY9V2:hover{background-color:#1848cc}}.favorite-I_fAY9V2.checked-I_fAY9V2{color:#fbc02d}html.theme-dark .favorite-I_fAY9V2.checked-I_fAY9V2{color:#f9a825}

1
static/charting_library/bundles/24.e70c1623e0c74477ef2e.rtl.css

@ -0,0 +1 @@
.favorite-I_fAY9V2{align-items:center;background-color:var(--tv-list-item-button-background-color);border-radius:4px;color:#787b86;display:inline-flex;font-size:0;height:22px;justify-content:center;min-width:22px;width:22px}.favorite-I_fAY9V2:active{background-color:var(--tv-list-item-button-background-hover-color,#e0e3eb);color:#131722}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.favorite-I_fAY9V2:hover{background-color:var(--tv-list-item-button-background-hover-color,#e0e3eb);color:#131722}}html.theme-dark .favorite-I_fAY9V2:active{background-color:var(--tv-list-item-button-background-hover-color,#363a45)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .favorite-I_fAY9V2:hover{background-color:var(--tv-list-item-button-background-hover-color,#363a45)}}html.theme-dark .favorite-I_fAY9V2:active{color:#b2b5be}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .favorite-I_fAY9V2:hover{color:#b2b5be}}.favorite-I_fAY9V2.disabled-I_fAY9V2,.favorite-I_fAY9V2.disabled-I_fAY9V2:active{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.favorite-I_fAY9V2.disabled-I_fAY9V2:hover{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}}html.theme-dark .favorite-I_fAY9V2.disabled-I_fAY9V2,html.theme-dark .favorite-I_fAY9V2.disabled-I_fAY9V2:active{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .favorite-I_fAY9V2.disabled-I_fAY9V2:hover{background-color:var(--tv-list-item-button-disabled-background-color,#0000)}}.favorite-I_fAY9V2.active-I_fAY9V2,html.theme-dark .favorite-I_fAY9V2.active-I_fAY9V2{color:#90bff9}.favorite-I_fAY9V2.active-I_fAY9V2:active{background-color:#1848cc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.favorite-I_fAY9V2.active-I_fAY9V2:hover{background-color:#1848cc}}html.theme-dark .favorite-I_fAY9V2.active-I_fAY9V2:active{background-color:#1848cc}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){html.theme-dark .favorite-I_fAY9V2.active-I_fAY9V2:hover{background-color:#1848cc}}.favorite-I_fAY9V2.checked-I_fAY9V2{color:#fbc02d}html.theme-dark .favorite-I_fAY9V2.checked-I_fAY9V2{color:#f9a825}

2591
static/charting_library/bundles/25.7416db26ed3dcc87c05a.js

File diff suppressed because it is too large

1
static/charting_library/bundles/26.3aeec391d4e6e19989ee.js

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[26],[]]);

1
static/charting_library/bundles/26.69139a843bc1c84f790b.css

File diff suppressed because one or more lines are too long

1
static/charting_library/bundles/26.69139a843bc1c84f790b.rtl.css

File diff suppressed because one or more lines are too long

3
static/charting_library/bundles/27.e3ec08b1fb9df5f36ada.js

@ -0,0 +1,3 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{GOhO:function(e,t,n){"use strict";var r=n("+DwS");n("tc+8");var o=n("m/cY");function i(e,...t){const n=()=>e(...t.map(e=>e.value())),r=Object(o.a)(n()),i=()=>r.setValue(n()),u={};for(const e of t)e.subscribe(u,i);return r.destroy=()=>{t.forEach(e=>e.unsubscribeAll(u))},r}n.d(t,"b",(function(){return r.a})),n.d(t,"a",(function(){return i}))},HSjo:function(e,t,n){"use strict";function r(e,t){return{propType:"checkable",properties:e,...t}}function o(e,t,n){return{propType:"checkableSet",properties:e,childrenDefinitions:n,...t}}function i(e,t){return{propType:"color",properties:e,noAlpha:!1,...t}}var u=n("a7Ha"),s=n("8Uy/");const c=[s.LINESTYLE_SOLID,s.LINESTYLE_DOTTED,s.LINESTYLE_DASHED],p=[1,2,3,4],l=[u.LineEnd.Normal,u.LineEnd.Arrow];function d(e,t){const n={propType:"line",properties:e,...t};return void 0!==n.properties.style&&(n.styleValues=c),void 0!==n.properties.width&&(n.widthValues=p),void 0===n.properties.leftEnd&&void 0===n.properties.rightEnd||void 0!==n.endsValues||(n.endsValues=l),void 0!==n.properties.value&&void 0===n.valueType&&(n.valueType=1),n}const a=[s.LINESTYLE_SOLID,s.LINESTYLE_DOTTED,s.LINESTYLE_DASHED],f=[1,2,3,4];function v(e,t){const n={propType:"leveledLine",properties:e,...t};return void 0!==n.properties.style&&(n.styleValues=a),void 0!==n.properties.width&&(n.widthValues=f),n}function b(e,t){return{propType:"number",properties:e,type:1,...t}}function y(e,t){return{propType:"options",properties:e,...t}}function w(e,t){return{propType:"twoOptions",properties:e,...t}}n("YFKU");const T=[{id:"bottom",value:"bottom",title:window.t("Top")},{id:"middle",value:"middle",title:window.t("Middle")},{id:"top",value:"top",title:window.t("Bottom")}],m=[{id:"left",value:"left",title:window.t("Left")},{id:"center",value:"center",title:window.t("Center")},{id:"right",value:"right",title:window.t("Right")}],g=[{id:"horizontal",value:"horizontal",title:window.t("Horizontal")},{id:"vertical",value:"vertical",title:window.t("Vertical")}],h=[10,11,12,14,16,20,24,28,32,40].map(e=>({title:String(e),value:e})),E=[1,2,3,4],V=window.t("Text alignment"),S=window.t("Text orientation");function I(e,t){const n={propType:"text",properties:e,...t,isEditable:t.isEditable||!1};return void 0!==n.properties.size&&void 0===n.sizeItems&&(n.sizeItems=h),void 0!==n.properties.alignmentVertical&&void 0===n.alignmentVerticalItems&&(n.alignmentVerticalItems=T),void 0!==n.properties.alignmentHorizontal&&void 0===n.alignmentHorizontalItems&&(n.alignmentHorizontalItems=m),(n.alignmentVerticalItems||n.alignmentHorizontalItems)&&void 0===n.alignmentTitle&&(n.alignmentTitle=V),void 0!==n.properties.orientation&&(void 0===n.orientationItems&&(n.orientationItems=g),void 0===n.orientationTitle&&(n.orientationTitle=S)),void 0!==n.properties.borderWidth&&void 0===n.borderWidthItems&&(n.borderWidthItems=E),n}function L(e,t){return{propType:"twoColors",properties:e,noAlpha1:!1,noAlpha2:!1,...t}}function O(e,t){return{propType:"coordinates",properties:e,...t}}function A(e,t){return{
propType:"range",properties:e,...t}}function D(e,t){return{propType:"transparency",properties:e,...t}}function z(e,t){return{propType:"symbol",properties:e,...t}}function H(e,t){return{propType:"session",properties:e,...t}}function j(e,t){return{propType:"emoji",properties:e,...t}}var Y=n("hY0g"),k=n.n(Y);function M(e,t,n){return{id:t,title:n,groupType:"general",definitions:new k.a(e)}}function N(e,t,n){return{id:t,title:n,groupType:"leveledLines",definitions:new k.a(e)}}function P(e,t){const n=new Map,r=void 0!==t?t[0]:e=>e,o=void 0!==t?void 0!==t[1]?t[1]:t[0]:e=>e,i={value:()=>r(e.value()),setValue:t=>{e.setValue(o(t))},subscribe:(t,r)=>{const o=e=>{r(i)};n.set(r,o),e.subscribe(t,o)},unsubscribe:(t,r)=>{const o=n.get(r);o&&(e.unsubscribe(t,o),n.delete(r))},unsubscribeAll:t=>{e.unsubscribeAll(t),n.clear()}};return i}function _(e,t,n,r){const o=P(t,r),i=void 0!==r?void 0!==r[1]?r[1]:r[0]:e=>e;return o.setValue=r=>e.setProperty(t,i(r),n),o}function x(e,t,n,r){const o=function(e,t){const n=new Map,r=void 0!==t?t[0]:e=>e,o=void 0!==t?void 0!==t[1]?t[1]:t[0]:e=>e,i={value:()=>r(e.value()),setValue:t=>{e.setValue(o(t))},subscribe:(t,r)=>{const o=()=>{r(i)};let u=n.get(t);void 0===u?(u=new Map,u.set(r,o),n.set(t,u)):u.set(r,o),e.subscribe(o)},unsubscribe:(t,r)=>{const o=n.get(t);if(void 0!==o){const t=o.get(r);void 0!==t&&(e.unsubscribe(t),o.delete(r))}},unsubscribeAll:t=>{const r=n.get(t);void 0!==r&&(r.forEach((t,n)=>{e.unsubscribe(t)}),r.clear())}};return i}(t,r),i=void 0!==r?void 0!==r[1]?r[1]:r[0]:e=>e;return o.setValue=r=>e.undoHistory().setWatchedValue(t,i(r),n),o}function U(e,t){const n=P(t);return n.setValue=t=>e.setPriceScaleSelectionStrategy(t),n}function W(e,t,n,r){const o=P(t);return o.setValue=t=>{const o={lockScale:t};e.setPriceScaleMode(o,n,r)},o}function C(e,t,n,r){const o=P(t,r);return o.setValue=r=>{e.setScaleRatioProperty(t,r,n)},o}var J=n("eJTA"),R=n("Tmoa"),G=n("GOhO");function q(e,t){if(Object(R.isHexColor)(e)){const n=Object(J.parseRgb)(e);return Object(J.rgbaToString)(Object(J.rgba)(n,(100-t)/100))}return e}function B(e,t,n,r,o){let i;if(null!==n){i=function(e){const t=P(e);return t.destroy=()=>{e.destroy()},t}(Object(G.a)(q,t,n))}else i=P(t,[()=>q(t.value(),0),e=>e]);return i.setValue=n=>{o&&e.beginUndoMacro(r),e.setProperty(t,n,r),o&&e.endUndoMacro()},i}function F(e,t,n,r,o,i){const u=[(s=n,c=t,e=>{const t=s(c);if(e===c.value()&&null!==t){const e=t.ticker||t.full_name;if(e)return e}return e}),e=>e];var s,c;const p=_(e,t,o,u);i&&(p.setValue=i);const l=new Map;p.subscribe=(e,n)=>{const r=e=>{n(p)};l.set(n,r),t.subscribe(e,r)},p.unsubscribe=(e,n)=>{const r=l.get(n);r&&(t.unsubscribe(e,r),l.delete(n))};const d={};return r.subscribe(d,()=>{l.forEach((e,t)=>{e(p)})}),p.destroy=()=>{r.unsubscribeAll(d),l.clear()},p}function K(e){return e.hasOwnProperty("groupType")}function Q(e){e.forEach(e=>{if(e.hasOwnProperty("propType")){Object.keys(e.properties).forEach(t=>{const n=e.properties[t];void 0!==n&&void 0!==n.destroy&&n.destroy()})}else Q(e.definitions.value())})}n.d(t,"A",(function(){return K})),
n.d(t,"u",(function(){return Q})),n.d(t,"c",(function(){return r})),n.d(t,"d",(function(){return o})),n.d(t,"e",(function(){return i})),n.d(t,"i",(function(){return d})),n.d(t,"h",(function(){return v})),n.d(t,"j",(function(){return b})),n.d(t,"k",(function(){return y})),n.d(t,"t",(function(){return w})),n.d(t,"q",(function(){return I})),n.d(t,"s",(function(){return L})),n.d(t,"f",(function(){return O})),n.d(t,"n",(function(){return A})),n.d(t,"r",(function(){return D})),n.d(t,"p",(function(){return z})),n.d(t,"o",(function(){return H})),n.d(t,"g",(function(){return j})),n.d(t,"l",(function(){return M})),n.d(t,"m",(function(){return N})),n.d(t,"b",(function(){return _})),n.d(t,"a",(function(){return x})),n.d(t,"x",(function(){return U})),n.d(t,"w",(function(){return W})),n.d(t,"y",(function(){return C})),n.d(t,"v",(function(){return B})),n.d(t,"z",(function(){return F}))}}]);

1
static/charting_library/bundles/28.3140e8cb507ad2593c76.css

@ -0,0 +1 @@
.loader-8x1ZxRwP{bottom:0;font-size:0;height:100%;left:0;margin:0 auto;opacity:1;position:absolute;right:0;text-align:center;top:0;transition:opacity .35s ease}.loader-8x1ZxRwP:after{content:" ";display:inline-block;height:100%;vertical-align:middle}.loader-8x1ZxRwP .item-2-89r_cd{animation:tv-button-loader-23vqS1uY .96s ease-in-out infinite both;border-radius:100%;display:inline-block;height:10px;margin-left:2px;margin-right:2px;opacity:1;transform:translateY(0) scale(.6);transition:transform .35s cubic-bezier(.68,-.55,.265,1.55);vertical-align:middle;width:10px}.loader-8x1ZxRwP .item-2-89r_cd:nth-child(2){animation-delay:.151s;transition-delay:.11666667s}.loader-8x1ZxRwP .item-2-89r_cd:nth-child(3){animation-delay:.32s;transition-delay:233.33333ms}.loader-8x1ZxRwP .item-2-89r_cd.black-20Ytsf0V{background-color:#787b86}.loader-8x1ZxRwP .item-2-89r_cd.white-1ucCcc2I{background-color:#fff}.loader-8x1ZxRwP .item-2-89r_cd.gray-XDhHSS-T{background-color:#b2b5be}.loader-8x1ZxRwP.loader-initial-1deQDeio{opacity:.1}.loader-8x1ZxRwP.loader-initial-1deQDeio .item-2-89r_cd{animation:none;transform:translateY(12px) scale(.6)}.loader-8x1ZxRwP.loader-appear-2krFtMrd{opacity:1;transition:opacity .7s ease}.loader-8x1ZxRwP.loader-appear-2krFtMrd .item-2-89r_cd{animation:none;transform:translateY(0) scale(.6)}@keyframes tv-button-loader-23vqS1uY{0%,to{transform:scale(.6)}50%{transform:scale(.9)}}

1
static/charting_library/bundles/28.3140e8cb507ad2593c76.rtl.css

@ -0,0 +1 @@
.loader-8x1ZxRwP{bottom:0;font-size:0;height:100%;left:0;margin:0 auto;opacity:1;position:absolute;right:0;text-align:center;top:0;transition:opacity .35s ease}.loader-8x1ZxRwP:after{content:" ";display:inline-block;height:100%;vertical-align:middle}.loader-8x1ZxRwP .item-2-89r_cd{animation:tv-button-loader-23vqS1uY .96s ease-in-out infinite both;border-radius:100%;display:inline-block;height:10px;margin-left:2px;margin-right:2px;opacity:1;transform:translateY(0) scale(.6);transition:transform .35s cubic-bezier(.68,-.55,.265,1.55);vertical-align:middle;width:10px}.loader-8x1ZxRwP .item-2-89r_cd:nth-child(2){animation-delay:.151s;transition-delay:.11666667s}.loader-8x1ZxRwP .item-2-89r_cd:nth-child(3){animation-delay:.32s;transition-delay:233.33333ms}.loader-8x1ZxRwP .item-2-89r_cd.black-20Ytsf0V{background-color:#787b86}.loader-8x1ZxRwP .item-2-89r_cd.white-1ucCcc2I{background-color:#fff}.loader-8x1ZxRwP .item-2-89r_cd.gray-XDhHSS-T{background-color:#b2b5be}.loader-8x1ZxRwP.loader-initial-1deQDeio{opacity:.1}.loader-8x1ZxRwP.loader-initial-1deQDeio .item-2-89r_cd{animation:none;transform:translateY(12px) scale(.6)}.loader-8x1ZxRwP.loader-appear-2krFtMrd{opacity:1;transition:opacity .7s ease}.loader-8x1ZxRwP.loader-appear-2krFtMrd .item-2-89r_cd{animation:none;transform:translateY(0) scale(.6)}@keyframes tv-button-loader-23vqS1uY{0%,to{transform:scale(.6)}50%{transform:scale(.9)}}

1
static/charting_library/bundles/28.9f103042c27ea2df422f.js

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[28],[]]);

1
static/charting_library/bundles/29.07af6dca962ea27209f0.css

@ -0,0 +1 @@
.separator-eqcGT_ow{background-color:#e0e3eb;flex-shrink:0;height:1px;margin:6px 0}html.theme-dark .separator-eqcGT_ow{background-color:#434651}.small-eqcGT_ow{margin-bottom:4px;margin-top:4px}.normal-eqcGT_ow{margin-bottom:6px;margin-top:6px}.large-eqcGT_ow{margin-bottom:8px;margin-top:8px}

1
static/charting_library/bundles/29.07af6dca962ea27209f0.rtl.css

@ -0,0 +1 @@
.separator-eqcGT_ow{background-color:#e0e3eb;flex-shrink:0;height:1px;margin:6px 0}html.theme-dark .separator-eqcGT_ow{background-color:#434651}.small-eqcGT_ow{margin-bottom:4px;margin-top:4px}.normal-eqcGT_ow{margin-bottom:6px;margin-top:6px}.large-eqcGT_ow{margin-bottom:8px;margin-top:8px}

1
static/charting_library/bundles/29.3df8712b85d45a626aa0.js

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[29],[]]);

1
static/charting_library/bundles/3.76c398b01b707e5b251c.js

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[3],[]]);

1
static/charting_library/bundles/3.eeb90413029441681f91.css

@ -0,0 +1 @@
.dialog-UM6w7sFp{background-color:#fff;box-sizing:border-box;display:flex;flex-direction:column;min-width:280px;text-align:left}html.theme-dark .dialog-UM6w7sFp{background-color:#1e222d}.dialog-UM6w7sFp.rounded-UM6w7sFp{border-radius:6px}.dialog-UM6w7sFp.shadowed-UM6w7sFp{box-shadow:0 2px 4px #0003}html.theme-dark .dialog-UM6w7sFp.shadowed-UM6w7sFp{box-shadow:0 2px 4px #0006}.dialog-UM6w7sFp.fullscreen-UM6w7sFp{bottom:0;height:100%;left:0;max-height:100%;max-width:100%;min-height:100%;position:fixed;right:0;top:0;width:100%}.dialog-UM6w7sFp.darker-UM6w7sFp{background-color:#fff}html.theme-dark .dialog-UM6w7sFp.darker-UM6w7sFp{background-color:#131722}.backdrop-UM6w7sFp{background-color:#9598a1;bottom:0;left:0;opacity:.5;position:fixed;right:0;top:0;transform:translateZ(0);z-index:-1}html.theme-dark .backdrop-UM6w7sFp{background-color:#0c0e15}.dialog-2AogBbC7{max-width:380px;min-width:280px;position:fixed;width:100%}.dialog-2AogBbC7 [data-dragg-area=true]{cursor:grab}.dialog-2AogBbC7 [data-dragg-area=true].dragging-2AogBbC7{cursor:grabbing}.dialogAnimatedAppearance-2AogBbC7{animation-duration:.3s;animation-name:dialogAnimation-2AogBbC7;transform-origin:0 0}@keyframes dialogAnimation-2AogBbC7{0%{opacity:0;transform:translate(var(--animationTranslateStartX),var(--animationTranslateStartY)) scale(0)}to{opacity:1;transform:translate(var(--animationTranslateEndX),var(--animationTranslateEndY)) scale(1)}}.dialogTooltip-2AogBbC7{color:#fff;font-size:14px;left:50%;line-height:21px;max-width:540px;position:absolute;top:-20px;transform:translateX(-50%);width:max-content}@media screen and (max-width:768px){.dialogTooltip-2AogBbC7{max-width:240px}}

1
static/charting_library/bundles/3.eeb90413029441681f91.rtl.css

@ -0,0 +1 @@
.dialog-UM6w7sFp{background-color:#fff;box-sizing:border-box;display:flex;flex-direction:column;min-width:280px;text-align:right}html.theme-dark .dialog-UM6w7sFp{background-color:#1e222d}.dialog-UM6w7sFp.rounded-UM6w7sFp{border-radius:6px}.dialog-UM6w7sFp.shadowed-UM6w7sFp{box-shadow:0 2px 4px #0003}html.theme-dark .dialog-UM6w7sFp.shadowed-UM6w7sFp{box-shadow:0 2px 4px #0006}.dialog-UM6w7sFp.fullscreen-UM6w7sFp{bottom:0;height:100%;left:0;max-height:100%;max-width:100%;min-height:100%;position:fixed;right:0;top:0;width:100%}.dialog-UM6w7sFp.darker-UM6w7sFp{background-color:#fff}html.theme-dark .dialog-UM6w7sFp.darker-UM6w7sFp{background-color:#131722}.backdrop-UM6w7sFp{background-color:#9598a1;bottom:0;left:0;opacity:.5;position:fixed;right:0;top:0;transform:translateZ(0);z-index:-1}html.theme-dark .backdrop-UM6w7sFp{background-color:#0c0e15}.dialog-2AogBbC7{max-width:380px;min-width:280px;position:fixed;width:100%}.dialog-2AogBbC7 [data-dragg-area=true]{cursor:grab}.dialog-2AogBbC7 [data-dragg-area=true].dragging-2AogBbC7{cursor:grabbing}.dialogAnimatedAppearance-2AogBbC7{animation-duration:.3s;animation-name:dialogAnimation-2AogBbC7;transform-origin:100% 0}@keyframes dialogAnimation-2AogBbC7{0%{opacity:0;transform:translate(var(--animationTranslateStartX),var(--animationTranslateStartY)) scale(0)}to{opacity:1;transform:translate(var(--animationTranslateEndX),var(--animationTranslateEndY)) scale(1)}}.dialogTooltip-2AogBbC7{color:#fff;font-size:14px;line-height:21px;max-width:540px;position:absolute;right:50%;top:-20px;transform:translateX(50%);width:max-content}@media screen and (max-width:768px){.dialogTooltip-2AogBbC7{max-width:240px}}

8
static/charting_library/bundles/30.0b732ccb122d160480b6.js

@ -0,0 +1,8 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[30],{"+l/S":function(e,t,n){},"1Kfe":function(e,t,n){e.exports={container:"container-TZggBcGZ",sectionTitle:"sectionTitle-TZggBcGZ",separator:"separator-TZggBcGZ",customButton:"customButton-TZggBcGZ"}},"2A9e":function(e){e.exports=JSON.parse('{"button":"button-1iktpaT1","content":"content-2PGssb8d","noOutline":"noOutline-d9Yp4qvi","grouped":"grouped-2NxOpIxM","adjust-position":"adjust-position-2zd-ooQC","first-row":"first-row-11wXF7aC","first-col":"first-col-pbJu53tK","no-corner-top-left":"no-corner-top-left-3ZsS65Fk","no-corner-top-right":"no-corner-top-right-3MYQOwk_","no-corner-bottom-right":"no-corner-bottom-right-3II18BAU","no-corner-bottom-left":"no-corner-bottom-left-3KZuX8tv","appearance-default":"appearance-default-dMjF_2Hu","intent-primary":"intent-primary-1-IOYcbg","intent-success":"intent-success-25a4XZXM","intent-default":"intent-default-2ZbSqQDs","intent-warning":"intent-warning-24j5HMi0","intent-danger":"intent-danger-1EETHCla","appearance-stroke":"appearance-stroke-12lxiUSM","appearance-text":"appearance-text-DqKJVT3U","appearance-inverse":"appearance-inverse-r1Y2JQg_","size-s":"size-s-3mait84m","size-m":"size-m-2G7L7Qat","size-l":"size-l-2NEs9_xt","full-width":"full-width-1wU8ljjC","with-icon":"with-icon-yumghDr-","icon":"icon-1grlgNdV"}')},"9dlw":function(e,t,n){"use strict";n.d(t,"a",(function(){return h}));var o=n("q1tI"),i=n.n(o),s=n("i8i4"),r=n.n(s),a=n("AiMB"),c=n("DTHj"),l=n("X0gx"),u=n("8Rai");function h(e){const{controller:t,children:n,isOpened:s,closeOnClickOutside:h=!0,doNotCloseOn:d,onClickOutside:p,onClose:m,...v}=e,f=Object(o.useContext)(l.a),b=Object(u.a)({handler:function(e){p&&p(e);if(!h)return;if(d&&e.target instanceof Node){const t=r.a.findDOMNode(d);if(t instanceof Node&&t.contains(e.target))return}m()},mouseDown:!0,touchStart:!0});return s?i.a.createElement(a.a,{top:"0",left:"0",right:"0",bottom:"0",pointerEvents:"none"},i.a.createElement("span",{ref:b,style:{pointerEvents:"auto"}},i.a.createElement(c.b,{...v,onClose:m,onScroll:function(t){const{onScroll:n}=e;n&&n(t)},customCloseDelegate:f,ref:t},n))):null}},DXuF:function(e,t,n){e.exports={swatches:"swatches-vBKBthtD",swatch:"swatch-vBKBthtD",hover:"hover-vBKBthtD",empty:"empty-vBKBthtD",white:"white-vBKBthtD",selected:"selected-vBKBthtD",contextItem:"contextItem-vBKBthtD"}},F0Qt:function(e){e.exports=JSON.parse('{"wrapper":"wrapper-21v50zE8","input":"input-24iGIobO","box":"box-3574HVnv","icon":"icon-2jsUbtec","noOutline":"noOutline-3VoWuntz","intent-danger":"intent-danger-1Sr9dowC","check":"check-382c8Fu1","dot":"dot-3gRd-7Qt"}')},N5tr:function(e,t,n){"use strict";n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return p}));var o=n("q1tI"),i=n.n(o),s=n("TSYQ"),r=n("tWVy"),a=n("JWMC"),c=n("ijHL"),l=n("v1bN");const u=l;function h(e){const{reference:t,...n}=e,o={...n,ref:t};return i.a.createElement(e.href?"a":"div",o)}function d(e){e.stopPropagation()}function p(e){
const{id:t,role:n,"aria-selected":u,className:p,title:m,labelRowClassName:v,labelClassName:f,shortcut:b,forceShowShortcuts:g,icon:w,isActive:C,isDisabled:_,isHovered:E,appearAsDisabled:y,label:O,link:S,showToolboxOnHover:N,target:k,rel:I,toolbox:T,reference:x,onMouseOut:j,onMouseOver:P,suppressToolboxClick:M=!0,theme:U=l}=e,D=Object(c.b)(e),B=Object(o.useRef)(null);return i.a.createElement(h,{...D,id:t,role:n,"aria-selected":u,className:s(p,U.item,w&&U.withIcon,{[U.isActive]:C,[U.isDisabled]:_||y,[U.hovered]:E}),title:m,href:S,target:k,rel:I,reference:function(e){B.current=e,"function"==typeof x&&x(e);"object"==typeof x&&(x.current=e)},onClick:function(t){const{dontClosePopup:n,onClick:o,onClickArg:i,trackEventObject:s}=e;if(_)return;s&&Object(a.trackEvent)(s.category,s.event,s.label);o&&o(i,t);n||Object(r.b)()},onContextMenu:function(t){const{trackEventObject:n,trackRightClick:o}=e;n&&o&&Object(a.trackEvent)(n.category,n.event,n.label+"_rightClick")},onMouseUp:function(t){const{trackEventObject:n,trackMouseWheelClick:o}=e;if(1===t.button&&S&&n){let e=n.label;o&&(e+="_mouseWheelClick"),Object(a.trackEvent)(n.category,n.event,e)}},onMouseOver:P,onMouseOut:j},void 0!==w&&i.a.createElement("div",{className:U.icon,dangerouslySetInnerHTML:{__html:w}}),i.a.createElement("div",{className:s(U.labelRow,v)},i.a.createElement("div",{className:s(U.label,f)},O)),(void 0!==b||g)&&i.a.createElement("div",{className:U.shortcut},(A=b)&&A.split("+").join(" + ")),void 0!==T&&i.a.createElement("div",{onClick:M?d:void 0,className:s(U.toolbox,{[U.showOnHover]:N})},T));var A}},Oqo1:function(e,t,n){e.exports={opacity:"opacity-2UqCUhku",opacitySlider:"opacitySlider-2UqCUhku",opacitySliderGradient:"opacitySliderGradient-2UqCUhku",pointer:"pointer-2UqCUhku",dragged:"dragged-2UqCUhku",opacityPointerWrap:"opacityPointerWrap-2UqCUhku",opacityInputWrap:"opacityInputWrap-2UqCUhku",opacityInput:"opacityInput-2UqCUhku",opacityInputPercent:"opacityInputPercent-2UqCUhku"}},"P4l+":function(e,t,n){},U1eG:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var o=n("q1tI"),i=n("TSYQ"),s=n("Eyy1"),r=n("Hr11"),a=n("Oqo1");class c extends o.PureComponent{constructor(e){super(e),this._container=null,this._pointer=null,this._raf=null,this._refContainer=e=>{this._container=e},this._refPointer=e=>{this._pointer=e},this._handlePosition=e=>{null===this._raf&&(this._raf=requestAnimationFrame(()=>{const t=Object(s.ensureNotNull)(this._container),n=Object(s.ensureNotNull)(this._pointer),o=t.getBoundingClientRect(),i=n.offsetWidth,a=e.clientX-i/2-o.left,c=Object(r.clamp)(a/(o.width-i),0,1);this.setState({inputOpacity:Math.round(100*c).toString()}),this.props.onChange(c),this._raf=null}))},this._onSliderClick=e=>{this._handlePosition(e.nativeEvent),this._dragSubscribe()},this._mouseUp=e=>{this.setState({isPointerDragged:!1}),this._dragUnsubscribe(),this._handlePosition(e)},this._mouseMove=e=>{this.setState({isPointerDragged:!0}),this._handlePosition(e)},this._onTouchStart=e=>{this._handlePosition(e.nativeEvent.touches[0])},this._handleTouch=e=>{
this.setState({isPointerDragged:!0}),this._handlePosition(e.nativeEvent.touches[0])},this._handleTouchEnd=()=>{this.setState({isPointerDragged:!1})},this._handleInput=e=>{const t=e.currentTarget.value,n=Number(t)/100;this.setState({inputOpacity:t}),Number.isNaN(n)||n>1||this.props.onChange(n)},this.state={inputOpacity:Math.round(100*e.opacity).toString(),isPointerDragged:!1}}componentWillUnmount(){null!==this._raf&&(cancelAnimationFrame(this._raf),this._raf=null),this._dragUnsubscribe()}render(){const{color:e,opacity:t,hideInput:n}=this.props,{inputOpacity:s,isPointerDragged:r}=this.state,c={color:e||void 0};return o.createElement("div",{className:a.opacity},o.createElement("div",{className:a.opacitySlider,style:c,ref:this._refContainer,onMouseDown:this._onSliderClick,onTouchStart:this._onTouchStart,onTouchMove:this._handleTouch,onTouchEnd:this._handleTouchEnd},o.createElement("div",{className:a.opacitySliderGradient,style:{backgroundImage:`linear-gradient(90deg, transparent, ${e})`}}),o.createElement("div",{className:a.opacityPointerWrap},o.createElement("div",{className:i(a.pointer,r&&a.dragged),style:{left:100*t+"%"},ref:this._refPointer}))),!n&&o.createElement("div",{className:a.opacityInputWrap},o.createElement("input",{type:"text",className:a.opacityInput,value:s,onChange:this._handleInput}),o.createElement("span",{className:a.opacityInputPercent},"%")))}_dragSubscribe(){const e=Object(s.ensureNotNull)(this._container).ownerDocument;e&&(e.addEventListener("mouseup",this._mouseUp),e.addEventListener("mousemove",this._mouseMove))}_dragUnsubscribe(){const e=Object(s.ensureNotNull)(this._container).ownerDocument;e&&(e.removeEventListener("mousemove",this._mouseMove),e.removeEventListener("mouseup",this._mouseUp))}}},V3OP:function(e,t,n){"use strict";var o=n("q1tI"),i=n("Vdly"),s=n("FQhm");function r(e,t){Object(o.useEffect)(()=>(s.subscribe(e,t,null),()=>{s.unsubscribe(e,t,null)}),[e,t])}var a=n("eJTA");function c(){const[e,t]=Object(o.useState)(Object(i.getJSON)("pickerCustomColors",[]));r("add_new_custom_color",n=>t(l(n,e))),r("remove_custom_color",n=>t(u(n,e)));const n=Object(o.useCallback)(t=>{const n=t?Object(a.parseRgb)(t):null;e.some(e=>null!==e&&null!==n&&Object(a.areEqualRgb)(Object(a.parseRgb)(e),n))||(s.emit("add_new_custom_color",t),Object(i.setJSON)("pickerCustomColors",l(t,e)))},[e]),c=Object(o.useCallback)(t=>{(t>=0||t<e.length)&&(s.emit("remove_custom_color",t),Object(i.setJSON)("pickerCustomColors",u(t,e)))},[e]);return[e,n,c]}function l(e,t){const n=t.slice();return n.push(e),n.length>29&&n.shift(),n}function u(e,t){return t.filter((t,n)=>e!==n)}n.d(t,"a",(function(){return c}))},htM8:function(e,t,n){"use strict";var o=n("YFKU"),i=n("q1tI"),s=n.n(i),r=n("TSYQ"),a=n.n(r),c=n("eJTA"),l=n("Eyy1"),u=n("qFKp"),h=n("9dlw"),d=n("N5tr");const p=i.createContext(void 0);var m=n("wLjq"),v=n("aVjL"),f=n("DXuF");function b(e){const{index:t,color:n,selected:a,onSelect:c}=e,[b,g]=Object(i.useState)(!1),w=Object(i.useContext)(p),C=Object(i.useRef)(null),_=Boolean(w)&&!u.CheckMobile.any()
;return s.a.createElement(s.a.Fragment,null,s.a.createElement("div",{ref:C,style:n?{color:n}:void 0,className:r(f.swatch,b&&f.hover,a&&f.selected,!n&&f.empty,String(n).toLowerCase()===m.c&&f.white),onClick:function(){c(n)},onContextMenu:_?E:void 0}),_&&s.a.createElement(h.a,{isOpened:b,onClose:E,position:function(){const e=Object(l.ensureNotNull)(C.current).getBoundingClientRect();return{x:e.left,y:e.top+e.height+4}},onClickOutside:E},s.a.createElement(d.b,{className:f.contextItem,label:Object(o.t)("Remove color"),icon:v,onClick:function(){E(),Object(l.ensureDefined)(w)(t)},dontClosePopup:!0})));function E(){g(!b)}}class g extends i.PureComponent{constructor(){super(...arguments),this._onSelect=e=>{const{onSelect:t}=this.props;t&&t(e)}}render(){const{colors:e,color:t,children:n}=this.props;if(!e)return null;const o=t?Object(c.parseRgb)(String(t)):void 0;return i.createElement("div",{className:f.swatches},e.map((e,t)=>i.createElement(b,{key:String(e)+t,index:t,color:e,selected:o&&Object(c.areEqualRgb)(o,Object(c.parseRgb)(String(e))),onSelect:this._onSelect})),n)}}var w=n("U1eG"),C=n("mwqF");function _(e){const t="Invalid RGB color: "+e;if(null===e)throw new Error(t);const n=e.match(/^#?([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})$/i);if(null===n)throw new Error(t);const[,o,i,s]=n;if(!o||!i||!s)throw new Error(t);const r=parseInt(o,16)/255,a=parseInt(i,16)/255,c=parseInt(s,16)/255,l=Math.max(r,a,c),u=Math.min(r,a,c);let h;const d=l,p=l-u,m=0===l?0:p/l;if(l===u)h=0;else{switch(l){case r:h=(a-c)/p+(a<c?6:0);break;case a:h=(c-r)/p+2;break;case c:h=(r-a)/p+4;break;default:h=0}h/=6}return{h,s:m,v:d}}var E=n("UXvI"),y=n("lY1a");class O extends i.PureComponent{constructor(){super(...arguments),this._container=null,this._refContainer=e=>{this._container=e},this._handlePosition=e=>{const{hsv:{h:t},onChange:n}=this.props;if(!n)return;const o=Object(l.ensureNotNull)(this._container).getBoundingClientRect(),i=e.clientX-o.left,s=e.clientY-o.top;let r=i/o.width;r<0?r=0:r>1&&(r=1);let a=1-s/o.height;a<0?a=0:a>1&&(a=1),n({h:t,s:r,v:a})},this._mouseDown=e=>{window.addEventListener("mouseup",this._mouseUp),window.addEventListener("mousemove",this._mouseMove)},this._mouseUp=e=>{window.removeEventListener("mousemove",this._mouseMove),window.removeEventListener("mouseup",this._mouseUp),this._handlePosition(e)},this._mouseMove=Object(E.default)(this._handlePosition,100),this._handleTouch=e=>{this._handlePosition(e.nativeEvent.touches[0])}}render(){const{className:e,hsv:{h:t,s:n,v:o}}=this.props,s=`hsl(${360*t}, 100%, 50%)`;return i.createElement("div",{className:a()(y.saturation,e),style:{backgroundColor:s},ref:this._refContainer,onMouseDown:this._mouseDown,onTouchStart:this._handleTouch,onTouchMove:this._handleTouch},i.createElement("div",{className:y.pointer,style:{left:100*n+"%",top:100*(1-o)+"%"}}))}}var S=n("jpE+");class N extends i.PureComponent{constructor(){super(...arguments),this._container=null,this._refContainer=e=>{this._container=e},this._handlePosition=e=>{const{hsv:{s:t,v:n},onChange:o}=this.props;if(!o)return
;const i=Object(l.ensureNotNull)(this._container).getBoundingClientRect();let s=(e.clientY-i.top)/i.height;s<0?s=0:s>1&&(s=1),o({h:s,s:t,v:n})},this._mouseDown=e=>{window.addEventListener("mouseup",this._mouseUp),window.addEventListener("mousemove",this._mouseMove)},this._mouseUp=e=>{window.removeEventListener("mousemove",this._mouseMove),window.removeEventListener("mouseup",this._mouseUp),this._handlePosition(e)},this._mouseMove=Object(E.default)(this._handlePosition,100),this._handleTouch=e=>{this._handlePosition(e.nativeEvent.touches[0])}}render(){const{className:e,hsv:{h:t}}=this.props;return i.createElement("div",{className:a()(S.hue,e)},i.createElement("div",{className:S.pointerContainer,ref:this._refContainer,onMouseDown:this._mouseDown,onTouchStart:this._handleTouch,onTouchMove:this._handleTouch},i.createElement("div",{className:S.pointer,style:{top:100*t+"%"}})))}}var k=n("uJfL");const I=window.t("Add",{context:"Color Picker"});class T extends i.PureComponent{constructor(e){super(e),this._handleHSV=e=>{const t=function(e){const{h:t,s:n,v:o}=e;let i,s,r;const a=Math.floor(6*t),c=6*t-a,l=o*(1-n),u=o*(1-c*n),h=o*(1-(1-c)*n);switch(a%6){case 0:i=o,s=h,r=l;break;case 1:i=u,s=o,r=l;break;case 2:i=l,s=o,r=h;break;case 3:i=l,s=u,r=o;break;case 4:i=h,s=l,r=o;break;case 5:i=o,s=l,r=u;break;default:i=0,s=0,r=0}return"#"+[255*i,255*s,255*r].map(e=>("0"+Math.round(e).toString(16)).replace(/.+?([a-f0-9]{2})$/i,"$1")).join("")}(e)||"#000000";this.setState({color:t,inputColor:t.replace(/^#/,""),hsv:e}),this.props.onSelect(t)},this._handleInput=e=>{const t=e.currentTarget.value;try{const e=_(t),n="#"+t;this.setState({color:n,inputColor:t,hsv:e}),this.props.onSelect(n)}catch(e){this.setState({inputColor:t})}},this._handleAddColor=()=>this.props.onAdd(this.state.color);const t=e.color||"#000000";this.state={color:t,inputColor:t.replace(/^#/,""),hsv:_(t)}}render(){const{color:e,hsv:t,inputColor:n}=this.state;return i.createElement("div",{className:k.container},i.createElement("div",{className:k.form},i.createElement("div",{className:k.swatch,style:{backgroundColor:e}}),i.createElement("div",{className:k.inputWrap},i.createElement("span",{className:k.inputHash},"#"),i.createElement("input",{type:"text",className:k.input,value:n,onChange:this._handleInput})),i.createElement("div",{className:k.buttonWrap},i.createElement(C.a,{size:"s",onClick:this._handleAddColor},I))),i.createElement("div",{className:k.hueSaturationWrap},i.createElement(O,{className:k.saturation,hsv:t,onChange:this._handleHSV}),i.createElement(N,{className:k.hue,hsv:t,onChange:this._handleHSV})))}}var x=n("1Kfe");n.d(t,"a",(function(){return M}));const j=window.t("Add Custom Color",{context:"Color Picker"}),P=window.t("Opacity",{context:"Color Picker"});class M extends i.PureComponent{constructor(e){super(e),this._handleAddColor=e=>{this.setState({isCustom:!1}),this._onToggleCustom(!1);const{onAddColor:t}=this.props;t&&t(e)},this._handleSelectColor=e=>{const{onColorChange:t}=this.props,{isCustom:n}=this.state;t&&t(e,n)},this._handleCustomClick=()=>{
this.setState({isCustom:!0}),this._onToggleCustom(!0)},this._handleOpacity=e=>{const{onOpacityChange:t}=this.props;t&&t(e)},this.state={isCustom:!1}}componentDidUpdate(e,t){e.selectOpacity!==this.props.selectOpacity&&this.props.menu&&this.props.menu.update()}render(){const{color:e,opacity:t,selectCustom:n,selectOpacity:o,customColors:s,onRemoveCustomColor:r}=this.props,{isCustom:c}=this.state,l="number"==typeof t?t:1;return c?i.createElement(T,{color:e,onSelect:this._handleSelectColor,onAdd:this._handleAddColor}):i.createElement("div",{className:x.container},i.createElement(g,{colors:m.a,color:e,onSelect:this._handleSelectColor}),i.createElement(g,{colors:m.b,color:e,onSelect:this._handleSelectColor}),i.createElement("div",{className:x.separator}),i.createElement(p.Provider,{value:r},i.createElement(g,{colors:s,color:e,onSelect:this._handleSelectColor},n&&i.createElement("div",{className:a()(x.customButton,"apply-common-tooltip"),onClick:this._handleCustomClick,title:j}))),o&&i.createElement(i.Fragment,null,i.createElement("div",{className:x.sectionTitle},P),i.createElement(w.a,{color:e,opacity:l,onChange:this._handleOpacity})))}_onToggleCustom(e){const{onToggleCustom:t}=this.props;t&&t(e)}}},"jpE+":function(e,t,n){e.exports={hue:"hue-1Mi0KyO-",pointer:"pointer-1Mi0KyO-",pointerContainer:"pointerContainer-1Mi0KyO-"}},lY1a:function(e,t,n){e.exports={saturation:"saturation-2uNV-KY0",pointer:"pointer-2uNV-KY0"}},mwqF:function(e,t,n){"use strict";var o=n("q1tI"),i=n.n(o),s=n("TSYQ"),r=n("wwkJ"),a=n("ZWNO");function c(e,t){const{intent:n="primary",size:o="m",appearance:i="default",useFullWidth:r=!1,tabIndex:c=0,icon:l,className:u,isGrouped:h,cellState:d,disablePositionAdjustment:p=!1}=t,m=function(e,t){let n="";return 0!==e&&(1&e&&(n=s(n,t["no-corner-top-left"])),2&e&&(n=s(n,t["no-corner-top-right"])),4&e&&(n=s(n,t["no-corner-bottom-right"])),8&e&&(n=s(n,t["no-corner-bottom-left"]))),n}(Object(a.a)(d),e);return s(u,e.button,e["size-"+o],e["intent-"+n],e["appearance-"+i],r&&e["full-width"],-1===c&&e.noOutline,l&&"s"!==o&&e["with-icon"],m,h&&e.grouped,!p&&e["adjust-position"],d.isTop&&e["first-row"],d.isLeft&&e["first-col"])}var l=n("2A9e");n("+l/S");function u(e){const{className:t,intent:n,size:a,appearance:u,disabled:h,useFullWidth:d,reference:p,icon:m,children:v,tabIndex:f,...b}=e,{isGrouped:g,cellState:w,disablePositionAdjustment:C}=Object(o.useContext)(r.a),_=c(l,{intent:n,size:a,appearance:u,disabled:h,useFullWidth:d,tabIndex:f,icon:m,isGrouped:g,cellState:w,disablePositionAdjustment:C});return i.a.createElement("button",{className:s(_,t),disabled:h,ref:p,tabIndex:f,...b},m&&"s"!==a&&i.a.createElement("span",{className:l.icon},m),i.a.createElement("span",{className:l.content},v))}n.d(t,"a",(function(){return u}))},tUxN:function(e,t){e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 11 9" width="11" height="9" fill="none"><path stroke-width="2" d="M0.999878 4L3.99988 7L9.99988 1"/></svg>'},uJfL:function(e,t,n){e.exports={container:"container-1r82-bI2",form:"form-1r82-bI2",swatch:"swatch-1r82-bI2",
inputWrap:"inputWrap-1r82-bI2",inputHash:"inputHash-1r82-bI2",input:"input-1r82-bI2",buttonWrap:"buttonWrap-1r82-bI2",hueSaturationWrap:"hueSaturationWrap-1r82-bI2",saturation:"saturation-1r82-bI2",hue:"hue-1r82-bI2"}},v1bN:function(e,t,n){e.exports={"tablet-small-breakpoint":"screen and (max-width: 428px)",item:"item-2IihgTnv",hovered:"hovered-2IihgTnv",isDisabled:"isDisabled-2IihgTnv",isActive:"isActive-2IihgTnv",shortcut:"shortcut-2IihgTnv",toolbox:"toolbox-2IihgTnv",withIcon:"withIcon-2IihgTnv",icon:"icon-2IihgTnv",labelRow:"labelRow-2IihgTnv",label:"label-2IihgTnv",showOnHover:"showOnHover-2IihgTnv"}},vCF3:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var o=n("q1tI"),i=n("TSYQ"),s=n("Iivm"),r=n("tUxN"),a=n("F0Qt");n("P4l+");function c(e){const t=i(a.box,a["intent-"+e.intent],{[a.check]:!Boolean(e.indeterminate),[a.dot]:Boolean(e.indeterminate),[a.noOutline]:-1===e.tabIndex}),n=i(a.wrapper,e.className);return o.createElement("span",{className:n,title:e.title},o.createElement("input",{id:e.id,tabIndex:e.tabIndex,className:a.input,type:"checkbox",name:e.name,checked:e.checked,disabled:e.disabled,value:e.value,autoFocus:e.autoFocus,role:e.role,onChange:function(){e.onChange&&e.onChange(e.value)},ref:e.reference}),o.createElement("span",{className:t},o.createElement(s.a,{icon:r,className:a.icon})))}},wLjq:function(e,t,n){"use strict";n.d(t,"c",(function(){return i})),n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return l}));var o=n("HGP3");const i=o.colorsPalette["color-white"],s=["ripe-red","tan-orange","banana-yellow","iguana-green","minty-green","sky-blue","tv-blue","deep-blue","grapes-purple","berry-pink"],r=[200,300,400,500,600,700,800,900].map(e=>"color-cold-gray-"+e);r.unshift("color-white"),r.push("color-black"),s.forEach(e=>{r.push(`color-${e}-500`)});const a=r.map(e=>o.colorsPalette[e]),c=[];[100,200,300,400,700,900].forEach(e=>{s.forEach(t=>{c.push(`color-${t}-${e}`)})});const l=c.map(e=>o.colorsPalette[e])},"x0D+":function(e,t,n){var o,i,s;i=[t],void 0===(s="function"==typeof(o=function(e){"use strict";function t(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}Object.defineProperty(e,"__esModule",{value:!0});var n=!1;if("undefined"!=typeof window){var o={get passive(){n=!0}};window.addEventListener("testPassive",null,o),window.removeEventListener("testPassive",null,o)}var i="undefined"!=typeof window&&window.navigator&&window.navigator.platform&&/iP(ad|hone|od)/.test(window.navigator.platform),s=[],r=!1,a=-1,c=void 0,l=void 0,u=function(e){return s.some((function(t){return!(!t.options.allowTouchMove||!t.options.allowTouchMove(e))}))},h=function(e){var t=e||window.event;return!!u(t.target)||1<t.touches.length||(t.preventDefault&&t.preventDefault(),!1)},d=function(){setTimeout((function(){void 0!==l&&(document.body.style.paddingRight=l,l=void 0),void 0!==c&&(document.body.style.overflow=c,c=void 0)}))};e.disableBodyScroll=function(e,o){if(i){
if(!e)return void console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.");if(e&&!s.some((function(t){return t.targetElement===e}))){var d={targetElement:e,options:o||{}};s=[].concat(t(s),[d]),e.ontouchstart=function(e){1===e.targetTouches.length&&(a=e.targetTouches[0].clientY)},e.ontouchmove=function(t){var n,o,i,s;1===t.targetTouches.length&&(o=e,s=(n=t).targetTouches[0].clientY-a,!u(n.target)&&(o&&0===o.scrollTop&&0<s||(i=o)&&i.scrollHeight-i.scrollTop<=i.clientHeight&&s<0?h(n):n.stopPropagation()))},r||(document.addEventListener("touchmove",h,n?{passive:!1}:void 0),r=!0)}}else{m=o,setTimeout((function(){if(void 0===l){var e=!!m&&!0===m.reserveScrollBarGap,t=window.innerWidth-document.documentElement.clientWidth;e&&0<t&&(l=document.body.style.paddingRight,document.body.style.paddingRight=t+"px")}void 0===c&&(c=document.body.style.overflow,document.body.style.overflow="hidden")}));var p={targetElement:e,options:o||{}};s=[].concat(t(s),[p])}var m},e.clearAllBodyScrollLocks=function(){i?(s.forEach((function(e){e.targetElement.ontouchstart=null,e.targetElement.ontouchmove=null})),r&&(document.removeEventListener("touchmove",h,n?{passive:!1}:void 0),r=!1),s=[],a=-1):(d(),s=[])},e.enableBodyScroll=function(e){if(i){if(!e)return void console.error("enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.");e.ontouchstart=null,e.ontouchmove=null,s=s.filter((function(t){return t.targetElement!==e})),r&&0===s.length&&(document.removeEventListener("touchmove",h,n?{passive:!1}:void 0),r=!1)}else 1===s.length&&s[0].targetElement===e?(d(),s=[]):s=s.filter((function(t){return t.targetElement!==e}))}})?o.apply(t,i):o)||(e.exports=s)}}]);

5
static/charting_library/bundles/31.8d2b7a538755fd1bb760.js

@ -0,0 +1,5 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[31],{"8NUT":function(e,t,n){e.exports={"small-height-breakpoint":"screen and (max-height: 360px)",footer:"footer-KW8170fm",submitButton:"submitButton-KW8170fm",buttons:"buttons-KW8170fm"}},AnDN:function(e,t,n){"use strict";var o=n("q1tI"),l=n.n(o),r=n("TSYQ"),i=n.n(r),c=n("Eyy1"),s=n("ECWH"),a=n("ldG2"),u=n("xADF"),d=n("Iivm"),b=n("VGf/"),h=n("lVA2");function f(e){const{isDropped:t}=e;return l.a.createElement(d.a,{className:i()(h.icon,t&&h.dropped),icon:b})}function m(e){const{className:t,disabled:n,isDropped:o}=e;return l.a.createElement("span",{className:i()(h.button,n&&h.disabled,t)},l.a.createElement(f,{isDropped:o}))}var p=n("9dlw"),O=n("UmON");n.d(t,"a",(function(){return v}));const v=l.a.forwardRef((e,t)=>{const{listboxId:n,className:r,listboxClassName:d,listboxTabIndex:b,hideArrowButton:h,matchButtonAndListboxWidths:f,disabled:v,isOpened:g,scrollWrapReference:C,listboxReference:j,size:w="medium",onClose:E,onOpen:y,onListboxFocus:S,onListboxBlur:N,onListboxKeyDown:_,buttonChildren:k,children:x,caretClassName:B,listboxAria:R,...z}=e,F=Object(o.useRef)(null),D=Object(o.useCallback)(()=>{const e=Object(c.ensureNotNull)(F.current).getBoundingClientRect(),t={x:e.left,y:e.top+e.height};return f&&(t.overrideWidth=e.width),t},[]),W=!h&&l.a.createElement(u.b,null,l.a.createElement(m,{isDropped:g,disabled:v,className:B}));return l.a.createElement(l.a.Fragment,null,l.a.createElement(a.a,{...z,"data-role":"listbox","aria-expanded":g,"aria-owns":n,"aria-controls":n,"aria-disabled":v,disabled:v,className:i()(O.button,r),size:w,ref:Object(s.a)([F,t]),middleSlot:l.a.createElement(u.c,null,l.a.createElement("span",{className:i()(O["button-children"],h&&O.hiddenArrow)},k)),endSlot:W}),l.a.createElement(p.a,{...R,id:n,className:d,tabIndex:b,isOpened:g,position:D,onClose:E,onOpen:y,doNotCloseOn:F.current,reference:j,scrollWrapReference:C,onFocus:S,onBlur:N,onKeyDown:_},x))});v.displayName="DisclosureMenuView"},GQPI:function(e,t,n){"use strict";n.d(t,"c",(function(){return r})),n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return c}));var o=n("q1tI"),l=n("/3z9");function r(e){return Object(o.useCallback)(t=>{switch(t){case 13:case 32:return e(),!0;default:return!1}},[e])}function i(e,t){return Object(o.useCallback)(n=>{if(!e)return!1;switch(n){case 9:case l.Modifiers.Shift+9:case 27:return t(),!0;default:return!1}},[e,t])}function c(e,t){return Object(o.useCallback)(n=>{if(e)return!1;switch(n){case 40:case 38:return t(),!0;default:return!1}},[e,t])}},PECq:function(e,t,n){"use strict";var o=n("q1tI"),l=n.n(o),r=n("Eyy1"),i=n("RMU6"),c=n("K9GE");const s={duration:200},a={vertical:{scrollSize:"scrollHeight",clientSize:"clientHeight",start:"top",end:"bottom",size:"height"},horizontal:{scrollSize:"scrollWidth",clientSize:"clientWidth",start:"left",end:"right",size:"width"}};function u(e,t){const n=a[e];return t[n.scrollSize]>t[n.clientSize]}function d(e,t,n,o,l,r){const i=function(e,t,n){const o=a[e];return{start:0,
middle:-1*(Math.floor(n[o.size]/2)-Math.floor(t[o.size]/2)),end:-1*(n[o.size]-t[o.size])}}(e,o,l);let s=0;if(function(e,t,n){const o=a[e];return t[o.start]<n[o.start]-n[o.size]/2||t[o.end]>n[o.end]+n[o.size]/2}(e,o,l))s=i.middle;else{const t=function(e){const{start:t,middle:n,end:o}=e,l=new Map([[Math.abs(t),{key:"start",value:Math.sign(t)}],[Math.abs(n),{key:"middle",value:Math.sign(n)}],[Math.abs(o),{key:"end",value:Math.sign(o)}]]),r=Math.min(...l.keys());return l.get(r)}(function(e,t,n){const o=a[e],l=t[o.start]+Math.floor(t[o.size]/2),r=n[o.start]+Math.floor(n[o.size]/2);return{start:t[o.start]-n[o.start],middle:l-r,end:t[o.end]-n[o.end]}}(e,o,l));s=void 0!==t?i[t.key]:0}return function(e){const{additionalScroll:t=0,duration:n=c.b,func:o=c.c.easeInOutCubic,onScrollEnd:l,target:r,wrap:i,direction:s="vertical"}=e;let{targetRect:a,wrapRect:u}=e;a=null!=a?a:r.getBoundingClientRect(),u=null!=u?u:i.getBoundingClientRect();const d=("vertical"===s?a.top-u.top:a.left-u.left)+t,b="vertical"===s?"scrollTop":"scrollLeft",h=i?i[b]:0;let f,m=0;return m=window.requestAnimationFrame((function e(t){let r;if(f?r=t-f:(r=0,f=t),r>=n)return i[b]=h+d,void(l&&l());const c=h+d*o(r/n);i[b]=Math.floor(c),m=window.requestAnimationFrame(e)})),function(){window.cancelAnimationFrame(m),l&&l()}}({...r,target:t,targetRect:o,wrap:n,wrapRect:l,additionalScroll:s,direction:e})}class b{constructor(e=null){this._container=null,this._lastScrolledElement=null,this._stopVerticalScroll=null,this._stopHorizontalScroll=null,this._container=e}scrollTo(e,t=s){if(null!==this._container&&null!==e&&!function(e,t){const n=e.getBoundingClientRect(),o=t.getBoundingClientRect();return n.top>=o.top&&n.bottom<=o.bottom&&n.left>=o.left&&n.right<=o.right}(e,this._container)){const n=e.getBoundingClientRect(),o=this._container.getBoundingClientRect();this.stopScroll(),u("vertical",this._container)&&(this._stopVerticalScroll=d("vertical",e,this._container,n,o,this._modifyOptions("vertical",t))),u("horizontal",this._container)&&(this._stopHorizontalScroll=d("horizontal",e,this._container,n,o,this._modifyOptions("horizontal",t)))}this._lastScrolledElement=e}scrollToLastElement(e){this.scrollTo(this._lastScrolledElement,e)}stopScroll(){null!==this._stopVerticalScroll&&this._stopVerticalScroll(),null!==this._stopHorizontalScroll&&this._stopHorizontalScroll()}setContainer(e){var t;this._container=e,(null===(t=this._container)||void 0===t?void 0:t.contains(this._lastScrolledElement))||(this._lastScrolledElement=null)}destroy(){this.stopScroll(),this._container=null,this._lastScrolledElement=null}_handleScrollEnd(e){"vertical"===e?this._stopVerticalScroll=null:this._stopHorizontalScroll=null}_modifyOptions(e,t){return Object.assign({},t,{onScrollEnd:()=>{this._handleScrollEnd(e),void 0!==t.onScrollEnd&&t.onScrollEnd()}})}}var h=n("ECWH"),f=n("N5tr"),m=n("hbEN"),p=n("UXvI");var O=n("AnDN"),v=n("GQPI"),g=n("zS+2"),C=n("/3z9"),j=n("p4SX");function w(e){return!e.readonly}function E(e,t){var n
;return null!==(n=null==t?void 0:t.id)&&void 0!==n?n:Object(i.a)(e,"item",null==t?void 0:t.value)}function y(e){var t,n;const{selectedItem:o,placeholder:r}=e;if(!o)return l.a.createElement("span",{className:j.placeholder},r);const i=null!==(n=null!==(t=o.selectedContent)&&void 0!==t?t:o.content)&&void 0!==n?n:o.value;return l.a.createElement("span",null,i)}n.d(t,"a",(function(){return S}));const S=l.a.forwardRef((e,t)=>{const{id:n,menuClassName:c,menuItemClassName:s,tabIndex:a=0,disabled:u,highlight:d,intent:j,hideArrowButton:S,placeholder:N,value:_,"aria-labelledby":k,onFocus:x,onBlur:B,onClick:R,onChange:z,...F}=e;let{items:D}=e;if(N){D=[{value:void 0,content:N,id:Object(i.a)(n,"placeholder")},...D]}const{isOpened:W,isFocused:K,highlight:A,intent:M,open:I,onOpen:q,close:T,toggle:L,buttonFocusBindings:H,onButtonClick:V,buttonRef:J,listboxRef:U}=Object(g.a)({disabled:u,intent:j,highlight:d,onFocus:x,onBlur:B,onClick:R}),Y=function(e){const t=Object(o.useRef)(null);return Object(o.useEffect)(()=>(t.current=new b(e),()=>Object(r.ensureNotNull)(t.current).destroy()),[]),t}(),G=Object(o.useRef)(null),P=Object(o.useRef)(new WeakMap),Q=D.filter(w),X=Q.find(e=>e.value===_);Object(o.useEffect)(()=>se(),[X,se]);const Z=Object(i.b)(k,n),$=Z.length>0?Z:void 0,ee=Object(i.a)(n,"listbox"),te=Object(o.useMemo)(()=>({role:"listbox","aria-labelledby":k,"aria-activedescendant":E(n,X)}),[k,X]),ne=function(e,t,n){const l=Object(o.useCallback)(()=>{const o=e.findIndex(e=>e.value===t);o!==e.length-1&&n&&n(e[o+1].value)},[e,t,n]),r=Object(o.useCallback)(()=>{const o=e.findIndex(e=>e.value===t);if(0===o)return;n&&n(e[o>0?o-1:0].value)},[e,t,n]),i=Object(o.useCallback)(()=>{n&&n(e[0].value)},[n,e]),c=Object(o.useCallback)(()=>{n&&n(e[e.length-1].value)},[n,e]);return Object(o.useCallback)(e=>{switch(e){case 40:return l(),!0;case 38:return r(),!0;case 34:return c(),!0;case 33:return i(),!0;default:return!1}},[l,r,i,c])}(Q,_,z),oe=Object(v.c)(L),le=Object(v.a)(W,T),re=Object(v.b)(W,I),ie=function(e){const t=Object(o.useRef)(""),n=Object(o.useMemo)(()=>Object(m.default)(()=>{t.current=""},500),[]),l=Object(o.useMemo)(()=>Object(p.default)(e,200),[e]);return Object(o.useCallback)(e=>{e.key.length>0&&e.key.length<3&&(t.current+=e.key,l(t.current,e),n())},[n,l])}((e,t)=>{const n=function(e,t){return e.find(e=>{var n;const o=t.toLowerCase();return"string"==typeof e.content&&e.content.toLowerCase().startsWith(o)||String(null!==(n=e.value)&&void 0!==n?n:"").toLowerCase().startsWith(o)})}(Q,e);void 0!==n&&z&&(t.stopPropagation(),W||I(),z(n.value))});return l.a.createElement(O.a,{...F,...H,id:n,role:"button",tabIndex:u?-1:a,"aria-haspopup":"listbox","aria-labelledby":$,disabled:u,hideArrowButton:S,isFocused:K,isOpened:W,highlight:A,intent:M,ref:Object(h.a)([J,t]),onClick:V,onOpen:function(){se({duration:0}),q()},onClose:T,onKeyDown:function(e){const t=Object(C.hashFromEvent)(e);if(oe(t)||le(t)||re(t))return void e.preventDefault();ie(e)},listboxId:ee,listboxTabIndex:-1,listboxClassName:c,listboxAria:te,listboxReference:U,
scrollWrapReference:function(e){G.current=e,Object(r.ensureNotNull)(Y.current).setContainer(e)},onListboxKeyDown:function(e){const t=Object(C.hashFromEvent)(e);if(ne(t)||oe(t)||le(t))return void e.preventDefault();ie(e)},buttonChildren:l.a.createElement(y,{selectedItem:X,placeholder:N})},D.map((e,t)=>{var o;if(e.readonly)return l.a.createElement(l.a.Fragment,{key:"readonly_item_"+t},e.content);const r=E(n,e);return l.a.createElement(f.b,{key:r,id:r,className:s,role:"option","aria-selected":_===e.value,isActive:_===e.value,label:null!==(o=e.content)&&void 0!==o?o:e.value,onClick:ce,onClickArg:e.value,reference:t=>function(e,t){P.current.set(e,t)}(e,t)})}));function ce(e){z&&z(e)}function se(e){if(W&&void 0!==X){const t=P.current.get(X);null!=t&&Object(r.ensureNotNull)(Y.current).scrollTo(t,e)}}});S.displayName="Select"},RMU6:function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return a}));const o=/\s/g;function l(e){return"string"==typeof e}function r(e){switch(typeof e){case"string":return e;case"number":case"bigint":return e.toString(10);case"boolean":case"symbol":return e.toString();default:return null}}function i(e){return e.trim().length>0}function c(e){return e.replace(o,"-")}function s(...e){const t=e.map(r).filter(l).filter(i).map(c);return(t.length>0&&t[0].startsWith("id_")?t:["id",...t]).join("_")}function a(...e){return e.map(r).filter(l).filter(i).join(" ")}},UmON:function(e,t,n){e.exports={button:"button-1WqyvKNY","button-children":"button-children-1WqyvKNY",hiddenArrow:"hiddenArrow-1WqyvKNY",invisibleFocusHandler:"invisibleFocusHandler-1WqyvKNY"}},"VGf/":function(e,t){e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 11 7" width="11" height="7" fill="none"><path stroke="currentColor" stroke-width="1.3" d="M.5 1.5l5 4 5-4"/></svg>'},lVA2:function(e,t,n){e.exports={button:"button-14c_DKWJ",disabled:"disabled-14c_DKWJ",hidden:"hidden-14c_DKWJ",icon:"icon-14c_DKWJ",dropped:"dropped-14c_DKWJ"}},p4SX:function(e,t,n){e.exports={placeholder:"placeholder-1J6emFeA"}},tmL0:function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var o=n("q1tI"),l=n.n(o),r=n("x0D+"),i=n("Eyy1"),c=n("qFKp");function s(e){const{reference:t,children:n,...i}=e,s=Object(o.useRef)(null),u=Object(o.useCallback)(e=>{t&&(t.current=e),c.CheckMobile.iOS()&&(null!==s.current&&Object(r.enableBodyScroll)(s.current),s.current=e,null!==s.current&&Object(r.disableBodyScroll)(s.current,{allowTouchMove:a(s)}))},[t]);return l.a.createElement("div",{ref:u,...i},n)}function a(e){return t=>{const n=Object(i.ensureNotNull)(e.current),o=document.activeElement;return!n.contains(t)||null!==o&&n.contains(o)&&o.contains(t)}}},ycFu:function(e,t,n){"use strict";n.d(t,"a",(function(){return b}));var o=n("q1tI"),l=n.n(o),r=n("TSYQ"),i=n.n(r),c=n("mwqF"),s=n("Eyy1"),a=(n("YFKU"),n("/3z9")),u=n("g89m"),d=n("8NUT");class b extends l.a.PureComponent{constructor(){super(...arguments),this._dialogRef=l.a.createRef(),this._handleClose=()=>{const{defaultActionOnClose:e,onSubmit:t,onCancel:n,onClose:o}=this.props
;switch(e){case"submit":t();break;case"cancel":n()}o()},this._handleCancel=()=>{this.props.onCancel(),this.props.onClose()},this._handleKeyDown=e=>{const{onSubmit:t,submitButtonDisabled:n,submitOnEnterKey:o}=this.props;switch(Object(a.hashFromEvent)(e)){case 13:!n&&o&&(e.preventDefault(),t())}}}render(){const{render:e,onClose:t,onSubmit:n,onCancel:o,footerLeftRenderer:r,submitButtonText:i,submitButtonDisabled:c,defaultActionOnClose:s,submitOnEnterKey:a,...d}=this.props;return l.a.createElement(u.a,{...d,ref:this._dialogRef,onKeyDown:this._handleKeyDown,render:this._renderChildren(),onClose:this._handleClose})}focus(){Object(s.ensureNotNull)(this._dialogRef.current).focus()}_renderChildren(){return e=>{const{render:t,footerLeftRenderer:n,additionalButtons:o,submitButtonText:r,submitButtonDisabled:s,onSubmit:a,cancelButtonText:u,showCancelButton:b=!0,submitButtonClassName:h,cancelButtonClassName:f,buttonsWrapperClassName:m}=this.props;return l.a.createElement(l.a.Fragment,null,t(e),l.a.createElement("div",{className:d.footer},n&&n(e.isSmallWidth),l.a.createElement("div",{className:i()(d.buttons,m)},o,b&&l.a.createElement(c.a,{className:f,name:"cancel",appearance:"stroke",onClick:this._handleCancel},null!=u?u:window.t("Cancel")),l.a.createElement("span",{className:d.submitButton},l.a.createElement(c.a,{className:h,disabled:s,name:"submit",onClick:a,"data-name":"submit-button"},null!=r?r:window.t("Ok"))))))}}}b.defaultProps={defaultActionOnClose:"submit",submitOnEnterKey:!0}},"zS+2":function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var o=n("q1tI"),l=n("Eyy1"),r=n("SpAO"),i=n("3F0O"),c=n("d700");function s(e){const{disabled:t,intent:n,highlight:s,onFocus:a,onBlur:u,onClick:d}=e,[b,h]=Object(o.useState)(!1),[f,m]=Object(r.a)(),p=f||b,O=null!=s?s:p,v=null!=n?n:p?"primary":"default",g=Object(o.useRef)(null),C=Object(o.useCallback)(()=>Object(l.ensureNotNull)(g.current).focus(),[g]),j=Object(o.useRef)(null),w=Object(o.useCallback)(()=>Object(l.ensureNotNull)(j.current).focus(),[j]),E=Object(o.useCallback)(()=>h(!0),[h]),y=Object(o.useCallback)(()=>{h(!1);const{activeElement:e}=document;e&&Object(c.b)(e)||C()},[h,C]),S=Object(o.useCallback)(()=>{b?y():E()},[b,y,E]),N=t?[]:[a,m.onFocus],_=t?[]:[u,m.onBlur],k=t?[]:[d,S],x=Object(i.a)(...N),B=Object(i.a)(..._),R=Object(i.a)(...k);return{isOpened:b,isFocused:p,highlight:O,intent:v,open:E,onOpen:w,close:y,toggle:S,buttonFocusBindings:{onFocus:x,onBlur:B},onButtonClick:R,buttonRef:g,listboxRef:j}}}}]);

4
static/charting_library/bundles/32.13ce02217cf8f9dd6d90.js

@ -0,0 +1,4 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[32],{"1shM":function(t,e,r){t.exports={"error-icon":"error-icon-3x-w99oG","intent-danger":"intent-danger-3x-w99oG","intent-warning":"intent-warning-3x-w99oG"}},"8d0Q":function(t,e,r){"use strict";var s=r("q1tI");function o(){const[t,e]=Object(s.useState)(!1);return[t,{onMouseOver:function(t){n(t)&&e(!0)},onMouseOut:function(t){n(t)&&e(!1)}}]}function n(t){return!t.currentTarget.contains(t.relatedTarget)}function a(t){const[e,r]=Object(s.useState)(!1);return Object(s.useEffect)(()=>{const e=e=>{if(null===t.current)return;const s=t.current.contains(e.target);r(s)};return document.addEventListener("mouseover",e),()=>document.removeEventListener("mouseover",e)},[]),e}r.d(e,"c",(function(){return o})),r.d(e,"a",(function(){return n})),r.d(e,"b",(function(){return a}))},"Db/h":function(t,e,r){t.exports={errors:"errors-3rBjZvef",show:"show-3rBjZvef",error:"error-3rBjZvef"}},VB86:function(t,e){t.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16" fill="none"><path fill="currentColor" fill-rule="evenodd" clip-rule="evenodd" d="M8 15c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm0 1c4.418 0 8-3.582 8-8s-3.582-8-8-8-8 3.582-8 8 3.582 8 8 8zm-1-12c0-.552.448-1 1-1s1 .448 1 1v4c0 .552-.448 1-1 1s-1-.448-1-1v-4zm1 7c-.552 0-1 .448-1 1s.448 1 1 1 1-.448 1-1-.448-1-1-1z"/></svg>'},VET0:function(t,e,r){"use strict";r.d(e,"a",(function(){return s}));r("q1tI");const s={bottom:{attachment:{horizontal:"left",vertical:"top"},targetAttachment:{horizontal:"left",vertical:"bottom"}},top:{attachment:{horizontal:"left",vertical:"bottom"},targetAttachment:{horizontal:"left",vertical:"top"}},topRight:{attachment:{horizontal:"right",vertical:"bottom"},targetAttachment:{horizontal:"right",vertical:"top"}},bottomRight:{attachment:{horizontal:"right",vertical:"top"},targetAttachment:{horizontal:"right",vertical:"bottom"}}}},dKnb:function(t,e,r){"use strict";r.d(e,"a",(function(){return h}));var s=r("q1tI"),o=r("wHCJ"),n=r("jh7f"),a=r("xADF"),i=r("3F0O"),c=r("ECWH");function h(t){var e;const{intent:r,onFocus:h,onBlur:l,onMouseOver:m,onMouseOut:d,containerReference:g=null,endSlot:p,hasErrors:u,hasWarnings:f,errors:w,warnings:b,alwaysShowAttachedErrors:v,iconHidden:E,messagesPosition:A,messagesAttachment:O,customErrorsAttachment:M,messagesRoot:S,inheritMessagesWidthFromTarget:R,disableMessagesRtlStyles:W,..._}=t,T=Object(n.b)({hasErrors:u,hasWarnings:f,errors:w,warnings:b,alwaysShowAttachedErrors:v,iconHidden:E,messagesPosition:A,messagesAttachment:O,customErrorsAttachment:M,messagesRoot:S,inheritMessagesWidthFromTarget:R,disableMessagesRtlStyles:W}),x=Object(i.a)(h,T.onFocus),y=Object(i.a)(l,T.onBlur),F=Object(i.a)(m,T.onMouseOver),z=Object(i.a)(d,T.onMouseOut);return s.createElement(s.Fragment,null,s.createElement(o.a,{..._,intent:null!==(e=T.intent)&&void 0!==e?e:r,onFocus:x,onBlur:y,onMouseOver:F,onMouseOut:z,containerReference:Object(c.a)([g,T.containerReference]),endSlot:s.createElement(s.Fragment,null,T.icon&&s.createElement(a.b,{icon:!0
},T.icon),p)}),T.renderedErrors)}},jh7f:function(t,e,r){"use strict";var s=r("q1tI"),o=r.n(s),n=r("TSYQ"),a=r("SpAO"),i=r("8d0Q"),c=r("xADF"),h=r("VET0"),l=r("uqKQ"),m=r("i8i4");var d=r("Db/h"),g=r("Ialn");class p extends s.PureComponent{render(){const{children:t=[],show:e=!1,customErrorClass:r,disableRtlStyles:o}=this.props,a=n(d.errors,{[d.show]:e},r),i=t.map((t,e)=>s.createElement("div",{className:d.error,key:e},t));let c={position:"absolute",top:this.props.top,width:this.props.width,height:this.props.height,bottom:void 0!==this.props.bottom?this.props.bottom:"100%",right:void 0!==this.props.right?this.props.right:0,left:this.props.left,zIndex:this.props.zIndex,maxWidth:this.props.maxWidth};if(Object(g.isRtl)()&&!o){const{left:t,right:e}=c;c={...c,left:e,right:t}}return s.createElement("div",{style:c,className:a},i)}}const u=Object(l.a)((f=p,(w=class extends s.PureComponent{constructor(t){super(t),this._getComponentInstance=t=>{this._instance=t},this._throttleCalcProps=()=>{requestAnimationFrame(()=>this.setState(this._calcProps(this.props)))},this.state=this._getStateFromProps()}componentDidMount(){this._instanceElem=m.findDOMNode(this._instance),this.props.attachOnce||this._subscribe(),this.setState(this._calcProps(this.props))}componentDidUpdate(t){t.children===this.props.children&&t.top===this.props.top&&t.left===this.props.left&&t.width===this.props.width||this.setState(this._getStateFromProps(),()=>this.setState(this._calcProps(this.props)))}render(){return s.createElement("div",{style:{position:"absolute",width:"100%",top:0,left:0}},s.createElement(f,{...this.props,ref:this._getComponentInstance,top:this.state.top,bottom:void 0!==this.state.bottom?this.state.bottom:"auto",right:void 0!==this.state.right?this.state.right:"auto",left:this.state.left,width:this.state.width,maxWidth:this.state.maxWidth},this.props.children))}componentWillUnmount(){this._unsubsribe()}_getStateFromProps(){return{bottom:this.props.bottom,left:this.props.left,right:this.props.right,top:void 0!==this.props.top?this.props.top:-1e4,width:this.props.inheritWidthFromTarget?this.props.target&&this.props.target.getBoundingClientRect().width:this.props.width,maxWidth:this.props.inheritMaxWidthFromTarget&&this.props.target&&this.props.target.getBoundingClientRect().width}}_calcProps(t){if(t.target&&t.attachment&&t.targetAttachment){const e=this._calcTargetProps(t.target,t.attachment,t.targetAttachment);if(null===e)return{};const{width:r,inheritWidthFromTarget:s=!0,inheritMaxWidthFromTarget:o=!1}=this.props,n={width:s?e.width:r,maxWidth:o?e.width:void 0};switch(t.attachment.vertical){case"bottom":case"middle":n.top=e.y;break;default:n[t.attachment.vertical]=e.y}switch(t.attachment.horizontal){case"right":case"center":n.left=e.x;break;default:n[t.attachment.horizontal]=e.x}return n}return{}}_calcTargetProps(t,e,r){const s=t.getBoundingClientRect(),o=this._instanceElem.getBoundingClientRect(),n="parent"===this.props.root?this._getCoordsRelToParentEl(t,s):this._getCoordsRelToDocument(s);if(null===n)return null
;const a=this._getDimensions(o),i=this._getDimensions(s).width;let c=0,h=0;switch(e.vertical){case"top":h=n[r.vertical];break;case"bottom":h=n[r.vertical]-a.height;break;case"middle":h=n[r.vertical]-a.height/2}switch(e.horizontal){case"left":c=n[r.horizontal];break;case"right":c=n[r.horizontal]-a.width;break;case"center":c=n[r.horizontal]-a.width/2}return"number"==typeof this.props.attachmentOffsetY&&(h+=this.props.attachmentOffsetY),"number"==typeof this.props.attachmentOffsetX&&(c+=this.props.attachmentOffsetX),{x:c,y:h,width:i}}_getCoordsRelToDocument(t){const e=pageYOffset,r=pageXOffset,s=t.top+e,o=t.bottom+e,n=t.left+r;return{top:s,bottom:o,left:n,right:t.right+r,middle:(s+t.height)/2,center:n+t.width/2}}_getCoordsRelToParentEl(t,e){const r=t.offsetParent;if(null===r)return null;const s=r.scrollTop,o=r.scrollLeft,n=t.offsetTop+s,a=t.offsetLeft+o,i=e.width+a;return{top:n,bottom:e.height+n,left:a,right:i,middle:(n+e.height)/2,center:(a+e.width)/2}}_getDimensions(t){return{height:t.height,width:t.width}}_subscribe(){"document"===this.props.root&&(window.addEventListener("scroll",this._throttleCalcProps,!0),window.addEventListener("resize",this._throttleCalcProps))}_unsubsribe(){window.removeEventListener("scroll",this._throttleCalcProps,!0),window.removeEventListener("resize",this._throttleCalcProps)}}).displayName="Attachable Component",w));var f,w,b=r("Iivm"),v=r("VB86"),E=r("1shM");function A(t){const{intent:e="danger"}=t;return s.createElement(b.a,{icon:v,className:n(E["error-icon"],E["intent-"+e])})}var O,M,S=r("rOyT");r.d(e,"a",(function(){return O})),r.d(e,"b",(function(){return F})),function(t){t[t.Attached=0]="Attached",t[t.Static=1]="Static",t[t.Hidden=2]="Hidden"}(O||(O={})),function(t){t.Top="top",t.Bottom="bottom"}(M||(M={}));const R={top:{attachment:h.a.topRight.attachment,targetAttachment:h.a.topRight.targetAttachment,attachmentOffsetY:-4},bottom:{attachment:h.a.bottomRight.attachment,targetAttachment:h.a.bottomRight.targetAttachment,attachmentOffsetY:4}};function W(t){const{isOpened:e,target:r,errorAttachment:s=M.Top,customErrorsAttachment:n,root:a="parent",inheritWidthFromTarget:i=!1,disableRtlStyles:c,children:h}=t,{attachment:l,targetAttachment:m,attachmentOffsetY:d}=null!=n?n:R[s];return o.a.createElement(u,{isOpened:e,target:r,root:a,inheritWidthFromTarget:i,attachment:l,targetAttachment:m,attachmentOffsetY:d,disableRtlStyles:c,inheritMaxWidthFromTarget:!0,show:!0},h)}function _(t,e){return Boolean(t)&&void 0!==e&&e.length>0}function T(t,e,r){return t===O.Attached&&_(e,r)}function x(t,e,r){return t===O.Static&&_(e,r)}function y(t,e,r){const{hasErrors:s,hasWarnings:o,alwaysShowAttachedErrors:n,iconHidden:a,errors:i,warnings:c,messagesPosition:h=O.Static}=t,l=T(h,s,i),m=T(h,o,c),d=l&&(e||r||Boolean(n)),g=!d&&m&&(e||r),p=x(h,s,i),u=!p&&x(h,o,c),f=!a&&Boolean(s);return{hasAttachedErrorMessages:l,hasAttachedWarningMessages:m,showAttachedErrorMessages:d,showAttachedWarningMessages:g,showStaticErrorMessages:p,showStaticWarningMessages:u,showErrorIcon:f,showWarningIcon:!a&&!f&&Boolean(o),
intent:function(t,e){return Boolean(t)?"danger":Boolean(e)?"warning":void 0}(s,o)}}function F(t){var e,r;const{errors:h,warnings:l,messagesAttachment:m,customErrorsAttachment:d,messagesRoot:g,inheritMessagesWidthFromTarget:p,disableMessagesRtlStyles:u}=t,[f,w]=Object(a.a)(),[b,v]=Object(i.c)(),E=Object(s.useRef)(null),{hasAttachedErrorMessages:O,hasAttachedWarningMessages:M,showAttachedErrorMessages:R,showAttachedWarningMessages:_,showStaticErrorMessages:T,showStaticWarningMessages:x,showErrorIcon:F,showWarningIcon:z,intent:C}=y(t,f,b),P=F||z?o.a.createElement(A,{intent:F?"danger":"warning"}):void 0,B=O?o.a.createElement(W,{errorAttachment:m,customErrorsAttachment:d,isOpened:R,target:E.current,root:g,inheritWidthFromTarget:p,disableRtlStyles:u,children:h}):void 0,j=M?o.a.createElement(W,{errorAttachment:m,isOpened:_,target:E.current,root:g,inheritWidthFromTarget:p,disableRtlStyles:u,children:l}):void 0,I=T?o.a.createElement(c.a,{className:n(S["static-messages"],S.errors)},null==h?void 0:h.map((t,e)=>o.a.createElement("p",{key:e,className:S.message},t))):void 0,N=x?o.a.createElement(c.a,{className:n(S["static-messages"],S.warnings)},null==l?void 0:l.map((t,e)=>o.a.createElement("p",{key:e,className:S.message},t))):void 0;return{icon:P,renderedErrors:null!==(r=null!==(e=null!=B?B:j)&&void 0!==e?e:I)&&void 0!==r?r:N,containerReference:E,intent:C,...w,...v}}},rOyT:function(t,e,r){t.exports={"static-messages":"static-messages-1hgcN2c2",errors:"errors-1hgcN2c2",warnings:"warnings-1hgcN2c2",message:"message-1hgcN2c2"}}}]);

BIN
static/charting_library/bundles/3293616ec0c605c7c2db25829a0a509e.woff

Binary file not shown.

1
static/charting_library/bundles/33.02ed7df481ae8243d2f2.css

File diff suppressed because one or more lines are too long

1
static/charting_library/bundles/33.02ed7df481ae8243d2f2.rtl.css

File diff suppressed because one or more lines are too long

1
static/charting_library/bundles/33.4d0dd1f7001fc02099bb.js

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[33],[]]);

1
static/charting_library/bundles/34.4b6099931f57311efc1a.css

@ -0,0 +1 @@
.errors-3rBjZvef{background-color:#2a2e39;border-radius:3px;box-sizing:border-box;color:#fff;opacity:0;padding:10px 15px;pointer-events:none;position:absolute;text-align:center;z-index:2}html.theme-dark .errors-3rBjZvef{background-color:#363c4e}.errors-3rBjZvef:empty{display:none}.errors-3rBjZvef.show-3rBjZvef{opacity:1}.errors-3rBjZvef .error-3rBjZvef{font-size:12px;line-height:1.4;margin-top:10px;text-transform:none;word-break:break-word}.errors-3rBjZvef .error-3rBjZvef:first-child{margin-top:0}.error-icon-3x-w99oG{display:inline-flex}.error-icon-3x-w99oG.intent-danger-3x-w99oG{color:#f44336}html.theme-dark .error-icon-3x-w99oG.intent-danger-3x-w99oG{color:#d32f2f}.error-icon-3x-w99oG.intent-warning-3x-w99oG,html.theme-dark .error-icon-3x-w99oG.intent-warning-3x-w99oG{color:#ff9800}.error-icon-3x-w99oG svg{height:16px;width:16px}.static-messages-1hgcN2c2{flex-flow:column nowrap;font-size:12px;font-style:normal;font-weight:400;line-height:17px}.static-messages-1hgcN2c2.errors-1hgcN2c2{color:#f44336}html.theme-dark .static-messages-1hgcN2c2.errors-1hgcN2c2{color:#d32f2f}.static-messages-1hgcN2c2.warnings-1hgcN2c2,html.theme-dark .static-messages-1hgcN2c2.warnings-1hgcN2c2{color:#ff9800}.static-messages-1hgcN2c2 .message-1hgcN2c2{margin:0}

1
static/charting_library/bundles/34.4b6099931f57311efc1a.rtl.css

@ -0,0 +1 @@
.errors-3rBjZvef{background-color:#2a2e39;border-radius:3px;box-sizing:border-box;color:#fff;opacity:0;padding:10px 15px;pointer-events:none;position:absolute;text-align:center;z-index:2}html.theme-dark .errors-3rBjZvef{background-color:#363c4e}.errors-3rBjZvef:empty{display:none}.errors-3rBjZvef.show-3rBjZvef{opacity:1}.errors-3rBjZvef .error-3rBjZvef{font-size:12px;line-height:1.4;margin-top:10px;text-transform:none;word-break:break-word}.errors-3rBjZvef .error-3rBjZvef:first-child{margin-top:0}.error-icon-3x-w99oG{display:inline-flex}.error-icon-3x-w99oG.intent-danger-3x-w99oG{color:#f44336}html.theme-dark .error-icon-3x-w99oG.intent-danger-3x-w99oG{color:#d32f2f}.error-icon-3x-w99oG.intent-warning-3x-w99oG,html.theme-dark .error-icon-3x-w99oG.intent-warning-3x-w99oG{color:#ff9800}.error-icon-3x-w99oG svg{height:16px;width:16px}.static-messages-1hgcN2c2{flex-flow:column nowrap;font-size:12px;font-style:normal;font-weight:400;line-height:17px}.static-messages-1hgcN2c2.errors-1hgcN2c2{color:#f44336}html.theme-dark .static-messages-1hgcN2c2.errors-1hgcN2c2{color:#d32f2f}.static-messages-1hgcN2c2.warnings-1hgcN2c2,html.theme-dark .static-messages-1hgcN2c2.warnings-1hgcN2c2{color:#ff9800}.static-messages-1hgcN2c2 .message-1hgcN2c2{margin:0}

1
static/charting_library/bundles/34.c9baa59add71a1e48fd2.js

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[34],[]]);

1
static/charting_library/bundles/35.999f0e072062b7369a1a.css

@ -0,0 +1 @@
.button-14c_DKWJ{align-items:center;background-color:initial;border:none;border-radius:2px;box-sizing:border-box;cursor:default;display:flex;flex:none;height:100%;justify-content:center;margin:0;outline:none!important;padding:0;width:21px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-14c_DKWJ:hover:not(.disabled-14c_DKWJ){background-color:#f0f3fa}html.theme-dark .button-14c_DKWJ:hover:not(.disabled-14c_DKWJ){background-color:#363a45}}.button-14c_DKWJ.hidden-14c_DKWJ{display:none}.icon-14c_DKWJ{align-items:center;display:flex;flex:none;justify-content:center;transition:transform .35s ease}.icon-14c_DKWJ.dropped-14c_DKWJ{transform:rotate(180deg)}.button-1WqyvKNY{cursor:default;-webkit-user-select:none;user-select:none}.button-children-1WqyvKNY{display:block;overflow:hidden;padding:0 2px 0 6px;text-overflow:ellipsis;white-space:nowrap;width:100%}.button-children-1WqyvKNY.hiddenArrow-1WqyvKNY{padding-right:6px}.invisibleFocusHandler-1WqyvKNY{height:0;opacity:0;pointer-events:none;width:0}.placeholder-1J6emFeA{-webkit-text-fill-color:currentColor;color:#a3a6af;opacity:1}html.theme-dark .placeholder-1J6emFeA{color:#434651}

1
static/charting_library/bundles/35.999f0e072062b7369a1a.rtl.css

@ -0,0 +1 @@
.button-14c_DKWJ{align-items:center;background-color:initial;border:none;border-radius:2px;box-sizing:border-box;cursor:default;display:flex;flex:none;height:100%;justify-content:center;margin:0;outline:none!important;padding:0;width:21px}@media (any-hover:hover),(min--moz-device-pixel-ratio:0){.button-14c_DKWJ:hover:not(.disabled-14c_DKWJ){background-color:#f0f3fa}html.theme-dark .button-14c_DKWJ:hover:not(.disabled-14c_DKWJ){background-color:#363a45}}.button-14c_DKWJ.hidden-14c_DKWJ{display:none}.icon-14c_DKWJ{align-items:center;display:flex;flex:none;justify-content:center;transition:transform .35s ease}.icon-14c_DKWJ.dropped-14c_DKWJ{transform:rotate(-180deg)}.button-1WqyvKNY{cursor:default;-webkit-user-select:none;user-select:none}.button-children-1WqyvKNY{display:block;overflow:hidden;padding:0 6px 0 2px;text-overflow:ellipsis;white-space:nowrap;width:100%}.button-children-1WqyvKNY.hiddenArrow-1WqyvKNY{padding-left:6px}.invisibleFocusHandler-1WqyvKNY{height:0;opacity:0;pointer-events:none;width:0}.placeholder-1J6emFeA{-webkit-text-fill-color:currentColor;color:#a3a6af;opacity:1}html.theme-dark .placeholder-1J6emFeA{color:#434651}

1
static/charting_library/bundles/35.ed9e360f9686ad3a9497.js

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[35],[]]);

1
static/charting_library/bundles/36.1882d1a8d312a0e193e9.js

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[36],[]]);

1
static/charting_library/bundles/36.f315a19c17d5636af8f7.css

@ -0,0 +1 @@
.checkbox-3xZUD-2M{-webkit-tap-highlight-color:transparent;align-items:center;cursor:default;display:inline-flex;font-size:14px;font-stretch:normal;font-style:normal;font-weight:400;letter-spacing:normal;line-height:normal;position:relative;-webkit-user-select:none;user-select:none}.checkbox-3xZUD-2M.reverse-3xeTx96y{flex-direction:row-reverse}.checkbox-3xZUD-2M.reverse-3xeTx96y .label-cyItEVpF{margin-left:0;margin-right:8px}.checkbox-3xZUD-2M.baseline-6TXKro4X{align-items:baseline}.checkbox-3xZUD-2M .label-cyItEVpF{color:#000;margin-left:8px;min-width:0}html.theme-dark .checkbox-3xZUD-2M .label-cyItEVpF{color:#b2b5be}

1
static/charting_library/bundles/36.f315a19c17d5636af8f7.rtl.css

@ -0,0 +1 @@
.checkbox-3xZUD-2M{-webkit-tap-highlight-color:transparent;align-items:center;cursor:default;display:inline-flex;font-size:14px;font-stretch:normal;font-style:normal;font-weight:400;letter-spacing:normal;line-height:normal;position:relative;-webkit-user-select:none;user-select:none}.checkbox-3xZUD-2M.reverse-3xeTx96y{flex-direction:row-reverse}.checkbox-3xZUD-2M.reverse-3xeTx96y .label-cyItEVpF{margin-left:8px;margin-right:0}.checkbox-3xZUD-2M.baseline-6TXKro4X{align-items:baseline}.checkbox-3xZUD-2M .label-cyItEVpF{color:#000;margin-right:8px;min-width:0}html.theme-dark .checkbox-3xZUD-2M .label-cyItEVpF{color:#b2b5be}

8
static/charting_library/bundles/37.90129e4904155350d6a1.js

@ -0,0 +1,8 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[37],{"++uw":function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var a=n("q1tI"),o=n("yqnI");const r=e=>{const t="property"in e?e.property:void 0,n="defaultValue"in e?e.defaultValue:e.property.value(),[r,s]=Object(a.useState)(t?t.value():n);Object(a.useEffect)(()=>{if(t){const n={};return s(t.value()),t.subscribe(n,t=>{const n=t.value();e.handler&&e.handler(n),s(n)}),()=>t.unsubscribeAll(n)}return()=>{}},[t]);return[r,e=>{if(void 0!==t){const n=t.value();o.a.logNormal(`Changing property value from "${n}" to "${e}"`),t.setValue(e)}}]}},"+8gn":function(e,t,n){"use strict";n.d(t,"b",(function(){return c})),n.d(t,"a",(function(){return l}));var a=n("q1tI"),o=n("Eyy1"),r=n("txPx");const s=Object(r.getLogger)("Platform.GUI.StudyInputPropertyContainer"),c=a.createContext(null);class l extends a.PureComponent{constructor(e){super(e),this._setValue=(e,t,n)=>{const{property:a,model:r}=this.props,c=Object(o.ensureDefined)(a.child(e));s.logNormal(`Changing property "${e}" value from "${a.value()}" to "${t}"`),r.setProperty(c,t,"Change "+n)};const{property:t}=e,n={};t.childNames().forEach(e=>{const a=Object(o.ensureDefined)(t.child(e));n.hasOwnProperty(e)||(n[e]=a.value())}),this.state=n}componentDidMount(){const{property:e}=this.props;e.childNames().forEach(t=>{Object(o.ensureDefined)(e.child(t)).subscribe(this,e=>{const n=e.value();s.logNormal(`Property "${t}" updated to value "${n}"`),this.setState({[t]:n})})})}componentWillUnmount(){const{property:e}=this.props;e.childNames().forEach(t=>{Object(o.ensureDefined)(e.child(t)).unsubscribeAll(this)})}render(){const{study:e,model:t,children:n}=this.props,o={study:e,model:t,values:this.state,setValue:this._setValue};return a.createElement(c.Provider,{value:o},n)}}},"07LS":function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var a=n("q1tI"),o=n.n(a),r=n("Q+1u"),s=n("fktV"),c=n("Q40t");function l(e){return o.a.createElement(r.a.Row,null,o.a.createElement(r.a.Cell,{className:c.titleWrap,placement:"first",verticalAlign:"adaptive",colSpan:2,"data-section-name":e.name,checkableTitle:!0},o.a.createElement(s.a,{title:e.title,name:"is-enabled-"+e.name})))}},"0W35":function(e,t,n){"use strict";var a=n("q1tI"),o=n("17x9");class r extends a.PureComponent{constructor(){super(...arguments),this._subscriptions=new Set,this._getName=()=>this.props.name,this._getValues=()=>this.props.values,this._getOnChange=()=>this.props.onChange,this._subscribe=e=>{this._subscriptions.add(e)},this._unsubscribe=e=>{this._subscriptions.delete(e)}}getChildContext(){return{switchGroupContext:{getName:this._getName,getValues:this._getValues,getOnChange:this._getOnChange,subscribe:this._subscribe,unsubscribe:this._unsubscribe}}}render(){return this.props.children}componentDidUpdate(e){this._notify(this._getUpdates(this.props.values,e.values))}_notify(e){this._subscriptions.forEach(t=>t(e))}_getUpdates(e,t){return[...t,...e].filter(n=>t.includes(n)?!e.includes(n):e.includes(n))}}function s(e){var t;return(t=class extends a.PureComponent{
constructor(){super(...arguments),this._onChange=e=>{this.context.switchGroupContext.getOnChange()(e)},this._onUpdate=e=>{e.includes(this.props.value)&&this.forceUpdate()}}componentDidMount(){this.context.switchGroupContext.subscribe(this._onUpdate)}render(){return a.createElement(e,{...this.props,name:this._getName(),onChange:this._onChange,checked:this._isChecked()})}componentWillUnmount(){this.context.switchGroupContext.unsubscribe(this._onUpdate)}_getName(){return this.context.switchGroupContext.getName()}_isChecked(){return this.context.switchGroupContext.getValues().includes(this.props.value)}}).contextTypes={switchGroupContext:o.any.isRequired},t}r.childContextTypes={switchGroupContext:o.any.isRequired},n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return s}))},"4bOu":function(e,t,n){e.exports={colorPickerWrap:"colorPickerWrap-3gSLMlhu",focused:"focused-3gSLMlhu",readonly:"readonly-3gSLMlhu",disabled:"disabled-3gSLMlhu","size-small":"size-small-3gSLMlhu","size-medium":"size-medium-3gSLMlhu","size-large":"size-large-3gSLMlhu","font-size-small":"font-size-small-3gSLMlhu","font-size-medium":"font-size-medium-3gSLMlhu","font-size-large":"font-size-large-3gSLMlhu","border-none":"border-none-3gSLMlhu",shadow:"shadow-3gSLMlhu","border-thin":"border-thin-3gSLMlhu","border-thick":"border-thick-3gSLMlhu","intent-default":"intent-default-3gSLMlhu","intent-success":"intent-success-3gSLMlhu","intent-warning":"intent-warning-3gSLMlhu","intent-danger":"intent-danger-3gSLMlhu","intent-primary":"intent-primary-3gSLMlhu","corner-top-left":"corner-top-left-3gSLMlhu","corner-top-right":"corner-top-right-3gSLMlhu","corner-bottom-right":"corner-bottom-right-3gSLMlhu","corner-bottom-left":"corner-bottom-left-3gSLMlhu",colorPicker:"colorPicker-3gSLMlhu",swatch:"swatch-3gSLMlhu",placeholderContainer:"placeholderContainer-3gSLMlhu",placeholder:"placeholder-3gSLMlhu",white:"white-3gSLMlhu",opacitySwatch:"opacitySwatch-3gSLMlhu",colorLine:"colorLine-3gSLMlhu",thicknessContainer:"thicknessContainer-3gSLMlhu",thicknessTitle:"thicknessTitle-3gSLMlhu"}},"5YG5":function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var a=n("CW80"),o=n("3ClC");function r(e){if(Object(a.isLineTool)(e))return{isPine:()=>!1,isStandardPine:()=>!1,canOverrideMinTick:()=>!1,resolvedSymbolInfoBySymbol:()=>{throw new TypeError("Only study is supported.")},symbolsResolved:()=>{throw new TypeError("Only study is supported.")},parentSource:()=>{throw new TypeError("Only study is supported.")},getAllChildren:()=>[],sourceId:()=>{throw new TypeError("Only study is supported.")}};if(Object(o.isStudy)(e))return e;if("isInputsStudy"in e)return e;throw new TypeError("Unsupported source type.")}},"6ix9":function(e,t,n){e.exports={content:"content-22S1W3v8",cell:"cell-22S1W3v8",inner:"inner-22S1W3v8",first:"first-22S1W3v8",inlineCell:"inlineCell-22S1W3v8",fill:"fill-22S1W3v8",top:"top-22S1W3v8",topCenter:"topCenter-22S1W3v8",offset:"offset-22S1W3v8",inlineRow:"inlineRow-22S1W3v8",grouped:"grouped-22S1W3v8",separator:"separator-22S1W3v8",
groupSeparator:"groupSeparator-22S1W3v8",big:"big-22S1W3v8",adaptive:"adaptive-22S1W3v8",checkableTitle:"checkableTitle-22S1W3v8"}},"7MId":function(e,t,n){"use strict";var a=n("q1tI"),o=n.n(a),r=n("TSYQ"),s=n.n(r),c=n("Eyy1"),l=n("/3z9"),i=n("9dlw"),u=n("SpAO"),d=n("htM8"),p=n("PN6A");function h(e){const{button:t,children:n,className:r,onPopupClose:s,...h}=e,[m,b]=Object(a.useState)(!1),[f,g]=Object(a.useState)(!1),[v,C]=Object(u.a)(),y=Object(a.useRef)(null);return o.a.createElement("div",{className:r},o.a.createElement("div",{tabIndex:e.disabled?void 0:-1,ref:y,onClick:S,onFocus:C.onFocus,onBlur:C.onBlur,onKeyDown:E},"function"==typeof t?t(f,v):t),o.a.createElement(i.a,{isOpened:f,onClose:N,position:function(){const e=Object(c.ensureNotNull)(y.current).getBoundingClientRect();return{x:e.left,y:e.top+e.height}},doNotCloseOn:y.current,onKeyDown:E},o.a.createElement(p.a.Consumer,null,e=>o.a.createElement(d.a,{...h,onToggleCustom:b,menu:e})),!m&&n));function S(){e.disabled||(g(e=>!e),b(!1))}function E(e){switch(Object(l.hashFromEvent)(e)){case 27:f&&(e.preventDefault(),N())}}function N(){S(),Object(c.ensureNotNull)(y.current).focus(),s&&s()}}var m=n("V3OP"),b=n("Tmoa"),f=n("wLjq"),g=(n("YFKU"),n("0W35")),v=n("95N5");const C=Object(g.b)(class extends a.PureComponent{constructor(){super(...arguments),this._onChange=()=>{this.props.onChange&&this.props.onChange(this.props.value)}}render(){const{name:e,checked:t,value:n}=this.props,o=r(v.thicknessItem,{[v.checked]:t}),s=r(v.bar,{[v.checked]:t}),c={borderTopWidth:parseInt(n)};return a.createElement("div",{className:o},a.createElement("input",{type:"radio",className:v.radio,name:e,value:n,onChange:this._onChange,checked:t}),a.createElement("div",{className:s,style:c}," "))}});function y(e){const{name:t,values:n,selectedValues:o,onChange:r}=e,s=n.map((e,t)=>a.createElement(C,{key:t,value:e.toString()})),c=o.map(e=>e.toString());return a.createElement("div",{className:v.wrap},a.createElement(g.a,{name:t,onChange:e=>{r(parseInt(e))},values:c},s))}var S=n("85uA");const E=window.t("Thickness");function N(e){return o.a.createElement("div",{className:S.thicknessContainer},o.a.createElement("div",{className:S.thicknessTitle},E),o.a.createElement(y,{name:"color_picker_thickness_select",onChange:e.onChange,values:e.items,selectedValues:[e.value]}))}var w=n("4bOu");function k(e){const{className:t,selectOpacity:n=void 0!==e.opacity,thickness:a,color:r,disabled:c,opacity:l=1,onColorChange:i,onOpacityChange:u,onThicknessChange:d,thicknessItems:p,onPopupClose:b}=e,[f,g,v]=Object(m.a)();return o.a.createElement(h,{className:t,disabled:c,color:r,selectOpacity:n,opacity:l,selectCustom:!0,customColors:f,onColorChange:i,onOpacityChange:r?u:void 0,onAddColor:g,onRemoveCustomColor:v,button:function(e,t){const n=e||t,i=n?"primary":"default";return o.a.createElement("div",{className:s()(w.colorPickerWrap,w["intent-"+i],w["border-thin"],w["size-medium"],n&&w.highlight,n&&w.focused,c&&w.disabled),"data-role":"button","data-name":a?"color-with-thickness-select":"color-select"
},o.a.createElement("div",{className:s()(w.colorPicker,c&&w.disabled)},r?function(){const e=x(r,l),t=l>=.95&&O(r);return o.a.createElement("div",{className:w.opacitySwatch},o.a.createElement("div",{style:{backgroundColor:e},className:s()(w.swatch,t&&w.white)}))}():o.a.createElement("div",{className:w.placeholderContainer},o.a.createElement("div",{className:w.placeholder})),a&&o.a.createElement("span",{className:s()(w.colorLine,O(r)&&w.white),style:{height:a,backgroundColor:x(r,l)}})),n&&o.a.createElement("span",{className:w.shadow}))},onPopupClose:b},a&&p&&o.a.createElement(N,{value:a,items:p,onChange:function(e){d&&d(e)}}))}function x(e,t){return e?Object(b.generateColor)(e,Object(b.alphaToTransparency)(t)):"#000000"}function O(e){return!!e&&e.toLowerCase()===f.c}n.d(t,"a",(function(){return k}))},"85uA":function(e,t,n){e.exports={thicknessContainer:"thicknessContainer-2K1QSVfY",thicknessTitle:"thicknessTitle-2K1QSVfY"}},"95N5":function(e,t,n){e.exports={wrap:"wrap-kAIcH6Vi",thicknessItem:"thicknessItem-kAIcH6Vi",checked:"checked-kAIcH6Vi",radio:"radio-kAIcH6Vi",bar:"bar-kAIcH6Vi"}},E9Pn:function(e,t,n){},EYfA:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var a=n("q1tI"),o=n.n(a),r=n("Q+1u"),s=n("fktV");function c(e){const{id:t,offset:n,disabled:a,checked:c,title:l,children:i}=e;return o.a.createElement(r.a.Row,null,o.a.createElement(r.a.Cell,{placement:"first",verticalAlign:"adaptive",offset:n,"data-section-name":t,colSpan:Boolean(i)?void 0:2,checkableTitle:!0},o.a.createElement(s.a,{name:"is-enabled-"+t,title:l,disabled:a,property:c})),Boolean(i)&&o.a.createElement(r.a.Cell,{placement:"last","data-section-name":t},i))}},HfwS:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return s}));var a=n("q1tI"),o=n("+8gn");function r(e){var t;return(t=class extends a.PureComponent{constructor(){super(...arguments),this._getTimezoneName=e=>{const t=e.model().timezone();if("exchange"!==t)return t;const n=e.model().mainSeries().symbolInfo();return null==n?void 0:n.timezone},this._onChange=(e,t,n)=>{const{setValue:a}=this.context,{onChange:o}=this.props;s(a,o)(e,t,n)}}render(){const{input:t}=this.props,{values:n,model:o}=this.context;return a.createElement(e,{...this.props,value:n[t.id],tzName:this._getTimezoneName(o),onChange:this._onChange})}}).contextType=o.b,t}function s(e,t){return(n,a,o)=>{e(a,n,o),t&&t(n,a,o)}}},"Q+1u":function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var a=n("q1tI"),o=n.n(a),r=n("TSYQ"),s=n("ijHL"),c=n("6ix9");const l=o.a.createContext(!1);class i extends o.a.PureComponent{render(){return o.a.createElement("div",{ref:this.props.reference,className:c.content},this.props.children)}}i.InlineRowContext=l,i.Row=function(e){const{children:t}=e;return Object(a.useContext)(l)?o.a.createElement("span",{className:c.inlineRow},t):o.a.createElement(o.a.Fragment,null,t)},i.Cell=function(e){
const t=Object(a.useContext)(l),n=r(c.cell,e.offset&&c.offset,e.grouped&&c.grouped,t&&c.inlineCell,"top"===e.verticalAlign&&c.top,"topCenter"===e.verticalAlign&&c.topCenter,"adaptive"===e.verticalAlign&&c.adaptive,e.checkableTitle&&c.checkableTitle,2===e.colSpan&&c.fill,"first"===e.placement&&2!==e.colSpan&&c.first,"last"===e.placement&&2!==e.colSpan&&c.last),i=Object(s.b)(e);return o.a.createElement("div",{...i,className:n},o.a.createElement("div",{className:r(c.inner,e.className)},e.children))},i.Separator=function(e){return o.a.createElement(i.Row,null,o.a.createElement("div",{className:r(c.cell,c.separator,c.fill)}))},i.GroupSeparator=function(e){const t=e.size||0;return o.a.createElement(i.Row,null,o.a.createElement("div",{className:r(c.cell,c.groupSeparator,c.fill,1===t&&c.big)}))}},Q40t:function(e,t,n){e.exports={titleWrap:"titleWrap-3OnZWCnE"}},Si6X:function(e,t,n){"use strict";var a=n("q1tI"),o=n.n(a),r=n("TSYQ"),s=n.n(r),c=n("YFKU"),l=n("Eyy1"),i=n("+EG+"),u=n("pafz"),d=n("Kxc7"),p=n("fV01"),h=n("kNVT"),m=n("p04v"),b=n("Iivm"),f=n("u52U"),g=n("xNfs");function v(e){const{value:t,onClick:n,disabled:a=!1,className:s}=e;return o.a.createElement("div",{className:r(g.wrap,a&&g.disabled,s),onClick:n,"data-name":"edit-button"},o.a.createElement("span",{className:r(g.text,"apply-overflow-tooltip")},t),o.a.createElement(b.a,{icon:f,className:g.icon}))}var C=n("EYfA"),y=n("xpzh"),S=n("952j"),E=n("rC+j"),N=n("8woN");var w=n("pCpq");function k(e){const{symbol:t,onSymbolChanged:n,disabled:r,className:l}=e,[p,b]=Object(a.useState)(t),f=Object(a.useContext)(i.b),g=Object(a.useContext)(u.a);return o.a.createElement(v,{value:p,onClick:function(){const e=function(e){const t=Object(S.b)(e);return Object(E.e)(t)}(p)?p:function(e){try{return Object(N.shortName)(e)}catch(t){return e}}(p),t=Object(h.getSymbolSearchCompleteOverrideFunction)();Object(m.a)({onSearchComplete:e=>{t(e[0].symbol).then(e=>{n(e),b(e)})},dialogTitle:Object(c.t)("Change symbol"),defaultValue:e,manager:f,onClose:()=>{g&&g.focus()},showSpreadActions:d.enabled("show_spread_operators")&&d.enabled("studies_symbol_search_spread_operators")})},disabled:r,className:s()(l,d.enabled("uppercase_instrument_names")&&w.uppercase)})}function x(e){if("definition"in e){const{propType:t,properties:n,id:a,title:r=""}=e.definition,s=n[t],c=s.value()||"",i=e=>{s.setValue(e)};return o.a.createElement(C.a,{id:a,title:r},o.a.createElement(y.a,null,o.a.createElement(k,{symbol:Object(l.ensureDefined)(c),onSymbolChanged:i})))}{const{study:t,value:n,input:{id:a,name:r},onChange:c,disabled:i,hasTooltip:u}=e,d=e=>{const n=Object(p.b)(e,t);c(n,a,r)};return o.a.createElement(k,{symbol:Object(l.ensureDefined)(n),onSymbolChanged:d,disabled:i,className:s()(u&&w.hasTooltip)})}}n.d(t,"a",(function(){return x}))},WboT:function(e,t,n){"use strict";var a=n("q1tI"),o=n.n(a),r=n("8+VR"),s=n("TSYQ"),c=n("ldG2"),l=n("xADF"),i=n("dKnb"),u=n("jh7f"),d=n("VET0"),p=n("ZgM/");const h={large:c.b.FontSizeLarge,medium:c.b.FontSizeMedium},m={attachment:d.a.top.attachment,
targetAttachment:d.a.top.targetAttachment,attachmentOffsetY:-4};function b(e){const{className:t,inputClassName:n,stretch:o=!0,errorMessage:r,fontSizeStyle:c="large",endSlot:d,button:b,error:f,warning:g,innerLabel:v,inputReference:C,children:y,...S}=e,E=f&&void 0!==r?[r]:void 0,N=g&&void 0!==r?[r]:void 0,w=s(p.inputContainer,h[c],t),k=v?a.createElement(l.d,{className:p.innerLabel,interactive:!1},v):void 0,x=d||b||y?a.createElement(l.b,null,d,b,y):void 0;return a.createElement(i.a,{...S,className:w,inputClassName:n,errors:E,warnings:N,hasErrors:f,hasWarnings:g,messagesPosition:u.a.Attached,customErrorsAttachment:m,messagesRoot:"document",inheritMessagesWidthFromTarget:!0,disableMessagesRtlStyles:!0,iconHidden:!0,stretch:o,reference:C,startSlot:k,endSlot:x})}var f=n("YFKU"),g=n("Iivm"),v=n("R4+T"),C=n("uZsJ");function y(e){const t=s(C.control,C.controlIncrease),n=s(C.control,C.controlDecrease);return a.createElement(a.Fragment,null,void 0!==e.title&&a.createElement("div",{className:C.title},e.title),a.createElement("div",{className:C.controlWrapper},(e.defaultButtonsVisible||e.title)&&a.createElement(a.Fragment,null,a.createElement("button",{type:"button",tabIndex:-1,"aria-label":Object(f.t)("Increase"),className:t,onClick:e.increaseValue},a.createElement(g.a,{icon:v,className:C.controlIcon})),a.createElement("button",{type:"button",tabIndex:-1,"aria-label":Object(f.t)("Increase"),className:n,onClick:e.decreaseValue},a.createElement(g.a,{icon:v,className:C.controlIcon})))))}var S=n("8d0Q"),E=n("SpAO"),N=n("3F0O"),w=n("/3z9");n.d(t,"a",(function(){return O}));const k=[38],x=[40];function O(e){const[t,n]=Object(S.c)(),[s,c]=Object(E.a)(),l=Object(N.a)(c.onFocus,e.onFocus),i=Object(N.a)(c.onBlur,e.onBlur),u=Object(a.useCallback)(t=>{!e.disabled&&s&&(t.preventDefault(),t.deltaY<0?e.onValueByStepChange(1):e.onValueByStepChange(-1))},[s,e.disabled,e.onValueByStepChange]);return o.a.createElement(b,{...n,name:e.name,pattern:e.pattern,borderStyle:e.borderStyle,fontSizeStyle:e.fontSizeStyle,value:e.value,className:e.className,inputClassName:e.inputClassName,button:function(){const{button:n,forceShowControls:a,disabled:c,title:l}=e,i=!c&&!r.mobiletouch&&(a||s||t);return c?void 0:o.a.createElement(o.a.Fragment,null,null!=n?n:o.a.createElement(y,{increaseValue:d,decreaseValue:p,defaultButtonsVisible:i,title:l}))}(),disabled:e.disabled,placeholder:e.placeholder,innerLabel:e.innerLabel,endSlot:e.endSlot,containerReference:e.containerReference,inputReference:e.inputReference,inputMode:e.inputMode,type:e.type,error:e.error,errorMessage:e.errorMessage,onClick:e.onClick,onFocus:l,onBlur:i,onChange:e.onValueChange,onKeyDown:function(t){if(e.disabled||0!==Object(w.modifiersFromEvent)(t.nativeEvent))return;let n=k,a=x;e.controlDecKeyCodes&&(a=a.concat(e.controlDecKeyCodes));e.controlIncKeyCodes&&(n=n.concat(e.controlIncKeyCodes));(a.includes(t.keyCode)||n.includes(t.keyCode))&&(t.preventDefault(),e.onValueByStepChange(a.includes(t.keyCode)?-1:1));e.onKeyDown&&e.onKeyDown(t)},onWheelNoPassive:u,stretch:e.stretch,intent:e.intent,
highlight:e.highlight,highlightRemoveRoundBorder:e.highlightRemoveRoundBorder,autoSelectOnFocus:!0});function d(){e.disabled||e.onValueByStepChange(1)}function p(){e.disabled||e.onValueByStepChange(-1)}}},"ZgM/":function(e,t,n){e.exports={innerLabel:"innerLabel-21h1g6jU"}},eG6P:function(e,t,n){e.exports={wrap:"wrap-2tojvhF7"}},fV01:function(e,t,n){"use strict";n.d(t,"b",(function(){return u})),n.d(t,"a",(function(){return d}));var a=n("q1tI"),o=n.n(a),r=n("Eyy1"),s=n("+8gn"),c=n("HfwS"),l=n("5YG5"),i=n("Si6X");function u(e,t){const n=Object(l.a)(t).resolvedSymbolInfoBySymbol(e);return n&&(n.ticker||n.full_name)?n.ticker||n.full_name:e}const d=Object(c.a)((function(e){const t=Object(a.useContext)(s.b),{study:n}=Object(r.ensureNotNull)(t),{input:{defval:c},value:l}=e;return o.a.createElement(i.a,{...e,value:u(l||c||"",n),study:n})}))},fV0y:function(e,t,n){"use strict";var a=n("q1tI"),o=n("TSYQ"),r=n("0W35"),s=n("vCF3"),c=n("qibD");n("E9Pn");class l extends a.PureComponent{render(){const{inputClassName:e,labelClassName:t,...n}=this.props,r=o(this.props.className,c.checkbox,{[c.reverse]:Boolean(this.props.labelPositionReverse),[c.baseline]:Boolean(this.props.labelAlignBaseline)}),l=o(c.label,t,{[c.disabled]:this.props.disabled});let i=null;return this.props.label&&(i=a.createElement("span",{className:l,title:this.props.title},this.props.label)),a.createElement("label",{className:r},a.createElement(s.a,{...n,className:e}),i)}}l.defaultProps={value:"on"};Object(r.b)(l);n.d(t,"a",(function(){return l}))},fktV:function(e,t,n){"use strict";var a=n("q1tI"),o=n.n(a),r=n("qFKp"),s=n("fV0y"),c=n("++uw");function l(e){const{property:t,...n}=e,[a,r]=Object(c.a)({property:t});return o.a.createElement(s.a,{...n,name:"toggle-enabled",checked:a,onChange:function(){r(!a)}})}var i=n("xpzh"),u=n("vxCt");function d(e){const{property:t,disabled:n,title:a,className:s,name:c}=e,d=o.a.createElement("span",{className:u.title},a);return o.a.createElement(i.a,{className:s},t&&o.a.createElement(l,{name:c,className:u.checkbox,property:t,disabled:n,label:d,labelAlignBaseline:!r.isIE}),!t&&d)}n.d(t,"a",(function(){return d}))},pCpq:function(e,t,n){e.exports={hasTooltip:"hasTooltip-2kfQACVg",uppercase:"uppercase-2kfQACVg"}},qibD:function(e){e.exports=JSON.parse('{"checkbox":"checkbox-3xZUD-2M","reverse":"reverse-3xeTx96y","label":"label-cyItEVpF","baseline":"baseline-6TXKro4X"}')},u52U:function(e,t){e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18" fill="none"><path stroke="currentColor" d="M13.5 7l1.65-1.65a.5.5 0 0 0 0-.7l-1.8-1.8a.5.5 0 0 0-.7 0L11 4.5M13.5 7L11 4.5M13.5 7l-8.35 8.35a.5.5 0 0 1-.36.15H2.5v-2.3a.5.5 0 0 1 .15-.35L11 4.5"/></svg>'},uZsJ:function(e,t,n){e.exports={controlWrapper:"controlWrapper-7ApHzdB4",hidden:"hidden-7ApHzdB4",control:"control-7ApHzdB4",controlIncrease:"controlIncrease-7ApHzdB4",controlDecrease:"controlDecrease-7ApHzdB4",controlIcon:"controlIcon-7ApHzdB4",title:"title-7ApHzdB4"}},vxCt:function(e,t,n){e.exports={checkbox:"checkbox-FNjK79Y1",title:"title-FNjK79Y1"}},
xNfs:function(e,t,n){e.exports={wrap:"wrap-3GItoI3T",icon:"icon-3GItoI3T",text:"text-3GItoI3T",disabled:"disabled-3GItoI3T"}},xpzh:function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var a=n("q1tI"),o=n.n(a),r=n("TSYQ"),s=n.n(r),c=n("eG6P");function l(e){return o.a.createElement("div",{className:s()(c.wrap,e.className)},e.children)}},yqnI:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var a=n("txPx");const o=Object(a.getLogger)("Platform.GUI.PropertyDefinitionTrace")}}]);

3
static/charting_library/bundles/38.41f3d509b61c8af47de3.js

@ -0,0 +1,3 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[38],{"5YsI":function(t,e,o){t.exports={button:"button-1SoiPS-f",hover:"hover-1SoiPS-f",arrow:"arrow-1SoiPS-f",arrowWrap:"arrowWrap-1SoiPS-f",isOpened:"isOpened-1SoiPS-f"}},"82wv":function(t,e,o){"use strict";o.d(e,"a",(function(){return h}));var r=o("q1tI"),n=o("TSYQ"),i=o("9dlw"),s=o("ML8+"),a=o("ijHL"),c=o("mkWe"),l=o("Sn4D"),d=o("Iksw"),u=o("/KDZ"),p=o("5YsI");class h extends r.PureComponent{constructor(t){super(t),this._wrapperRef=null,this._controller=r.createRef(),this._handleWrapperRef=t=>{this._wrapperRef=t,this.props.reference&&this.props.reference(t)},this._handleClick=t=>{t.target instanceof Node&&t.currentTarget.contains(t.target)&&(this._handleToggleDropdown(),this.props.onClick&&this.props.onClick(t,!this.state.isOpened))},this._handleToggleDropdown=t=>{const{onClose:e,onOpen:o}=this.props,{isOpened:r}=this.state,n="boolean"==typeof t?t:!r;this.setState({isOpened:n}),n&&o&&o(),!n&&e&&e()},this._handleClose=()=>{this.close()},this.state={isOpened:!1}}render(){const{id:t,arrow:e,content:o,isDisabled:i,isDrawer:c,isShowTooltip:l,title:d,className:p,hotKey:h,theme:m,drawerBreakpoint:f}=this.props,{isOpened:v}=this.state,w=n(p,m.button,{"apply-common-tooltip":l||!i,[m.isDisabled]:i,[m.isOpened]:v});return r.createElement("div",{id:t,className:w,onClick:i?void 0:this._handleClick,title:d,"data-tooltip-hotkey":h,ref:this._handleWrapperRef,"data-role":"button",...Object(a.b)(this.props)},o,e&&r.createElement("div",{className:m.arrow},r.createElement("div",{className:m.arrowWrap},r.createElement(s.a,{dropped:v}))),this.state.isOpened&&(f?r.createElement(u.a,{rule:f},t=>this._renderContent(t)):this._renderContent(c)))}close(){this._handleToggleDropdown(!1)}update(){null!==this._controller.current&&this._controller.current.update()}_renderContent(t){const{menuDataName:e,minWidth:o,menuClassName:n,maxHeight:s,drawerPosition:a="Bottom",children:u}=this.props,{isOpened:p}=this.state,h={horizontalMargin:this.props.horizontalMargin||0,verticalMargin:this.props.verticalMargin||2,verticalAttachEdge:this.props.verticalAttachEdge,horizontalAttachEdge:this.props.horizontalAttachEdge,verticalDropDirection:this.props.verticalDropDirection,horizontalDropDirection:this.props.horizontalDropDirection,matchButtonAndListboxWidths:this.props.matchButtonAndListboxWidths},m=Boolean(p&&t&&a),f=function(t){return"function"==typeof t}(u)?u({isDrawer:m}):u;return m?r.createElement(c.b,null,r.createElement(l.a,{onClose:this._handleClose,position:a,"data-name":e},f)):r.createElement(i.a,{controller:this._controller,closeOnClickOutside:this.props.closeOnClickOutside,doNotCloseOn:this,isOpened:p,minWidth:o,onClose:this._handleClose,position:Object(d.e)(this._wrapperRef,h),className:n,maxHeight:s,"data-name":e},f)}}h.defaultProps={arrow:!0,closeOnClickOutside:!0,theme:p}},Iksw:function(t,e,o){"use strict";o.d(e,"c",(function(){return r})),o.d(e,"a",(function(){return n})),o.d(e,"d",(function(){return i})),o.d(e,"b",(function(){return s})),o.d(e,"e",(function(){return l}))
;var r,n,i,s,a=o("Eyy1");!function(t){t[t.Top=0]="Top",t[t.Bottom=1]="Bottom"}(r||(r={})),function(t){t[t.Left=0]="Left",t[t.Right=1]="Right"}(n||(n={})),function(t){t[t.FromTopToBottom=0]="FromTopToBottom",t[t.FromBottomToTop=1]="FromBottomToTop"}(i||(i={})),function(t){t[t.FromLeftToRight=0]="FromLeftToRight",t[t.FromRightToLeft=1]="FromRightToLeft"}(s||(s={}));const c={verticalAttachEdge:r.Bottom,horizontalAttachEdge:n.Left,verticalDropDirection:i.FromTopToBottom,horizontalDropDirection:s.FromLeftToRight,verticalMargin:0,horizontalMargin:0,matchButtonAndListboxWidths:!1};function l(t,e){return(o,l)=>{const d=Object(a.ensureNotNull)(t).getBoundingClientRect(),{verticalAttachEdge:u=c.verticalAttachEdge,verticalDropDirection:p=c.verticalDropDirection,horizontalAttachEdge:h=c.horizontalAttachEdge,horizontalDropDirection:m=c.horizontalDropDirection,horizontalMargin:f=c.horizontalMargin,verticalMargin:v=c.verticalMargin,matchButtonAndListboxWidths:w=c.matchButtonAndListboxWidths}=e,b=u===r.Top?-1*v:v,D=h===n.Right?d.right:d.left,g=u===r.Top?d.top:d.bottom,O={x:D-(m===s.FromRightToLeft?o:0)+f,y:g-(p===i.FromBottomToTop?l:0)+b};return w&&(O.overrideWidth=d.width),O}}},"ML8+":function(t,e,o){"use strict";o.d(e,"a",(function(){return c}));var r=o("q1tI"),n=o("TSYQ"),i=o("Iivm"),s=o("cvzQ"),a=o("R4+T");function c(t){const{dropped:e,className:o}=t;return r.createElement(i.a,{className:n(o,s.icon,{[s.dropped]:e}),icon:a})}},"R4+T":function(t,e){t.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 8" width="16" height="8"><path fill="currentColor" d="M0 1.475l7.396 6.04.596.485.593-.49L16 1.39 14.807 0 7.393 6.122 8.58 6.12 1.186.08z"/></svg>'},R5JZ:function(t,e,o){"use strict";function r(t,e,o,r,n){function i(n){if(t>n.timeStamp)return;const i=n.target;void 0!==o&&null!==e&&null!==i&&i.ownerDocument===r&&(e.contains(i)||o(n))}return n.click&&r.addEventListener("click",i,!1),n.mouseDown&&r.addEventListener("mousedown",i,!1),n.touchEnd&&r.addEventListener("touchend",i,!1),n.touchStart&&r.addEventListener("touchstart",i,!1),()=>{r.removeEventListener("click",i,!1),r.removeEventListener("mousedown",i,!1),r.removeEventListener("touchend",i,!1),r.removeEventListener("touchstart",i,!1)}}o.d(e,"a",(function(){return r}))},Sn4D:function(t,e,o){"use strict";o.d(e,"a",(function(){return m}));var r=o("q1tI"),n=o.n(r),i=o("Eyy1"),s=o("TSYQ"),a=o("x0D+"),c=o("0YpW"),l=o("AiMB"),d=o("mkWe"),u=o("qFKp"),p=o("X0gx"),h=o("sHQ4");function m(t){const{position:e="Bottom",onClose:o,children:m,className:f,theme:v=h}=t,w=Object(i.ensureNotNull)(Object(r.useContext)(d.a)),[b,D]=Object(r.useState)(0),g=Object(r.useRef)(null),O=Object(r.useContext)(p.a);return Object(r.useEffect)(()=>{const t=Object(i.ensureNotNull)(g.current);return t.focus({preventScroll:!0}),O.subscribe(w,o),Object(c.a)(!0),u.CheckMobile.iOS()&&Object(a.disableBodyScroll)(t),D(w.addDrawer()),()=>{O.unsubscribe(w,o);const e=w.removeDrawer();u.CheckMobile.iOS()&&Object(a.enableBodyScroll)(t),0===e&&Object(c.a)(!1)}},[]),n.a.createElement(l.a,null,n.a.createElement("div",{
className:s(h.wrap,h["position"+e])},b===w.currentDrawer&&n.a.createElement("div",{className:h.backdrop,onClick:o}),n.a.createElement("div",{className:s(h.drawer,v.drawer,h["position"+e],f),ref:g,tabIndex:-1,"data-name":t["data-name"]},m)))}},bQ7Y:function(t,e,o){t.exports={button:"button-2Vpz_LXc",hover:"hover-2Vpz_LXc",isInteractive:"isInteractive-2Vpz_LXc",isGrouped:"isGrouped-2Vpz_LXc",isActive:"isActive-2Vpz_LXc",isOpened:"isOpened-2Vpz_LXc",isDisabled:"isDisabled-2Vpz_LXc",text:"text-2Vpz_LXc",icon:"icon-2Vpz_LXc"}},cvzQ:function(t,e,o){t.exports={icon:"icon-19OjtB6A",dropped:"dropped-19OjtB6A"}},ijHL:function(t,e,o){"use strict";function r(t){return i(t,s)}function n(t){return i(t,a)}function i(t,e){const o=Object.entries(t).filter(e),r={};for(const[t,e]of o)r[t]=e;return r}function s(t){const[e,o]=t;return 0===e.indexOf("data-")&&"string"==typeof o}function a(t){return 0===t[0].indexOf("aria-")}o.d(e,"b",(function(){return r})),o.d(e,"a",(function(){return n})),o.d(e,"c",(function(){return i})),o.d(e,"e",(function(){return s})),o.d(e,"d",(function(){return a}))},mkWe:function(t,e,o){"use strict";o.d(e,"b",(function(){return i})),o.d(e,"a",(function(){return s}));var r=o("q1tI"),n=o.n(r);class i extends n.a.PureComponent{constructor(t){super(t),this._addDrawer=()=>{const t=this.state.currentDrawer+1;return this.setState({currentDrawer:t}),t},this._removeDrawer=()=>{const t=this.state.currentDrawer-1;return this.setState({currentDrawer:t}),t},this.state={currentDrawer:0}}render(){return n.a.createElement(s.Provider,{value:{addDrawer:this._addDrawer,removeDrawer:this._removeDrawer,currentDrawer:this.state.currentDrawer}},this.props.children)}}const s=n.a.createContext(null)},sHQ4:function(t,e,o){t.exports={wrap:"wrap-164vy-kj",positionBottom:"positionBottom-164vy-kj",backdrop:"backdrop-164vy-kj",drawer:"drawer-164vy-kj",positionLeft:"positionLeft-164vy-kj"}},tU7i:function(t,e,o){"use strict";o.d(e,"a",(function(){return a})),o.d(e,"b",(function(){return c}));var r=o("q1tI"),n=o("TSYQ"),i=o("Iivm"),s=o("bQ7Y");const a=s,c=r.forwardRef((t,e)=>{const{icon:o,isActive:a,isOpened:c,isDisabled:l,isGrouped:d,isHovered:u,onClick:p,text:h,textBeforeIcon:m,title:f,theme:v=s,className:w,forceInteractive:b,"data-name":D,...g}=t,O=n(w,v.button,f&&"apply-common-tooltip",{[v.isActive]:a,[v.isOpened]:c,[v.isInteractive]:(b||Boolean(p))&&!l,[v.isDisabled]:l,[v.isGrouped]:d,[v.hover]:u}),E=o&&("string"==typeof o?r.createElement(i.a,{className:v.icon,icon:o}):r.cloneElement(o,{className:n(v.icon,o.props.className)}));return r.createElement("div",{...g,ref:e,"data-role":"button",className:O,onClick:l?void 0:p,title:f,"data-name":D},m&&h&&r.createElement("div",{className:n("js-button-text",v.text)},h),E,!m&&h&&r.createElement("div",{className:n("js-button-text",v.text)},h))})}}]);

1
static/charting_library/bundles/39.74a7bc3b464cd284827f.css

File diff suppressed because one or more lines are too long

1
static/charting_library/bundles/39.74a7bc3b464cd284827f.rtl.css

File diff suppressed because one or more lines are too long

1
static/charting_library/bundles/39.bc1e9ce938fd5152831f.js

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[39],[]]);

0
static/charting_library/bundles/4.92647ec0a7beb8b2898d.css

0
static/charting_library/bundles/4.92647ec0a7beb8b2898d.rtl.css

1
static/charting_library/bundles/4.c7430b8d89cddcf51345.js

@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[4],[]]);

2
static/charting_library/bundles/40.b59f41ba4cacbfb8acc3.js

@ -0,0 +1,2 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{"4Cm8":function(t,e,s){"use strict";s.d(e,"a",(function(){return R}));var i=s("q1tI"),r=s("TSYQ"),o=s("cvc5"),n=s("Eyy1"),l=s("Iivm"),a=s("//lZ"),h=s("9uLv"),c=s("Ialn"),u=s("Vike"),d=s("ji/R");const p={isVisibleScrollbar:!0,shouldMeasure:!0,hideButtonsFrom:1};function f(t){return i.createElement("div",{className:r(d.fadeLeft,t.className,{[d.isVisible]:t.isVisible})})}function w(t){return i.createElement("div",{className:r(d.fadeRight,t.className,{[d.isVisible]:t.isVisible})})}function b(t){return i.createElement(v,{...t,className:d.scrollLeft})}function m(t){return i.createElement(v,{...t,className:d.scrollRight})}function v(t){return i.createElement("div",{className:r(t.className,{[d.isVisible]:t.isVisible}),onClick:t.onClick},i.createElement("div",{className:d.iconWrap},i.createElement(l.a,{icon:u,className:d.icon})))}const R=function(t=b,e=m,s=f,l=w){var u;return(u=class extends i.PureComponent{constructor(t){super(t),this._scroll=i.createRef(),this._wrapMeasureRef=i.createRef(),this._contentMeasureRef=i.createRef(),this._handleScrollLeft=()=>{if(this.props.onScrollButtonClick)return void this.props.onScrollButtonClick("left");const t=this.props.scrollStepSize||this.state.widthWrap-50;this.animateTo(Math.max(0,this.currentPosition()-t))},this._handleScrollRight=()=>{if(this.props.onScrollButtonClick)return void this.props.onScrollButtonClick("right");const t=this.props.scrollStepSize||this.state.widthWrap-50;this.animateTo(Math.min((this.state.widthContent||0)-(this.state.widthWrap||0),this.currentPosition()+t))},this._handleResizeWrap=t=>{this.props.onMeasureWrap&&this.props.onMeasureWrap(t),this.setState({widthWrap:t.width}),this._checkButtonsVisibility()},this._handleResizeContent=t=>{this.props.onMeasureContent&&this.props.onMeasureContent(t);const{shouldDecreaseWidthContent:e,buttonsWidthIfDecreasedWidthContent:s}=this.props;e&&s?this.setState({widthContent:t.width+2*s}):this.setState({widthContent:t.width})},this._handleScroll=()=>{const{onScroll:t}=this.props;t&&t(this.currentPosition(),this.isAtLeft(),this.isAtRight()),this._checkButtonsVisibility()},this._checkButtonsVisibility=()=>{const{isVisibleLeftButton:t,isVisibleRightButton:e}=this.state,s=this.isAtLeft(),i=this.isAtRight();s||t?s&&t&&this.setState({isVisibleLeftButton:!1}):this.setState({isVisibleLeftButton:!0}),i||e?i&&e&&this.setState({isVisibleRightButton:!1}):this.setState({isVisibleRightButton:!0})},this.state={widthContent:0,widthWrap:0,isVisibleRightButton:!1,isVisibleLeftButton:!1}}componentDidMount(){this._checkButtonsVisibility()}componentDidUpdate(t,e){e.widthWrap===this.state.widthWrap&&e.widthContent===this.state.widthContent||this._handleScroll(),this.props.shouldMeasure&&this._wrapMeasureRef.current&&this._contentMeasureRef.current&&(this._wrapMeasureRef.current.measure(),this._contentMeasureRef.current.measure())}currentPosition(){return this._scroll.current?Object(c.isRtl)()?Object(c.getLTRScrollLeft)(this._scroll.current):this._scroll.current.scrollLeft:0}isAtLeft(){
return!this._isOverflowed()||this.currentPosition()<=Object(n.ensureDefined)(this.props.hideButtonsFrom)}isAtRight(){return!this._isOverflowed()||this.currentPosition()+this.state.widthWrap>=this.state.widthContent-Object(n.ensureDefined)(this.props.hideButtonsFrom)}animateTo(t,e=h.b){const s=this._scroll.current;s&&(Object(c.isRtl)()&&(t=Object(c.getLTRScrollLeftOffset)(s,t)),e<=0?s.scrollLeft=Math.round(t):Object(a.doAnimate)({onStep(t,e){s.scrollLeft=Math.round(e)},from:s.scrollLeft,to:Math.round(t),easing:h.c.easeInOutCubic,duration:e}))}render(){const{children:n,isVisibleScrollbar:a,isVisibleFade:h,isVisibleButtons:c,shouldMeasure:u,shouldDecreaseWidthContent:p,buttonsWidthIfDecreasedWidthContent:f,onMouseOver:w,onMouseOut:b,scrollWrapClassName:m,fadeClassName:v}=this.props,{isVisibleRightButton:R,isVisibleLeftButton:S}=this.state,V=p&&f;return i.createElement(o,{whitelist:["width"],onMeasure:this._handleResizeWrap,shouldMeasure:u,ref:this._wrapMeasureRef},i.createElement("div",{className:d.wrapOverflow,onMouseOver:w,onMouseOut:b},i.createElement("div",{className:r(d.wrap,V?d.wrapWithArrowsOuting:"")},i.createElement("div",{className:r(d.scrollWrap,m,{[d.noScrollBar]:!a}),onScroll:this._handleScroll,ref:this._scroll},i.createElement(o,{onMeasure:this._handleResizeContent,whitelist:["width"],shouldMeasure:u,ref:this._contentMeasureRef},n)),h&&i.createElement(s,{isVisible:S,className:v}),h&&i.createElement(l,{isVisible:R,className:v}),c&&i.createElement(t,{onClick:this._handleScrollLeft,isVisible:S}),c&&i.createElement(e,{onClick:this._handleScrollRight,isVisible:R}))))}_isOverflowed(){const{widthContent:t,widthWrap:e}=this.state;return t>e}}).defaultProps=p,u}(b,m,f,w)},Vike:function(t,e){t.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 10" width="20" height="10"><path fill="none" stroke="currentColor" stroke-width="1.5" d="M2 1l8 8 8-8"/></svg>'},"ji/R":function(t,e,s){t.exports={wrap:"wrap-3obNZqvj",wrapWithArrowsOuting:"wrapWithArrowsOuting-3obNZqvj",wrapOverflow:"wrapOverflow-3obNZqvj",scrollWrap:"scrollWrap-3obNZqvj",noScrollBar:"noScrollBar-3obNZqvj",icon:"icon-3obNZqvj",scrollLeft:"scrollLeft-3obNZqvj",scrollRight:"scrollRight-3obNZqvj",isVisible:"isVisible-3obNZqvj",iconWrap:"iconWrap-3obNZqvj",fadeLeft:"fadeLeft-3obNZqvj",fadeRight:"fadeRight-3obNZqvj"}}}]);

1
static/charting_library/bundles/40566afd832a155e5e370a8bd423de4b.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><g transform="translate(0 -1032.362)"><circle cx="10" cy="1042.362" r="8" fill="#fff"/><path d="M10 1033.362c-4.97 0-9 4.03-9 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zm0 1.125c4.35 0 7.875 3.526 7.875 7.875 0 4.35-3.526 7.875-7.875 7.875-4.35 0-7.875-3.526-7.875-7.875 0-4.35 3.526-7.875 7.875-7.875zm0 5.875a2 2 0 0 0-2 2 2 2 0 0 0 2 2 2 2 0 0 0 2-2 2 2 0 0 0-2-2z" fill="#aaafb9"/></g></svg>

After

Width:  |  Height:  |  Size: 470 B

BIN
static/charting_library/bundles/40f9a03d174178efb12303caa9bc7cd8.woff2

Binary file not shown.

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save