Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • develop
  • master
2 results

Target

Select target project
  • metobs/MetObsSite
  • wroberts/MetObsSite
  • davidh/MetObsSite
3 results
Select Git revision
  • develop
  • master
2 results
Show changes
Commits on Source (50)
Showing
with 6900 additions and 6883 deletions
......@@ -54,6 +54,9 @@ After following GitLab instructions for registering a new GitLab runner, we
need to do some extra setup to prepare the runner's account. See the
`.gitlab-ci.yml` file for the exact commands that are run for each job.
At the time of writing a runner is registered on the `rain03` server with a
"shell" executor with everything running under the gitlab-runner user account.
### Add conda to the runner's environment
The GitLab CI configuration expects the runner to know what the "conda"
......@@ -61,7 +64,7 @@ command is. To enable this we run a onetime command on the runner which
initializes a bashrc for the `gitlab-runner` user.
```bash
sudo -u gitlab-runner /home/davidh/miniconda3/bin/conda init bash
sudo -u gitlab-runner /opt/miniforge3_YYYYMMDD/condabin/conda init bash
```
Or where ever conda is installed for this system. This will create a bashrc
......@@ -71,10 +74,11 @@ is used in the `.gitlab-ci.yml` scripts for creating a build environment.
### GitLab Runner Upload
The uploading of the generated website content is done with rsync via SSH.
This currently uses two SSH keys under David Hoese's user account (davidh)
on the `webaccess` server. These keys are restricted to only run the specific
rsync commands used by gitlab-ci. This is configured in the
`~/.ssh/authorized_keys` file:
This currently uses two SSH keys defined in the GitLab CI Variables (via
the web GUI). These are configured under David Hoese's user account (davidh)
on the `webaccess` server in `~/.ssh/authorized_keys`. These keys are
restricted to only run the specific
rsync commands used by gitlab-ci.
```bash
command="rsync --server -vulogDtpre.iLsfxC --delete . METOBS_TEST",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa <key> metobs-test upload key
......
......@@ -217,11 +217,11 @@ nav {
<div class="row">
<div class="col-lg-6 text-center">
<h4 class="hidden-lg">6 Hours</h4>
<img class="ql-refresh" width="100%" src="http://metobs.ssec.wisc.edu/pub/cache/sparc/current/aeri/level_c1/version_00/aerioe.temp_xsec.last_06_hours.png">
<img class="ql-refresh" width="100%" src="/pub/cache/sparc/current/aeri/level_c1/version_00/aerioe.temp_xsec.last_06_hours.png">
</div>
<div class="col-lg-6 text-center">
<h4 class="hidden-lg">24 Hours</h4>
<img class="ql-refresh" width="100%" src="http://metobs.ssec.wisc.edu/pub/cache/sparc/current/aeri/level_c1/version_00/aerioe.temp_xsec.last_24_hours.png">
<img class="ql-refresh" width="100%" src="/pub/cache/sparc/current/aeri/level_c1/version_00/aerioe.temp_xsec.last_24_hours.png">
</div>
</div>
</div>
......@@ -238,11 +238,11 @@ nav {
<div class="row">
<div class="col-lg-6 text-center">
<h4 class="hidden-lg">6 Hours</h4>
<img class="ql-refresh" width="100%" src="http://metobs.ssec.wisc.edu/pub/cache/sparc/current/aeri/level_c1/version_00/aerioe.wvmr_xsec.last_06_hours.png">
<img class="ql-refresh" width="100%" src="/pub/cache/sparc/current/aeri/level_c1/version_00/aerioe.wvmr_xsec.last_06_hours.png">
</div>
<div class="col-lg-6 text-center">
<h4 class="hidden-lg">24 Hours</h4>
<img class="ql-refresh" width="100%" src="http://metobs.ssec.wisc.edu/pub/cache/sparc/current/aeri/level_c1/version_00/aerioe.wvmr_xsec.last_24_hours.png">
<img class="ql-refresh" width="100%" src="/pub/cache/sparc/current/aeri/level_c1/version_00/aerioe.wvmr_xsec.last_24_hours.png">
</div>
</div>
</div>
......@@ -259,11 +259,11 @@ nav {
<div class="row">
<div class="col-lg-6 text-center">
<h4 class="hidden-lg">6 Hours</h4>
<img class="ql-refresh" width="100%" src="http://metobs.ssec.wisc.edu/pub/cache/sparc/current/aeri/level_c1/version_00/aerioe.rh_xsec.last_06_hours.png">
<img class="ql-refresh" width="100%" src="/pub/cache/sparc/current/aeri/level_c1/version_00/aerioe.rh_xsec.last_06_hours.png">
</div>
<div class="col-lg-6 text-center">
<h4 class="hidden-lg">24 Hours</h4>
<img class="ql-refresh" width="100%" src="http://metobs.ssec.wisc.edu/pub/cache/sparc/current/aeri/level_c1/version_00/aerioe.rh_xsec.last_24_hours.png">
<img class="ql-refresh" width="100%" src="/pub/cache/sparc/current/aeri/level_c1/version_00/aerioe.rh_xsec.last_24_hours.png">
</div>
</div>
</div>
......@@ -280,11 +280,11 @@ nav {
<div class="row">
<div class="col-lg-6 text-center">
<h4 class="hidden-lg">6 Hours</h4>
<img class="ql-refresh" width="100%" src="http://metobs.ssec.wisc.edu/pub/cache/sparc/current/aeri/level_c1/version_00/aerioe.theta_xsec.last_06_hours.png">
<img class="ql-refresh" width="100%" src="/pub/cache/sparc/current/aeri/level_c1/version_00/aerioe.theta_xsec.last_06_hours.png">
</div>
<div class="col-lg-6 text-center">
<h4 class="hidden-lg">24 Hours</h4>
<img class="ql-refresh" width="100%" src="http://metobs.ssec.wisc.edu/pub/cache/sparc/current/aeri/level_c1/version_00/aerioe.theta_xsec.last_24_hours.png">
<img class="ql-refresh" width="100%" src="/pub/cache/sparc/current/aeri/level_c1/version_00/aerioe.theta_xsec.last_24_hours.png">
</div>
</div>
</div>
......@@ -303,11 +303,11 @@ nav {
<div class="row">
<div class="col-lg-6 text-center">
<h4>6 Hours</h4>
<img class="ql-refresh" width="100%" src="http://metobs.ssec.wisc.edu/pub/cache/sparc/current/aeri/level_c1/version_00/aerioe.lwp_itau.last_06_hours.png">
<img class="ql-refresh" width="100%" src="/pub/cache/sparc/current/aeri/level_c1/version_00/aerioe.lwp_itau.last_06_hours.png">
</div>
<div class="col-lg-6 text-center">
<h4>24 Hours</h4>
<img class="ql-refresh" width="100%" src="http://metobs.ssec.wisc.edu/pub/cache/sparc/current/aeri/level_c1/version_00/aerioe.lwp_itau.last_24_hours.png">
<img class="ql-refresh" width="100%" src="/pub/cache/sparc/current/aeri/level_c1/version_00/aerioe.lwp_itau.last_24_hours.png">
</div>
</div>
</div>
......@@ -326,11 +326,11 @@ nav {
<div class="row">
<div class="col-lg-6 text-center">
<h4>6 Hours</h4>
<img class="ql-refresh" width="100%" src="http://metobs.ssec.wisc.edu/pub/cache/sparc/current/windpro/level_a1/version_00/wind_speed_last_6_hrs.png">
<img class="ql-refresh" width="100%" src="/pub/cache/sparc/current/windpro/level_a1/version_00/wind_speed_last_6_hrs.png">
</div>
<div class="col-lg-6 text-center">
<h4>24 Hours</h4>
<img class="ql-refresh" width="100%" src="http://metobs.ssec.wisc.edu/pub/cache/sparc/current/windpro/level_a1/version_00/wind_speed_last_24_hrs.png">
<img class="ql-refresh" width="100%" src="/pub/cache/sparc/current/windpro/level_a1/version_00/wind_speed_last_24_hrs.png">
</div>
</div>
</div>
......@@ -349,17 +349,17 @@ nav {
<div class="row">
<div class="col-lg-6 text-center">
<h4>6 Hours</h4>
<img class="ql-refresh" width="100%" src="http://metobs.ssec.wisc.edu/pub/cache/sparc/current/windpro/level_a1/version_00/wind_dir_last_6_hrs.png">
<img class="ql-refresh" width="100%" src="/pub/cache/sparc/current/windpro/level_a1/version_00/wind_dir_last_6_hrs.png">
</div>
<div class="col-lg-6 text-center">
<h4>24 Hours</h4>
<img class="ql-refresh" width="100%" src="http://metobs.ssec.wisc.edu/pub/cache/sparc/current/windpro/level_a1/version_00/wind_dir_last_24_hrs.png">
<img class="ql-refresh" width="100%" src="/pub/cache/sparc/current/windpro/level_a1/version_00/wind_dir_last_24_hrs.png">
</div>
</div>
</div>
</div>
</div>
<script src="metobs.ssec.wisc.edu/js/moment.min.js"></script>
<script src="{static}/js/moment.min.js"></script>
<script>
setInterval(function(){
//cache-break the images with a new url every 10 minutes
......
......@@ -7,21 +7,25 @@ os_kind=$(awk -F= '/^ID=/{print $2}' /etc/os-release)
os_kind=${os_kind//\"/}
if [[ "${os_kind}" == "ubuntu" ]]; then
source /var/lib/gitlab-runner/.bashrc
elif [[ "${os_kind}" == "centos" ]]; then
source ~/.bashrc
elif [[ "${os_kind}" == "pop" ]]; then
source /var/lib/gitlab-runner/.bashrc
else
source ${HOME}/.bashrc
fi
if [[ -z "$METOBS_SITE_DEST" ]]; then
if [[ "$CI_COMMIT_BRANCH" == "develop" ]]; then
METOBS_SITE_DEST="metobs-test"
export METOBS_SITE_DEST="metobs-test"
else
METOBS_SITE_DEST="metobs"
export METOBS_SITE_DEST="metobs"
fi
fi
# create or update the existing environment to the newest pelican version
conda env update -p "${PWD}/rain_site_env" -f "${SCRIPT_DIR}/build_environment.yml"
conda activate "${PWD}/rain_site_env"
# Environments should be created as gitlab-runner user and placed in
# /home/gitlab-runner/.conda/envs/<env name> by default
conda env update -n "rain_site_env" -f "${SCRIPT_DIR}/build_environment.yml"
conda activate "rain_site_env"
make clean
make publish
echo $PWD
<?xml version="1.0" encoding="UTF-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/" xmlns:vlc="http://www.videolan.org/vlc/playlist/ns/0/">
<title>Playlist</title>
<trackList>
<track>
<location>rtp://@233.0.59.107:5678</location>
<extension application="http://www.videolan.org/vlc/playlist/0">
<vlc:id>0</vlc:id>
</extension>
</track>
</trackList>
<extension application="http://www.videolan.org/vlc/playlist/0">
<vlc:item tid="0" />
</extension>
</playlist>
<?xml version="1.0" encoding="UTF-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/" xmlns:vlc="http://www.videolan.org/vlc/playlist/ns/0/">
<title>Playlist</title>
<trackList>
<track>
<location>rtp://@233.0.59.107:2345</location>
<extension application="http://www.videolan.org/vlc/playlist/0">
<vlc:id>0</vlc:id>
</extension>
</track>
</trackList>
<extension application="http://www.videolan.org/vlc/playlist/0">
<vlc:item tid="0" />
</extension>
</playlist>
<?xml version="1.0" encoding="UTF-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/" xmlns:vlc="http://www.videolan.org/vlc/playlist/ns/0/">
<title>Playlist</title>
<trackList>
<track>
<location>rtp://@233.0.59.107:3456</location>
<extension application="http://www.videolan.org/vlc/playlist/0">
<vlc:id>0</vlc:id>
</extension>
</track>
</trackList>
<extension application="http://www.videolan.org/vlc/playlist/0">
<vlc:item tid="0" />
</extension>
</playlist>
<?xml version="1.0" encoding="UTF-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/" xmlns:vlc="http://www.videolan.org/vlc/playlist/ns/0/">
<title>Playlist</title>
<trackList>
<track>
<location>rtp://@233.0.59.107:6789</location>
<extension application="http://www.videolan.org/vlc/playlist/0">
<vlc:id>0</vlc:id>
</extension>
</track>
</trackList>
<extension application="http://www.videolan.org/vlc/playlist/0">
<vlc:item tid="0" />
</extension>
</playlist>
<?xml version="1.0" encoding="UTF-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/" xmlns:vlc="http://www.videolan.org/vlc/playlist/ns/0/">
<title>Playlist</title>
<trackList>
<track>
<location>rtp://@233.0.59.107:1234</location>
<extension application="http://www.videolan.org/vlc/playlist/0">
<vlc:id>0</vlc:id>
</extension>
</track>
</trackList>
<extension application="http://www.videolan.org/vlc/playlist/0">
<vlc:item tid="0" />
</extension>
</playlist>
......@@ -37,10 +37,15 @@ var DATA_API_INFO= {
'8.0m','9.0m','10.0m','11.0m','12.0m','13.0m','14.0m','15.0m',
'16.0m','17.0m','18.0m','19.0m','20.0m']
},
"doptoppm":{"display_name":"Dissolved Oxygen Concentration"},
"doptosat":{"display_name":"Dissolved Oxygen Saturation"},
"chlorophyll":{"display_name":"Chlorophyll"},
"phycocyanin":{"display_name":"Phycocyanin"}
"spcond":{"display_name":"Specific conductivity of the water (2019-present)"},
"do_raw2":{"display_name":"Dissolved Oxygen Concentration (2019-present)"},
"do_sat2":{"display_name":"Dissolved Oxygen Saturation (2019-present)"},
"chlorophyll_ysi":{"display_name":"Chlorophyll (2019-present)"},
"phycocyanin_ysi":{"display_name":"Phycocyanin (2019-present)"},
"doptoppm":{"display_name":"Dissolved Oxygen Concentration (pre-2019)"},
"doptosat":{"display_name":"Dissolved Oxygen Saturation (pre-2019)"},
"chlorophyll":{"display_name":"Chlorophyll (pre-2019)"},
"phycocyanin":{"display_name":"Phycocyanin (pre-2019)"}
}
}
}
......
......@@ -319,9 +319,12 @@ $(document).ready(function(){
changeYear: true,
dateFormat:'yy-mm-dd',
timeFormat:'HH:mm',
showTimezone:true,
timezoneList:[{label: "UTC", value: 0}],
timezone:0,
showSecond:false,
showMillisec:false,
showMicrosec:false
showMicrosec:false,
});
$('#End-date-picker').datetimepicker({
......@@ -329,9 +332,12 @@ $(document).ready(function(){
changeYear: true,
dateFormat:'yy-mm-dd',
timeFormat:'HH:mm',
showTimezone:true,
timezoneList:[{label: "UTC", value: 0}],
timezone:0,
showSecond:false,
showMillisec:false,
showMicrosec:false
showMicrosec:false,
});
//bind the enabling/disabling of forms to radio buttons
......
{
"ignore": [
"node_modules/*"
]
}
> 0.25%
not dead
\ No newline at end of file
{
"presets": [
[
"@babel/preset-env",
{
"useBuiltIns": "entry",
"corejs": "3.22"
}
]
]
}
\ No newline at end of file
!function(n){var r={};function i(t){if(r[t])return r[t].exports;var e=r[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,i),e.l=!0,e.exports}i.m=n,i.c=r,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=7)}([function(t,Q,e){(function(V,Z){var J;!function(){function n(){}var t="object"==typeof self&&self.self===self&&self||"object"==typeof V&&V.global===V&&V||this||{},e=t._,r=Array.prototype,a=Object.prototype,p="undefined"!=typeof Symbol?Symbol.prototype:null,i=r.push,l=r.slice,f=a.toString,o=a.hasOwnProperty,s=Array.isArray,c=Object.keys,u=Object.create,d=function(t){return t instanceof d?t:this instanceof d?void(this._wrapped=t):new d(t)};Q.nodeType?t._=d:(!Z.nodeType&&Z.exports&&(Q=Z.exports=d),Q._=d),d.VERSION="1.9.1";function h(i,o,t){if(void 0===o)return i;switch(null==t?3:t){case 1:return function(t){return i.call(o,t)};case 3:return function(t,e,n){return i.call(o,t,e,n)};case 4:return function(t,e,n,r){return i.call(o,t,e,n,r)}}return function(){return i.apply(o,arguments)}}function v(t,e,n){return d.iteratee!==y?d.iteratee(t,e):null==t?d.identity:d.isFunction(t)?h(t,e,n):d.isObject(t)&&!d.isArray(t)?d.matcher(t):d.property(t)}var y;d.iteratee=y=function(t,e){return v(t,e,1/0)};function m(a,s){return s=null==s?a.length-1:+s,function(t,e){for(var n=Math.max(arguments.length-s,0),r=Array(n),i=0;i<n;i++)r[i]=arguments[i+s];switch(s){case 0:return a.call(this,r);case 1:return a.call(this,t,r);case 2:return a.call(this,t,e,r)}var o=Array(s+1);for(i=0;i<s;i++)o[i]=arguments[i];return o[s]=r,a.apply(this,o)}}function g(t){if(!d.isObject(t))return{};if(u)return u(t);n.prototype=t;var e=new n;return n.prototype=null,e}function b(e){return function(t){return null==t?void 0:t[e]}}function x(t,e){return null!=t&&o.call(t,e)}function _(t,e){for(var n=e.length,r=0;r<n;r++){if(null==t)return;t=t[e[r]]}return n?t:void 0}function k(t){var e=T(t);return"number"==typeof e&&0<=e&&e<=w}var w=Math.pow(2,53)-1,T=b("length");d.each=d.forEach=function(t,e,n){var r,i;if(e=h(e,n),k(t))for(r=0,i=t.length;r<i;r++)e(t[r],r,t);else{var o=d.keys(t);for(r=0,i=o.length;r<i;r++)e(t[o[r]],o[r],t)}return t},d.map=d.collect=function(t,e,n){e=v(e,n);for(var r=!k(t)&&d.keys(t),i=(r||t).length,o=Array(i),a=0;a<i;a++){var s=r?r[a]:a;o[a]=e(t[s],s,t)}return o};function j(l){return function(t,e,n,r){var i=3<=arguments.length;return function(t,e,n,r){var i=!k(t)&&d.keys(t),o=(i||t).length,a=0<l?0:o-1;for(r||(n=t[i?i[a]:a],a+=l);0<=a&&a<o;a+=l){var s=i?i[a]:a;n=e(n,t[s],s,t)}return n}(t,h(e,r,4),n,i)}}d.reduce=d.foldl=d.inject=j(1),d.reduceRight=d.foldr=j(-1),d.find=d.detect=function(t,e,n){var r=(k(t)?d.findIndex:d.findKey)(t,e,n);if(void 0!==r&&-1!==r)return t[r]},d.filter=d.select=function(t,r,e){var i=[];return r=v(r,e),d.each(t,function(t,e,n){r(t,e,n)&&i.push(t)}),i},d.reject=function(t,e,n){return d.filter(t,d.negate(v(e)),n)},d.every=d.all=function(t,e,n){e=v(e,n);for(var r=!k(t)&&d.keys(t),i=(r||t).length,o=0;o<i;o++){var a=r?r[o]:o;if(!e(t[a],a,t))return!1}return!0},d.some=d.any=function(t,e,n){e=v(e,n);for(var r=!k(t)&&d.keys(t),i=(r||t).length,o=0;o<i;o++){var a=r?r[o]:o;if(e(t[a],a,t))return!0}return!1},d.contains=d.includes=d.include=function(t,e,n,r){return k(t)||(t=d.values(t)),"number"==typeof n&&!r||(n=0),0<=d.indexOf(t,e,n)},d.invoke=m(function(t,n,r){var i,o;return d.isFunction(n)?o=n:d.isArray(n)&&(i=n.slice(0,-1),n=n[n.length-1]),d.map(t,function(t){var e=o;if(!e){if(i&&i.length&&(t=_(t,i)),null==t)return;e=t[n]}return null==e?e:e.apply(t,r)})}),d.pluck=function(t,e){return d.map(t,d.property(e))},d.where=function(t,e){return d.filter(t,d.matcher(e))},d.findWhere=function(t,e){return d.find(t,d.matcher(e))},d.max=function(t,r,e){var n,i,o=-1/0,a=-1/0;if(null==r||"number"==typeof r&&"object"!=typeof t[0]&&null!=t)for(var s=0,l=(t=k(t)?t:d.values(t)).length;s<l;s++)null!=(n=t[s])&&o<n&&(o=n);else r=v(r,e),d.each(t,function(t,e,n){i=r(t,e,n),(a<i||i===-1/0&&o===-1/0)&&(o=t,a=i)});return o},d.min=function(t,r,e){var n,i,o=1/0,a=1/0;if(null==r||"number"==typeof r&&"object"!=typeof t[0]&&null!=t)for(var s=0,l=(t=k(t)?t:d.values(t)).length;s<l;s++)null!=(n=t[s])&&n<o&&(o=n);else r=v(r,e),d.each(t,function(t,e,n){((i=r(t,e,n))<a||i===1/0&&o===1/0)&&(o=t,a=i)});return o},d.shuffle=function(t){return d.sample(t,1/0)},d.sample=function(t,e,n){if(null==e||n)return k(t)||(t=d.values(t)),t[d.random(t.length-1)];var r=k(t)?d.clone(t):d.values(t),i=T(r);e=Math.max(Math.min(e,i),0);for(var o=i-1,a=0;a<e;a++){var s=d.random(a,o),l=r[a];r[a]=r[s],r[s]=l}return r.slice(0,e)},d.sortBy=function(t,r,e){var i=0;return r=v(r,e),d.pluck(d.map(t,function(t,e,n){return{value:t,index:i++,criteria:r(t,e,n)}}).sort(function(t,e){var n=t.criteria,r=e.criteria;if(n!==r){if(r<n||void 0===n)return 1;if(n<r||void 0===r)return-1}return t.index-e.index}),"value")};function M(a,e){return function(r,i,t){var o=e?[[],[]]:{};return i=v(i,t),d.each(r,function(t,e){var n=i(t,e,r);a(o,t,n)}),o}}d.groupBy=M(function(t,e,n){x(t,n)?t[n].push(e):t[n]=[e]}),d.indexBy=M(function(t,e,n){t[n]=e}),d.countBy=M(function(t,e,n){x(t,n)?t[n]++:t[n]=1});var S=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;d.toArray=function(t){return t?d.isArray(t)?l.call(t):d.isString(t)?t.match(S):k(t)?d.map(t,d.identity):d.values(t):[]},d.size=function(t){return null==t?0:k(t)?t.length:d.keys(t).length},d.partition=M(function(t,e,n){t[n?0:1].push(e)},!0),d.first=d.head=d.take=function(t,e,n){return null==t||t.length<1?null==e?void 0:[]:null==e||n?t[0]:d.initial(t,t.length-e)},d.initial=function(t,e,n){return l.call(t,0,Math.max(0,t.length-(null==e||n?1:e)))},d.last=function(t,e,n){return null==t||t.length<1?null==e?void 0:[]:null==e||n?t[t.length-1]:d.rest(t,Math.max(0,t.length-e))},d.rest=d.tail=d.drop=function(t,e,n){return l.call(t,null==e||n?1:e)},d.compact=function(t){return d.filter(t,Boolean)};var O=function(t,e,n,r){for(var i=(r=r||[]).length,o=0,a=T(t);o<a;o++){var s=t[o];if(k(s)&&(d.isArray(s)||d.isArguments(s)))if(e)for(var l=0,c=s.length;l<c;)r[i++]=s[l++];else O(s,e,n,r),i=r.length;else n||(r[i++]=s)}return r};d.flatten=function(t,e){return O(t,e,!1)},d.without=m(function(t,e){return d.difference(t,e)}),d.uniq=d.unique=function(t,e,n,r){d.isBoolean(e)||(r=n,n=e,e=!1),null!=n&&(n=v(n,r));for(var i=[],o=[],a=0,s=T(t);a<s;a++){var l=t[a],c=n?n(l,a,t):l;e&&!n?(a&&o===c||i.push(l),o=c):n?d.contains(o,c)||(o.push(c),i.push(l)):d.contains(i,l)||i.push(l)}return i},d.union=m(function(t){return d.uniq(O(t,!0,!0))}),d.intersection=function(t){for(var e=[],n=arguments.length,r=0,i=T(t);r<i;r++){var o=t[r];if(!d.contains(e,o)){var a;for(a=1;a<n&&d.contains(arguments[a],o);a++);a===n&&e.push(o)}}return e},d.difference=m(function(t,e){return e=O(e,!0,!0),d.filter(t,function(t){return!d.contains(e,t)})}),d.unzip=function(t){for(var e=t&&d.max(t,T).length||0,n=Array(e),r=0;r<e;r++)n[r]=d.pluck(t,r);return n},d.zip=m(d.unzip),d.object=function(t,e){for(var n={},r=0,i=T(t);r<i;r++)e?n[t[r]]=e[r]:n[t[r][0]]=t[r][1];return n};function D(o){return function(t,e,n){e=v(e,n);for(var r=T(t),i=0<o?0:r-1;0<=i&&i<r;i+=o)if(e(t[i],i,t))return i;return-1}}d.findIndex=D(1),d.findLastIndex=D(-1),d.sortedIndex=function(t,e,n,r){for(var i=(n=v(n,r,1))(e),o=0,a=T(t);o<a;){var s=Math.floor((o+a)/2);n(t[s])<i?o=s+1:a=s}return o};function P(o,a,s){return function(t,e,n){var r=0,i=T(t);if("number"==typeof n)0<o?r=0<=n?n:Math.max(n+i,r):i=0<=n?Math.min(n+1,i):n+i+1;else if(s&&n&&i)return t[n=s(t,e)]===e?n:-1;if(e!=e)return 0<=(n=a(l.call(t,r,i),d.isNaN))?n+r:-1;for(n=0<o?r:i-1;0<=n&&n<i;n+=o)if(t[n]===e)return n;return-1}}d.indexOf=P(1,d.findIndex,d.sortedIndex),d.lastIndexOf=P(-1,d.findLastIndex),d.range=function(t,e,n){null==e&&(e=t||0,t=0),n||(n=e<t?-1:1);for(var r=Math.max(Math.ceil((e-t)/n),0),i=Array(r),o=0;o<r;o++,t+=n)i[o]=t;return i},d.chunk=function(t,e){if(null==e||e<1)return[];for(var n=[],r=0,i=t.length;r<i;)n.push(l.call(t,r,r+=e));return n};function I(t,e,n,r,i){if(!(r instanceof e))return t.apply(n,i);var o=g(t.prototype),a=t.apply(o,i);return d.isObject(a)?a:o}d.bind=m(function(e,n,r){if(!d.isFunction(e))throw new TypeError("Bind must be called on a function");var i=m(function(t){return I(e,i,n,this,r.concat(t))});return i}),d.partial=m(function(i,o){var a=d.partial.placeholder,s=function(){for(var t=0,e=o.length,n=Array(e),r=0;r<e;r++)n[r]=o[r]===a?arguments[t++]:o[r];for(;t<arguments.length;)n.push(arguments[t++]);return I(i,s,this,this,n)};return s}),(d.partial.placeholder=d).bindAll=m(function(t,e){var n=(e=O(e,!1,!1)).length;if(n<1)throw new Error("bindAll must be passed function names");for(;n--;){var r=e[n];t[r]=d.bind(t[r],t)}}),d.memoize=function(r,i){var o=function(t){var e=o.cache,n=""+(i?i.apply(this,arguments):t);return x(e,n)||(e[n]=r.apply(this,arguments)),e[n]};return o.cache={},o},d.delay=m(function(t,e,n){return setTimeout(function(){return t.apply(null,n)},e)}),d.defer=d.partial(d.delay,d,1),d.throttle=function(n,r,i){var o,a,s,l,c=0;i||(i={});function u(){c=!1===i.leading?0:d.now(),o=null,l=n.apply(a,s),o||(a=s=null)}function t(){var t=d.now();c||!1!==i.leading||(c=t);var e=r-(t-c);return a=this,s=arguments,e<=0||r<e?(o&&(clearTimeout(o),o=null),c=t,l=n.apply(a,s),o||(a=s=null)):o||!1===i.trailing||(o=setTimeout(u,e)),l}return t.cancel=function(){clearTimeout(o),c=0,o=a=s=null},t},d.debounce=function(n,r,i){function o(t,e){a=null,e&&(s=n.apply(t,e))}var a,s,t=m(function(t){if(a&&clearTimeout(a),i){var e=!a;a=setTimeout(o,r),e&&(s=n.apply(this,t))}else a=d.delay(o,r,this,t);return s});return t.cancel=function(){clearTimeout(a),a=null},t},d.wrap=function(t,e){return d.partial(e,t)},d.negate=function(t){return function(){return!t.apply(this,arguments)}},d.compose=function(){var n=arguments,r=n.length-1;return function(){for(var t=r,e=n[r].apply(this,arguments);t--;)e=n[t].call(this,e);return e}},d.after=function(t,e){return function(){if(--t<1)return e.apply(this,arguments)}},d.before=function(t,e){var n;return function(){return 0<--t&&(n=e.apply(this,arguments)),t<=1&&(e=null),n}},d.once=d.partial(d.before,2),d.restArguments=m;function E(t,e){var n=A.length,r=t.constructor,i=d.isFunction(r)&&r.prototype||a,o="constructor";for(x(t,o)&&!d.contains(e,o)&&e.push(o);n--;)(o=A[n])in t&&t[o]!==i[o]&&!d.contains(e,o)&&e.push(o)}var $=!{toString:null}.propertyIsEnumerable("toString"),A=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];d.keys=function(t){if(!d.isObject(t))return[];if(c)return c(t);var e=[];for(var n in t)x(t,n)&&e.push(n);return $&&E(t,e),e},d.allKeys=function(t){if(!d.isObject(t))return[];var e=[];for(var n in t)e.push(n);return $&&E(t,e),e},d.values=function(t){for(var e=d.keys(t),n=e.length,r=Array(n),i=0;i<n;i++)r[i]=t[e[i]];return r},d.mapObject=function(t,e,n){e=v(e,n);for(var r=d.keys(t),i=r.length,o={},a=0;a<i;a++){var s=r[a];o[s]=e(t[s],s,t)}return o},d.pairs=function(t){for(var e=d.keys(t),n=e.length,r=Array(n),i=0;i<n;i++)r[i]=[e[i],t[e[i]]];return r},d.invert=function(t){for(var e={},n=d.keys(t),r=0,i=n.length;r<i;r++)e[t[n[r]]]=n[r];return e},d.functions=d.methods=function(t){var e=[];for(var n in t)d.isFunction(t[n])&&e.push(n);return e.sort()};function C(l,c){return function(t){var e=arguments.length;if(c&&(t=Object(t)),e<2||null==t)return t;for(var n=1;n<e;n++)for(var r=arguments[n],i=l(r),o=i.length,a=0;a<o;a++){var s=i[a];c&&void 0!==t[s]||(t[s]=r[s])}return t}}d.extend=C(d.allKeys),d.extendOwn=d.assign=C(d.keys),d.findKey=function(t,e,n){e=v(e,n);for(var r,i=d.keys(t),o=0,a=i.length;o<a;o++)if(e(t[r=i[o]],r,t))return r};function z(t,e,n){return e in n}var N,F;d.pick=m(function(t,e){var n={},r=e[0];if(null==t)return n;d.isFunction(r)?(1<e.length&&(r=h(r,e[1])),e=d.allKeys(t)):(r=z,e=O(e,!1,!1),t=Object(t));for(var i=0,o=e.length;i<o;i++){var a=e[i],s=t[a];r(s,a,t)&&(n[a]=s)}return n}),d.omit=m(function(t,n){var e,r=n[0];return d.isFunction(r)?(r=d.negate(r),1<n.length&&(e=n[1])):(n=d.map(O(n,!1,!1),String),r=function(t,e){return!d.contains(n,e)}),d.pick(t,r,e)}),d.defaults=C(d.allKeys,!0),d.create=function(t,e){var n=g(t);return e&&d.extendOwn(n,e),n},d.clone=function(t){return d.isObject(t)?d.isArray(t)?t.slice():d.extend({},t):t},d.tap=function(t,e){return e(t),t},d.isMatch=function(t,e){var n=d.keys(e),r=n.length;if(null==t)return!r;for(var i=Object(t),o=0;o<r;o++){var a=n[o];if(e[a]!==i[a]||!(a in i))return!1}return!0},N=function(t,e,n,r){if(t===e)return 0!==t||1/t==1/e;if(null==t||null==e)return!1;if(t!=t)return e!=e;var i=typeof t;return("function"==i||"object"==i||"object"==typeof e)&&F(t,e,n,r)},F=function(t,e,n,r){t instanceof d&&(t=t._wrapped),e instanceof d&&(e=e._wrapped);var i=f.call(t);if(i!==f.call(e))return!1;switch(i){case"[object RegExp]":case"[object String]":return""+t==""+e;case"[object Number]":return+t!=+t?+e!=+e:0==+t?1/+t==1/e:+t==+e;case"[object Date]":case"[object Boolean]":return+t==+e;case"[object Symbol]":return p.valueOf.call(t)===p.valueOf.call(e)}var o="[object Array]"===i;if(!o){if("object"!=typeof t||"object"!=typeof e)return!1;var a=t.constructor,s=e.constructor;if(a!==s&&!(d.isFunction(a)&&a instanceof a&&d.isFunction(s)&&s instanceof s)&&"constructor"in t&&"constructor"in e)return!1}r=r||[];for(var l=(n=n||[]).length;l--;)if(n[l]===t)return r[l]===e;if(n.push(t),r.push(e),o){if((l=t.length)!==e.length)return!1;for(;l--;)if(!N(t[l],e[l],n,r))return!1}else{var c,u=d.keys(t);if(l=u.length,d.keys(e).length!==l)return!1;for(;l--;)if(c=u[l],!x(e,c)||!N(t[c],e[c],n,r))return!1}return n.pop(),r.pop(),!0},d.isEqual=function(t,e){return N(t,e)},d.isEmpty=function(t){return null==t||(k(t)&&(d.isArray(t)||d.isString(t)||d.isArguments(t))?0===t.length:0===d.keys(t).length)},d.isElement=function(t){return!(!t||1!==t.nodeType)},d.isArray=s||function(t){return"[object Array]"===f.call(t)},d.isObject=function(t){var e=typeof t;return"function"==e||"object"==e&&!!t},d.each(["Arguments","Function","String","Number","Date","RegExp","Error","Symbol","Map","WeakMap","Set","WeakSet"],function(e){d["is"+e]=function(t){return f.call(t)==="[object "+e+"]"}}),d.isArguments(arguments)||(d.isArguments=function(t){return x(t,"callee")});var U=t.document&&t.document.childNodes;"object"!=typeof Int8Array&&"function"!=typeof U&&(d.isFunction=function(t){return"function"==typeof t||!1}),d.isFinite=function(t){return!d.isSymbol(t)&&isFinite(t)&&!isNaN(parseFloat(t))},d.isNaN=function(t){return d.isNumber(t)&&isNaN(t)},d.isBoolean=function(t){return!0===t||!1===t||"[object Boolean]"===f.call(t)},d.isNull=function(t){return null===t},d.isUndefined=function(t){return void 0===t},d.has=function(t,e){if(!d.isArray(e))return x(t,e);for(var n=e.length,r=0;r<n;r++){var i=e[r];if(null==t||!o.call(t,i))return!1;t=t[i]}return!!n},d.noConflict=function(){return t._=e,this},d.identity=function(t){return t},d.constant=function(t){return function(){return t}},d.noop=function(){},d.property=function(e){return d.isArray(e)?function(t){return _(t,e)}:b(e)},d.propertyOf=function(e){return null==e?function(){}:function(t){return d.isArray(t)?_(e,t):e[t]}},d.matcher=d.matches=function(e){return e=d.extendOwn({},e),function(t){return d.isMatch(t,e)}},d.times=function(t,e,n){var r=Array(Math.max(0,t));e=h(e,n,1);for(var i=0;i<t;i++)r[i]=e(i);return r},d.random=function(t,e){return null==e&&(e=t,t=0),t+Math.floor(Math.random()*(e-t+1))},d.now=Date.now||function(){return(new Date).getTime()};function H(e){function n(t){return e[t]}var t="(?:"+d.keys(e).join("|")+")",r=RegExp(t),i=RegExp(t,"g");return function(t){return t=null==t?"":""+t,r.test(t)?t.replace(i,n):t}}var L={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},B=d.invert(L);d.escape=H(L),d.unescape=H(B),d.result=function(t,e,n){d.isArray(e)||(e=[e]);var r=e.length;if(!r)return d.isFunction(n)?n.call(t):n;for(var i=0;i<r;i++){var o=null==t?void 0:t[e[i]];void 0===o&&(o=n,i=r),t=d.isFunction(o)?o.call(t):o}return t};var R=0;d.uniqueId=function(t){var e=++R+"";return t?t+e:e},d.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};function W(t){return"\\"+Y[t]}var q=/(.)^/,Y={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},G=/\\|'|\r|\n|\u2028|\u2029/g;d.template=function(o,t,e){!t&&e&&(t=e),t=d.defaults({},t,d.templateSettings);var n,r=RegExp([(t.escape||q).source,(t.interpolate||q).source,(t.evaluate||q).source].join("|")+"|$","g"),a=0,s="__p+='";o.replace(r,function(t,e,n,r,i){return s+=o.slice(a,i).replace(G,W),a=i+t.length,e?s+="'+\n((__t=("+e+"))==null?'':_.escape(__t))+\n'":n?s+="'+\n((__t=("+n+"))==null?'':__t)+\n'":r&&(s+="';\n"+r+"\n__p+='"),t}),s+="';\n",t.variable||(s="with(obj||{}){\n"+s+"}\n"),s="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+s+"return __p;\n";try{n=new Function(t.variable||"obj","_",s)}catch(t){throw t.source=s,t}function i(t){return n.call(this,t,d)}var l=t.variable||"obj";return i.source="function("+l+"){\n"+s+"}",i},d.chain=function(t){var e=d(t);return e._chain=!0,e};function K(t,e){return t._chain?d(e).chain():e}d.mixin=function(n){return d.each(d.functions(n),function(t){var e=d[t]=n[t];d.prototype[t]=function(){var t=[this._wrapped];return i.apply(t,arguments),K(this,e.apply(d,t))}}),d},d.mixin(d),d.each(["pop","push","reverse","shift","sort","splice","unshift"],function(e){var n=r[e];d.prototype[e]=function(){var t=this._wrapped;return n.apply(t,arguments),"shift"!==e&&"splice"!==e||0!==t.length||delete t[0],K(this,t)}}),d.each(["concat","join","slice"],function(t){var e=r[t];d.prototype[t]=function(){return K(this,e.apply(this._wrapped,arguments))}}),d.prototype.value=function(){return this._wrapped},d.prototype.valueOf=d.prototype.toJSON=d.prototype.value,d.prototype.toString=function(){return String(this._wrapped)},void 0===(J=function(){return d}.apply(Q,[]))||(Z.exports=J)}()}).call(this,e(32),e(33)(t))},function(t){"use strict";function l(t,e){var n=parseInt(t.substring(6,10)),r=parseInt(t.substring(0,3)),i=parseInt(t.substring(3,5)),o=parseInt(e.substring(0,2)),a=parseInt(e.substring(3,5)),s=parseInt(e.substring(6,8));return new Date(n,r,i,o,a,s)}function c(){$("#Plot").prop("disabled",!0)}function a(t,e,n,r){if("--"==(i=$("#interval option:selected")).text());else{var i,o=l(t,n),a=(l(e,r)-o)/1e3,s=(i=$("#interval option:selected")).data("seconds");a=Math.floor(a/s);0<=a&&a<60?($("#prompt_user").html("a "+i.text()+" interval would plot about "+a.toString()+" data points; that's too few - please try again"),$("#default").attr("selected","selected"),c()):a<0?($("#prompt_user").html("The end date is before the start date. Please choose a later end date."),$("#default").attr("selected","selected")):1e3<a?($("#prompt_user").html("a "+i.text()+" interval would plot about "+a.toString()+" data points; that's too many - please try again"),$("#default").attr("selected","selected"),c()):($("#prompt_user").html("a "+i.text()+" interval would plot about "+a.toString()+" data points."),$("#Plot").prop("disabled",!1))}}t.exports.loading=function(){},t.exports.disable=function(){$("#Start-date-picker").prop("disabled",!0),$("#Start-time-picker").prop("disabled",!0),$("#End-date-picker").prop("disabled",!0),$("#End-time-picker").prop("disabled",!0),$("#interval").prop("disabled",!0),$("#Plot").prop("disabled",!0)},t.exports.enable=function(){$("#Start-date-picker").prop("disabled",!1),$("#Start-time-picker").prop("disabled",!1),$("#End-date-picker").prop("disabled",!1),$("#End-time-picker").prop("disabled",!1),$("#interval").prop("disabled",!1)},t.exports.checkInterval=function(){var t=$("#Start-date-picker").val(),e=$("#End-date-picker").val(),n=$("#Start-time-picker").val(),r=$("#End-time-picker").val(),i=$("#interval"),o=$("#interval option:selected");t&&e&&n&&r||"--"==o.text()||($("#prompt_user").html("Please fill out all other fields before filling out the interval field"),$("#default").attr("selected","selected")),a(t,e,n,r,i)}},function(t,e,n){"use strict";var r=n(19)();t.exports=function(t){return t!==r&&null!==t}},function(t){t.exports=Plotly},function(t,e,n){"use strict";var i=n(0);function p(t){return 1.8*t+32}function r(t){return t}String.prototype.format||(String.prototype.format=function(){var n=arguments;return this.replace(/{(\d+)}/g,function(t,e){return void 0!==n[e]?n[e]:t})});var o={null:r,undefined:r,getF:p,getPresInHg:function(t){return.02952998751*t},getSpeedMPH:function(t){return 3600*t/1608},getAccumMillimeter:function(t){return 25.4*t},cardinalWDir:function(t){return["N","NNE","NE","ENE","E","ESE","SE","SSE","S","SSW","SW","WSW","W","WNW","NW","NNW"][Math.floor((t+11.25)%360/22.5)]},getSpeedKTS:function(t){return 1.94384*t}};function c(t,e,n){var r;return null===t?r=t="":(r="yaxis2"in e&&"convert_value"in e.yaxis2?(r=o[e.yaxis2.convert_value](t)).toFixed?r.toFixed(e.yaxis2.precision):r:void 0,t=(t=o[e.yaxis.convert_value](t)).toFixed?t.toFixed(e.yaxis.precision):t),"yaxis2"in e&&void 0!==r?"{0}: {1}{2} ({3}{4})".format(n.name,t,e.yaxis.units,r,e.yaxis2.units):"{0}: {1}{2}".format(n.name,t,e.yaxis.units)}function a(t,e,n,r){for(var i=[],o=0;o<t.length;o++)i.push(c(t[o],e,n));return i}var s={undefined:a,null:a,dewpoint:function(t,e,n,r){var i,o=[],a=void 0;"anc_variables"in n&&1==n.anc_variables.length&&(a=r[n.anc_variables[0]]);var s=n.anc_info[n.anc_variables[0]];s||(s={name:n.anc_variables[0],units:"",precision:2});for(var l=0;l<t.length;l++)i=c(t[l],e,n),void 0!==a&&(i+="<br>{0}: {1}{2}".format(s.name,a[l]?a[l].toFixed(s.precision):"",s.units)),o.push(i);return o},water_temp:function(t,e,n){for(var r,i,o,a,s,l=[],c=0;c<t.length;c++){i=t[c],a=[],s=n.y[c];for(var u=0;u<i.length;u++)o=i[u],r="Depth: {0}m<br>{1}: {2} °C ({3} °F)".format(s.toFixed(1),n.name,null!==o?o.toFixed(3):"N/A",null!==o?p(o).toFixed(3):"N/A"),a.push(r);l.push(a)}return l}};t.exports.getTickVals=function(t,e){var n=.02*(e-t),r=((e+=n)-(t-=n))/4;return i.range(t,e+r,r)},t.exports.getProbeText=function(t,e,n,r){return"probe_text"in n?s[n.probe_text](t,e,n,r):a(t,e,n)},t.exports.getTickText=function(t,e){for(var n=[],r=0;r<t.length;r++){var i=o[e.convert_value](t[r]);i=i.toFixed?i.toFixed(e.precision):i,n.push(i)}return n}},function(t){"use strict";t.exports.buildRequestUrl=function(t,e,n,r,i,o,a){var s=METOBS_API_URL+"/api/data."+t+"?";return s+="interval="+e,s+="&epoch="+n,s+="&sep="+r||!1,s+="&order="+i,s+=o,s+="&symbols="+a}},function(t,e,n){"use strict";function _(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e<t.length;e++)n[e]=t[e];return n}return Array.from(t)}var k=n(3),w=n(4),T=n(0);function j(t,e,n,r){var i,o,a,s,l,c,u,p=0==r?"yaxis":"yaxis2",f={};!function(t,e,n){var r=new Date(t[0].x[t[0].x.length-1]),i=Number(r.toLocaleString("en-US",{hour:"numeric",hour12:!1}));document.getElementById("overlay").style.opacity=0<i&&i<5?1:0;var o=r.toLocaleString("en-US",{year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}).replace(/,([^,]*)$/,"$1"),a=Number(r.getUTCMonth());a=a<9?"0"+(a+1):a+1;var s=Number(r.getUTCDate())<9?"0"+r.getUTCDate():r.getUTCDate(),l=Number(r.getUTCMinutes())<9?"0"+r.getUTCMinutes():r.getUTCMinutes(),c=Number(r.getUTCSeconds())<9?"0"+r.getUTCSeconds():r.getUTCSeconds(),u=r.getUTCFullYear()+"-"+a+"-"+s+" "+r.getUTCHours()+":"+l+":"+c,p=0==e?"327.5 meters":"1074.5 feet";n["annotations.1.text"]="Data last recorded at: "+u+"Z ["+o+" Local] RIG Elevation = "+p}(t,r,f);for(var d=0;d<t.length;d++)if(l=0==d?"":d+1,s=t[d].x,f["xaxis"+l+".tickvals"]=[s[0],s[Math.round(s.length/2)],s[s.length-1]],i=t[d].plot_name,o=n.plots[i],a=w.getTickText([t[d].y[t[d].y.length-1]],o[p])[0],f["annotations["+(3+2*d)+"].text"]=a+""+o[p].units,null!=(u=e.layout["yaxis"+l].tickvals)){if("wind_direction"==i||"rel_hum"==i)c=o[p].ticktext;else{c=[];for(var h=0;h<u.length;h++)c.push(w.getTickText([u[h]],o[p]))}f["yaxis"+l+".ticktext"]=c}k.relayout(e,f),function(){var t={north:"east",east:"south",south:"west",west:"north"}[document.getElementById("roofCam").src.split("/")[7]];document.getElementById("roofCam").alt=document.getElementById("dirText").innerHTML=t,document.getElementById("roofCam").src="http://metobs.ssec.wisc.edu/pub/cache/aoss/cameras/"+t+"/latest_orig.jpg?t="+(new Date).getTime()}()}function M(t,e,n,r,i,o){if("aoss.tower.rel_hum"!=n&&"aoss.tower.wind_direction"!=n){0==t.y.length?(t.yMin=Math.min.apply(Math,_(e)),t.yMax=Math.max.apply(Math,_(e))):(t.yMin=Math.min.apply(Math,_(e).concat([t.yMin])),t.yMax=Math.max.apply(Math,_(e).concat([t.yMax])));var a=t.yMax-t.yMin,s=t.yMin-a,l="aoss.tower.solar_flux"==n?t.yMax:t.yMax+a;0==a&&(0<l?(l*=1.1,s*=.9):l<0?(l*=.9,s*=1.1):s=-(l=.1));var c=s;"aoss.tower.air_temp"!=n&&"aoss.tower.dewpoint"!=n&&s<=0&&(c=s=0),s-=.075*a+.001,r[i+".tickvals"]=[c,c+(l-c)/4,c+2*(l-c)/4,c+3*(l-c)/4,l],r[i+".range"]=[s,l]}else r[i+".tickvals"]=o}t.exports.updatePlot=function(t,e,n,r,i,o){!function(o,t,a,s,e,n){var r,l,c,u,p,f,d=s.dates,i=[],h=!1,v=[],y={x:[],y:[],text:[]},m=[],g={x:[],z:[],text:[]},b=0,x={};for(c=0;c<o.length;c++)r=o[c].plot_name,i[i.length-1]!=r&&(l=a.plots[r],T.each(l.traces,function(e,t){if("contour"==o[b+t].type){var n;g.x.push(d),m.push(b+t),p=T.map(e.var_names,function(t){return s[t]}),(n=o[c].text).push.apply(n,_(w.getProbeText(p,l,e,s)));for(var r=0;r<e.var_names.length;r++){for(var i;r>=o[c].z.length;)o[c].z.push([]);(i=o[c].z[r]).push.apply(i,_(s[e.var_names[r]]))}g.z.push(o[c].z),g.text.push(o[c].text)}else y.x.push(d),v.push(b+t),T.each(e.var_names,function(t){a.isLobbyDisplay&&(f=0==c?"":c+1,M(o[c],s[t],t,x,"yaxis"+f,l.yaxis2.tickvals)),y.y.push(s[t]),u="probe_text"in e&&null===e.probe_text?[void 0]:w.getProbeText(s[t],l,e,s),y.text.push(u)})}),b+=l.traces.length,i.push(r));if(0<v.length&&k.extendTraces(t,y,v),0<m.length)for(k.extendTraces(t,g,m),c=0;c<m.length;c++)o[m[c]].z.splice(0,o[m[c]].y.length),o[m[c]].text.splice(0,o[m[c]].y.length);0!=n||e||(n=s.dates.length,h=!0),0<n&&o[0].x.length>n&&function(t,e){for(var n=0;n<t.length;n++){if(t[n].x.splice(0,e),t[n].hasOwnProperty("z"))for(var r=0;r<t[n].z.length;r++)t[n].z[r].splice(0,e);else t[n].hasOwnProperty("y")&&t[n].y.splice(0,e);t[n].hasOwnProperty("text")&&t[n].text.splice(0,e)}}(o,o[0].x.length-n),0!=Object.keys(x).length&&(k.relayout(t,x),e||j(o,t,a,0)),h&&k.redraw(t)}(t,e,n,r,i,o)},t.exports.changeUnits=j},function(t,e,n){"use strict";var i=n(8),o=n(10);n(0);window.MeteorogramController=function(t,e,n){var r=o.getDispatcher();return{plotDiv:t,controlDiv:e,dataCache:[],initMeteorogram:function(t,e){this.hasGraph=!0,this.plotDiv=t||this.plotDiv,r.dispatch({status:"initPlot",emit:"plotEmitter",location:this.plotDiv,dataCache:this.dataCache,plotsInfo:n,plotOrder:e})},initMeteorogramTable:function(t,e){this.hasTable=!0,this.tableDiv=t||this.plotDiv,r.dispatch({status:"initTable",emit:"plotEmitter",location:this.tableDiv,plotsInfo:n,plotOrder:e})},initMeteorogramControls:function(){i(this.controlDiv,this.plotDiv,r)},displayRealTime:function(){this.hasTable&&r.dispatch({status:"update_table",emit:"plotEmitter",time:"-3:00:00",location:this.tableDiv}),this.hasGraph&&r.dispatch({status:"get_since_now",emit:"plotEmitter",time:"-3:00:00",location:this.plotDiv})},showPlot:function(t){r.dispatch({status:"show"+t,emit:"checkboxEmitter",location:this.div})},hidePlot:function(t){r.dispatch({status:"hide"+t,emit:"checkboxEmitter",location:this.div})},displayRecent:function(t){r.dispatch({status:"get_since_now",emit:"plotEmitter",time:t})},displayTimeRange:function(t,e,n){r.dispatch({status:"get_between_dates",emit:"plotEmitter",start:t,end:e,interval:n||"auto"})}}}},function(t,e,n){"use strict";n(1);var r=n(9);function i(t,e){$(t+" #plot-btn").click(function(){!function(t){t.dispatch({status:"get_between_dates",emit:"plotEmitter",start:$("#Start-date-picker").val().split(" ").join("T")+":00",end:$("#End-date-picker").val().split(" ").join("T")+":00",interval:"auto"})}(e)}),$(t+" #dropDownId").change(function(){!function(t,e){if("realtime"==t)e.dispatch({status:"get_since_now",emit:"plotEmitter",time:"-3:00:00"});else{e.dispatch({status:"get_since_now",emit:"plotEmitter",time:t})}}($(this).val(),e)})}function o(t,e){$(e+" #dropDownId").prop("disabled","recent"!=t),$(e+" #interval").prop("disabled","range"!=t),$(e+" #Start-date-picker").prop("disabled","range"!=t),$(e+" #End-date-picker").prop("disabled","range"!=t),$(e+" #Start-time-picker").prop("disabled","range"!=t),$(e+" #End-time-picker").prop("disabled","range"!=t),$(e+" #plot-btn").prop("disabled","range"!=t)}function a(t,e,n){var r="#"+t;!function(t){$(t+" #Start-date-picker").datetimepicker({changeMonth:!0,changeYear:!0,dateFormat:"yy-mm-dd",timeFormat:"HH:mm",showSecond:!1,showMillisec:!1,showMicrosec:!1}),$(t+" #End-date-picker").datetimepicker({changeMonth:!0,changeYear:!0,dateFormat:"yy-mm-dd",timeFormat:"HH:mm",showSecond:!1,showMillisec:!1,showMicrosec:!1}),$(t+" [type=text]").prop("disabled",!0),$(t+" select").prop("disabled",!0),$(t+" #last_x_days").click(function(){o("recent",t)}),$(t+" #date_range").click(function(){o("range",t)}),$(t+" #last_x_days").trigger("click")}(r),i(r,n)}$(document).ready(function(){}),t.exports=function(t,e,n){$("#"+t).append(r.controlPanelTemplate),a(t,0,n)}},function(t){"use strict";t.exports={controlPanelTemplate:'<div class="row" id="control-panel-row"><div id="show-hide-boxes" class="col-md-12"></div><div class = "col-md-9"><div class="row" style="padding: 0 1em;"><div class="form-group"><table style="width:100%"><tr><td><div class="radio"><label><input type="radio" id="last_x_days" name="time_select">Recent Data:</label></div></td><td><select class="form-control" id="dropDownId"><option selected value="realtime">Realtime Update</option><option value="-1:00:00">Past 1 Hour</option><option value="-2:00:00">Past 2 Hours</option><option value="-3:00:00">Past 3 Hours</option><option value="-6:00:00">Past 6 Hours</option><option value="-12:00:00">Past 12 Hours</option><option value="-18:00:00">Past 18 Hours</option><option value="-24:00:00">Past 24 Hours</option><option value="-96:00:00">Past 4 Days</option></select></td><td style="padding-left:.5em"><div class="radio"><label><input type="radio" id="date_range" name="time_select">Date Range:</label></div></td><td><input class="form-control" style="padding 0.5em 0;" id="Start-date-picker" type="text" placeholder="YYYY-MM-DD"/></td><td>to </td><td><input class="form-control" style="padding 0.5em 0;" id="End-date-picker" type="text" placeholder="YYYY-MM-DD"/></td><td><button class="btn btn-primary btn-block" id="plot-btn">Plot</button></td></tr></table></div></div></div></div>',checkboxTemplates:{"aoss.tower":'<div class="form-group"><label class="form-check-label"><input type="checkbox" class="form-check-input" checked id="temp">Temperature + Dewpoint</label><label class="form-check-label"><input type="checkbox" class="form-check-input" checked id="pres">Pressure</label><label class="form-check-label"><input type="checkbox" class="form-check-input" checked id="wS">Wind Speed</label><label class="form-check-label"><input type="checkbox" class="form-check-input" checked id="wD">Wind Direction</label><label class="form-check-label"><input type="checkbox" class="form-check-input" checked id="aP">Precipitation</label><label class="form-check-label"><input type="checkbox" class="form-check-input" checked id="sF">Solar Flux</label></div>',"mendota.buoy":'<div class="form-group"><label class="form-check-label"><input type="checkbox" class="form-check-input" checked id="temp">Temperature + Dewpoint</label><label class="form-check-label"><input type="checkbox" class="form-check-input" checked id="rh">Relative Humidity</label><label class="form-check-label"><input type="checkbox" class="form-check-input" checked id="wS">Wind Speed</label><label class="form-check-label"><input type="checkbox" class="form-check-input" checked id="wD">Wind Direction</label><label class="form-check-label"><input type="checkbox" class="form-check-input" checked id="chlor">Chlorophyll</label><label class="form-check-label"><input type="checkbox" class="form-check-input" checked id="phyco">Phycocyanin</label></div>'}}},function(t,e,n){"use strict";var u,r=n(11),p=n(27),f=n(30),d=n(31),h=n(34),v=n(1),y=n(6);t.exports.getDispatcher=function(){var i=new p.Dispatcher;function o(){360<(u+=.2*(2*Math.min(120-u%120,u%120)/60+1))&&(u=0),document.getElementById("row1").style.backgroundColor="hsl("+u+",100%,15%)",document.getElementById("row2").style.backgroundColor="hsl("+u+",75%,30%)",document.getElementById("row3").style.backgroundColor="hsl("+u+",50%,45%)"}i.GRAPH_HEIGHT=170;var a=r({visible:{},setPlots:function(t){for(var e in t)this.visible[e]=!0},setShowing:function(t,e){this.showing[t]=void 0===e?!this.showing[t]:e},getShowing:function(t){return this.showing[t]},handleActions:function(t){"checkboxEmitter"==t.emit&&this.emit(t.status,t.location)}});a.dispatchToken=i.register(a.handleActions.bind(a));var t=r({handleActions:function(t){"plotEmitter"==t.emit&&(i.waitFor([a.dispatchToken]),void 0!==t.location&&(this.div=t.location),void 0!==t.plotsInfo&&(this.plotsInfo=t.plotsInfo,this.plotOrder=this.plotsInfo.defaultPlots),void 0!==t.plotOrder&&(this.plotOrder=t.plotOrder),void 0!==t.dataCache&&(this.dataCache=t.dataCache),"get_since_now"==t.status?(this.plotsInfo.isLobbyDisplay&&(t.time="-6:00:00"),this.emit(t.status,t.time,this.plotsInfo,this.dataCache,this.div)):"update_table"==t.status?this.emit(t.status,t.time,this.plotsInfo,this.div):"get_between_dates"==t.status?this.emit(t.status,t.start,t.end,t.interval,this.plotsInfo,this.dataCache,this.div):"initPlot"==t.status?this.emit(t.status,t.location,t.plotOrder?t.plotOrder:this.plotOrder,this.plotsInfo,this.dataCache):"initTable"==t.status?this.emit(t.status,t.location,t.plotOrder?t.plotOrder:this.plotOrder,this.plotsInfo):"update"==t.status?this.emit(t.status,this.div,this.plotsInfo,this.dataCache,t.startTime):"changeUnits"==t.status?this.emit(t.status,this.div,this.plotsInfo,this.dataCache,t.unitCount):this.emit(t.status,t.userInfo))}});function s(t){if(t.progress||(t.progress={}),t.progress.validID){var e=t.progress.id[0];clearInterval(e),t.isLobbyDisplay&&(clearInterval(t.progress.colorID),clearInterval(t.progress.lobbyID)),t.progress.validID=!1}}var l={"1m":3e4,"5m":15e4,"1h":18e5};function c(t,e,n){n.progress||(n.progress={}),s(n),void 0===t&&(t=n.progress.id[1]),void 0===e&&(e=n.progress.id[2]);var r=setInterval(function(t){return function(){i.dispatch({status:"update",emit:"plotEmitter",startTime:t})}}(t),l[e]);n.isLobbyDisplay&&(u=Number(getComputedStyle(document.getElementById("color")).getPropertyValue("--starting-hue")),n.progress.colorID=setInterval(o,1e3),n.progress.lobbyID=setInterval(function(t){return function(){t=(t+1)%2,i.dispatch({status:"changeUnits",emit:"plotEmitter",unitCount:t})}}(0),5e3)),n.progress.id=[r,t,e],n.progress.validID=!0}return t.on("initTable",function(t,e,n){a.setPlots(n),d.initTable(t,e,n)}),t.on("update_table",function(t,e,n){d.requestTableUpdate(n,e),setInterval(function(){d.requestTableUpdate(n,e)},l["1m"])}),t.on("initPlot",function(t,e,n,r){a.setPlots(n),f.initPlot(r,t,e,n)}),t.on("get_since_now",function(t,e,n,r){c(t,h.requestPlotUpdate(n,r,e,t,void 0,void 0,void 0,s),e)}),t.on("get_between_dates",function(t,e,n,r,i,o){s(r),h.requestPlotUpdate(i,o,r,t,e,n)}),t.on("update",function(t,e,n,r){h.requestPlotUpdate(n,t,e,r,void 0,void 0,!0)}),t.on("changeUnits",function(t,e,n,r){y.changeUnits(n,document.getElementById(t),e,r)}),t.on("checking_custom",function(){v.checkInterval()}),t.dispatchToken=i.register(t.handleActions.bind(t)),i}},function(t,e,n){"use strict";var i,r,o,a,s,l,c,u=n(12),p=n(26),f=Function.prototype.apply,d=Function.prototype.call,h=Object.create,v=Object.defineProperty,y=Object.defineProperties,m=Object.prototype.hasOwnProperty,g={configurable:!0,enumerable:!1,writable:!0};r=function(t,e){var n,r;return p(e),i.call(r=this,t,n=function(){o.call(r,t,n),f.call(e,this,arguments)}),n.__eeOnceListener__=e,this},s={on:i=function(t,e){var n;return p(e),m.call(this,"__ee__")?n=this.__ee__:(n=g.value=h(null),v(this,"__ee__",g),g.value=null),n[t]?"object"==typeof n[t]?n[t].push(e):n[t]=[n[t],e]:n[t]=e,this},once:r,off:o=function(t,e){var n,r,i,o;if(p(e),!m.call(this,"__ee__"))return this;if(!(n=this.__ee__)[t])return this;if("object"==typeof(r=n[t]))for(o=0;i=r[o];++o)i!==e&&i.__eeOnceListener__!==e||(2===r.length?n[t]=r[o?0:1]:r.splice(o,1));else r!==e&&r.__eeOnceListener__!==e||delete n[t];return this},emit:a=function(t,e,n){var r,i,o,a,s;if(m.call(this,"__ee__")&&(a=this.__ee__[t]))if("object"==typeof a){for(i=arguments.length,s=new Array(i-1),r=1;r<i;++r)s[r-1]=arguments[r];for(a=a.slice(),r=0;o=a[r];++r)f.call(o,this,s)}else switch(arguments.length){case 1:d.call(a,this);break;case 2:d.call(a,this,e);break;case 3:d.call(a,this,e,n);break;default:for(i=arguments.length,s=new Array(i-1),r=1;r<i;++r)s[r-1]=arguments[r];f.call(a,this,s)}}},l={on:u(i),once:u(r),off:u(o),emit:u(a)},c=y({},l),t.exports=e=function(t){return null==t?h(c):y(Object(t),l)},e.methods=s},function(t,e,n){"use strict";var l=n(13),c=n(21),u=n(22),p=n(23);(t.exports=function(t,e,n){var r,i,o,a,s;return arguments.length<2||"string"!=typeof t?(a=e,e=t,t=null):a=n,null==t?(r=o=!0,i=!1):(r=p.call(t,"c"),i=p.call(t,"e"),o=p.call(t,"w")),s={value:e,configurable:r,enumerable:i,writable:o},a?l(c(a),s):s}).gs=function(t,e,n,r){var i,o,a,s;return"string"!=typeof t?(a=n,n=e,e=t,t=null):a=r,null==e?e=void 0:u(e)?null==n?n=void 0:u(n)||(a=n,n=void 0):(a=e,e=n=void 0),o=null==t?!(i=!0):(i=p.call(t,"c"),p.call(t,"e")),s={get:e,set:n,configurable:i,enumerable:o},a?l(c(a),s):s}},function(t,e,n){"use strict";t.exports=n(14)()?Object.assign:n(15)},function(t){"use strict";t.exports=function(){var t,e=Object.assign;return"function"==typeof e&&(e(t={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),t.foo+t.bar+t.trzy==="razdwatrzy")}},function(t,e,n){"use strict";var a=n(16),s=n(20),l=Math.max;t.exports=function(e,n){var r,t,i,o=l(arguments.length,2);for(e=Object(s(e)),i=function(t){try{e[t]=n[t]}catch(t){r||(r=t)}},t=1;t<o;++t)a(n=arguments[t]).forEach(i);if(void 0!==r)throw r;return e}},function(t,e,n){"use strict";t.exports=n(17)()?Object.keys:n(18)},function(t){"use strict";t.exports=function(){try{return Object.keys("primitive"),!0}catch(t){return!1}}},function(t,e,n){"use strict";var r=n(2),i=Object.keys;t.exports=function(t){return i(r(t)?Object(t):t)}},function(t){"use strict";t.exports=function(){}},function(t,e,n){"use strict";var r=n(2);t.exports=function(t){if(!r(t))throw new TypeError("Cannot use null or undefined");return t}},function(t,e,n){"use strict";var r=n(2),i=Array.prototype.forEach,o=Object.create;t.exports=function(){var e=o(null);return i.call(arguments,function(t){r(t)&&function(t,e){var n;for(n in t)e[n]=t[n]}(Object(t),e)}),e}},function(t){"use strict";t.exports=function(t){return"function"==typeof t}},function(t,e,n){"use strict";t.exports=n(24)()?String.prototype.contains:n(25)},function(t){"use strict";var e="razdwatrzy";t.exports=function(){return"function"==typeof e.contains&&(!0===e.contains("dwa")&&!1===e.contains("foo"))}},function(t){"use strict";var n=String.prototype.indexOf;t.exports=function(t,e){return-1<n.call(this,t,e)}},function(t){"use strict";t.exports=function(t){if("function"!=typeof t)throw new TypeError(t+" is not a function");return t}},function(t,e,n){t.exports.Dispatcher=n(28)},function(t,e,n){"use strict";e.__esModule=!0;var r=n(29),i=(o.prototype.register=function(t){var e="ID_"+this._lastID++;return this._callbacks[e]=t,e},o.prototype.unregister=function(t){this._callbacks[t]||r(!1),delete this._callbacks[t]},o.prototype.waitFor=function(t){this._isDispatching||r(!1);for(var e=0;e<t.length;e++){var n=t[e];this._isPending[n]?this._isHandled[n]||r(!1):(this._callbacks[n]||r(!1),this._invokeCallback(n))}},o.prototype.dispatch=function(t){this._isDispatching&&r(!1),this._startDispatching(t);try{for(var e in this._callbacks)this._isPending[e]||this._invokeCallback(e)}finally{this._stopDispatching()}},o.prototype.isDispatching=function(){return this._isDispatching},o.prototype._invokeCallback=function(t){this._isPending[t]=!0,this._callbacks[t](this._pendingPayload),this._isHandled[t]=!0},o.prototype._startDispatching=function(t){for(var e in this._callbacks)this._isPending[e]=!1,this._isHandled[e]=!1;this._pendingPayload=t,this._isDispatching=!0},o.prototype._stopDispatching=function(){delete this._pendingPayload,this._isDispatching=!1},o);function o(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,o),this._callbacks={},this._isDispatching=!1,this._isHandled={},this._isPending={},this._lastID=1}t.exports=i},function(t){"use strict";t.exports=function(t,e,n,r,i,o,a,s){if(!t){var l;if(void 0===e)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,i,o,a,s],u=0;(l=new Error(e.replace(/%s/g,function(){return c[u++]}))).name="Invariant Violation"}throw l.framesToPop=1,l}}},function(t,e,n){"use strict";function E(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var $=n(3),A=n(1);function C(t,e,n,r){for(var i,o={gridcolor:"#777777",titlefont:{size:12},title:n.title,zeroline:!1,overlaying:"y"+(t-1).toString(),side:"right",anchor:"x"},a=0;a<r.length;a++)(i=r[a])in n&&(o[i]=n[i]);return o}t.exports.initPlot=function(t,e,n,r){var i=n.length,o={title:r.title,showlegend:!1,height:170*i+180};Object.assign(o,r.layout),o.xaxis={domain:[0,1],showline:!1,zeroline:!1,showticklabels:0<i,gridcolor:"#777777",showgrid:!1,tickformat:"%Y-%m-%d %H:%MZ"};for(var a,s,l,c,u,p,f,d,h,v,y,m,g,b,x,_,k,w=0,T=1/i,j=w,M=["marker","color","mode","zmin","zmax","y","contours","line","colorscale","showscale","colorbar","tick0","dtick","hovermode"],S=["nticks","range","autorange","zeroline","showgrid","tickmode","ticktext","tickvals"],O=0;O<n.length;O++){p=n[O],j=w+=1,a=(s=r.plots[p]).yaxis,d=[(n.length-1-O)*T*1.03,1-O*T*1.05],r.isLobbyDisplay&&(d=[.82-8/75-(.2+8/75)*Math.floor(O/3),.82-(.2+8/75)*Math.floor(O/3)]);for(var D=0;D<s.traces.length;D++){c={name:(l=s.traces[D]).name,x:[],y:[],text:[],type:l.type?l.type:"scatter",xaxis:r.isLobbyDisplay?"x"+w:"x1",yaxis:"y"+w,hoverinfo:"x+text",hovermode:"closest",var_names:l.var_names,anc_variables:l.anc_variables,anc_data:[],plot_name:p,trace_index:D},l.isSecondAxis&&(c.yaxis="y"+(w+D));for(var P=0;P<M.length;P++)(f=M[P])in l&&(c[f]=l[f]);"colorbar"in c&&(c.colorbar.len=d[1]-d[0],c.colorbar.y=(d[1]-d[0])/2+d[0],c.z=[]),t.push(c)}for(u={gridcolor:"#777777",titlefont:{size:12},title:a.title,zeroline:!1,domain:d},r.isLobbyDisplay&&(h=o,v=u,y=w,m=O,g=d[1],b=l.name,x=r.rowTextSize,k=_=void 0,h["xaxis"+y]={ticktext:["-6h","-3h","Now"],tickfont:{size:x/5},showline:!0,linecolor:"white",anchor:"y"+y,domain:[.1+1/3*(m%3)*(1+Math.floor(m/6)),14/60+1/3*(m%3)*(1+Math.floor(m/6))],zeroline:!1,showgrid:!1},h.annotations.push((E(_={font:{size:x/2},showarrow:!1,align:"center",x:1/6+1/3*(m%3)*(1+Math.floor(m/6)),y:g+.04,xref:"paper",yref:"paper"},"showarrow",!0),E(_,"arrowhead",0),E(_,"ax",0),E(_,"ay",0),_)),h.annotations.push((E(k={text:b,font:{size:x/4},showarrow:!1,align:"center",x:1/6+1/3*(m%3)*(1+Math.floor(m/6)),y:g+.085,xref:"paper",yref:"paper"},"showarrow",!0),E(k,"arrowhead",0),E(k,"ax",0),E(k,"ay",0),k)),delete v.title,v.tickfont={size:x/5},v.showgrid=!1,v.showticklabels=!0,v.anchor="x"+y,v.showline=!0,v.linecolor="white"),P=0;P<S.length;P++)(f=S[P])in a&&(u[f]=a[f]);o["yaxis"+w]=u,!r.isLobbyDisplay&&"yaxis2"in s&&!s.yaxis2.skip&&(u=C(w+=1,0,a=s.yaxis2,S),o["yaxis"+w]=u)}o.xaxis.anchor="y"+j;var I={showLink:!1,displaylogo:!1,displayModeBar:!0,responsive:!0};r.isLobbyDisplay&&(delete o.xaxis,I={responsive:!0}),$.plot(e,t,o,I),A.loading()}},function(t,e,n){"use strict";var x=n(4),c=n(5);function h(t,e,n,r){for(var i=0;i<r.anc_variables.length;i++){var o=r.anc_info[r.anc_variables[i]],a=$("<td>N/A</td>");a.addClass("met_data"),a.data("info",{key:e,idx:n,anc_idx:i});var s=$("<tr></tr>"),l=o.short_name||o.name;s.append("<td>"+l+"</td>"),s.append(a),s.append('<td class="convert"></td>'),t.append(s)}}function v(t,e,n,r,i){var o='<tr><td colspan="2">'+(c=r.short_name||r.name)+"</td><td></td>";t.append(o);for(var a=0;a<r.y_highlight.length;a++){var s=r.y_highlight[a],l=$("<tr></tr>"),c=r.y[s]+i.yaxis.units;l.append('<td class="subtitle text-center">'+c+"</td>");var u=$("<td>N/A</td>");u.addClass("met_data"),u.data("info",{key:e,idx:n,hl_idx:s}),l.append(u),l.append('<td class="convert"></td>'),t.append(l)}}function _(t,e,n,r,i){for(var o=0;o<r.y_highlight.length;o++){var a=r.y_highlight[o],s=t[r.var_names[a]][0],l=r.zprobe.units,c=x.getTickText([s],r.zprobe),u="";if(r.zprobe2&&r.zprobe2.convert_value){var p=r.zprobe2.units;u=x.getTickText([s],r.zprobe2)+p}e[i].innerHTML=c+l,n[i].innerHTML=u,i+=1}return i}function k(t,e,n,r){for(var i=0;i<n.anc_variables.length;i++){var o=n.anc_variables[i],a=n.anc_info[o],s=t[o][0],l=x.getTickText([s],a);e[r].innerHTML=s||0==s?l+a.units:"N/A",r+=1}return r}t.exports.initTable=function(t,e,n){for(var r,i,o=$("#"+t),a=$('<table class="met_table"><tbody></tbody></table>'),s=a.children("tbody"),l=0;l<e.length;l++){i=e[l],r=n.plots[i];for(var c=0;c<r.traces.length;c++){var u=r.traces[c];if("contour"==u.type)v(s,i,c,u,r);else{var p=$("<td>N/A</td>");p.addClass("met_data"),p.data("info",{key:i,idx:c});var f=$("<tr></tr>"),d=u.short_name||u.name;if("Wind Direction Card"==d)continue;f.append("<td>"+d+"</td>"),f.append(p),f.append('<td class="convert"></td>'),s.append(f),u.anc_variables&&h(s,i,c,u)}}}o.append("<h3>"+n.title+"</h3>"),o.append(a),o.append('<span id="timestamp"></span>')},t.exports.requestTableUpdate=function(e,o){$("#"+e);var a,s=[],l=[],n=$("#"+e+" .met_data"),r=$("#"+e+" .convert");n.each(function(){var t=$(this).data("info").key,e=$(this).data("info").idx,n=$(this).data("info").anc_idx,r=$(this).data("info").hl_idx,i=o.plots[t].traces[e];-1==l.indexOf(t)&&l.push(t),a=void 0!==n?i.anc_variables[0]:void 0!==r?i.var_names[r]:i.var_names[0],s.includes(a)||s.push(a)});var t=s.join(":"),i=c.buildRequestUrl("json","1m","","","column","&begin=-00:04:00",t);$.ajax({type:"GET",url:i,jsonp:"callback",dataType:"jsonp",success:function(t){t.div_id=e,t.plotOrder=l,t.data_cells=n,t.convert_cells=r,function(t,e){var n,r,i=t.results.data,o=0,a=t.div_id,s=t.plotOrder,l=t.data_cells,c=t.convert_cells;if(0==t.num_results)return $("#"+a+" #timestamp").html("No recent data");$("#"+a+" #timestamp").html("Last updated: "+t.results.timestamps[0]);for(var u=0;u<s.length;u++){r=s[u],n=e.plots[r];for(var p=0;p<n.traces.length;p++){var f=n.traces[p];if("Wind Direction Card"!=f.name)if("contour"==f.type)o=_(i,l,c,f,o);else{var d=i[f.var_names[0]][0];if(d||0==d){var h=n.yaxis.units,v="",y=n.yaxis.precision;n.yaxis.precision=Math.min(y,1);var m=x.getTickText([d],n.yaxis);if(n.yaxis.precision=y,n.yaxis2&&n.yaxis2.convert_value!=n.yaxis.convert_value){var g=n.yaxis2.units;y=n.yaxis2.precision;n.yaxis2.precision=Math.min(y,1);var b=x.getTickText([d],n.yaxis2);n.yaxis2.precision=y,v=b+g}l[o].innerHTML=m+h,c[o].innerHTML=v}else l[o].innerHTML="N/A",c[o].innerHTML="";o+=1,f.anc_variables&&(o=k(i,l,f,o))}}}}(t,o)}})}},function(t){var e;e=function(){return this}();try{e=e||new Function("return this")()}catch(t){"object"==typeof window&&(e=window)}t.exports=e},function(t){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e,n){"use strict";var h=n(6),v=n(5),y=n(0);function m(s,t,l,c,u,p,f,d){$.ajax({type:"GET",url:t,jsonp:"callback",dataType:"jsonp",success:function(t){if(200!=t.code)return console.error("Invalid data API query. Code: {0} | Message: {1}".format(t.code,t.message)),void(void 0!==d&&d(c));var e=document.getElementById(u),n=function(t){var e={dates:y.map(t.timestamps,function(t){return t})};return y.extend(e,t.data),e}(t.results),r=s[0].x||[],i=n.dates;if(0!=(t={dates:i}).dates.length){if(p){for(var o=0;o<i.length&&i[o]<=r[r.length-1];)o++;if(o>=i.length)return void console.info("No new data downloaded");for(var a=0;a<l.length;a++)t[l[a]]=n[l[a]].slice(o);i=i.slice(o),t.dates=i}else for(a=0;a<l.length;a++)t[l[a]]=n[l[a]];h.updatePlot(s,e,c,t,p,f)}else console.warn("No data available from API")}})}var g=[[864e5,"5m","-00:10:00"],[2592e6,"1h","-02:00:00"]],b={"1m":60,"5m":300,"1h":3600};t.exports.requestPlotUpdate=function(t,e,n,r,i,o,a,s){var l,c,u,p,f=function(t){var e=[];return y.each(t,function(t){Array.prototype.push.apply(e,t.var_names),"anc_variables"in t&&Array.prototype.push.apply(e,t.anc_variables)}),y.uniq(e)}(t),d="";for(var h in f)d+=f[h],h<f.length-1&&(d+=":");if(i){if(p="&begin="+r+"&end="+i,"auto"==o)for(var h in o="1m",l=new Date(i)-new Date(r),g)l>=g[h][0]&&(o=g[h][1])}else{for(var h in o="1m",l=-36e5*(c=y.map(r.split(":"),Number))[0]+6e4*c[1]+1e3*c[2],g)l>=g[h][0]&&(o=g[h][1],a&&(r=g[h][2]));p="&begin="+r}return u=a?b.hasOwnProperty(o)?l/1e3/b[o]:250:0,m(t,v.buildRequestUrl("json",o,"","","column",p,d),f,n,e,a,u,s),o}}]);
\ No newline at end of file
(()=>{var t={3:(t,e,n)=>{"use strict";var r=n(909),i=n(758),o=Math.max;t.exports=function(t,e){var n,a,s,l=o(arguments.length,2);for(t=Object(i(t)),s=function(r){try{t[r]=e[r]}catch(t){n||(n=t)}},a=1;a<l;++a)r(e=arguments[a]).forEach(s);if(void 0!==n)throw n;return t}},10:(t,e,n)=>{"use strict";var r=n(325);t.exports=function(t){if(!r(t))return!1;try{return!!t.constructor&&t.constructor.prototype===t}catch(t){return!1}}},37:t=>{"use strict";var e="razdwatrzy";t.exports=function(){return"function"==typeof e.contains&&(!0===e.contains("dwa")&&!1===e.contains("foo"))}},48:(t,e,n)=>{var r=n(343),i=n(979),o=n(352);function a(t,e,n,o){var a,s,l,c,u,p,f,d=0==o?"yaxis":"yaxis2",h={};!function(t,e,n){var r=new Date(t[0].x[t[0].x.length-1]),i=Number(r.toLocaleString("en-US",{hour:"numeric",hour12:!1}));document.getElementById("overlay").style.opacity=0<i&&i<5?1:0;var o=r.toLocaleString("en-US",{year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}).replace(/,([^,]*)$/,"$1"),a=Number(r.getUTCMonth());a=a<9?"0"+(a+1):a+1;var s=Number(r.getUTCDate())<9?"0"+r.getUTCDate():r.getUTCDate(),l=Number(r.getUTCMinutes())<9?"0"+r.getUTCMinutes():r.getUTCMinutes(),c=Number(r.getUTCSeconds())<9?"0"+r.getUTCSeconds():r.getUTCSeconds(),u=r.getUTCFullYear()+"-"+a+"-"+s+" "+r.getUTCHours()+":"+l+":"+c,p=0==e?"327.5 meters":"1074.5 feet";n["annotations.1.text"]="Data last recorded at: "+u+"Z ["+o+" Local] RIG Elevation = "+p}(t,o,h);for(var v=0;v<t.length;v++)if(u=0==v?"":v+1,c=t[v].x,h["xaxis"+u+".tickvals"]=[c[0],c[Math.round(c.length/2)],c[c.length-1]],a=t[v].plot_name,s=n.plots[a],l=i.getTickText([t[v].y[t[v].y.length-1]],s[d])[0],h["annotations["+(3+2*v)+"].text"]=l+""+s[d].units,null!=(f=e.layout["yaxis"+u].tickvals)){if("wind_direction"==a||"rel_hum"==a)p=s[d].ticktext;else{p=[];for(var m=0;m<f.length;m++)p.push(i.getTickText([f[m]],s[d]))}h["yaxis"+u+".ticktext"]=p}r.relayout(e,h),function(){var t={north:"east",east:"south",south:"west",west:"north"}[document.getElementById("roofCam").src.split("/")[7]];t=t||"north",document.getElementById("roofCam").alt=document.getElementById("dirText").innerHTML=t;var e=new Date,n=300*Math.floor(e.getTime()/1e3/300);document.getElementById("roofCam").src=METOBS_API_URL+"/pub/cache/aoss/cameras/"+t+"/latest_medium.jpg?t="+n}()}function s(t,e,n,r,i,o){if("aoss.tower.rel_hum"!=n&&"aoss.tower.wind_direction"!=n){0==t.y.length?(t.yMin=Math.min(...e),t.yMax=Math.max(...e)):(t.yMin=Math.min(...e,t.yMin),t.yMax=Math.max(...e,t.yMax));var a=t.yMax-t.yMin,s=t.yMin-a,l="aoss.tower.solar_flux"==n?t.yMax:t.yMax+a;0==a&&(l>0?(l*=1.1,s*=.9):l<0?(l*=.9,s*=1.1):(l=.1,s=-.1));var c=s;"aoss.tower.air_temp"!=n&&"aoss.tower.dewpoint"!=n&&s<=0&&(s=0,c=0),s-=.075*a+.001,r[i+".tickvals"]=[c,c+(l-c)/4,c+2*(l-c)/4,c+3*(l-c)/4,l],r[i+".range"]=[s,l]}else r[i+".tickvals"]=o}t.exports.updatePlot=function(t,e,n,l,c,u){!function(t,e,n,l,c,u){var p,f,d,h,v,m,y=l.dates,g=[],b=!1,x=[],_={x:[],y:[],text:[]},w=[],k={x:[],z:[],text:[]},T=0,S={};for(d=0;d<t.length;d++)p=t[d].plot_name,g[g.length-1]!=p&&(f=n.plots[p],o.each(f.traces,(function(e,r){if("contour"==t[T+r].type){k.x.push(y),w.push(T+r),v=o.map(e.var_names,(function(t){return l[t]})),t[d].text.push(...i.getProbeText(v,f,e,l));for(var a=0;a<e.var_names.length;a++){for(;a>=t[d].z.length;)t[d].z.push([]);t[d].z[a].push(...l[e.var_names[a]])}k.z.push(t[d].z),k.text.push(t[d].text)}else _.x.push(y),x.push(T+r),o.each(e.var_names,(function(r){i.preConvertValue(l[r],f.yaxis),_.y.push(l[r]),n.isLobbyDisplay&&(m=0==d?"":d+1,s(t[d],l[r],r,S,"yaxis"+m,f.yaxis2.tickvals)),h="probe_text"in e&&null===e.probe_text?[void 0]:i.getProbeText(l[r],f,e,l),_.text.push(h)}))})),T+=f.traces.length,g.push(p));if(x.length>0&&r.extendTraces(e,_,x),w.length>0)for(r.extendTraces(e,k,w),d=0;d<w.length;d++)t[w[d]].z.splice(0,t[w[d]].y.length),t[w[d]].text.splice(0,t[w[d]].y.length);0!=u||c||(u=l.dates.length,b=!0),u>0&&t[0].x.length>u&&function(t,e){for(var n=0;n<t.length;n++){if(t[n].x.splice(0,e),t[n].hasOwnProperty("z"))for(var r=0;r<t[n].z.length;r++)t[n].z[r].splice(0,e);else t[n].hasOwnProperty("y")&&t[n].y.splice(0,e);t[n].hasOwnProperty("text")&&t[n].text.splice(0,e)}}(t,t[0].x.length-u),0!=Object.keys(S).length&&(r.relayout(e,S),c||a(t,e,n,0)),b&&r.redraw(e)}(t,e,n,l,c,u)},t.exports.changeUnits=a},53:(t,e,n)=>{"use strict";var r=n(48),i=n(372),o=n(352);function a(t,e,n,i,a,s,l,c){$.ajax({type:"GET",url:e,jsonp:"callback",dataType:"jsonp",success:function(e){if(200!=e.code)return console.error("Invalid data API query. Code: {0} | Message: {1}".format(e.code,e.message)),void(void 0!==c&&c(i));var u=document.getElementById(a),p=function(t){var e={dates:o.map(t.timestamps,(function(t){return t}))};return o.extend(e,t.data),e}(e.results),f=t[0].x||[],d=p.dates;if(0!=(e={dates:d}).dates.length){if(s){for(var h=0;h<d.length&&d[h]<=f[f.length-1];)h++;if(h>=d.length)return void console.info("No new data downloaded");for(var v=0;v<n.length;v++)e[n[v]]=p[n[v]].slice(h);d=d.slice(h),e.dates=d}else for(v=0;v<n.length;v++)e[n[v]]=p[n[v]];r.updatePlot(t,u,i,e,s,l)}else console.warn("No data available from API")}})}const s=[[864e5,"5m","-00:10:00"],[2592e6,"1h","-02:00:00"]],l={"1m":60,"5m":300,"1h":3600};t.exports.requestPlotUpdate=function(t,e,n,r,c,u,p,f){var d,h,v,m,y=function(t){var e=[];return o.each(t,(function(t){Array.prototype.push.apply(e,t.var_names),"anc_variables"in t&&Array.prototype.push.apply(e,t.anc_variables)})),o.uniq(e)}(t),g="";for(var b in y)g+=y[b],b<y.length-1&&(g+=":");if(c){if(m="&begin="+r+"&end="+c,"auto"==u)for(var b in u="1m",d=new Date(c)-new Date(r),s)d>=s[b][0]&&(u=s[b][1])}else{for(var b in u="1m",h=o.map(r.split(":"),Number),p&&(r="-00:05:00"),d=-36e5*h[0]+6e4*h[1]+1e3*h[2],s)d>=s[b][0]&&(u=s[b][1],p&&(r=s[b][2]));m="&begin="+r}return v=p?l.hasOwnProperty(u)?d/1e3/l[u]:250:0,a(t,i.buildRequestUrl("json",u,"","","column",m,g),y,n,e,p,v,f),u}},68:(t,e,n)=>{"use strict";var r,i,o,a,s,l,c,u=n(679),p=n(211),f=Function.prototype.apply,d=Function.prototype.call,h=Object.create,v=Object.defineProperty,m=Object.defineProperties,y=Object.prototype.hasOwnProperty,g={configurable:!0,enumerable:!1,writable:!0};i=function(t,e){var n,i;return p(e),i=this,r.call(this,t,n=function(){o.call(i,t,n),f.call(e,this,arguments)}),n.__eeOnceListener__=e,this},s={on:r=function(t,e){var n;return p(e),y.call(this,"__ee__")?n=this.__ee__:(n=g.value=h(null),v(this,"__ee__",g),g.value=null),n[t]?"object"==typeof n[t]?n[t].push(e):n[t]=[n[t],e]:n[t]=e,this},once:i,off:o=function(t,e){var n,r,i,o;if(p(e),!y.call(this,"__ee__"))return this;if(!(n=this.__ee__)[t])return this;if("object"==typeof(r=n[t]))for(o=0;i=r[o];++o)i!==e&&i.__eeOnceListener__!==e||(2===r.length?n[t]=r[o?0:1]:r.splice(o,1));else r!==e&&r.__eeOnceListener__!==e||delete n[t];return this},emit:a=function(t){var e,n,r,i,o;if(y.call(this,"__ee__")&&(i=this.__ee__[t]))if("object"==typeof i){for(n=arguments.length,o=new Array(n-1),e=1;e<n;++e)o[e-1]=arguments[e];for(i=i.slice(),e=0;r=i[e];++e)f.call(r,this,o)}else switch(arguments.length){case 1:d.call(i,this);break;case 2:d.call(i,this,arguments[1]);break;case 3:d.call(i,this,arguments[1],arguments[2]);break;default:for(n=arguments.length,o=new Array(n-1),e=1;e<n;++e)o[e-1]=arguments[e];f.call(i,this,o)}}},l={on:u(r),once:u(i),off:u(o),emit:u(a)},c=m({},l),t.exports=e=function(t){return null==t?h(c):m(Object(t),l)},e.methods=s},120:(t,e,n)=>{"use strict";var r=n(714),i=Object.keys;t.exports=function(t){return i(r(t)?Object(t):t)}},193:(t,e,n)=>{"use strict";var r=n(979),i=n(372);function o(t,e,n,r){for(var i=0;i<r.anc_variables.length;i++){var o=r.anc_info[r.anc_variables[i]],a=$("<td>N/A</td>");a.addClass("met_data"),a.data("info",{key:e,idx:n,anc_idx:i});var s=$("<tr></tr>"),l=o.short_name||o.name;s.append("<td>"+l+"</td>"),s.append(a),s.append('<td class="convert"></td>'),t.append(s)}}function a(t,e,n,r,i){var o='<tr><td colspan="2">'+(c=r.short_name||r.name)+"</td><td></td>";t.append(o);for(var a=0;a<r.y_highlight.length;a++){var s=r.y_highlight[a],l=$("<tr></tr>"),c=r.y[s]+i.yaxis.units;l.append('<td class="subtitle text-center">'+c+"</td>");var u=$("<td>N/A</td>");u.addClass("met_data"),u.data("info",{key:e,idx:n,hl_idx:s}),l.append(u),l.append('<td class="convert"></td>'),t.append(l)}}function s(t,e,n,i,o){for(var a=0;a<i.y_highlight.length;a++){var s=i.y_highlight[a],l=t[i.var_names[s]][0],c=i.zprobe.units,u=r.getTickText([l],i.zprobe),p="";if(i.zprobe2&&i.zprobe2.convert_value){var f=i.zprobe2.units;p=r.getTickText([l],i.zprobe2)+f}e[o].innerHTML=u+c,n[o].innerHTML=p,o+=1}return o}function l(t,e,n,i){for(var o=0;o<n.anc_variables.length;o++){var a=n.anc_variables[o],s=n.anc_info[a],l=t[a][0],c=r.getTickText([l],s);e[i].innerHTML=l||0==l?c+s.units:"N/A",i+=1}return i}t.exports.initTable=function(t,e,n){for(var r,i,s=$("#"+t),l=$('<table class="met_table text-left" align="center"><tbody></tbody></table>'),c=l.children("tbody"),u=0;u<e.length;u++){i=e[u],r=n.plots[i];for(var p=0;p<r.traces.length;p++){var f=r.traces[p];if("contour"==f.type)a(c,i,p,f,r);else{var d=$("<td>N/A</td>");d.addClass("met_data"),d.data("info",{key:i,idx:p});var h=$("<tr></tr>"),v=f.short_name||f.name;if("Wind Direction Card"==v)continue;h.append("<td>"+v+"</td>"),h.append(d),h.append('<td class="convert"></td>'),c.append(h),f.anc_variables&&o(c,i,p,f)}}}s.append('<h3 style="text-align:center">'+n.title+"</h3>"),s.append(l),s.append('<span id="timestamp" style="text-align:center"></span>')},t.exports.requestTableUpdate=function(t,e){$("#"+t);var n,o=[],a=[],c=$("#"+t+" .met_data"),u=$("#"+t+" .convert");c.each((function(){var t=$(this).data("info").key,r=$(this).data("info").idx,i=$(this).data("info").anc_idx,s=$(this).data("info").hl_idx,l=e.plots[t].traces[r];-1==a.indexOf(t)&&a.push(t),n=void 0!==i?l.anc_variables[0]:void 0!==s?l.var_names[s]:l.var_names[0],o.includes(n)||o.push(n)}));var p=o.join(":"),f=i.buildRequestUrl("json","1m","","","column","&begin=-00:04:00",p);$.ajax({type:"GET",url:f,jsonp:"callback",dataType:"jsonp",success:function(n){n.div_id=t,n.plotOrder=a,n.data_cells=c,n.convert_cells=u,function(t,e){var n,i,o=t.results.data,a=0,c=t.div_id,u=t.plotOrder,p=t.data_cells,f=t.convert_cells;if(0==t.num_results)return void $("#"+c+" #timestamp").html("No recent data");$("#"+c+" #timestamp").html("Last updated: "+t.results.timestamps[0]);for(var d=0;d<u.length;d++){i=u[d],n=e.plots[i];for(var h=0;h<n.traces.length;h++){var v=n.traces[h];if("Wind Direction Card"!=v.name)if("contour"==v.type)a=s(o,p,f,v,a);else{r.preConvertValue(o[v.var_names[0]],n.yaxis);var m=o[v.var_names[0]][0];if(m||0==m){var y=n.yaxis.units,g="",b=n.yaxis.precision;n.yaxis.precision=Math.min(b,1);var x=r.getTickText([m],n.yaxis);if(n.yaxis.precision=b,n.yaxis2&&n.yaxis2.convert_value!=n.yaxis.convert_value){var _=n.yaxis2.units;b=n.yaxis2.precision;n.yaxis2.precision=Math.min(b,1);var w=r.getTickText([m],n.yaxis2);n.yaxis2.precision=b,g=w+_}p[a].innerHTML=x+y,f[a].innerHTML=g}else p[a].innerHTML="N/A",f[a].innerHTML="";a+=1,v.anc_variables&&(a=l(o,p,v,a))}}}}(n,e)}})}},211:t=>{"use strict";t.exports=function(t){if("function"!=typeof t)throw new TypeError(t+" is not a function");return t}},287:t=>{"use strict";t.exports=function(t){return null!=t}},289:t=>{"use strict";var e=String.prototype.indexOf;t.exports=function(t){return e.call(this,t,arguments[1])>-1}},325:(t,e,n)=>{"use strict";var r=n(287),i={object:!0,function:!0,undefined:!0};t.exports=function(t){return!!r(t)&&hasOwnProperty.call(i,typeof t)}},343:t=>{"use strict";t.exports=Plotly},352:(t,e,n)=>{"use strict";n.r(e),n.d(e,{VERSION:()=>i,after:()=>Ae,all:()=>tn,allKeys:()=>mt,any:()=>en,assign:()=>At,before:()=>ze,bind:()=>we,bindAll:()=>Se,chain:()=>ge,chunk:()=>Un,clone:()=>Ut,collect:()=>Ge,compact:()=>Dn,compose:()=>$e,constant:()=>Q,contains:()=>nn,countBy:()=>yn,create:()=>Nt,debounce:()=>Ie,default:()=>Rn,defaults:()=>zt,defer:()=>je,delay:()=>De,detect:()=>qe,difference:()=>En,drop:()=>Sn,each:()=>Ye,escape:()=>ae,every:()=>tn,extend:()=>$t,extendOwn:()=>At,filter:()=>Qe,find:()=>qe,findIndex:()=>Be,findKey:()=>Ne,findLastIndex:()=>Fe,findWhere:()=>Ve,first:()=>Tn,flatten:()=>jn,foldl:()=>Ze,foldr:()=>Je,forEach:()=>Ye,functions:()=>Ot,get:()=>Rt,groupBy:()=>vn,has:()=>Wt,head:()=>Tn,identity:()=>qt,include:()=>nn,includes:()=>nn,indexBy:()=>mn,indexOf:()=>Re,initial:()=>kn,inject:()=>Ze,intersection:()=>$n,invert:()=>It,invoke:()=>rn,isArguments:()=>K,isArray:()=>V,isArrayBuffer:()=>N,isBoolean:()=>j,isDataView:()=>q,isDate:()=>$,isElement:()=>E,isEmpty:()=>lt,isEqual:()=>vt,isError:()=>z,isFinite:()=>Z,isFunction:()=>F,isMap:()=>Tt,isMatch:()=>ct,isNaN:()=>J,isNull:()=>M,isNumber:()=>P,isObject:()=>S,isRegExp:()=>A,isSet:()=>Mt,isString:()=>O,isSymbol:()=>C,isTypedArray:()=>it,isUndefined:()=>D,isWeakMap:()=>St,isWeakSet:()=>Dt,iteratee:()=>Zt,keys:()=>st,last:()=>Mn,lastIndexOf:()=>We,map:()=>Ge,mapObject:()=>Qt,matcher:()=>Vt,matches:()=>Vt,max:()=>sn,memoize:()=>Me,methods:()=>Ot,min:()=>ln,mixin:()=>Fn,negate:()=>Pe,noop:()=>Xt,now:()=>re,object:()=>Cn,omit:()=>wn,once:()=>Ce,pairs:()=>Et,partial:()=>_e,partition:()=>gn,pick:()=>_n,pluck:()=>on,property:()=>Yt,propertyOf:()=>te,random:()=>ne,range:()=>Nn,reduce:()=>Ze,reduceRight:()=>Je,reject:()=>Xe,rest:()=>Sn,restArguments:()=>T,result:()=>ve,sample:()=>pn,select:()=>Qe,shuffle:()=>fn,size:()=>bn,some:()=>en,sortBy:()=>dn,sortedIndex:()=>He,tail:()=>Sn,take:()=>Tn,tap:()=>Bt,template:()=>he,templateSettings:()=>le,throttle:()=>Ee,times:()=>ee,toArray:()=>un,toPath:()=>Ft,transpose:()=>An,unescape:()=>se,union:()=>Pn,uniq:()=>On,unique:()=>On,uniqueId:()=>ye,unzip:()=>An,values:()=>jt,where:()=>an,without:()=>In,wrap:()=>Oe,zip:()=>zn});var r={};n.r(r),n.d(r,{VERSION:()=>i,after:()=>Ae,all:()=>tn,allKeys:()=>mt,any:()=>en,assign:()=>At,before:()=>ze,bind:()=>we,bindAll:()=>Se,chain:()=>ge,chunk:()=>Un,clone:()=>Ut,collect:()=>Ge,compact:()=>Dn,compose:()=>$e,constant:()=>Q,contains:()=>nn,countBy:()=>yn,create:()=>Nt,debounce:()=>Ie,default:()=>Hn,defaults:()=>zt,defer:()=>je,delay:()=>De,detect:()=>qe,difference:()=>En,drop:()=>Sn,each:()=>Ye,escape:()=>ae,every:()=>tn,extend:()=>$t,extendOwn:()=>At,filter:()=>Qe,find:()=>qe,findIndex:()=>Be,findKey:()=>Ne,findLastIndex:()=>Fe,findWhere:()=>Ve,first:()=>Tn,flatten:()=>jn,foldl:()=>Ze,foldr:()=>Je,forEach:()=>Ye,functions:()=>Ot,get:()=>Rt,groupBy:()=>vn,has:()=>Wt,head:()=>Tn,identity:()=>qt,include:()=>nn,includes:()=>nn,indexBy:()=>mn,indexOf:()=>Re,initial:()=>kn,inject:()=>Ze,intersection:()=>$n,invert:()=>It,invoke:()=>rn,isArguments:()=>K,isArray:()=>V,isArrayBuffer:()=>N,isBoolean:()=>j,isDataView:()=>q,isDate:()=>$,isElement:()=>E,isEmpty:()=>lt,isEqual:()=>vt,isError:()=>z,isFinite:()=>Z,isFunction:()=>F,isMap:()=>Tt,isMatch:()=>ct,isNaN:()=>J,isNull:()=>M,isNumber:()=>P,isObject:()=>S,isRegExp:()=>A,isSet:()=>Mt,isString:()=>O,isSymbol:()=>C,isTypedArray:()=>it,isUndefined:()=>D,isWeakMap:()=>St,isWeakSet:()=>Dt,iteratee:()=>Zt,keys:()=>st,last:()=>Mn,lastIndexOf:()=>We,map:()=>Ge,mapObject:()=>Qt,matcher:()=>Vt,matches:()=>Vt,max:()=>sn,memoize:()=>Me,methods:()=>Ot,min:()=>ln,mixin:()=>Fn,negate:()=>Pe,noop:()=>Xt,now:()=>re,object:()=>Cn,omit:()=>wn,once:()=>Ce,pairs:()=>Et,partial:()=>_e,partition:()=>gn,pick:()=>_n,pluck:()=>on,property:()=>Yt,propertyOf:()=>te,random:()=>ne,range:()=>Nn,reduce:()=>Ze,reduceRight:()=>Je,reject:()=>Xe,rest:()=>Sn,restArguments:()=>T,result:()=>ve,sample:()=>pn,select:()=>Qe,shuffle:()=>fn,size:()=>bn,some:()=>en,sortBy:()=>dn,sortedIndex:()=>He,tail:()=>Sn,take:()=>Tn,tap:()=>Bt,template:()=>he,templateSettings:()=>le,throttle:()=>Ee,times:()=>ee,toArray:()=>un,toPath:()=>Ft,transpose:()=>An,unescape:()=>se,union:()=>Pn,uniq:()=>On,unique:()=>On,uniqueId:()=>ye,unzip:()=>An,values:()=>jt,where:()=>an,without:()=>In,wrap:()=>Oe,zip:()=>zn});var i="1.13.7",o="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},a=Array.prototype,s=Object.prototype,l="undefined"!=typeof Symbol?Symbol.prototype:null,c=a.push,u=a.slice,p=s.toString,f=s.hasOwnProperty,d="undefined"!=typeof ArrayBuffer,h="undefined"!=typeof DataView,v=Array.isArray,m=Object.keys,y=Object.create,g=d&&ArrayBuffer.isView,b=isNaN,x=isFinite,_=!{toString:null}.propertyIsEnumerable("toString"),w=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],k=Math.pow(2,53)-1;function T(t,e){return e=null==e?t.length-1:+e,function(){for(var n=Math.max(arguments.length-e,0),r=Array(n),i=0;i<n;i++)r[i]=arguments[i+e];switch(e){case 0:return t.call(this,r);case 1:return t.call(this,arguments[0],r);case 2:return t.call(this,arguments[0],arguments[1],r)}var o=Array(e+1);for(i=0;i<e;i++)o[i]=arguments[i];return o[e]=r,t.apply(this,o)}}function S(t){var e=typeof t;return"function"===e||"object"===e&&!!t}function M(t){return null===t}function D(t){return void 0===t}function j(t){return!0===t||!1===t||"[object Boolean]"===p.call(t)}function E(t){return!(!t||1!==t.nodeType)}function I(t){var e="[object "+t+"]";return function(t){return p.call(t)===e}}const O=I("String"),P=I("Number"),$=I("Date"),A=I("RegExp"),z=I("Error"),C=I("Symbol"),N=I("ArrayBuffer");var U=I("Function"),B=o.document&&o.document.childNodes;"object"!=typeof Int8Array&&"function"!=typeof B&&(U=function(t){return"function"==typeof t||!1});const F=U,H=I("Object");var L=h&&(!/\[native code\]/.test(String(DataView))||H(new DataView(new ArrayBuffer(8)))),R="undefined"!=typeof Map&&H(new Map),W=I("DataView");const q=L?function(t){return null!=t&&F(t.getInt8)&&N(t.buffer)}:W,V=v||I("Array");function Y(t,e){return null!=t&&f.call(t,e)}var G=I("Arguments");!function(){G(arguments)||(G=function(t){return Y(t,"callee")})}();const K=G;function Z(t){return!C(t)&&x(t)&&!isNaN(parseFloat(t))}function J(t){return P(t)&&b(t)}function Q(t){return function(){return t}}function X(t){return function(e){var n=t(e);return"number"==typeof n&&n>=0&&n<=k}}function tt(t){return function(e){return null==e?void 0:e[t]}}const et=tt("byteLength"),nt=X(et);var rt=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;const it=d?function(t){return g?g(t)&&!q(t):nt(t)&&rt.test(p.call(t))}:Q(!1),ot=tt("length");function at(t,e){e=function(t){for(var e={},n=t.length,r=0;r<n;++r)e[t[r]]=!0;return{contains:function(t){return!0===e[t]},push:function(n){return e[n]=!0,t.push(n)}}}(e);var n=w.length,r=t.constructor,i=F(r)&&r.prototype||s,o="constructor";for(Y(t,o)&&!e.contains(o)&&e.push(o);n--;)(o=w[n])in t&&t[o]!==i[o]&&!e.contains(o)&&e.push(o)}function st(t){if(!S(t))return[];if(m)return m(t);var e=[];for(var n in t)Y(t,n)&&e.push(n);return _&&at(t,e),e}function lt(t){if(null==t)return!0;var e=ot(t);return"number"==typeof e&&(V(t)||O(t)||K(t))?0===e:0===ot(st(t))}function ct(t,e){var n=st(e),r=n.length;if(null==t)return!r;for(var i=Object(t),o=0;o<r;o++){var a=n[o];if(e[a]!==i[a]||!(a in i))return!1}return!0}function ut(t){return t instanceof ut?t:this instanceof ut?void(this._wrapped=t):new ut(t)}function pt(t){return new Uint8Array(t.buffer||t,t.byteOffset||0,et(t))}ut.VERSION=i,ut.prototype.value=function(){return this._wrapped},ut.prototype.valueOf=ut.prototype.toJSON=ut.prototype.value,ut.prototype.toString=function(){return String(this._wrapped)};var ft="[object DataView]";function dt(t,e,n,r){if(t===e)return 0!==t||1/t==1/e;if(null==t||null==e)return!1;if(t!=t)return e!=e;var i=typeof t;return("function"===i||"object"===i||"object"==typeof e)&&ht(t,e,n,r)}function ht(t,e,n,r){t instanceof ut&&(t=t._wrapped),e instanceof ut&&(e=e._wrapped);var i=p.call(t);if(i!==p.call(e))return!1;if(L&&"[object Object]"==i&&q(t)){if(!q(e))return!1;i=ft}switch(i){case"[object RegExp]":case"[object String]":return""+t==""+e;case"[object Number]":return+t!=+t?+e!=+e:0==+t?1/+t==1/e:+t==+e;case"[object Date]":case"[object Boolean]":return+t==+e;case"[object Symbol]":return l.valueOf.call(t)===l.valueOf.call(e);case"[object ArrayBuffer]":case ft:return ht(pt(t),pt(e),n,r)}var o="[object Array]"===i;if(!o&&it(t)){if(et(t)!==et(e))return!1;if(t.buffer===e.buffer&&t.byteOffset===e.byteOffset)return!0;o=!0}if(!o){if("object"!=typeof t||"object"!=typeof e)return!1;var a=t.constructor,s=e.constructor;if(a!==s&&!(F(a)&&a instanceof a&&F(s)&&s instanceof s)&&"constructor"in t&&"constructor"in e)return!1}r=r||[];for(var c=(n=n||[]).length;c--;)if(n[c]===t)return r[c]===e;if(n.push(t),r.push(e),o){if((c=t.length)!==e.length)return!1;for(;c--;)if(!dt(t[c],e[c],n,r))return!1}else{var u,f=st(t);if(c=f.length,st(e).length!==c)return!1;for(;c--;)if(!Y(e,u=f[c])||!dt(t[u],e[u],n,r))return!1}return n.pop(),r.pop(),!0}function vt(t,e){return dt(t,e)}function mt(t){if(!S(t))return[];var e=[];for(var n in t)e.push(n);return _&&at(t,e),e}function yt(t){var e=ot(t);return function(n){if(null==n)return!1;var r=mt(n);if(ot(r))return!1;for(var i=0;i<e;i++)if(!F(n[t[i]]))return!1;return t!==wt||!F(n[gt])}}var gt="forEach",bt=["clear","delete"],xt=["get","has","set"],_t=bt.concat(gt,xt),wt=bt.concat(xt),kt=["add"].concat(bt,gt,"has");const Tt=R?yt(_t):I("Map"),St=R?yt(wt):I("WeakMap"),Mt=R?yt(kt):I("Set"),Dt=I("WeakSet");function jt(t){for(var e=st(t),n=e.length,r=Array(n),i=0;i<n;i++)r[i]=t[e[i]];return r}function Et(t){for(var e=st(t),n=e.length,r=Array(n),i=0;i<n;i++)r[i]=[e[i],t[e[i]]];return r}function It(t){for(var e={},n=st(t),r=0,i=n.length;r<i;r++)e[t[n[r]]]=n[r];return e}function Ot(t){var e=[];for(var n in t)F(t[n])&&e.push(n);return e.sort()}function Pt(t,e){return function(n){var r=arguments.length;if(e&&(n=Object(n)),r<2||null==n)return n;for(var i=1;i<r;i++)for(var o=arguments[i],a=t(o),s=a.length,l=0;l<s;l++){var c=a[l];e&&void 0!==n[c]||(n[c]=o[c])}return n}}const $t=Pt(mt),At=Pt(st),zt=Pt(mt,!0);function Ct(t){if(!S(t))return{};if(y)return y(t);var e=function(){};e.prototype=t;var n=new e;return e.prototype=null,n}function Nt(t,e){var n=Ct(t);return e&&At(n,e),n}function Ut(t){return S(t)?V(t)?t.slice():$t({},t):t}function Bt(t,e){return e(t),t}function Ft(t){return V(t)?t:[t]}function Ht(t){return ut.toPath(t)}function Lt(t,e){for(var n=e.length,r=0;r<n;r++){if(null==t)return;t=t[e[r]]}return n?t:void 0}function Rt(t,e,n){var r=Lt(t,Ht(e));return D(r)?n:r}function Wt(t,e){for(var n=(e=Ht(e)).length,r=0;r<n;r++){var i=e[r];if(!Y(t,i))return!1;t=t[i]}return!!n}function qt(t){return t}function Vt(t){return t=At({},t),function(e){return ct(e,t)}}function Yt(t){return t=Ht(t),function(e){return Lt(e,t)}}function Gt(t,e,n){if(void 0===e)return t;switch(null==n?3:n){case 1:return function(n){return t.call(e,n)};case 3:return function(n,r,i){return t.call(e,n,r,i)};case 4:return function(n,r,i,o){return t.call(e,n,r,i,o)}}return function(){return t.apply(e,arguments)}}function Kt(t,e,n){return null==t?qt:F(t)?Gt(t,e,n):S(t)&&!V(t)?Vt(t):Yt(t)}function Zt(t,e){return Kt(t,e,1/0)}function Jt(t,e,n){return ut.iteratee!==Zt?ut.iteratee(t,e):Kt(t,e,n)}function Qt(t,e,n){e=Jt(e,n);for(var r=st(t),i=r.length,o={},a=0;a<i;a++){var s=r[a];o[s]=e(t[s],s,t)}return o}function Xt(){}function te(t){return null==t?Xt:function(e){return Rt(t,e)}}function ee(t,e,n){var r=Array(Math.max(0,t));e=Gt(e,n,1);for(var i=0;i<t;i++)r[i]=e(i);return r}function ne(t,e){return null==e&&(e=t,t=0),t+Math.floor(Math.random()*(e-t+1))}ut.toPath=Ft,ut.iteratee=Zt;const re=Date.now||function(){return(new Date).getTime()};function ie(t){var e=function(e){return t[e]},n="(?:"+st(t).join("|")+")",r=RegExp(n),i=RegExp(n,"g");return function(t){return t=null==t?"":""+t,r.test(t)?t.replace(i,e):t}}const oe={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},ae=ie(oe),se=ie(It(oe)),le=ut.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var ce=/(.)^/,ue={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},pe=/\\|'|\r|\n|\u2028|\u2029/g;function fe(t){return"\\"+ue[t]}var de=/^\s*(\w|\$)+\s*$/;function he(t,e,n){!e&&n&&(e=n),e=zt({},e,ut.templateSettings);var r=RegExp([(e.escape||ce).source,(e.interpolate||ce).source,(e.evaluate||ce).source].join("|")+"|$","g"),i=0,o="__p+='";t.replace(r,(function(e,n,r,a,s){return o+=t.slice(i,s).replace(pe,fe),i=s+e.length,n?o+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'":r?o+="'+\n((__t=("+r+"))==null?'':__t)+\n'":a&&(o+="';\n"+a+"\n__p+='"),e})),o+="';\n";var a,s=e.variable;if(s){if(!de.test(s))throw new Error("variable is not a bare identifier: "+s)}else o="with(obj||{}){\n"+o+"}\n",s="obj";o="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+o+"return __p;\n";try{a=new Function(s,"_",o)}catch(t){throw t.source=o,t}var l=function(t){return a.call(this,t,ut)};return l.source="function("+s+"){\n"+o+"}",l}function ve(t,e,n){var r=(e=Ht(e)).length;if(!r)return F(n)?n.call(t):n;for(var i=0;i<r;i++){var o=null==t?void 0:t[e[i]];void 0===o&&(o=n,i=r),t=F(o)?o.call(t):o}return t}var me=0;function ye(t){var e=++me+"";return t?t+e:e}function ge(t){var e=ut(t);return e._chain=!0,e}function be(t,e,n,r,i){if(!(r instanceof e))return t.apply(n,i);var o=Ct(t.prototype),a=t.apply(o,i);return S(a)?a:o}var xe=T((function(t,e){var n=xe.placeholder,r=function(){for(var i=0,o=e.length,a=Array(o),s=0;s<o;s++)a[s]=e[s]===n?arguments[i++]:e[s];for(;i<arguments.length;)a.push(arguments[i++]);return be(t,r,this,this,a)};return r}));xe.placeholder=ut;const _e=xe,we=T((function(t,e,n){if(!F(t))throw new TypeError("Bind must be called on a function");var r=T((function(i){return be(t,r,e,this,n.concat(i))}));return r})),ke=X(ot);function Te(t,e,n,r){if(r=r||[],e||0===e){if(e<=0)return r.concat(t)}else e=1/0;for(var i=r.length,o=0,a=ot(t);o<a;o++){var s=t[o];if(ke(s)&&(V(s)||K(s)))if(e>1)Te(s,e-1,n,r),i=r.length;else for(var l=0,c=s.length;l<c;)r[i++]=s[l++];else n||(r[i++]=s)}return r}const Se=T((function(t,e){var n=(e=Te(e,!1,!1)).length;if(n<1)throw new Error("bindAll must be passed function names");for(;n--;){var r=e[n];t[r]=we(t[r],t)}return t}));function Me(t,e){var n=function(r){var i=n.cache,o=""+(e?e.apply(this,arguments):r);return Y(i,o)||(i[o]=t.apply(this,arguments)),i[o]};return n.cache={},n}const De=T((function(t,e,n){return setTimeout((function(){return t.apply(null,n)}),e)})),je=_e(De,ut,1);function Ee(t,e,n){var r,i,o,a,s=0;n||(n={});var l=function(){s=!1===n.leading?0:re(),r=null,a=t.apply(i,o),r||(i=o=null)},c=function(){var c=re();s||!1!==n.leading||(s=c);var u=e-(c-s);return i=this,o=arguments,u<=0||u>e?(r&&(clearTimeout(r),r=null),s=c,a=t.apply(i,o),r||(i=o=null)):r||!1===n.trailing||(r=setTimeout(l,u)),a};return c.cancel=function(){clearTimeout(r),s=0,r=i=o=null},c}function Ie(t,e,n){var r,i,o,a,s,l=function(){var c=re()-i;e>c?r=setTimeout(l,e-c):(r=null,n||(a=t.apply(s,o)),r||(o=s=null))},c=T((function(c){return s=this,o=c,i=re(),r||(r=setTimeout(l,e),n&&(a=t.apply(s,o))),a}));return c.cancel=function(){clearTimeout(r),r=o=s=null},c}function Oe(t,e){return _e(e,t)}function Pe(t){return function(){return!t.apply(this,arguments)}}function $e(){var t=arguments,e=t.length-1;return function(){for(var n=e,r=t[e].apply(this,arguments);n--;)r=t[n].call(this,r);return r}}function Ae(t,e){return function(){if(--t<1)return e.apply(this,arguments)}}function ze(t,e){var n;return function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=null),n}}const Ce=_e(ze,2);function Ne(t,e,n){e=Jt(e,n);for(var r,i=st(t),o=0,a=i.length;o<a;o++)if(e(t[r=i[o]],r,t))return r}function Ue(t){return function(e,n,r){n=Jt(n,r);for(var i=ot(e),o=t>0?0:i-1;o>=0&&o<i;o+=t)if(n(e[o],o,e))return o;return-1}}const Be=Ue(1),Fe=Ue(-1);function He(t,e,n,r){for(var i=(n=Jt(n,r,1))(e),o=0,a=ot(t);o<a;){var s=Math.floor((o+a)/2);n(t[s])<i?o=s+1:a=s}return o}function Le(t,e,n){return function(r,i,o){var a=0,s=ot(r);if("number"==typeof o)t>0?a=o>=0?o:Math.max(o+s,a):s=o>=0?Math.min(o+1,s):o+s+1;else if(n&&o&&s)return r[o=n(r,i)]===i?o:-1;if(i!=i)return(o=e(u.call(r,a,s),J))>=0?o+a:-1;for(o=t>0?a:s-1;o>=0&&o<s;o+=t)if(r[o]===i)return o;return-1}}const Re=Le(1,Be,He),We=Le(-1,Fe);function qe(t,e,n){var r=(ke(t)?Be:Ne)(t,e,n);if(void 0!==r&&-1!==r)return t[r]}function Ve(t,e){return qe(t,Vt(e))}function Ye(t,e,n){var r,i;if(e=Gt(e,n),ke(t))for(r=0,i=t.length;r<i;r++)e(t[r],r,t);else{var o=st(t);for(r=0,i=o.length;r<i;r++)e(t[o[r]],o[r],t)}return t}function Ge(t,e,n){e=Jt(e,n);for(var r=!ke(t)&&st(t),i=(r||t).length,o=Array(i),a=0;a<i;a++){var s=r?r[a]:a;o[a]=e(t[s],s,t)}return o}function Ke(t){return function(e,n,r,i){var o=arguments.length>=3;return function(e,n,r,i){var o=!ke(e)&&st(e),a=(o||e).length,s=t>0?0:a-1;for(i||(r=e[o?o[s]:s],s+=t);s>=0&&s<a;s+=t){var l=o?o[s]:s;r=n(r,e[l],l,e)}return r}(e,Gt(n,i,4),r,o)}}const Ze=Ke(1),Je=Ke(-1);function Qe(t,e,n){var r=[];return e=Jt(e,n),Ye(t,(function(t,n,i){e(t,n,i)&&r.push(t)})),r}function Xe(t,e,n){return Qe(t,Pe(Jt(e)),n)}function tn(t,e,n){e=Jt(e,n);for(var r=!ke(t)&&st(t),i=(r||t).length,o=0;o<i;o++){var a=r?r[o]:o;if(!e(t[a],a,t))return!1}return!0}function en(t,e,n){e=Jt(e,n);for(var r=!ke(t)&&st(t),i=(r||t).length,o=0;o<i;o++){var a=r?r[o]:o;if(e(t[a],a,t))return!0}return!1}function nn(t,e,n,r){return ke(t)||(t=jt(t)),("number"!=typeof n||r)&&(n=0),Re(t,e,n)>=0}const rn=T((function(t,e,n){var r,i;return F(e)?i=e:(e=Ht(e),r=e.slice(0,-1),e=e[e.length-1]),Ge(t,(function(t){var o=i;if(!o){if(r&&r.length&&(t=Lt(t,r)),null==t)return;o=t[e]}return null==o?o:o.apply(t,n)}))}));function on(t,e){return Ge(t,Yt(e))}function an(t,e){return Qe(t,Vt(e))}function sn(t,e,n){var r,i,o=-1/0,a=-1/0;if(null==e||"number"==typeof e&&"object"!=typeof t[0]&&null!=t)for(var s=0,l=(t=ke(t)?t:jt(t)).length;s<l;s++)null!=(r=t[s])&&r>o&&(o=r);else e=Jt(e,n),Ye(t,(function(t,n,r){((i=e(t,n,r))>a||i===-1/0&&o===-1/0)&&(o=t,a=i)}));return o}function ln(t,e,n){var r,i,o=1/0,a=1/0;if(null==e||"number"==typeof e&&"object"!=typeof t[0]&&null!=t)for(var s=0,l=(t=ke(t)?t:jt(t)).length;s<l;s++)null!=(r=t[s])&&r<o&&(o=r);else e=Jt(e,n),Ye(t,(function(t,n,r){((i=e(t,n,r))<a||i===1/0&&o===1/0)&&(o=t,a=i)}));return o}var cn=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;function un(t){return t?V(t)?u.call(t):O(t)?t.match(cn):ke(t)?Ge(t,qt):jt(t):[]}function pn(t,e,n){if(null==e||n)return ke(t)||(t=jt(t)),t[ne(t.length-1)];var r=un(t),i=ot(r);e=Math.max(Math.min(e,i),0);for(var o=i-1,a=0;a<e;a++){var s=ne(a,o),l=r[a];r[a]=r[s],r[s]=l}return r.slice(0,e)}function fn(t){return pn(t,1/0)}function dn(t,e,n){var r=0;return e=Jt(e,n),on(Ge(t,(function(t,n,i){return{value:t,index:r++,criteria:e(t,n,i)}})).sort((function(t,e){var n=t.criteria,r=e.criteria;if(n!==r){if(n>r||void 0===n)return 1;if(n<r||void 0===r)return-1}return t.index-e.index})),"value")}function hn(t,e){return function(n,r,i){var o=e?[[],[]]:{};return r=Jt(r,i),Ye(n,(function(e,i){var a=r(e,i,n);t(o,e,a)})),o}}const vn=hn((function(t,e,n){Y(t,n)?t[n].push(e):t[n]=[e]})),mn=hn((function(t,e,n){t[n]=e})),yn=hn((function(t,e,n){Y(t,n)?t[n]++:t[n]=1})),gn=hn((function(t,e,n){t[n?0:1].push(e)}),!0);function bn(t){return null==t?0:ke(t)?t.length:st(t).length}function xn(t,e,n){return e in n}const _n=T((function(t,e){var n={},r=e[0];if(null==t)return n;F(r)?(e.length>1&&(r=Gt(r,e[1])),e=mt(t)):(r=xn,e=Te(e,!1,!1),t=Object(t));for(var i=0,o=e.length;i<o;i++){var a=e[i],s=t[a];r(s,a,t)&&(n[a]=s)}return n})),wn=T((function(t,e){var n,r=e[0];return F(r)?(r=Pe(r),e.length>1&&(n=e[1])):(e=Ge(Te(e,!1,!1),String),r=function(t,n){return!nn(e,n)}),_n(t,r,n)}));function kn(t,e,n){return u.call(t,0,Math.max(0,t.length-(null==e||n?1:e)))}function Tn(t,e,n){return null==t||t.length<1?null==e||n?void 0:[]:null==e||n?t[0]:kn(t,t.length-e)}function Sn(t,e,n){return u.call(t,null==e||n?1:e)}function Mn(t,e,n){return null==t||t.length<1?null==e||n?void 0:[]:null==e||n?t[t.length-1]:Sn(t,Math.max(0,t.length-e))}function Dn(t){return Qe(t,Boolean)}function jn(t,e){return Te(t,e,!1)}const En=T((function(t,e){return e=Te(e,!0,!0),Qe(t,(function(t){return!nn(e,t)}))})),In=T((function(t,e){return En(t,e)}));function On(t,e,n,r){j(e)||(r=n,n=e,e=!1),null!=n&&(n=Jt(n,r));for(var i=[],o=[],a=0,s=ot(t);a<s;a++){var l=t[a],c=n?n(l,a,t):l;e&&!n?(a&&o===c||i.push(l),o=c):n?nn(o,c)||(o.push(c),i.push(l)):nn(i,l)||i.push(l)}return i}const Pn=T((function(t){return On(Te(t,!0,!0))}));function $n(t){for(var e=[],n=arguments.length,r=0,i=ot(t);r<i;r++){var o=t[r];if(!nn(e,o)){var a;for(a=1;a<n&&nn(arguments[a],o);a++);a===n&&e.push(o)}}return e}function An(t){for(var e=t&&sn(t,ot).length||0,n=Array(e),r=0;r<e;r++)n[r]=on(t,r);return n}const zn=T(An);function Cn(t,e){for(var n={},r=0,i=ot(t);r<i;r++)e?n[t[r]]=e[r]:n[t[r][0]]=t[r][1];return n}function Nn(t,e,n){null==e&&(e=t||0,t=0),n||(n=e<t?-1:1);for(var r=Math.max(Math.ceil((e-t)/n),0),i=Array(r),o=0;o<r;o++,t+=n)i[o]=t;return i}function Un(t,e){if(null==e||e<1)return[];for(var n=[],r=0,i=t.length;r<i;)n.push(u.call(t,r,r+=e));return n}function Bn(t,e){return t._chain?ut(e).chain():e}function Fn(t){return Ye(Ot(t),(function(e){var n=ut[e]=t[e];ut.prototype[e]=function(){var t=[this._wrapped];return c.apply(t,arguments),Bn(this,n.apply(ut,t))}})),ut}Ye(["pop","push","reverse","shift","sort","splice","unshift"],(function(t){var e=a[t];ut.prototype[t]=function(){var n=this._wrapped;return null!=n&&(e.apply(n,arguments),"shift"!==t&&"splice"!==t||0!==n.length||delete n[0]),Bn(this,n)}})),Ye(["concat","join","slice"],(function(t){var e=a[t];ut.prototype[t]=function(){var t=this._wrapped;return null!=t&&(t=e.apply(t,arguments)),Bn(this,t)}}));const Hn=ut;var Ln=Fn(r);Ln._=Ln;const Rn=Ln},372:t=>{"use strict";t.exports.buildRequestUrl=function(t,e,n,r,i,o,a){var s=METOBS_API_URL+"/api/data."+t+"?";return s+="interval="+e,s+="&epoch="+n,s+="&sep="+r||0,s+="&order="+i,s+=o,s+="&symbols="+a}},414:t=>{"use strict";var e=function(t){};t.exports=function(t,n){for(var r=arguments.length,i=new Array(r>2?r-2:0),o=2;o<r;o++)i[o-2]=arguments[o];if(e(n),!t){var a;if(void 0===n)a=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var s=0;(a=new Error(n.replace(/%s/g,(function(){return String(i[s++])})))).name="Invariant Violation"}throw a.framesToPop=1,a}}},433:(t,e,n)=>{"use strict";n(964);const r=n(507);var i=function(t,e){$(t+" #plot-btn").click((function(){!function(t){t.dispatch({status:"get_between_dates",emit:"plotEmitter",start:$("#Start-date-picker").val().split(" ").join("T")+":00",end:$("#End-date-picker").val().split(" ").join("T")+":00",interval:"auto"})}(e)})),$(t+" #dropDownId").change((function(){!function(t,e){"realtime"==t?e.dispatch({status:"get_since_now",emit:"plotEmitter",time:"-3:00:00"}):e.dispatch({status:"get_since_now",emit:"plotEmitter",time:t})}($(this).val(),e)}))},o=function(t,e){$(e+" #dropDownId").prop("disabled","recent"!=t),$(e+" #interval").prop("disabled","range"!=t),$(e+" #Start-date-picker").prop("disabled","range"!=t),$(e+" #End-date-picker").prop("disabled","range"!=t),$(e+" #Start-time-picker").prop("disabled","range"!=t),$(e+" #End-time-picker").prop("disabled","range"!=t),$(e+" #plot-btn").prop("disabled","range"!=t)},a=function(t,e,n){var r="#"+t;!function(t){$(t+" #Start-date-picker").datetimepicker({changeMonth:!0,changeYear:!0,dateFormat:"yy-mm-dd",timeFormat:"HH:mm",showTimezone:!0,timezoneList:[{label:"UTC",value:0}],timezone:0,showSecond:!1,showMillisec:!1,showMicrosec:!1}),$(t+" #End-date-picker").datetimepicker({changeMonth:!0,changeYear:!0,dateFormat:"yy-mm-dd",timeFormat:"HH:mm",showTimezone:!0,timezoneList:[{label:"UTC",value:0}],timezone:0,showSecond:!1,showMillisec:!1,showMicrosec:!1}),$(t+" [type=text]").prop("disabled",!0),$(t+" select").prop("disabled",!0),$(t+" #last_x_days").click((function(){o("recent",t)})),$(t+" #date_range").click((function(){o("range",t)})),$(t+" #last_x_days").trigger("click")}(r),i(r,n)};$(document).ready((function(){})),t.exports=function(t,e,n){$("#"+t).append(r.controlPanelTemplate),a(t,0,n)}},445:(t,e,n)=>{"use strict";function r(t,e,n){return(e=function(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var i=n(414),o=function(){function t(){r(this,"_callbacks",void 0),r(this,"_isDispatching",void 0),r(this,"_isHandled",void 0),r(this,"_isPending",void 0),r(this,"_lastID",void 0),r(this,"_pendingPayload",void 0),this._callbacks={},this._isDispatching=!1,this._isHandled={},this._isPending={},this._lastID=1}var e=t.prototype;return e.register=function(t){var e="ID_"+this._lastID++;return this._callbacks[e]=t,e},e.unregister=function(t){this._callbacks[t]||i(!1),delete this._callbacks[t]},e.waitFor=function(t){this._isDispatching||i(!1);for(var e=0;e<t.length;e++){var n=t[e];this._isPending[n]?this._isHandled[n]||i(!1):(this._callbacks[n]||i(!1),this._invokeCallback(n))}},e.dispatch=function(t){this._isDispatching&&i(!1),this._startDispatching(t);try{for(var e in this._callbacks)this._isPending[e]||this._invokeCallback(e)}finally{this._stopDispatching()}},e.isDispatching=function(){return this._isDispatching},e._invokeCallback=function(t){this._isPending[t]=!0,this._callbacks[t](this._pendingPayload),this._isHandled[t]=!0},e._startDispatching=function(t){for(var e in this._callbacks)this._isPending[e]=!1,this._isHandled[e]=!1;this._pendingPayload=t,this._isDispatching=!0},e._stopDispatching=function(){delete this._pendingPayload,this._isDispatching=!1},t}();t.exports=o},500:(t,e,n)=>{"use strict";var r,i=n(68),o=n(822),a=n(871),s=n(193),l=n(53),c=n(964),u=n(48);t.exports.getDispatcher=function(){var t=new o.Dispatcher;function e(){var t=120;(r+=.2*(2*Math.min(t-r%t,r%t)/60+1))>360&&(r=0),document.getElementById("row1").style.backgroundColor="hsl("+r+",100%,15%)",document.getElementById("row2").style.backgroundColor="hsl("+r+",75%,30%)",document.getElementById("row3").style.backgroundColor="hsl("+r+",50%,45%)"}t.GRAPH_HEIGHT=170;var n=i({visible:{},setPlots:function(t){for(var e in t)this.visible[e]=!0},setShowing:function(t,e){this.showing[t]=void 0===e?!this.showing[t]:e},getShowing:function(t){return this.showing[t]},handleActions:function(t){"checkboxEmitter"==t.emit&&this.emit(t.status,t.location)}});n.dispatchToken=t.register(n.handleActions.bind(n));var p=i({handleActions:function(e){"plotEmitter"==e.emit&&(t.waitFor([n.dispatchToken]),void 0!==e.location&&(this.div=e.location),void 0!==e.plotsInfo&&(this.plotsInfo=e.plotsInfo,this.plotOrder=this.plotsInfo.defaultPlots),void 0!==e.plotOrder&&(this.plotOrder=e.plotOrder),void 0!==e.dataCache&&(this.dataCache=e.dataCache),"get_since_now"==e.status?(this.plotsInfo.isLobbyDisplay&&(e.time="-6:00:00"),this.emit(e.status,e.time,this.plotsInfo,this.dataCache,this.div)):"update_table"==e.status?this.emit(e.status,e.time,this.plotsInfo,this.div):"get_between_dates"==e.status?this.emit(e.status,e.start,e.end,e.interval,this.plotsInfo,this.dataCache,this.div):"initPlot"==e.status?this.emit(e.status,e.location,e.plotOrder?e.plotOrder:this.plotOrder,this.plotsInfo,this.dataCache):"initTable"==e.status?this.emit(e.status,e.location,e.plotOrder?e.plotOrder:this.plotOrder,this.plotsInfo):"update"==e.status?this.emit(e.status,this.div,this.plotsInfo,this.dataCache,e.startTime):"changeUnits"==e.status?this.emit(e.status,this.div,this.plotsInfo,this.dataCache,e.unitCount):this.emit(e.status,e.userInfo))}});function f(t){if(t.progress||(t.progress={}),t.progress.validID){var e=t.progress.id[0];clearInterval(e),t.isLobbyDisplay&&(clearInterval(t.progress.colorID),clearInterval(t.progress.lobbyID)),t.progress.validID=!1}}const d={"1m":3e4,"5m":15e4,"1h":18e5};function h(n,i,o){o.progress||(o.progress={}),f(o),void 0===n&&(n=o.progress.id[1]),void 0===i&&(i=o.progress.id[2]);var a,s=setInterval(function(e){return function(){t.dispatch({status:"update",emit:"plotEmitter",startTime:e})}}(n),d[i]);o.isLobbyDisplay&&(r=Number(getComputedStyle(document.getElementById("color")).getPropertyValue("--starting-hue")),o.progress.colorID=setInterval(e,1e3),o.progress.lobbyID=setInterval((a=0,function(){a=(a+1)%2,t.dispatch({status:"changeUnits",emit:"plotEmitter",unitCount:a})}),5e3)),o.progress.id=[s,n,i],o.progress.validID=!0}return p.on("initTable",(function(t,e,r){n.setPlots(r),s.initTable(t,e,r)})),p.on("update_table",(function(t,e,n){s.requestTableUpdate(n,e),setInterval((function(){s.requestTableUpdate(n,e)}),d["1m"])})),p.on("initPlot",(function(t,e,r,i){n.setPlots(r),a.initPlot(i,t,e,r)})),p.on("get_since_now",(function(t,e,n,r){h(t,l.requestPlotUpdate(n,r,e,t,void 0,void 0,void 0,f),e)})),p.on("get_between_dates",(function(t,e,n,r,i,o){f(r),l.requestPlotUpdate(i,o,r,t,e,n)})),p.on("update",(function(t,e,n,r){l.requestPlotUpdate(n,t,e,r,void 0,void 0,!0)})),p.on("changeUnits",(function(t,e,n,r){u.changeUnits(n,document.getElementById(t),e,r)})),p.on("checking_custom",(function(){c.checkInterval()})),p.dispatchToken=t.register(p.handleActions.bind(p)),t}},507:t=>{t.exports={controlPanelTemplate:'<div class="row" id="control-panel-row"><div id="show-hide-boxes" class="col-md-12"></div><div class = "col-md-9"><div class="row" style="padding: 0 1em;"><div class="form-group"><table style="width:100%"><tr><td><div class="radio"><label><input type="radio" id="last_x_days" name="time_select">Recent Data:</label></div></td><td><select class="form-control" id="dropDownId"><option selected value="realtime">Realtime Update</option><option value="-1:00:00">Past 1 Hour</option><option value="-2:00:00">Past 2 Hours</option><option value="-3:00:00">Past 3 Hours</option><option value="-6:00:00">Past 6 Hours</option><option value="-12:00:00">Past 12 Hours</option><option value="-18:00:00">Past 18 Hours</option><option value="-24:00:00">Past 24 Hours</option><option value="-96:00:00">Past 4 Days</option></select></td><td style="padding-left:.5em"><div class="radio"><label><input type="radio" id="date_range" name="time_select">Date Range:</label></div></td><td><input class="form-control" style="padding 0.5em 0;" id="Start-date-picker" type="text" placeholder="YYYY-MM-DD"/></td><td>to </td><td><input class="form-control" style="padding 0.5em 0;" id="End-date-picker" type="text" placeholder="YYYY-MM-DD"/></td><td><button class="btn btn-primary btn-block" id="plot-btn">Plot</button></td></tr></table></div></div></div></div>',checkboxTemplates:{"aoss.tower":'<div class="form-group"><label class="form-check-label"><input type="checkbox" class="form-check-input" checked id="temp">Temperature + Dewpoint</label><label class="form-check-label"><input type="checkbox" class="form-check-input" checked id="pres">Pressure</label><label class="form-check-label"><input type="checkbox" class="form-check-input" checked id="wS">Wind Speed</label><label class="form-check-label"><input type="checkbox" class="form-check-input" checked id="wD">Wind Direction</label><label class="form-check-label"><input type="checkbox" class="form-check-input" checked id="aP">Precipitation</label><label class="form-check-label"><input type="checkbox" class="form-check-input" checked id="sF">Solar Flux</label></div>',"mendota.buoy":'<div class="form-group"><label class="form-check-label"><input type="checkbox" class="form-check-input" checked id="temp">Temperature + Dewpoint</label><label class="form-check-label"><input type="checkbox" class="form-check-input" checked id="rh">Relative Humidity</label><label class="form-check-label"><input type="checkbox" class="form-check-input" checked id="wS">Wind Speed</label><label class="form-check-label"><input type="checkbox" class="form-check-input" checked id="wD">Wind Direction</label><label class="form-check-label"><input type="checkbox" class="form-check-input" checked id="chlor">Chlorophyll</label><label class="form-check-label"><input type="checkbox" class="form-check-input" checked id="phyco">Phycocyanin</label></div>'}}},540:(t,e,n)=>{"use strict";var r=n(714),i=Array.prototype.forEach,o=Object.create;t.exports=function(t){var e=o(null);return i.call(arguments,(function(t){r(t)&&function(t,e){var n;for(n in t)e[n]=t[n]}(Object(t),e)})),e}},556:(t,e,n)=>{"use strict";t.exports=n(827)()?Object.assign:n(3)},679:(t,e,n)=>{"use strict";var r=n(287),i=n(737),o=n(556),a=n(540),s=n(782);(t.exports=function(t,e){var n,i,l,c,u;return arguments.length<2||"string"!=typeof t?(c=e,e=t,t=null):c=arguments[2],r(t)?(n=s.call(t,"c"),i=s.call(t,"e"),l=s.call(t,"w")):(n=l=!0,i=!1),u={value:e,configurable:n,enumerable:i,writable:l},c?o(a(c),u):u}).gs=function(t,e,n){var l,c,u,p;return"string"!=typeof t?(u=n,n=e,e=t,t=null):u=arguments[3],r(e)?i(e)?r(n)?i(n)||(u=n,n=void 0):n=void 0:(u=e,e=n=void 0):e=void 0,r(t)?(l=s.call(t,"c"),c=s.call(t,"e")):(l=!0,c=!1),p={get:e,set:n,configurable:l,enumerable:c},u?o(a(u),p):p}},714:(t,e,n)=>{"use strict";var r=n(811)();t.exports=function(t){return t!==r&&null!==t}},732:t=>{"use strict";t.exports=function(){try{return Object.keys("primitive"),!0}catch(t){return!1}}},737:(t,e,n)=>{"use strict";var r=n(992),i=/^\s*class[\s{/}]/,o=Function.prototype.toString;t.exports=function(t){return!!r(t)&&!i.test(o.call(t))}},758:(t,e,n)=>{"use strict";var r=n(714);t.exports=function(t){if(!r(t))throw new TypeError("Cannot use null or undefined");return t}},782:(t,e,n)=>{"use strict";t.exports=n(37)()?String.prototype.contains:n(289)},811:t=>{"use strict";t.exports=function(){}},822:(t,e,n)=>{t.exports.Dispatcher=n(445)},827:t=>{"use strict";t.exports=function(){var t,e=Object.assign;return"function"==typeof e&&(e(t={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),t.foo+t.bar+t.trzy==="razdwatrzy")}},871:(t,e,n)=>{"use strict";var r=n(343),i=n(964);function o(t,e,n,r){for(var i,o={gridcolor:"#777777",titlefont:{size:12},title:n.title,zeroline:!1,overlaying:"y"+(t-1).toString(),side:"right",anchor:"x"},a=0;a<r.length;a++)(i=r[a])in n&&(o[i]=n[i]);return o}function a(t,e,n,r,i,o,a){t["xaxis"+n]={ticktext:["-6h","-3h","Now"],tickfont:{size:a/5},showline:!0,linecolor:"white",anchor:"y"+n,domain:[.1+1/3*(r%3)*(1+Math.floor(r/6)),14/60+1/3*(r%3)*(1+Math.floor(r/6))],zeroline:!1,showgrid:!1},t.annotations.push({font:{size:a/2},showarrow:!1,align:"center",x:1/6+1/3*(r%3)*(1+Math.floor(r/6)),y:i+.04,xref:"paper",yref:"paper",showarrow:!0,arrowhead:0,ax:0,ay:0}),t.annotations.push({text:o,font:{size:a/4},showarrow:!1,align:"center",x:1/6+1/3*(r%3)*(1+Math.floor(r/6)),y:i+.085,xref:"paper",yref:"paper",showarrow:!0,arrowhead:0,ax:0,ay:0}),delete e.title,e.tickfont={size:a/5},e.showgrid=!1,e.showticklabels=!0,e.anchor="x"+n,e.showline=!0,e.linecolor="white"}t.exports.initPlot=function(t,e,n,s){var l=n.length,c={title:s.title,showlegend:!1,height:170*l+180};Object.assign(c,s.layout),c.xaxis={domain:[0,1],showline:!1,zeroline:!1,showticklabels:l>0,gridcolor:"#777777",showgrid:!1,tickformat:"%Y-%m-%d %H:%MZ"};for(var u,p,f,d,h,v,m,y,g=0,b=1/l,x=g,_=["marker","color","mode","zmin","zmax","y","contours","line","colorscale","showscale","colorbar","tick0","dtick","hovermode"],w=["nticks","range","autorange","zeroline","showgrid","tickmode","ticktext","tickvals"],k=0;k<n.length;k++){v=n[k],x=g+=1,u=(p=s.plots[v]).yaxis,y=[(n.length-1-k)*b*1.03,1-k*b*1.05],s.isLobbyDisplay&&(y=[.82-8/75-(.2+8/75)*Math.floor(k/3),.82-(.2+8/75)*Math.floor(k/3)]);for(var T=0;T<p.traces.length;T++){d={name:(f=p.traces[T]).name,x:[],y:[],text:[],type:f.type?f.type:"scatter",xaxis:s.isLobbyDisplay?"x"+g:"x1",yaxis:"y"+g,hoverinfo:"x+text",hovermode:"closest",var_names:f.var_names,anc_variables:f.anc_variables,anc_data:[],plot_name:v,trace_index:T},f.isSecondAxis&&(d.yaxis="y"+(g+T));for(var S=0;S<_.length;S++)(m=_[S])in f&&(d[m]=f[m]);"colorbar"in d&&(d.colorbar.len=y[1]-y[0],d.colorbar.y=(y[1]-y[0])/2+y[0],d.z=[]),t.push(d)}for(h={gridcolor:"#777777",titlefont:{size:12},title:u.title,zeroline:!1,domain:y},s.isLobbyDisplay&&a(c,h,g,k,y[1],f.name,s.rowTextSize),S=0;S<w.length;S++)(m=w[S])in u&&(h[m]=u[m]);c["yaxis"+g]=h,s.isLobbyDisplay||!("yaxis2"in p)||p.yaxis2.skip||(h=o(g+=1,0,u=p.yaxis2,w),c["yaxis"+g]=h)}c.xaxis.anchor="y"+x;var M={showLink:!1,displaylogo:!1,displayModeBar:!0,responsive:!0};s.isLobbyDisplay&&(delete c.xaxis,M={responsive:!0}),r.plot(e,t,c,M),i.loading()}},909:(t,e,n)=>{"use strict";t.exports=n(732)()?Object.keys:n(120)},964:t=>{"use strict";function e(t,e){var n=parseInt(t.substring(6,10)),r=parseInt(t.substring(0,3)),i=parseInt(t.substring(3,5)),o=parseInt(e.substring(0,2)),a=parseInt(e.substring(3,5)),s=parseInt(e.substring(6,8));return new Date(n,r,i,o,a,s)}function n(){$("#Plot").prop("disabled",!0)}function r(t,r,i,o,a){if("--"==(s=$("#interval option:selected")).text());else{var s,l=e(t,i),c=(e(r,o)-l)/1e3,u=(s=$("#interval option:selected")).data("seconds");c=Math.floor(c/u);c>=0&&c<60?($("#prompt_user").html("a "+s.text()+" interval would plot about "+c.toString()+" data points; that's too few - please try again"),$("#default").attr("selected","selected"),n()):c<0?($("#prompt_user").html("The end date is before the start date. Please choose a later end date."),$("#default").attr("selected","selected")):c>1e3?($("#prompt_user").html("a "+s.text()+" interval would plot about "+c.toString()+" data points; that's too many - please try again"),$("#default").attr("selected","selected"),n()):($("#prompt_user").html("a "+s.text()+" interval would plot about "+c.toString()+" data points."),$("#Plot").prop("disabled",!1))}}t.exports.loading=function(){},t.exports.disable=function(){$("#Start-date-picker").prop("disabled",!0),$("#Start-time-picker").prop("disabled",!0),$("#End-date-picker").prop("disabled",!0),$("#End-time-picker").prop("disabled",!0),$("#interval").prop("disabled",!0),$("#Plot").prop("disabled",!0)},t.exports.enable=function(){$("#Start-date-picker").prop("disabled",!1),$("#Start-time-picker").prop("disabled",!1),$("#End-date-picker").prop("disabled",!1),$("#End-time-picker").prop("disabled",!1),$("#interval").prop("disabled",!1)},t.exports.checkInterval=function(){var t=$("#Start-date-picker").val(),e=$("#End-date-picker").val(),n=$("#Start-time-picker").val(),i=$("#End-time-picker").val(),o=$("#interval"),a=$("#interval option:selected");t&&e&&n&&i||"--"==a.text()||($("#prompt_user").html("Please fill out all other fields before filling out the interval field"),$("#default").attr("selected","selected")),r(t,e,n,i,o)}},979:(t,e,n)=>{var r=n(352);function i(t){return 1.8*t+32}function o(t){return t}String.prototype.format||(String.prototype.format=function(){var t=arguments;return this.replace(/{(\d+)}/g,(function(e,n){return void 0!==t[n]?t[n]:e}))});var a={null:o,undefined:o,getF:i,getPresInHg:function(t){return.02952998751*t},getSpeedMPH:function(t){return 3600*t/1608},getSpeedKnotsToMPH:function(t){return 1.15078*t},getAccumMillimeter:function(t){return 25.4*t},getAccumMillimeterToInches:function(t){return t/25.4},cardinalWDir:function(t){return isNaN(t)?"N/A":["N","NNE","NE","ENE","E","ESE","SE","SSE","S","SSW","SW","WSW","W","WNW","NW","NNW"][Math.floor((t+11.25)%360/22.5)]},getSpeedKTS:function(t){return 1.94384*t}};function s(t,e,n){var r;return null===t?(t="",r=""):(r="yaxis2"in e&&"convert_value"in e.yaxis2?(r=a[e.yaxis2.convert_value](t)).toFixed?r.toFixed(e.yaxis2.precision):r:void 0,t=(t=a[e.yaxis.convert_value](t)).toFixed?t.toFixed(e.yaxis.precision):t),"yaxis2"in e&&void 0!==r?"{0}: {1}{2} ({3}{4})".format(n.name,t,e.yaxis.units,r,e.yaxis2.units):"{0}: {1}{2}".format(n.name,t,e.yaxis.units)}function l(t,e,n,r){for(var i=[],o=0;o<t.length;o++)i.push(s(t[o],e,n));return i}var c={undefined:l,null:l,dewpoint:function(t,e,n,r){var i,o=[],a=void 0;"anc_variables"in n&&1==n.anc_variables.length&&(a=r[n.anc_variables[0]]);var l=n.anc_info[n.anc_variables[0]];l||(l={name:n.anc_variables[0],units:"",precision:2});for(var c=0;c<t.length;c++)i=s(t[c],e,n),void 0!==a&&(i+="<br>{0}: {1}{2}".format(l.name,a[c]?a[c].toFixed(l.precision):"",l.units)),o.push(i);return o},water_temp:function(t,e,n,r){for(var o,a,s,l,c,u=[],p=0;p<t.length;p++){a=t[p],l=[],c=n.y[p];for(var f=0;f<a.length;f++)s=a[f],o="Depth: {0}m<br>{1}: {2} °C ({3} °F)".format(c.toFixed(1),n.name,null!==s?s.toFixed(3):"N/A",null!==s?i(s).toFixed(3):"N/A"),l.push(o);u.push(l)}return u}};t.exports.getTickVals=function(t,e,n){var i=.02*(e-t),o=((e+=i)-(t-=i))/4;return r.range(t,e+o,o)},t.exports.getProbeText=function(t,e,n,r){return"probe_text"in n?c[n.probe_text](t,e,n,r):l(t,e,n)},t.exports.getTickText=function(t,e){for(var n=[],r=0;r<t.length;r++){var i=a[e.convert_value](t[r]);i=i.toFixed?i.toFixed(e.precision):i,n.push(i)}return n},t.exports.preConvertValue=function(t,e){if("preconvert_value"in e)for(var n,r=0;r<t.length;r++)n=(n=a[e.preconvert_value](t[r])).toFixed?n.toFixed(e.precision):n,t[r]=n}},992:(t,e,n)=>{"use strict";var r=n(10);t.exports=function(t){if("function"!=typeof t)return!1;if(!hasOwnProperty.call(t,"length"))return!1;try{if("number"!=typeof t.length)return!1;if("function"!=typeof t.call)return!1;if("function"!=typeof t.apply)return!1}catch(t){return!1}return!r(t)}}},e={};function n(r){var i=e[r];if(void 0!==i)return i.exports;var o=e[r]={exports:{}};return t[r](o,o.exports,n),o.exports}n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r=n(433),i=n(500);n(352);window.MeteorogramController=function(t,e,n){var o=i.getDispatcher();return{plotDiv:t,controlDiv:e,dataCache:[],initMeteorogram:function(t,e){this.hasGraph=!0,this.plotDiv=t||this.plotDiv,o.dispatch({status:"initPlot",emit:"plotEmitter",location:this.plotDiv,dataCache:this.dataCache,plotsInfo:n,plotOrder:e})},initMeteorogramTable:function(t,e){this.hasTable=!0,this.tableDiv=t||this.plotDiv,o.dispatch({status:"initTable",emit:"plotEmitter",location:this.tableDiv,plotsInfo:n,plotOrder:e})},initMeteorogramControls:function(t){r(this.controlDiv,this.plotDiv,o)},displayRealTime:function(){this.hasTable&&o.dispatch({status:"update_table",emit:"plotEmitter",time:"-3:00:00",location:this.tableDiv}),this.hasGraph&&o.dispatch({status:"get_since_now",emit:"plotEmitter",time:"-3:00:00",location:this.plotDiv})},showPlot:function(t){o.dispatch({status:"show"+t,emit:"checkboxEmitter",location:this.div})},hidePlot:function(t){o.dispatch({status:"hide"+t,emit:"checkboxEmitter",location:this.div})},displayRecent:function(t){o.dispatch({status:"get_since_now",emit:"plotEmitter",time:t})},displayTimeRange:function(t,e,n){o.dispatch({status:"get_between_dates",emit:"plotEmitter",start:t,end:e,interval:n||"auto"})}}}})();
//# sourceMappingURL=meteorogram.js.map
\ No newline at end of file
Source diff could not be displayed: it is too large. Options to address this: view the blob.
Source diff could not be displayed: it is too large. Options to address this: view the blob.
......@@ -5,32 +5,31 @@
"main": "tower/API.js",
"dependencies": {
"event-emitter": "^0.3.5",
"flux": "^3.1.3",
"html2canvas": "^1.0.0-rc.3",
"jquery": "^3.4.0",
"flux": "^4.0.4",
"html2canvas": "^1.4.1",
"jquery": "^3.7.1",
"jquery-timepicker": "^1.3.3",
"react": "^16.8.6",
"underscore": "^1.9.1"
"node": "^23.11.0",
"react": "^16.14.0",
"underscore": "^1.13.7"
},
"devDependencies": {
"@babel/core": "^7.4.3",
"@babel/preset-env": "^7.4.3",
"babel-core": "^6.26.3",
"babel-loader": "^7.1.5",
"babel-preset-es2015": "^6.24.1",
"jsdoc": "^3.6.3",
"@babel/core": "^7.26.10",
"@babel/preset-env": "^7.26.9",
"babel-loader": "^10.0.0",
"jsdoc": "^4.0.4",
"npm-run-all": "^4.1.5",
"npm-watch": "^0.6.0",
"raw-loader": "^2.0.0",
"rimraf": "^2.6.3",
"npm-watch": "^0.13.0",
"raw-loader": "^4.0.2",
"rimraf": "^5.0.10",
"source-map-loader": "^0.2.4",
"uglifyjs-webpack-plugin": "^2.1.2",
"webpack": "^4.30.0",
"webpack-cli": "^3.3.0"
"terser-webpack-plugin": "^5.3.14",
"webpack": "^5.99.6",
"webpack-cli": "^6.0.1"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"babel": "babel --ignore 'node_modules/*' --presets es2015 controller.js -o build/main.bundle.js",
"babel": "babel --ignore 'node_modules/*' --presets env controller.js -o build/main.bundle.js",
"start": "http-server",
"webpack": "webpack",
"watch": "npm-run-all -p watch:*",
......
......@@ -128,6 +128,10 @@ function requestPlotUpdate(dataCache, div, plotsInfo, startTime, endTime, interv
interval = '1m';
// hours, minutes, seconds
time_parts = _.map(startTime.split(':'), Number);
if (update) {
// if we're updating then we don't need to get a ton of data every time
startTime = "-00:05:00";
}
dt_in_ms = -1000 * 60 * 60 * time_parts[0] + 1000 * 60 * time_parts[1] + 1000 * time_parts[2];
for (var i in intervalLookUp) {
if (dt_in_ms >= intervalLookUp[i][0]) {
......
......@@ -9,7 +9,7 @@ var utils = require('./utils.js');
*/
function initTable(div_id, plotOrder, plotsInfo) {
var div = $('#'+div_id);
var table = $('<table class="met_table"><tbody></tbody></table>');
var table = $('<table class="met_table text-left" align="center"><tbody></tbody></table>');
var tbody = table.children('tbody');
var plot_info;
......@@ -41,9 +41,9 @@ function initTable(div_id, plotOrder, plotsInfo) {
}
};
}
div.append('<h3>'+plotsInfo.title+'</h3>');
div.append('<h3 style="text-align:center">'+plotsInfo.title+'</h3>');
div.append(table);
div.append('<span id="timestamp"></span>');
div.append('<span id="timestamp" style="text-align:center"></span>');
};
function add_anc_rows(tbody,plot_key,idx,trace_info){
......@@ -153,6 +153,7 @@ function updateTable(dataObj,plotsInfo) {
if (trace_info.type=='contour') {
td_idx=update_contour_cells(data,data_cells,convert_cells,trace_info,td_idx);
} else {
ticktext.preConvertValue(data[trace_info['var_names'][0]], plot_info.yaxis);
var update_val = data[trace_info['var_names'][0]][0];
if(update_val || update_val==0){
var units = plot_info.yaxis.units;
......
......@@ -42,6 +42,10 @@ function getSpeedMPH(val) {
// convert m/s to mph
return val * 3600 / 1608;
}
function getSpeedKnotsToMPH(val) {
// convert knots to mph
return val * 1.15078;
}
function getSpeedKTS(val) {
//m/s to knots
return val * 1.94384;
......@@ -58,10 +62,16 @@ function getAccumMillimeter(val) {
// convert inches to millimeters
return val * 25.4;
}
function getAccumMillimeterToInches(val) {
// convert millimeters to inches
return val / 25.4;
}
function cardinalWDir(degrees){
if (isNaN(degrees)) {
return "N/A";
}
return ['N','NNE','NE','ENE',
'E','ESE','SE','SSE',
'S','SSW','SW','WSW',
......@@ -83,7 +93,9 @@ var CONVERSION_FUNCTIONS = {
getF: getF,
getPresInHg: getPresInHg,
getSpeedMPH: getSpeedMPH,
getSpeedKnotsToMPH: getSpeedKnotsToMPH,
getAccumMillimeter: getAccumMillimeter,
getAccumMillimeterToInches: getAccumMillimeterToInches,
cardinalWDir: cardinalWDir,
getSpeedKTS:getSpeedKTS
};
......@@ -197,9 +209,26 @@ function getTickVals(min, max, bump) {
}
function preConvertValue(values, axis_info) {
/**
* Convert values before inserting them into the final storage array.
*/
if (!('preconvert_value' in axis_info)) {
return;
}
var val;
for (var i=0; i < values.length; i++) {
val = CONVERSION_FUNCTIONS[axis_info.preconvert_value](values[i]);
val = (val.toFixed)?val.toFixed(axis_info.precision):val;
values[i] = val;
}
}
module.exports.getTickVals = getTickVals;
module.exports.getProbeText = getProbeText;
module.exports.getTickText = getTickText;
module.exports.preConvertValue = preConvertValue;
......