Python: Hacking Bokeh to create useful tools

Creating bounding box ground truth tool with Bokeh

Imports and user defined functions

In [11]:
from bokeh.models import CustomJS, ColumnDataSource, BoxSelectTool, Button, Range1d, Rect, ImageURL
from bokeh.plotting import figure, output_notebook, show, output_file
from bokeh.layouts import gridplot
from bokeh.resources import INLINE
from bokeh.embed import components
from jinja2 import Template
import os

def save_or_show_plot(layout, filename='', title=''):

    if filename:
        output_file(filename, title=title, mode='inline')
        show(layout)
    else:
        output_notebook(INLINE)
        show(layout)

Loading the data

In [12]:
#with open('imagelinks.txt') as f:
#    content = f.readlines()
img_list = ['https://raw.githubusercontent.com/ghandic/GroundTruth/master/Images/' + x for x in os.listdir('../Images')]


#img_list = [x.strip() for x in content]
source = ColumnDataSource(data=dict(x=[], y=[], width=[], height=[]))
out_source = ColumnDataSource(data=dict(x=[], y=[], width=[], height=[]))
img_source = ColumnDataSource(data=dict(url=img_list))
shown_img_source = ColumnDataSource(data=dict(x=[0], y=[1], width=[1], height=[1], url=[img_list[0]], counter=[0]))

Creating custom JavaScript callbacks

In [13]:
reset_callback = CustomJS(args=dict(source=source),
                           code="""
var data = source.data;
        
data['x'] = [];
data['y'] = [];
data['width'] = [];
data['height'] = [];
        
source.change.emit();
          
""")

download_callback = CustomJS(args=dict(out_source=out_source, img_source=img_source),
                           code="""
var outdata = out_source.data;
var img_data = img_source.data;
var filetext = "img,x,y,width,height\\n";

for (i=0; i < outdata['x'].length; i++) {
    
    if (outdata['x'][i]){
        var currRow = ['"' + img_data['url'][i].toString() + '"',
                    outdata['x'][i].toString(),
                    outdata['y'][i].toString(),
                    outdata['width'][i].toString(),
                    outdata['height'][i].toString().concat('\\n')];

        var joined = currRow.join();
        filetext = filetext.concat(joined);
    }
}

var filename = 'data_result.csv';
var blob = new Blob([filetext], { type: 'text/csv;charset=utf-8;' });

if (navigator.msSaveBlob) {
    navigator.msSaveBlob(blob, filename);
}

else {
    var link = document.createElement("a");
    link = document.createElement('a')
    link.href = URL.createObjectURL(blob);
    link.download = filename
    link.target = "_blank";
    link.style.visibility = 'hidden';
    link.dispatchEvent(new MouseEvent('click'))
}
""")

submit_callback = CustomJS(args=dict(source=source, out_source=out_source, 
                                     img_source=img_source, shown_img_source=shown_img_source),
                           code="""
var data = source.data;
var outdata = out_source.data
var img_data = img_source.data;
var shown_img_data = shown_img_source.data;
var last_img = img_data['url'].length;

outdata['x'].push(data['x'][0]);
outdata['y'].push(data['y'][0]);
outdata['width'].push(data['width'][0]);
outdata['height'].push(data['height'][0]);

counter = Number(shown_img_data['counter']) + 1;
if (counter >= last_img) {

    var filetext = "img,x,y,width,height\\n";

    for (i=0; i < outdata['x'].length; i++) {
    
        if (outdata['x'][i]){
            var currRow = [img_data['url'][i].toString(),
                        outdata['x'][i].toString(),
                        outdata['y'][i].toString(),
                        outdata['width'][i].toString(),
                        outdata['height'][i].toString().concat('\\n')];

            var joined = currRow.join();
            filetext = filetext.concat(joined);
        }
    }

    var filename = 'bokeh_result.csv';
    var blob = new Blob([filetext], { type: 'text/csv;charset=utf-8;' });
    
    navigator.msSaveBlob(blob, filename);
    
    if (navigator.msSaveBlob) {
        navigator.msSaveBlob(blob, filename);
    }

    else {
        var link = document.createElement("a");
        link = document.createElement('a')
        link.href = URL.createObjectURL(blob);
        link.download = filename
        link.target = "_blank";
        link.style.visibility = 'hidden';
        link.dispatchEvent(new MouseEvent('click'))
    }
} else {

    console.log(img_data['url'][counter]);
    shown_img_data['url'] = [img_data['url'][counter]];
    shown_img_data['counter'] = counter
    shown_img_source.change.emit();
}

  
data['x'] = [];
data['y'] = [];
data['width'] = [];
data['height'] = [];
        
source.change.emit();
out_source.change.emit();
          
""")

get_box_callback = CustomJS(args=dict(source=source), code="""
// get data source from Callback args
var data = source.data;

/// get BoxSelectTool dimensions from cb_data parameter of Callback
console.log(cb_data)
var geometry = cb_data['geometry'];

/// calculate Rect attributes
var width = geometry['x1'] - geometry['x0'];
var height = geometry['y1'] - geometry['y0'];
var x = geometry['x0'] + width/2;
var y = geometry['y0'] + height/2;

/// update data source with new Rect attributes
data['x'] = [x];
data['y'] = [y];
data['width'] = [width];
data['height'] = [height];
        
// emit update of data source
source.change.emit();

""")

Creating the figure and widgets

In [14]:
box_select = BoxSelectTool(callback=get_box_callback)

p = figure(plot_width=600,
           plot_height=400,
           tools=[box_select, 'tap'],
           title="Select the cats!",
           x_range=Range1d(start=0.0, end=1.0),
           y_range=Range1d(start=0.0, end=1.0))

rect = Rect(x='x',
            y='y',
            width='width',
            height='height',
            fill_alpha=0.2,
            fill_color='#009933')

img = ImageURL(url='url', x='x', y='y', w='width', h='height')

p.add_glyph(shown_img_source, img)
p.add_glyph(source, rect, selection_glyph=rect)

p.js_on_event('tap', reset_callback)

download_button = Button(label="Download", callback = download_callback)
submit_button = Button(label="Submit", button_type="success", 
                       callback=submit_callback,width=580)

layout_rect = gridplot([[p], [submit_button], [download_button]])

p.xgrid.grid_line_color = None
p.ygrid.grid_line_color = None
p.xaxis.visible = False
p.yaxis.visible = False
p.outline_line_color = None
p.title.align = "center"
p.title.text_font_size = '12pt'

save_or_show_plot(layout_rect)
Loading BokehJS ...
"}}; function display_loaded() { var el = document.getElementById("c88cf9d0-70b9-43f4-a235-99ca234ba2e4"); if (el != null) { el.textContent = "BokehJS is loading..."; } if (root.Bokeh !== undefined) { if (el != null) { el.textContent = "BokehJS " + root.Bokeh.version + " successfully loaded."; } } else if (Date.now() 0) { console.log("Bokeh: BokehJS is being loaded, scheduling callback at", now()); return null; } if (js_urls == null || js_urls.length === 0) { run_callbacks(); return null; } console.log("Bokeh: BokehJS not loaded, scheduling load and callback at", now()); root._bokeh_is_loading = js_urls.length; for (var i = 0; i 0&&(r+="&"+this.args_string),null!=window.MozWebSocket?this.socket=new MozWebSocket(r):this.socket=new WebSocket(r),new n.Promise(function(t){return function(e,r){return t.socket.binaryType="arraybuffer",t.socket.onopen=function(){return t._on_open(e,r)},t.socket.onmessage=function(e){return t._on_message(e)},t.socket.onclose=function(e){return t._on_close(e)},t.socket.onerror=function(){return t._on_error(r)}}}(this))}catch(o){return t=o,i.logger.error("websocket creation failed to url: "+this.url),i.logger.error(" - "+t),n.Promise.reject(t)}},t.prototype.close=function(){if(!this.closed_permanently&&(i.logger.debug("Permanently closing websocket connection "+this._number),this.closed_permanently=!0,null!=this.socket&&this.socket.close(1e3,"close method called on ClientConnection "+this._number),this.session._connection_closed(),null!=this._on_closed_permanently_hook))return this._on_closed_permanently_hook(),this._on_closed_permanently_hook=null},t.prototype._schedule_reconnect=function(t){var e;return e=function(t){return function(){t.closed_permanently||i.logger.info("Websocket connection "+t._number+" disconnected, will not attempt to reconnect")}}(this),setTimeout(e,t)},t.prototype.send=function(t){if(null===this.socket)throw new Error("not connected so cannot send "+t);return t.send(this.socket)},t.prototype.send_with_reply=function(t){var e;return e=new n.Promise(function(e){return function(r,n){return e._pending_replies[t.msgid()]=[r,n],e.send(t)}}(this)),e.then(function(t){if("ERROR"===t.msgtype())throw new Error("Error reply "+t.content.text);return t},function(t){throw t})},t.prototype._pull_doc_json=function(){var t,e;return t=s.Message.create("PULL-DOC-REQ",{}),e=this.send_with_reply(t),e.then(function(t){if(!("doc"in t.content))throw new Error("No 'doc' field in PULL-DOC-REPLY");return t.content.doc},function(t){throw t})},t.prototype._repull_session_doc=function(){return null===this.session?i.logger.debug("Pulling session for first time"):i.logger.debug("Repulling session"),this._pull_doc_json().then(function(t){return function(e){var r,n,a;return null!==t.session?(t.session.document.replace_with_json(e),i.logger.debug("Updated existing session with new pulled doc")):t.closed_permanently?i.logger.debug("Got new document after connection was already closed"):(r=o.Document.from_json(e),n=o.Document._compute_patch_since_json(e,r),n.events.length>0&&(i.logger.debug("Sending "+n.events.length+" changes from model construction back to server"),a=s.Message.create("PATCH-DOC",{},n),t.send(a)),t.session=new l.ClientSession(t,r,t.id),i.logger.debug("Created a new session from new pulled doc"),null!=t._on_have_session_hook?(t._on_have_session_hook(t.session),t._on_have_session_hook=null):void 0)}}(this),function(t){throw t})["catch"](function(t){return null!=console.trace&&console.trace(t),i.logger.error("Failed to repull session "+t)})},t.prototype._on_open=function(t,e){return i.logger.info("Websocket connection "+this._number+" is now open"),this._pending_ack=[t,e],this._current_handler=function(t){return function(e){return t._awaiting_ack_handler(e)}}(this)},t.prototype._on_message=function(t){var e,r,n;null==this._current_handler&&i.logger.error("Got a message with no current handler set");try{this._receiver.consume(t.data)}catch(o){e=o,this._close_bad_protocol(e.toString())}return null===this._receiver.message?null:(r=this._receiver.message,n=r.problem(),null!==n&&this._close_bad_protocol(n),this._current_handler(r))},t.prototype._on_close=function(t){var e,r;for(i.logger.info("Lost websocket "+this._number+" connection, "+t.code+" ("+t.reason+")"),this.socket=null,null!=this._pending_ack&&(this._pending_ack[1](new Error("Lost websocket connection, "+t.code+" ("+t.reason+")")),this._pending_ack=null),e=function(t){return function(){var e,r,n;r=t._pending_replies;for(n in r)return e=r[n],delete t._pending_replies[n],e;return null}}(this),r=e();null!==r;)r[1]("Disconnected"),r=e();if(!this.closed_permanently)return this._schedule_reconnect(2e3)},t.prototype._on_error=function(t){return i.logger.debug("Websocket error on socket "+this._number),t(new Error("Could not open websocket"))},t.prototype._close_bad_protocol=function(t){if(i.logger.error("Closing connection: "+t),null!=this.socket)return this.socket.close(1002,t)},t.prototype._awaiting_ack_handler=function(t){return"ACK"!==t.msgtype()?this._close_bad_protocol("First message was not an ACK"):(this._current_handler=function(t){return function(e){return t._steady_state_handler(e)}}(this),this._repull_session_doc(),null!=this._pending_ack?(this._pending_ack[0](this),this._pending_ack=null):void 0)},t.prototype._steady_state_handler=function(t){var e;return t.reqid()in this._pending_replies?(e=this._pending_replies[t.reqid()],delete this._pending_replies[t.reqid()],e[0](t)):this.session.handle(t)},t}(),r.pull_session=function(t,e,o){var s,a,l;return l=null,s=null,a=new n.Promise(function(n,a){return s=new r.ClientConnection(t,e,o,function(t){var e;try{return n(t)}catch(r){throw e=r,i.logger.error("Promise handler threw an error, closing session "+error),t.close(),e}},function(){return a(new Error("Connection was closed before we successfully pulled a session"))}),s.connect().then(function(t){},function(t){throw i.logger.error("Failed to connect to Bokeh server "+t),t})}),a.close=function(){return s.close()},a}},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t(13),i=t(46),o=t(242);r.ClientSession=function(){function t(t,e,r){this._connection=t,this.document=e,this.id=r,this.document_listener=function(t){return function(e){return t._document_changed(e)}}(this),this.document.on_change(this.document_listener),this.event_manager=this.document.event_manager,this.event_manager.session=this}return t.prototype.handle=function(t){var e;return e=t.msgtype(),"PATCH-DOC"===e?this._handle_patch(t):"OK"===e?this._handle_ok(t):"ERROR"===e?this._handle_error(t):n.logger.debug("Doing nothing with message "+t.msgtype())},t.prototype.close=function(){return this._connection.close()},t.prototype.send_event=function(t){var e;return e=o.Message.create("EVENT",{},JSON.stringify(t)),this._connection.send(e)},t.prototype._connection_closed=function(){return this.document.remove_on_change(this.document_listener)},t.prototype.request_server_info=function(){var t,e;return t=o.Message.create("SERVER-INFO-REQ",{}),e=this._connection.send_with_reply(t),e.then(function(t){return t.content})},t.prototype.force_roundtrip=function(){return this.request_server_info().then(function(t){})},t.prototype._document_changed=function(t){var e;if(t.setter_id!==this.id&&(!(t instanceof i.ModelChangedEvent)||t.attr in t.model.serializable_attributes()))return e=o.Message.create("PATCH-DOC",{},this.document.create_json_patch([t])),this._connection.send(e)},t.prototype._handle_patch=function(t){return this.document.apply_json_patch(t.content,t.buffers,this.id)},t.prototype._handle_ok=function(t){return n.logger.trace("Unhandled OK reply to "+t.reqid())},t.prototype._handle_error=function(t){return n.logger.error("Unhandled ERROR reply to "+t.reqid()+": "+t.content.text)},t}()},function(t,e,r){"use strict";function n(t){return function(e){e.prototype.event_name=t,l[t]=e}}function i(t){for(var e=[],r=1;ru;a=0a;i=0o&&(r=[o,i],i=r[0],o=r[1]),s>a&&(n=[a,s],s=n[0],a=n[1]),{minX:i,minY:s,maxX:o,maxY:a}},o=function(t){return t*t},r.dist_2_pts=function(t,e,r,n){return o(t-r)+o(e-n)},n=function(t,e,n){var i,o;return i=r.dist_2_pts(e.x,e.y,n.x,n.y),0===i?r.dist_2_pts(t.x,t.y,e.x,e.y):(o=((t.x-e.x)*(n.x-e.x)+(t.y-e.y)*(n.y-e.y))/i,o1?r.dist_2_pts(t.x,t.y,n.x,n.y):r.dist_2_pts(t.x,t.y,e.x+o*(n.x-e.x),e.y+o*(n.y-e.y)))},r.dist_to_segment=function(t,e,r){return Math.sqrt(n(t,e,r))},r.check_2_segments_intersect=function(t,e,r,n,i,o,s,a){var l,u,c,_,h,p,d;return c=(a-o)*(r-t)-(s-i)*(n-e),0===c?{hit:!1,x:null,y:null}:(l=e-o,u=t-i,_=(s-i)*l-(a-o)*u,h=(r-t)*l-(n-e)*u,l=_/c,u=h/c,p=t+l*(r-t),d=e+l*(n-e),{hit:l>0&&l0&&u0&&(n="middle",r=p[i]),t.textBaseline=n,t.textAlign=r,t},e.prototype.get_label_angle_heuristic=function(t){var e;return e=this.side,d[e][t]},e}(b.LayoutCanvas)},function(t,e,r){"use strict";function n(t){return function(){for(var e=[],r=0;r0){var n=s[e];return null==n&&(s[e]=n=new t(e,r)),n}throw new TypeError("Logger.get() expects a non-empty string name and an optional log-level")},Object.defineProperty(t.prototype,"level",{get:function(){return this.get_level()},enumerable:!0,configurable:!0}),t.prototype.get_level=function(){return this._log_level},t.prototype.set_level=function(e){if(e instanceof a)this._log_level=e;else{if(!o.isString(e)||null==t.log_levels[e])throw new Error("Logger.set_level() expects a log-level object or a string name of a log-level");this._log_level=t.log_levels[e]}var r="["+this._name+"]";for(var i in t.log_levels){var s=t.log_levels[i];s.levele;r=0=0}))},r.Anchor=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return i(e,t),e}(r.enum_prop("Anchor",l.LegendLocation)),r.AngleUnits=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return i(e,t),e}(r.enum_prop("AngleUnits",l.AngleUnits)),r.Direction=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return i(e,t),e.prototype.transform=function(t){var e,r,n,i;for(i=new Uint8Array(t.length),e=r=0,n=t.length;0n;e=00)&&"pinch"===e?(o.logger.debug("Registering scroll on touch screen"),i.connect(this.scroll,function(t){if(t.id===r)return i._scroll(t.e)})):void 0},t.prototype._hit_test_renderers=function(t,e){var r,n,i,o;for(n=this.plot_view.get_renderer_views(),r=n.length-1;r>=0;r+=-1)if(o=n[r],("annotation"===(i=o.model.level)||"overlay"===i)&&null!=o.bbox&&o.bbox().contains(t,e))return o;return null},t.prototype._hit_test_frame=function(t,e){var r,n,i;return r=this.plot_view.canvas,n=r.sx_to_vx(t),i=r.sy_to_vy(e),this.plot_view.frame.contains(n,i)},t.prototype._trigger=function(t,e){var r,n,i,o,s,a,u,c,_,h,p;switch(a=t.name,o=a.split(":")[0],p=this._hit_test_renderers(e.bokeh.sx,e.bokeh.sy),o){case"move":for(n=this.toolbar.inspectors.filter(function(t){return t.active}),s="default",null!=p?(null!=p.model.cursor&&(s=p.model.cursor()),l.isEmpty(n)||(t=this.move_exit,a=t.name)):this._hit_test_frame(e.bokeh.sx,e.bokeh.sy)&&(l.isEmpty(n)||(s="crosshair")),this.plot_view.set_cursor(s),h=[],u=0,_=n.length;u<_ h p.on_hit this.trigger window>0?"pinch":"scroll",r=this.toolbar.gestures[i].active,null!=r)return e.preventDefault(),e.stopPropagation(),this.trigger(t,e,r.id);break;default:if(r=this.toolbar.gestures[o].active,null!=r)return this.trigger(t,e,r.id)}},t.prototype.trigger=function(t,e,r){return null==r&&(r=null),t.emit({id:r,e:e})},t.prototype._bokify_hammer=function(t,e){var r,n,i,a,c,_;return null==e&&(e={}),"mouse"===t.pointerType?(c=t.srcEvent.pageX,_=t.srcEvent.pageY):(c=t.pointers[0].pageX,_=t.pointers[0].pageY),i=s.offset(t.target),n=i.left,a=i.top,t.bokeh={sx:c-n,sy:_-a},t.bokeh=l.extend(t.bokeh,e),r=u.BokehEvent.event_class(t),null!=r?this.plot.trigger_event(r.from_event(t)):o.logger.debug("Unhandled event of type "+t.type)},t.prototype._bokify_point_event=function(t,e){var r,n,i,a;return null==e&&(e={}),i=s.offset(t.currentTarget),n=i.left,a=i.top,t.bokeh={sx:t.pageX-n,sy:t.pageY-a},t.bokeh=l.extend(t.bokeh,e),r=u.BokehEvent.event_class(t),null!=r?this.plot.trigger_event(r.from_event(t)):o.logger.debug("Unhandled event of type "+t.type)},t.prototype._tap=function(t){return this._bokify_hammer(t),this._trigger(this.tap,t)},t.prototype._doubletap=function(t){return this._bokify_hammer(t),this.trigger(this.doubletap,t)},t.prototype._press=function(t){return this._bokify_hammer(t),this._trigger(this.press,t)},t.prototype._pan_start=function(t){return this._bokify_hammer(t),t.bokeh.sx-=t.deltaX,t.bokeh.sy-=t.deltaY,this._trigger(this.pan_start,t)},t.prototype._pan=function(t){return this._bokify_hammer(t),this._trigger(this.pan,t)},t.prototype._pan_end=function(t){return this._bokify_hammer(t),this._trigger(this.pan_end,t)},t.prototype._pinch_start=function(t){return this._bokify_hammer(t),this._trigger(this.pinch_start,t)},t.prototype._pinch=function(t){return this._bokify_hammer(t),this._trigger(this.pinch,t)},t.prototype._pinch_end=function(t){return this._bokify_hammer(t),this._trigger(this.pinch_end,t)},t.prototype._rotate_start=function(t){return this._bokify_hammer(t),this._trigger(this.rotate_start,t)},t.prototype._rotate=function(t){return this._bokify_hammer(t),this._trigger(this.rotate,t)},t.prototype._rotate_end=function(t){return this._bokify_hammer(t),this._trigger(this.rotate_end,t)},t.prototype._mouse_enter=function(t){return this._bokify_point_event(t),this._trigger(this.move_enter,t); },t.prototype._mouse_move=function(t){return this._bokify_point_event(t),this._trigger(this.move,t)},t.prototype._mouse_exit=function(t){return this._bokify_point_event(t),this._trigger(this.move_exit,t)},t.prototype._mouse_wheel=function(t){return this._bokify_point_event(t,{delta:a.getDeltaY(t)}),this._trigger(this.scroll,t)},t.prototype._key_down=function(t){return this.trigger(this.keydown,t)},t.prototype._key_up=function(t){return this.trigger(this.keyup,t)},t}()},function(t,e,r){"use strict";function n(t){return t[t.length-1]}function i(t){return I.call(t)}function o(t){return(e=[]).concat.apply(e,t);var e}function s(t,e){return t.indexOf(e)!==-1}function a(t,e){return t[e>=0?e:t.length+e]}function l(t,e){for(var r=Math.min(t.length,e.length),n=new Array(r),i=0;ir&&(r=e);return r}function v(t,e){if(0==t.length)throw new Error("maxBy() called with an empty array");for(var r=t[0],n=e(r),i=1,o=t.length;in&&(r=s,n=a)}return r}function g(t){return y(c(t.length),function(e){return t[e]})}function b(t){return v(c(t.length),function(e){return t[e]})}function w(t,e){for(var r=0,n=t;r0?0:n-1;i>=0&&in||void 0===r)return 1;if(r=this.x0&&t=this.y0&&ee?(s&&(clearTimeout(s),s=null),a=u,o=t.apply(n,i),s||(n=i=null)):s||r.trailing===!1||(s=setTimeout(l,c)),o}}function s(t){var e,r=!1;return function(){return r||(r=!0,e=t()),e}} // (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors // Underscore may be freely distributed under the MIT license. Object.defineProperty(r,"__esModule",{value:!0}),r.delay=n;var a="function"==typeof requestAnimationFrame?requestAnimationFrame:setImmediate;r.defer=i,r.throttle=o,r.once=s},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,i,o,s,a;o=function(t){if(t.setLineDash||(t.setLineDash=function(e){return t.mozDash=e,t.webkitLineDash=e}),!t.getLineDash)return t.getLineDash=function(){return t.mozDash}},s=function(t){return t.setLineDashOffset=function(e){return t.lineDashOffset=e,t.mozDashOffset=e,t.webkitLineDashOffset=e},t.getLineDashOffset=function(){return t.mozDashOffset}},i=function(t){return t.setImageSmoothingEnabled=function(e){return t.imageSmoothingEnabled=e,t.mozImageSmoothingEnabled=e,t.oImageSmoothingEnabled=e,t.webkitImageSmoothingEnabled=e},t.getImageSmoothingEnabled=function(){var e;return null==(e=t.imageSmoothingEnabled)||e}},a=function(t){if(t.measureText&&null==t.html5MeasureText)return t.html5MeasureText=t.measureText,t.measureText=function(e){var r;return r=t.html5MeasureText(e),r.ascent=1.6*t.html5MeasureText("m").width,r}},n=function(t){var e;if(e=function(e,r,n,i,o,s,a,l){var u,c,_;null==l&&(l=!1),u=.551784,t.translate(e,r),t.rotate(o),c=n,_=i,l&&(c=-n,_=-i),t.moveTo(-c,0),t.bezierCurveTo(-c,_*u,-c*u,_,0,_),t.bezierCurveTo(c*u,_,c,_*u,c,0),t.bezierCurveTo(c,-_*u,c*u,-_,0,-_),t.bezierCurveTo(-c*u,-_,-c,-_*u,-c,0),t.rotate(-o),t.translate(-e,-r)},!t.ellipse)return t.ellipse=e},r.fixup_ctx=function(t){return o(t),s(t),i(t),a(t),n(t)},r.get_scale_ratio=function(t,e,r){var n,i;return"svg"===r?1:e?(i=window.devicePixelRatio||1,n=t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1,i/n):1}},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,i=[].indexOf||function(t){for(var e=0,r=this.length;e=0)throw new Error("color expects rgb to have value between 0 and 255");return!0}},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t(21),i=t(27),o=t(41),s=function(){function t(){this._dict={}}return t.prototype._existing=function(t){return t in this._dict?this._dict[t]:null},t.prototype.add_value=function(t,e){var r=this._existing(t);null==r?this._dict[t]=e:o.isArray(r)?r.push(e):this._dict[t]=[r,e]},t.prototype.remove_value=function(t,e){var r=this._existing(t);if(o.isArray(r)){var s=n.difference(r,[e]);s.length>0?this._dict[t]=s:delete this._dict[t]}else i.isEqual(r,e)&&delete this._dict[t]},t.prototype.get_one=function(t,e){var r=this._existing(t);if(o.isArray(r)){if(1===r.length)return r[0];throw new Error(e)}return r},t}();r.MultiDict=s;var a=function(){function t(e){null==e?this.values=[]:e instanceof t?this.values=n.copy(e.values):this.values=this._compact(e)}return t.prototype._compact=function(t){for(var e=[],r=0,n=t;r2*Math.PI;)t-=2*Math.PI;return t}function i(t,e){return Math.abs(n(t-e))}function o(t,e,r,o){var s=n(t),a=i(e,r),l=i(e,s)=n*n)break;var i=n/r;return i=t+e*i}function c(t,e,r){return t>r?r:t0?e["1d"].indices:e["2d"].indices.length>0?e["2d"].indices:[]}},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,i,o,s,a,l,u=t(41);r.ARRAY_TYPES={float32:Float32Array,float64:Float64Array,uint8:Uint8Array,int8:Int8Array,uint16:Uint16Array,int16:Int16Array,uint32:Uint32Array,int32:Int32Array},r.DTYPES={};for(a in r.ARRAY_TYPES)l=r.ARRAY_TYPES[a],r.DTYPES[l.name]=a;i=new ArrayBuffer(2),s=new Uint8Array(i),o=new Uint16Array(i),s[0]=170,s[1]=187,n=48042===o[0]?"little":"big",r.BYTE_ORDER=n,r.swap16=function(t){var e,r,n,i,o;for(o=new Uint8Array(t.buffer,t.byteOffset,2*t.length),e=r=0,n=o.length;rs;n=0c;n=0"'`])/g,function(t){switch(t){case"&":return"&";case"":return">";case'"':return""";case"'":return"'";case"`":return"`";default:return t}})}Object.defineProperty(r,"__esModule",{value:!0});var a=t(18);r.startsWith=n,r.uuid4=i;var l=1e3;r.uniqueId=o,r.escape=s},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.indianred="#CD5C5C",r.lightcoral="#F08080",r.salmon="#FA8072",r.darksalmon="#E9967A",r.lightsalmon="#FFA07A",r.crimson="#DC143C",r.red="#FF0000",r.firebrick="#B22222",r.darkred="#8B0000",r.pink="#FFC0CB",r.lightpink="#FFB6C1",r.hotpink="#FF69B4",r.deeppink="#FF1493",r.mediumvioletred="#C71585",r.palevioletred="#DB7093",r.coral="#FF7F50",r.tomato="#FF6347",r.orangered="#FF4500",r.darkorange="#FF8C00",r.orange="#FFA500",r.gold="#FFD700",r.yellow="#FFFF00",r.lightyellow="#FFFFE0",r.lemonchiffon="#FFFACD",r.lightgoldenrodyellow="#FAFAD2",r.papayawhip="#FFEFD5",r.moccasin="#FFE4B5",r.peachpuff="#FFDAB9",r.palegoldenrod="#EEE8AA",r.khaki="#F0E68C",r.darkkhaki="#BDB76B",r.lavender="#E6E6FA",r.thistle="#D8BFD8",r.plum="#DDA0DD",r.violet="#EE82EE",r.orchid="#DA70D6",r.fuchsia="#FF00FF",r.magenta="#FF00FF",r.mediumorchid="#BA55D3",r.mediumpurple="#9370DB",r.blueviolet="#8A2BE2",r.darkviolet="#9400D3",r.darkorchid="#9932CC",r.darkmagenta="#8B008B",r.purple="#800080",r.indigo="#4B0082",r.slateblue="#6A5ACD",r.darkslateblue="#483D8B",r.mediumslateblue="#7B68EE",r.greenyellow="#ADFF2F",r.chartreuse="#7FFF00",r.lawngreen="#7CFC00",r.lime="#00FF00",r.limegreen="#32CD32",r.palegreen="#98FB98",r.lightgreen="#90EE90",r.mediumspringgreen="#00FA9A",r.springgreen="#00FF7F",r.mediumseagreen="#3CB371",r.seagreen="#2E8B57",r.forestgreen="#228B22",r.green="#008000",r.darkgreen="#006400",r.yellowgreen="#9ACD32",r.olivedrab="#6B8E23",r.olive="#808000",r.darkolivegreen="#556B2F",r.mediumaquamarine="#66CDAA",r.darkseagreen="#8FBC8F",r.lightseagreen="#20B2AA",r.darkcyan="#008B8B",r.teal="#008080",r.aqua="#00FFFF",r.cyan="#00FFFF",r.lightcyan="#E0FFFF",r.paleturquoise="#AFEEEE",r.aquamarine="#7FFFD4",r.turquoise="#40E0D0",r.mediumturquoise="#48D1CC",r.darkturquoise="#00CED1",r.cadetblue="#5F9EA0",r.steelblue="#4682B4",r.lightsteelblue="#B0C4DE",r.powderblue="#B0E0E6",r.lightblue="#ADD8E6",r.skyblue="#87CEEB",r.lightskyblue="#87CEFA",r.deepskyblue="#00BFFF",r.dodgerblue="#1E90FF",r.cornflowerblue="#6495ED",r.royalblue="#4169E1",r.blue="#0000FF",r.mediumblue="#0000CD",r.darkblue="#00008B",r.navy="#000080",r.midnightblue="#191970",r.cornsilk="#FFF8DC",r.blanchedalmond="#FFEBCD",r.bisque="#FFE4C4",r.navajowhite="#FFDEAD",r.wheat="#F5DEB3",r.burlywood="#DEB887",r.tan="#D2B48C",r.rosybrown="#BC8F8F",r.sandybrown="#F4A460",r.goldenrod="#DAA520",r.darkgoldenrod="#B8860B",r.peru="#CD853F",r.chocolate="#D2691E",r.saddlebrown="#8B4513",r.sienna="#A0522D",r.brown="#A52A2A",r.maroon="#800000",r.white="#FFFFFF",r.snow="#FFFAFA",r.honeydew="#F0FFF0",r.mintcream="#F5FFFA",r.azure="#F0FFFF",r.aliceblue="#F0F8FF",r.ghostwhite="#F8F8FF",r.whitesmoke="#F5F5F5",r.seashell="#FFF5EE",r.beige="#F5F5DC",r.oldlace="#FDF5E6",r.floralwhite="#FFFAF0",r.ivory="#FFFFF0",r.antiquewhite="#FAEBD7",r.linen="#FAF0E6",r.lavenderblush="#FFF0F5",r.mistyrose="#FFE4E1",r.gainsboro="#DCDCDC",r.lightgray="#D3D3D3",r.lightgrey="#D3D3D3",r.silver="#C0C0C0",r.darkgray="#A9A9A9",r.darkgrey="#A9A9A9",r.gray="#808080",r.grey="#808080",r.dimgray="#696969",r.dimgrey="#696969",r.lightslategray="#778899",r.lightslategrey="#778899",r.slategray="#708090",r.slategrey="#708090",r.darkslategray="#2F4F4F",r.darkslategrey="#2F4F4F",r.black="#000000"},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,i=t(359),o=t(329),s=t(360),a=t(36),l=t(41);n=function(t){var e;return l.isNumber(t)?(e=function(){switch(!1){case Math.floor(t)!==t:return"%d";case!(Math.abs(t)>.1&&Math.abs(t)0;)t.push(this.remove_root(this._roots[0]));return t}finally{this._pop_all_models_freeze()}},t.prototype.destructively_move=function(t){var e,r,n,i,o,s,a,l,u;if(t===this)throw new Error("Attempted to overwrite a document with itself");for(t.clear(),u=[],l=this._roots,e=0,n=l.length;e=0)){this._push_all_models_freeze();try{this._roots.push(t)}finally{this._pop_all_models_freeze()}return this._trigger_on_change(new r.RootAddedEvent(this,t,e))}},t.prototype.remove_root=function(t,e){var n;if(n=this._roots.indexOf(t),!(n=0))return this._callbacks.push(t)},t.prototype.remove_on_change=function(t){var e;if(e=this._callbacks.indexOf(t),e>=0)return this._callbacks.splice(e,1)},t.prototype._trigger_on_change=function(t){var e,r,n,i,o;for(i=this._callbacks,o=[],r=0,n=i.length;r0||f.difference(k,o).length>0)throw new Error("Not implemented: computing add/remove of document roots");T={},n=[],g=r._all_models;for(a in g)p=g[a],a in i&&(S=t._events_to_sync_objects(i[a],x[a],r,T),n=n.concat(S));return{events:n,references:t._references_json(y.values(T),l=!1)}},t.prototype.to_json_string=function(t){return null==t&&(t=!0),JSON.stringify(this.to_json(t))},t.prototype.to_json=function(e){var r,n,i,o,s,a;for(null==e&&(e=!0),s=[],o=this._roots,r=0,n=o.length;r0&&y.set_log_level(r.bokehLogLevel),null!=r.bokehDocId&&r.bokehDocId.length>0&&(e.docid=r.bokehDocId),null!=r.bokehModelId&&r.bokehModelId.length>0&&(e.modelid=r.bokehModelId),null!=r.bokehSessionId&&r.bokehSessionId.length>0&&(e.sessionid=r.bokehSessionId),y.logger.info("Will inject Bokeh script tag with params "+JSON.stringify(e))},r.embed_items=function(t,e,n,i){var o,a,l,u,d,f,g,b,w,x,k,M,S,T,O;M="ws:","https:"===window.location.protocol&&(M="wss:"),x=null!=i?new URL(i):window.location,null!=n?"/"===n&&(n=""):n=x.pathname.replace(/\/+$/,""),O=M+"//"+x.host+n+"/ws",y.logger.debug("embed: computed ws url: "+O),u={};for(l in t)u[l]=m.Document.from_json(t[l]);for(S=[],g=0,w=e.length;g");if("SCRIPT"===d.tagName&&(p(d,b),a=v.div({"class":r.BOKEH_ROOT}),v.replaceWith(d,a),o=v.div(),a.appendChild(o),d=o),T=null!=b.use_for_title&&b.use_for_title,k=null,null!=b.modelid)if(null!=b.docid)h(d,b.modelid,u[b.docid]);else{if(null==b.sessionid)throw new Error("Error rendering Bokeh model "+b.modelid+" to element "+f+": no document ID or session ID specified");k=_(d,O,b.modelid,b.sessionid)}else if(null!=b.docid)r.add_document_static(d,u[b.docid],T);else{if(null==b.sessionid)throw new Error("Error rendering Bokeh document to element "+f+": no document ID or session ID specified");k=c(d,O,b.sessionid,T)}null!==k?S.push(k.then(function(t){return console.log("Bokeh items were rendered successfully")},function(t){return console.log("Error rendering Bokeh items ",t)})):S.push(void 0)}return S}},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),t(241);var n=t(245);r.version=n.version;var i=t(47);r.embed=i;var o=t(13);r.logger=o.logger,r.set_log_level=o.set_log_level;var s=t(18);r.settings=s.settings;var a=t(0);r.Models=a.Models,r.index=a.index;var l=t(46);r.documents=l.documents;var u=t(244);r.safely=u.safely},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(8),s=t(14),a=t(41),l=t(29),u=t(13);r.Model=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.type="Model",e.define({tags:[s.Array,[]],name:[s.String],js_property_callbacks:[s.Any,{}],js_event_callbacks:[s.Any,{}],subscribed_events:[s.Array,[]]}),e.prototype.connect_signals=function(){var t,r,n,i,o,s,a,l,u;e.__super__.connect_signals.call(this),a=this.js_property_callbacks;for(i in a)for(r=a[i],l=i.split(":"),i=l[0],t=null!=(u=l[1])?u:null,o=0,s=r.length;on;e=0l;s=0s;e=0=0;e=al;e=0u;e=0e;0c;r=0c;r=0h;n=0s;n=0y;i=0r||(c[n].push(_[i]),c[s].push(0));for(i=l=0,m=p.length;0m;i=0r||(h[n].push(p[i]),h[s].push(0));return u={major:this._format_major_labels(c[n].slice(0),_)},c[n]=v.v_compute(c[n]),h[n]=v.v_compute(h[n]),"vertical"===this.orientation&&(c[n]=new Float64Array(function(){var e,r,i,o;for(i=c[n],o=[],r=0,e=i.length;ri;r=0o;e=0s;e=0i;r=00?(this.el.style.top=d+"px",this.el.style.left=l+"px"):s.hide(this.el)}},e}(o.AnnotationView),r.Tooltip=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.default_view=r.TooltipView,e.prototype.type="Tooltip",e.define({attachment:[a.String,"horizontal"],inner_only:[a.Bool,!0],show_arrow:[a.Bool,!0]}),e.override({level:"overlay"}),e.internal({data:[a.Any,[]],custom:[a.Any]}),e.prototype.clear=function(){return this.data=[]},e.prototype.add=function(t,e,r){var n;return n=this.data,n.push([t,e,r]),this.data=n,this.properties.data.change.emit()},e}(o.Annotation)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(50),s=t(170),a=t(52),l=t(14);r.WhiskerView=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.initialize=function(t){return e.__super__.initialize.call(this,t),this.set_data(this.model.source)},e.prototype.connect_signals=function(){return e.__super__.connect_signals.call(this),this.connect(this.model.source.streaming,function(){return this.set_data(this.model.source)}),this.connect(this.model.source.patching,function(){return this.set_data(this.model.source)}),this.connect(this.model.source.change,function(){return this.set_data(this.model.source)})},e.prototype.set_data=function(t){return e.__super__.set_data.call(this,t),this.visuals.warm_cache(t),this.plot_view.request_render()},e.prototype._map_data=function(){var t,e,r,n,i,o,s,a,l,u,c,_;return c=this.plot_view.frame.xscales[this.model.x_range_name],_=this.plot_view.frame.yscales[this.model.y_range_name],l="height"===this.model.dimension?_:c,o="height"===this.model.dimension?c:_,r="data"===this.model.lower.units?l.v_compute(this._lower):this._lower,i="data"===this.model.upper.units?l.v_compute(this._upper):this._upper,t="data"===this.model.base.units?o.v_compute(this._base):this._base,u=this.model._normals(),s=u[0],a=u[1],e=[r,t],n=[i,t],this._lower_sx=this.plot_model.canvas.v_vx_to_sx(e[s]),this._lower_sy=this.plot_model.canvas.v_vy_to_sy(e[a]),this._upper_sx=this.plot_model.canvas.v_vx_to_sx(n[s]),this._upper_sy=this.plot_model.canvas.v_vy_to_sy(n[a])},e.prototype.render=function(){var t,e,r,n,i,o,s,a,l,u;if(this.model.visible){if(this._map_data(),e=this.plot_view.canvas_view.ctx,this.visuals.line.doit)for(r=n=0,s=this._lower_sx.length;0s;r=0a;r=0l;r=0_;n=1v;o=0x;h=0d;h=0l&&(l=y);return l>0&&(l+=n),l},e}(a.RendererView),r.Axis=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.default_view=r.AxisView,e.prototype.type="Axis",e.mixins(["line:axis_","line:major_tick_","line:minor_tick_","text:major_label_","text:axis_label_"]),e.define({bounds:[u.Any,"auto"],ticker:[u.Instance,null],formatter:[u.Instance,null],x_range_name:[u.String,"default"],y_range_name:[u.String,"default"],axis_label:[u.String,""],axis_label_standoff:[u.Int,5],major_label_standoff:[u.Int,5],major_label_orientation:[u.Any,"horizontal"],major_label_overrides:[u.Any,{}],major_tick_in:[u.Number,2],major_tick_out:[u.Number,6],minor_tick_in:[u.Number,0],minor_tick_out:[u.Number,4]}),e.override({axis_line_color:"black",major_tick_line_color:"black",minor_tick_line_color:"black",major_label_text_font_size:"8pt",major_label_text_align:"center",major_label_text_baseline:"alphabetic",axis_label_text_font_size:"10pt",axis_label_text_font_style:"italic"}),e.internal({panel_side:[u.Any]}),e.prototype.compute_labels=function(t){var e,r,n,i;for(n=this.formatter.doFormat(t,this),e=r=0,i=t.length;0i;e=0Math.abs(n[0]-n[1])?(s=Math.max(Math.min(a[0],a[1]),n[0]),e=Math.min(Math.max(a[0],a[1]),n[1])):(s=Math.min(a[0],a[1]),e=Math.max(a[0],a[1])),[s,e]):(l.logger.error("user bounds '"+a+"' not understood"),null)},e.prototype._rule_coords=function(){var t,e,r,n,i,o,s,a,l,u,c;return n=this.dimension,i=(n+1)%2,s=this.ranges,o=s[0],e=s[1],a=this.computed_bounds,l=a[0],r=a[1],u=new Array(2),c=new Array(2),t=[u,c],t[n][0]=Math.max(l,o.min),t[n][1]=Math.min(r,o.max),t[n][0]>t[n][1]&&(t[n][0]=t[n][1]=NaN),t[i][0]=this.loc,t[i][1]=this.loc,t},e.prototype._tick_coords=function(){var t,e,r,n,i,o,s,a,l,u,c,_,h,p,d,f,y,m,v,g,b,w,x,k,M;for(n=this.dimension,o=(n+1)%2,y=this.ranges,p=y[0],e=y[1],m=this.computed_bounds,w=m[0],r=m[1],x=this.ticker.get_ticks(w,r,p,this.loc,{}),l=x.major,h=x.minor,k=[],M=[],t=[k,M],c=[],_=[],u=[c,_],v=[p.min,p.max],f=v[0],d=v[1],i=s=0,g=l.length;0g;i=0d||(t[n].push(l[i]),t[o].push(this.loc));for(i=a=0,b=h.length;0b;i=0d||(u[n].push(h[i]),u[o].push(this.loc));return{major:t,minor:u}},e.prototype._get_loc=function(){var t,e,r,n,i,o;switch(i=this.ranges,n=i[0],e=i[1],r=e.start,t=e.end,o=this.panel_side){case"left":case"below":return e.start;case"right":case"above":return e.end}},e}(s.GuideRenderer)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(67),s=t(90),a=t(178);r.CategoricalAxisView=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype._render=function(t,e,r){return this._draw_group_separators(t,e,r)},e.prototype._draw_group_separators=function(t,e,r){var n,i,o,s,a,l,u,c,_,h,p,d,f,y,m,v,g,b,w,x,k,M,S,T,O;if(v=this.model.ranges,m=v[0],o=v[1],g=this.model.computed_bounds,S=g[0],a=g[1],f=this.model.loc,O=this.model.ticker.get_ticks(S,a,m,f,{}),b=this.model.ranges,m=b[0],o=b[1],m.tops&&!(m.tops.lengthw;u=0k;_=xS&&yh;s=01&&(t.tops[n]=u.tops,t.tops[i]=function(){var t,e,r,n;for(r=u.tops,n=[],t=0,e=r.length;tn;e=0=this._left.value&&t=this._bottom.value&&e0?l.all(this.booleans,u.isBoolean)?(this.booleans.length!==t.get_length()&&a.logger.warn("BooleanFilter "+this.id+": length of booleans doesn't match data source"),function(){var t,r,n,i;for(n=l.range(0,this.booleans.length),i=[],t=0,r=n.length;t=0?l.all(this.filter,a.isBoolean)?function(){var e,r,n,i;for(n=l.range(0,this.filter.length),i=[],e=0,r=n.length;ei;r=0=0?u.all(this.indices,l.isInteger)?this.indices:(a.logger.warn("IndexFilter "+this.id+": indices should be array of integers, defaulting to no filtering"),null):(a.logger.warn("IndexFilter "+this.id+": indices was not set, defaulting to no filtering"),null)},e}(o.Filter)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(98),s=t(14),a=t(41);r.BasicTickFormatter=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.type="BasicTickFormatter",e.define({precision:[s.Any,"auto"],use_scientific:[s.Bool,!0],power_limit_high:[s.Number,5],power_limit_low:[s.Number,-3]}),e.getters({scientific_limit_low:function(){return Math.pow(10,this.power_limit_low)},scientific_limit_high:function(){return Math.pow(10,this.power_limit_high)}}),e.prototype.initialize=function(t,r){return e.__super__.initialize.call(this,t,r),this.last_precision=3},e.prototype.doFormat=function(t,e){var r,n,i,o,s,l,u,c,_,h,p,d,f,y,m,v,g,b,w,x,k;if(0===t.length)return[];if(k=0,t.length>=2&&(k=Math.abs(t[1]-t[0])/1e4),h=!1,this.use_scientific)for(i=0,u=t.length;ik&&(w>=this.scientific_limit_high||wf;r=0y;r=0=15;x=mv;r=00&&l[r]===l[r-1]){n=!1;break}if(n)break}else{for(r=p=0,g=t.length;0g;r=00&&l[r]===l[r-1]){n=!1;break}if(n)break}if(n)return this.last_precision=x,l}return l},e}(o.TickFormatter)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(98);r.CategoricalTickFormatter=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.type="CategoricalTickFormatter",e.prototype.doFormat=function(t,e){return t},e}(o.TickFormatter)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,i,o,s=function(t,e){function r(){this.constructor=t}for(var n in e)a.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},a={}.hasOwnProperty,l=t(359),u=t(360),c=t(98),_=t(13),h=t(14),p=t(21),d=t(41);o=function(t){return Math.round(t/1e3%1*1e6)},n=function(t){return u(t,"%Y %m %d %H %M %S").split(/\s+/).map(function(t){return parseInt(t,10)})},i=function(t,e){var r;return d.isFunction(e)?e(t):(r=l.sprintf("$1%06d",o(t)),e=e.replace(/((^|[^%])(%%)*)%f/,r),e.indexOf("%")===-1?e:u(t,e))},r.DatetimeTickFormatter=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return s(e,t),e.prototype.type="DatetimeTickFormatter",e.define({microseconds:[h.Array,["%fus"]],milliseconds:[h.Array,["%3Nms","%S.%3Ns"]],seconds:[h.Array,["%Ss"]],minsec:[h.Array,[":%M:%S"]],minutes:[h.Array,[":%M","%Mm"]],hourmin:[h.Array,["%H:%M"]],hours:[h.Array,["%Hh","%H:%M"]],days:[h.Array,["%m/%d","%a%d"]],months:[h.Array,["%m/%Y","%b%y"]],years:[h.Array,["%Y"]]}),e.prototype.format_order=["microseconds","milliseconds","seconds","minsec","minutes","hourmin","hours","days","months","years"],e.prototype.strip_leading_zeros=!0,e.prototype.initialize=function(t,r){return e.__super__.initialize.call(this,t,r),this._update_width_formats()},e.prototype._update_width_formats=function(){var t,e;return e=u(new Date),t=function(t){var r,n,o;return n=function(){var n,o,s;for(s=[],n=0,o=t.length;n=60?"minsec":"seconds";case!(r=3600?"hourmin":"minutes";case!(rT;f=00&&(c=p[p.length-1])}for(g=[],A=this.format_order.indexOf(P),N={},O=this.format_order,m=0,b=O.length;ms;n=00&&o[n]===o[n-1]){a=!0;break}return a&&(o=this.basic_formatter.doFormat(t)),o},e}(s.TickFormatter)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(89),s=t(14),a=t(30);r.MercatorTickFormatter=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.type="MercatorTickFormatter",e.define({dimension:[s.LatLon]}),e.prototype.doFormat=function(t,r){var n,i,o,s,l,u,c,_,h,p;if(null==this.dimension)throw new Error("MercatorTickFormatter.dimension not configured");if(0===t.length)return[];if(u=new Array(t.length),"lon"===this.dimension)for(n=i=0,c=t.length;0c;n=0h;n=0r;t=0=c&&n.push([u,o]);for(i=this.model.properties.direction.value(),a=[],h=0,d=n.length;h=0||navigator.userAgent.indexOf("Trident")>0||navigator.userAgent.indexOf("Edge")>0,this.visuals.fill.doit){if(this.visuals.fill.set_vectorize(t,i),t.beginPath(),o)for(c=[!1,!0],a=0,u=c.length;a=o&&n.push([i,r]);return s.create_1d_hit_test_result(n)},e.prototype.draw_legend_for_index=function(t,e,r,n,i,o){var s,a,l,u,c,_,h;return a=[o],_={},_[o]=(e+r)/2,h={},h[o]=(n+i)/2,l=.5*Math.min(Math.abs(r-e),Math.abs(i-n)),u={},u[o]=.4*l,c={},c[o]=.8*l,s={sx:_,sy:h,sinner_radius:u,souter_radius:c},this._render(t,a,s)},e}(o.XYGlyphView),r.Annulus=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.default_view=r.AnnulusView,e.prototype.type="Annulus",e.mixins(["line","fill"]),e.define({inner_radius:[a.DistanceSpec],outer_radius:[a.DistanceSpec]}),e}(o.XYGlyph)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(125),s=t(14);r.ArcView=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype._map_data=function(){return"data"===this.model.properties.radius.units?this.sradius=this.sdist(this.renderer.xscale,this._x,this._radius):this.sradius=this._radius},e.prototype._render=function(t,e,r){var n,i,o,s,a,l,u,c,_,h;if(_=r.sx,h=r.sy,c=r.sradius,i=r._start_angle,n=r._end_angle,this.visuals.line.doit){for(o=this.model.properties.direction.value(),u=[],a=0,l=e.length;ai;t=0l;r=0e;0l;n=01?(_[o]=s,c[o]=s/u):(_[o]=s*u,c[o]=s),a={sx:h,sy:p,sw:_,sh:c},this._render(t,l,a)},e.prototype._bounds=function(t){return this.max_wh2_bounds(t)},e}(o.XYGlyphView),r.Ellipse=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.default_view=r.EllipseView,e.prototype.type="Ellipse",e.mixins(["line","fill"]),e.define({angle:[s.AngleSpec,0],width:[s.DistanceSpec],height:[s.DistanceSpec]}),e}(o.XYGlyph)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(14),s=t(22),a=t(31),l=t(44),u=t(49),c=t(45),_=t(13),h=t(29),p=t(41),d=t(112);r.GlyphView=function(e){function r(){return r.__super__.constructor.apply(this,arguments)}return n(r,e),r.prototype.initialize=function(e){var n,i,o,s;if(r.__super__.initialize.call(this,e),this._nohit_warned={},this.renderer=e.renderer,this.visuals=new c.Visuals(this.model),i=this.renderer.plot_view.canvas_view.ctx,null!=i.glcanvas){try{s=t(422)}catch(a){if(o=a,"MODULE_NOT_FOUND"!==o.code)throw o;_.logger.warn("WebGL was requested and is supported, but bokeh-gl(.min).js is not available, falling back to 2D rendering."),s=null}if(null!=s&&(n=s[this.model.type+"GLGlyph"],null!=n))return this.glglyph=new n(i.glcanvas.gl,this)}},r.prototype.set_visuals=function(t){if(this.visuals.warm_cache(t),null!=this.glglyph)return this.glglyph.set_visuals_changed()},r.prototype.render=function(t,e,r){if(t.beginPath(),null==this.glglyph||!this.glglyph.render(t,e,r))return this._render(t,e,r)},r.prototype.has_finished=function(){return!0},r.prototype.notify_finished=function(){return this.renderer.notify_finished()},r.prototype.bounds=function(){return null==this.index?s.empty():this._bounds(this.index.bbox)},r.prototype.log_bounds=function(){var t,e,r,n,i,o,a,l,u;if(null==this.index)return s.empty();for(t=s.empty(),o=this.index.search(s.positive_x()),a=this.index.search(s.positive_y()),e=0,n=o.length;et.maxX&&(t.maxX=l.maxX);for(r=0,i=a.length;rt.maxY&&(t.maxY=u.maxY);return this._bounds(t)},r.prototype.max_wh2_bounds=function(t){return{minX:t.minX-this.max_w2,maxX:t.maxX+this.max_w2,minY:t.minY-this.max_h2,maxY:t.maxY+this.max_h2}},r.prototype.get_anchor_point=function(t,e,r){var n,i;switch(n=r[0],i=r[1],t){case"center":return{x:this.scx(e,n,i),y:this.scy(e,n,i)};default:return null}},r.prototype.scx=function(t){return this.sx[t]},r.prototype.scy=function(t){return this.sy[t]},r.prototype.sdist=function(t,e,r,n,i){var o,s,a,l,u,c,_;return null==n&&(n="edge"),null==i&&(i=!1),null!=t.source_range.v_synthetic&&(e=t.source_range.v_synthetic(e)),"center"===n?(s=function(){var t,e,n;for(n=[],t=0,e=r.length;tr;a=0r;a=0e;a=0e;a=0e;a=0c;t=0r;t=0c;o=00?(a=this._image[o],this._height[o]=h[0],this._width[o]=h[1]):(a=u.concat(this._image[o]),this._height[o]=this._image[o].length,this._width[o]=this._image[o][0].length),null!=this.image_data[o]&&this.image_data[o].width===this._width[o]&&this.image_data[o].height===this._height[o]?r=this.image_data[o]:(r=document.createElement("canvas"),r.width=this._width[o],r.height=this._height[o]),i=r.getContext("2d"),s=i.getImageData(0,0,this._width[o],this._height[o]),n=this.model.color_mapper,t=n.v_map_screen(a,!0),e=new Uint8Array(t),s.data.set(e),i.putImageData(s,0,0),this.image_data[o]=r,this.max_dw=0,"data"===this._dw.units&&(this.max_dw=u.max(this._dw)),this.max_dh=0,"data"===this._dh.units?_.push(this.max_dh=u.max(this._dh)):_.push(void 0);return _},e.prototype._map_data=function(){switch(this.model.properties.dw.units){case"data":this.sw=this.sdist(this.renderer.xscale,this._x,this._dw,"edge",this.model.dilate);break;case"screen":this.sw=this._dw}switch(this.model.properties.dh.units){case"data":return this.sh=this.sdist(this.renderer.yscale,this._y,this._dh,"edge",this.model.dilate);case"screen":return this.sh=this._dh}},e.prototype._render=function(t,e,r){var n,i,o,s,a,l,u,c,_,h;for(i=r.image_data,c=r.sx,_=r.sy,u=r.sw,l=r.sh,a=t.getImageSmoothingEnabled(),t.setImageSmoothingEnabled(!1),o=0,s=e.length;od;u=00)r=this._image[u].buffer,this._height[u]=m[0],this._width[u]=m[1];else{for(l=a.concat(this._image[u]),r=new ArrayBuffer(4*l.length),o=new Uint32Array(r),_=p=0,f=l.length;0f;_=0n;t=00?(s.logger.trace("ImageURL failed to load "+t._url[e]+" image, retrying in "+a+" ms"),setTimeout(function(){return r.src=t._url[e]},a)):s.logger.warn("ImageURL unable to load "+t._url[e]+" image after "+o+" retries"),t.retries[e]-=1}}}(this)(t,e),e.onload=function(t){return function(e,r){return function(){return t.image[r]=e,t.renderer.request_render()}}}(this)(e,t),i.push(e.src=this._url[t]));return i},e.prototype.has_finished=function(){return e.__super__.has_finished.call(this)&&this._images_rendered===!0},e.prototype._map_data=function(){var t,e,r;switch(e=function(){var t,e,n,i;if(null!=this.model.w)return this._w;for(n=this._x,i=[],t=0,e=n.length;t1&&(t.stroke(),n=!1)}n?t.lineTo(l[i],u[i]):(t.beginPath(),t.moveTo(l[i],u[i]),n=!0),s=i}if(n)return t.stroke()},e.prototype._hit_point=function(t){var e,r,n,i,o,a,l,u,c,_,h;for(c=s.create_hit_test_result(),a={x:this.renderer.plot_view.canvas.vx_to_sx(t.vx),y:this.renderer.plot_view.canvas.vy_to_sy(t.vy)},_=9999,h=Math.max(2,this.visuals.line.line_width.value()/2),r=n=0,l=this.sx.length-1;0l;r=0i;e=0n;t=0u;i=0h;n=0p;i=0u;r=0c;n=00&&(e[r]=a)}return _["1d"].indices=function(){var t,n,i,o;for(i=Object.keys(e),o=[],n=0,t=i.length;n1?(_[o]=s,c[o]=s/u):(_[o]=s*u,c[o]=s),a={sx:h,sy:p,sw:_,sh:c},this._render(t,l,a)},e.prototype._bounds=function(t){return this.max_wh2_bounds(t)},e}(o.XYGlyphView),r.Oval=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.default_view=r.OvalView,e.prototype.type="Oval",e.mixins(["line","fill"]),e.define({angle:[s.AngleSpec,0],width:[s.DistanceSpec],height:[s.DistanceSpec]}),e}(o.XYGlyph)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(125);r.PatchView=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype._render=function(t,e,r){var n,i,o,s,a,l,u;if(l=r.sx,u=r.sy,this.visuals.fill.doit){for(this.visuals.fill.set_value(t),i=0,s=e.length;i_;n=00;)o=a.findLastIndex(u,function(t){return l.isStrictNaN(t)}),o>=0?c=u.splice(o):(c=u,u=[]),e=function(){var t,e,r;for(r=[],t=0,e=c.length;ts;t=0l;e=0c;i=0_;i=0c;n=0_;o=0o;n=0o;n=0i;t=0c;o=0r;e=0r;e=0r;e=0e;a=0e;a=0=0,i=x-this.sy1[a]=0),i&&S&&o.push(a);return m=s.create_hit_test_result(),m["1d"].indices=o,m},e.prototype._map_dist_corner_for_data_side_length=function(t,e,r,n,i){var o,s,a,l,u,c,_,h;return null!=r.source_range.synthetic&&(t=function(){var e,n,i;for(i=[],e=0,n=t.length;en;o=0n;o=0e;n=0e;n=0n;t=0r;t=0n;t=0v;c=0l;i=0i;e=0a;i=0u;i=1n[1]&&(o=null),e>n[1]?e=n[1]:ex;_=0k;v=0_;n=11?g[1]:"",u=this._horizontal?"row":"col",v=d+" "+u+"-"+i+"-"+o+"-"+b):v=p,v in c?c[v]=c[v].concat(x):c[v]=x;o+=1}return c},e.prototype._align_inner_cell_edges_constraints=function(){var t,e,r,n,i,a,l,u;if(t=[],null!=this.document&&o.call(this.document.roots(),this)>=0){e=this._flatten_cell_edge_variables(this._horizontal);for(i in e)if(u=e[i],u.length>1)for(a=u[0],r=n=1,l=u.length;1l;r=10)if(this._horizontal===t)u=i[0],o=i[i.length-1],u instanceof e?a[0]=a[0].concat(u._find_edge_leaves(t)[0]):a[0].push(u),o instanceof e?a[1]=a[1].concat(o._find_edge_leaves(t)[1]):a[1].push(o);else for(s=0,l=i.length;s1){for(r=t[0],n=i=1,o=t.length;1o;n=10;)r=n.shift(),r instanceof e&&n.push.apply(n,r.get_layoutable_children()),t[r.toString()]=r.layout_bbox;return console.table(t)},e.prototype.get_all_constraints=function(){var t,e,r,n,i;for(e=this.get_constraints(),i=this.get_layoutable_children(),r=0,n=i.length;r0?this.model._width.value-20+"px":"100%",this.el.style.width=t)},e.prototype.get_height=function(){var t,e,r,n;e=0,n=this.child_views;for(r in n)i.call(n,r)&&(t=n[r],e+=t.el.scrollHeight);return e+20},e.prototype.get_width=function(){var t,e,r,n,o;if(null!=this.model.width)return this.model.width;o=this.el.scrollWidth+20,n=this.child_views;for(r in n)i.call(n,r)&&(t=n[r],e=t.el.scrollWidth,e>o&&(o=e));return o},e}(l.LayoutDOMView),r.WidgetBox=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.type="WidgetBox",e.prototype.default_view=r.WidgetBoxView,e.prototype.initialize=function(t){if(e.__super__.initialize.call(this,t),"fixed"===this.sizing_mode&&null===this.width&&(this.width=300,o.logger.info("WidgetBox mode is fixed, but no width specified. Using default of 300.")),"scale_height"===this.sizing_mode)return o.logger.warn("sizing_mode `scale_height` is not experimental for WidgetBox. Please report your results to the bokeh dev team so we can improve.")},e.prototype.get_constrained_variables=function(){var t;return t=a.extend({},e.__super__.get_constrained_variables.call(this),{on_edge_align_top:this._top,on_edge_align_bottom:this._height_minus_bottom,on_edge_align_left:this._left,on_edge_align_right:this._width_minus_right,box_cell_align_top:this._top,box_cell_align_bottom:this._height_minus_bottom,box_cell_align_left:this._left,box_cell_align_right:this._width_minus_right,box_equal_size_top:this._top,box_equal_size_bottom:this._height_minus_bottom}),"fixed"!==this.sizing_mode&&(t.box_equal_size_left=this._left,t.box_equal_size_right=this._width_minus_right),t},e.prototype.get_layoutable_children=function(){return this.children},e.define({children:[s.Array,[]]}),e}(l.LayoutDOM)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,i=function(t,e){function r(){this.constructor=t}for(var n in e)o.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},o={}.hasOwnProperty,s=t(141),a=t(14),l=t(21),u=t(41);n=function(t,e){var r,n,i;if(t.length!==e.length)return!1;for(r=n=0,i=t.length;0i;r=0=e.length?this.nan_color:e[s],c.push(r);return c},e}(s.ColorMapper)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(14),s=t(240),a=t(41);r.ColorMapper=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.type="ColorMapper",e.define({palette:[o.Any],nan_color:[o.Color,"gray"]}),e.prototype.initialize=function(t,r){return e.__super__.initialize.call(this,t,r),this._little_endian=this._is_little_endian(),this._palette=this._build_palette(this.palette),this.connect(this.change,function(){return this._palette=this._build_palette(this.palette)})},e.prototype.v_map_screen=function(t,e){var r,n,i,o,s,a,l,u,c,_;if(null==e&&(e=!1),_=this._get_values(t,this._palette,e),r=new ArrayBuffer(4*t.length),this._little_endian)for(n=new Uint8Array(r),i=s=0,l=t.length;0l;i=0>16,n[o+2]=(65280&c)>>8,n[o+3]=255&c;else for(n=new Uint32Array(r),i=a=0,u=t.length;0u;i=0o;r=0h?null!=this.high_color?g.push(o):g.push(e[h]):g.push(e[l])):g.push(e[h]);return g},e}(l.ColorMapper)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,i,o=function(t,e){function r(){this.constructor=t}for(var n in e)s.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},s={}.hasOwnProperty,a=t(14),l=t(25),u=t(21),c=t(141);n=null!=(i=Math.log1p)?i:function(t){return Math.log(1+t)},r.LogColorMapper=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return o(e,t),e.prototype.type="LogColorMapper",e.define({high:[a.Number],low:[a.Number],high_color:[a.Color],low_color:[a.Color]}),e.prototype.initialize=function(t,r){return e.__super__.initialize.call(this,t,r),this._nan_color=this._build_palette([l.color2hex(this.nan_color)])[0],this._high_color=null!=this.high_color?this._build_palette([l.color2hex(this.high_color)])[0]:void 0,this._low_color=null!=this.low_color?this._build_palette([l.color2hex(this.low_color)])[0]:void 0},e.prototype._get_values=function(t,e,r){var i,o,s,a,l,c,_,h,p,d,f,y,m,v,g,b;for(null==r&&(r=!1),f=e.length,h=null!=(m=this.low)?m:u.min(t),o=null!=(v=this.high)?v:u.max(t),g=f/(n(o)-n(h)),d=e.length-1,b=[],y=r?this._nan_color:this.nan_color,s=r?this._high_color:this.high_color,p=r?this._low_color:this.low_color,a=0,c=t.length;ao?null!=this.high_color?b.push(s):b.push(e[d]):i!==o?id&&(l=d),b.push(e[l])):b.push(e[d]);return b},e}(c.ColorMapper)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,i,o,s,a,l,u,c,_,h,p,d,f,y,m,v,g,b,w=function(t,e){function r(){this.constructor=t}for(var n in e)x.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},x={}.hasOwnProperty,k=t(146);n=Math.sqrt(3),l=function(t,e){return t.moveTo(-e,e),t.lineTo(e,-e),t.moveTo(-e,-e),t.lineTo(e,e)},o=function(t,e){return t.moveTo(0,e),t.lineTo(0,-e),t.moveTo(-e,0),t.lineTo(e,0)},s=function(t,e){return t.moveTo(0,e),t.lineTo(e/1.5,0),t.lineTo(0,-e),t.lineTo(-e/1.5,0),t.closePath()},a=function(t,e){var r,i;return i=e*n,r=i/3,t.moveTo(-e,r),t.lineTo(e,r),t.lineTo(0,r-i),t.closePath()},u=function(t,e,r,n,i,s,a){var u;u=.65*i,o(t,i),l(t,u),s.doit&&(s.set_vectorize(t,e),t.stroke())},c=function(t,e,r,n,i,s,a){t.arc(0,0,i,0,2*Math.PI,!1),a.doit&&(a.set_vectorize(t,e),t.fill()),s.doit&&(s.set_vectorize(t,e),o(t,i),t.stroke())},_=function(t,e,r,n,i,o,s){t.arc(0,0,i,0,2*Math.PI,!1),s.doit&&(s.set_vectorize(t,e),t.fill()),o.doit&&(o.set_vectorize(t,e),l(t,i),t.stroke())},h=function(t,e,r,n,i,s,a){o(t,i),s.doit&&(s.set_vectorize(t,e),t.stroke())},p=function(t,e,r,n,i,o,a){s(t,i),a.doit&&(a.set_vectorize(t,e),t.fill()),o.doit&&(o.set_vectorize(t,e),t.stroke())},d=function(t,e,r,n,i,a,l){s(t,i),l.doit&&(l.set_vectorize(t,e),t.fill()),a.doit&&(a.set_vectorize(t,e),o(t,i),t.stroke())},f=function(t,e,r,n,i,o,s){t.rotate(Math.PI),a(t,i),t.rotate(-Math.PI),s.doit&&(s.set_vectorize(t,e),t.fill()),o.doit&&(o.set_vectorize(t,e),t.stroke())},y=function(t,e,r,n,i,o,s){var a;a=2*i,t.rect(-i,-i,a,a),s.doit&&(s.set_vectorize(t,e),t.fill()),o.doit&&(o.set_vectorize(t,e),t.stroke())},m=function(t,e,r,n,i,s,a){var l;l=2*i,t.rect(-i,-i,l,l),a.doit&&(a.set_vectorize(t,e),t.fill()),s.doit&&(s.set_vectorize(t,e),o(t,i),t.stroke())},v=function(t,e,r,n,i,o,s){var a;a=2*i,t.rect(-i,-i,a,a),s.doit&&(s.set_vectorize(t,e),t.fill()),o.doit&&(o.set_vectorize(t,e),l(t,i),t.stroke())},g=function(t,e,r,n,i,o,s){a(t,i),s.doit&&(s.set_vectorize(t,e),t.fill()),o.doit&&(o.set_vectorize(t,e),t.stroke())},b=function(t,e,r,n,i,o,s){l(t,i),o.doit&&(o.set_vectorize(t,e),t.stroke())},i=function(t,e){var r,n;return n=function(t){function r(){return r.__super__.constructor.apply(this,arguments)}return w(r,t),r.prototype._render_one=e,r}(k.MarkerView),r=function(e){function r(){return r.__super__.constructor.apply(this,arguments)}return w(r,e),r.prototype.default_view=n,r.prototype.type=t,r}(k.Marker)},r.Asterisk=i("Asterisk",u),r.CircleCross=i("CircleCross",c),r.CircleX=i("CircleX",_),r.Cross=i("Cross",h),r.Diamond=i("Diamond",p),r.DiamondCross=i("DiamondCross",d),r.InvertedTriangle=i("InvertedTriangle",f),r.Square=i("Square",y),r.SquareCross=i("SquareCross",m),r.SquareX=i("SquareX",v),r.Triangle=i("Triangle",g),r.X=i("X",b)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(125),s=t(9),a=t(14);r.MarkerView=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.draw_legend_for_index=function(t,e,r,n,i,o){var s,a,l,u,c,_;return l=[o],c={},c[o]=(e+r)/2,_={},_[o]=(n+i)/2,u={},u[o]=.4*Math.min(Math.abs(r-e),Math.abs(i-n)),s={},s[o]=this._angle[o],a={sx:c,sy:_,_size:u,_angle:s},this._render(t,l,a)},e.prototype._render=function(t,e,r){var n,i,o,s,a,l,u,c,_;for(c=r.sx,_=r.sy,i=r._size,n=r._angle,u=[],s=0,a=e.length;se;0l;n=0=2&&(this.map.setZoom(n),u=this._get_projected_bounds(),s=u[0],o=u[1],l=u[2],a=u[3],o-s=0},e.prototype.can_redo=function(){return this.state.index=0?a.push(e.selected=t[s.id]):a.push(void 0)):a.push(e.selection_manager.clear()));return a},e.prototype.reset_selection=function(){return this.update_selection(null)},e.prototype._update_ranges_together=function(t){var e,r,n,i,o,s,a,l,u,c;for(c=1,e=0,n=t.length;ey.end,r||(m=this._get_weight_to_constrain_interval(y,_),m=_.end&&(n=!0,_.end=u,null==e&&null==r||(_.start=u+c)),null!=l&&l=_.start&&(n=!0,_.start=u,null==e&&null==r||(_.end=u+c)),null!=l&&l0&&a0&&a>n&&(c=(n-l)/(a-l)),c=Math.max(0,Math.min(1,c))),c},e.prototype.update_range=function(t,e,r){var n,i,o,s,a,l,u;if(this.pause(),null==t){o=this.frame.x_ranges;for(n in o)u=o[n],u.reset();s=this.frame.y_ranges;for(n in s)u=s[n],u.reset();this.update_dataranges()}else{i=[],a=this.frame.x_ranges;for(n in a)u=a[n],i.push([u,t.xrs[n]]);l=this.frame.y_ranges;for(n in l)u=l[n],i.push([u,t.yrs[n]]);r&&this._update_ranges_together(i),this._update_ranges_individually(i,e,r)}return this.unpause()},e.prototype.reset_range=function(){return this.update_range(null)},e.prototype.build_levels=function(){var t,e,r,n,i,o,s,a,l,u,c;for(l=this.model.plot.all_renderers,a=Object.keys(this.renderer_views),s=v.build_views(this.renderer_views,l,this.view_options()),u=E.difference(a,function(){var t,e,r;for(r=[],t=0,e=l.length;ti&&(t.interactive=!1),t.request_render()}}(this),i)):(this.interactive=!1,this.lod_started&&(this.model.plot.trigger_event(new b.LODEnd({})),this.lod_started=!1)),s=this.renderer_views;for(n in s)if(a=s[n],null==this.range_update_timestamp||a.set_data_timestamp>this.range_update_timestamp){this.update_dataranges();break}return this.model.frame._update_scales(),t=this.canvas_view.ctx,t.pixel_ratio=o=this.canvas.pixel_ratio,t.save(),t.scale(o,o),t.translate(.5,.5),e=[this.canvas.vx_to_sx(this.frame._left.value),this.canvas.vy_to_sy(this.frame._top.value),this.frame._width.value,this.frame._height.value],this._map_hook(t,e),this._paint_empty(t,e),this.prepare_webgl(o,e),t.save(),this.visuals.outline_line.doit&&(this.visuals.outline_line.set_value(t),u=e[0],c=e[1],l=e[2],r=e[3],u+l===this.canvas._width.value&&(l-=1),c+r===this.canvas._height.value&&(r-=1),t.strokeRect(u,c,l,r)),t.restore(),this._paint_levels(t,["image","underlay","glyph"],e),this.blit_webgl(o),this._paint_levels(t,["annotation"],e),this._paint_levels(t,["overlay"]),null==this.initial_range_info&&this.set_initial_range(),t.restore(),this._has_finished?void 0:(this._has_finished=!0,this.notify_finished())}},e.prototype._paint_levels=function(t,e,r){var n,i,o,s,a,l,u,c,_,h,p,d,f,y;for(t.save(),null!=r&&"canvas"===this.model.plot.output_backend&&(t.beginPath(),t.rect.apply(t,r),t.clip()),i={},h=this.model.plot.renderers,n=o=0,a=h.length;o0)for(e(M.EQ(i(t).panel._bottom,[-1,this.above_panel._bottom])),e(M.LE(m(t).panel._top,[-1,this.above_panel._top])),e.apply(null,E.pairwise(t,function(t,e){return M.EQ(t.panel._top,[-1,e.panel._bottom])})),o=0,l=t.length;o0)for(e(M.EQ(i(r).panel._top,[-1,this.below_panel._top])),e(M.GE(m(r).panel._bottom,[-1,this.below_panel._bottom])),e.apply(null,E.pairwise(r,function(t,e){return M.EQ(t.panel._bottom,[-1,e.panel._top])})),s=0,u=r.length;s0)for(e(M.EQ(i(a).panel._right,[-1,this.left_panel._right])),e(M.GE(m(a).panel._left,[-1,this.left_panel._left])),e.apply(null,E.pairwise(a,function(t,e){return M.EQ(t.panel._left,[-1,e.panel._right])})),p=0,c=a.length;p0)for(e(M.EQ(i(y).panel._left,[-1,this.right_panel._left])),e(M.LE(m(y).panel._right,[-1,this.right_panel._right])),e.apply(null,E.pairwise(y,function(t,e){return M.EQ(t.panel._right,[-1,e.panel._left])})),d=0,h=y.length;d0&&(_=function(){var t,e,r;for(r=[],t=0,e=_.length;t=0&&r.push(u);return r}()),a.logger.debug("computed "+_.length+" renderers for DataRange1d "+this.id),r=0,i=_.length;ri&&("start"===this.follow?n=f+o*i:"end"===this.follow&&(f=n-o*i)),[f,n]},e.prototype.update=function(t,e,r){var n,i,o,s,a,l,u,c,_,h,p;if(!this.have_updated_interactively)return h=this.computed_renderers(),this.plot_bounds[r]=this._compute_plot_bounds(h,t),u=this._compute_min_max(this.plot_bounds,e),a=u[0],s=u[1],c=this._compute_range(a,s),p=c[0],o=c[1],null!=this._initial_start&&("log"===this.scale_hint?this._initial_start>0&&(p=this._initial_start):p=this._initial_start),null!=this._initial_end&&("log"===this.scale_hint?this._initial_end>0&&(o=this._initial_end):o=this._initial_end),_=[this.start,this.end],i=_[0],n=_[1],p===i&&o===n||(l={},p!==i&&(l.start=p),o!==n&&(l.end=o),this.setv(l)),"auto"===this.bounds&&this.setv({bounds:[p,o]},{silent:!0}),this.change.emit()},e.prototype.reset=function(){return this.have_updated_interactively=!1,this.setv({range_padding:this._initial_range_padding,range_padding_units:this._initial_range_padding_units,follow:this._initial_follow,follow_interval:this._initial_follow_interval,default_span:this._initial_default_span},{silent:!0}),this.change.emit()},e}(o.DataRange)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(156),s=t(14),a=t(21),l=t(41);r.map_one_level=function(t,e,r){var n,i,o,s,a;for(null==r&&(r=0),a={},i=o=0,s=t.length;o=0,a=o.call(r.mixins,"line")>=0,i=p.clone(r.attributes),delete i.id,c=function(t){var e;return e=p.clone(i),s&&p.extend(e,t.fill),a&&p.extend(e,t.line),new r.constructor(e)},this.glyph=this.build_glyph_view(r),d=this.model.selection_glyph,null==d?d=c({fill:{},line:{}}):"auto"===d&&(d=c(this.model.selection_defaults)),this.selection_glyph=this.build_glyph_view(d),h=this.model.nonselection_glyph,null==h?h=c({fill:{},line:{}}):"auto"===h&&(h=c(this.model.nonselection_defaults)),this.nonselection_glyph=this.build_glyph_view(h),u=this.model.hover_glyph,null!=u&&(this.hover_glyph=this.build_glyph_view(u)),_=this.model.muted_glyph,null!=_&&(this.muted_glyph=this.build_glyph_view(_)),n=c(this.model.decimated_defaults),this.decimated_glyph=this.build_glyph_view(n),this.xscale=this.plot_view.frame.xscales[this.model.x_range_name],this.yscale=this.plot_view.frame.yscales[this.model.y_range_name],this.set_data(!1),this.model.data_source instanceof l.RemoteDataSource)return this.model.data_source.setup()},e.getters({xmapper:function(){return log.warning("xmapper attr is deprecated, use xscale"),this.xscale},ymapper:function(){return log.warning("ymapper attr is deprecated, use yscale"),this.yscale}}),e.prototype.build_glyph_view=function(t){return new t.default_view({model:t,renderer:this,plot_view:this.plot_view,parent:this})},e.prototype.connect_signals=function(){return e.__super__.connect_signals.call(this),this.connect(this.model.change,function(){return this.request_render()}),this.connect(this.model.glyph.change,function(){return this.set_data()}),this.connect(this.model.data_source.change,function(){return this.set_data()}),this.connect(this.model.data_source.streaming,function(){return this.set_data()}),this.connect(this.model.data_source.patching,function(t){return this.set_data(!0,t)}),this.connect(this.model.data_source.select,function(){return this.request_render()}),null!=this.hover_glyph&&this.connect(this.model.data_source.inspect,function(){return this.request_render()}),this.connect(this.model.properties.view.change,function(){return this.set_data()}),this.connect(this.model.view.change,function(){return this.set_data()}),this.connect(this.model.glyph.transformchange,function(){return this.set_data()})},e.prototype.have_selection_glyphs=function(){return null!=this.selection_glyph&&null!=this.nonselection_glyph},e.prototype.set_data=function(t,e){var r,n,i,o,s,a,l;for(null==t&&(t=!0),l=Date.now(),a=this.model.data_source,this.all_indices=this.model.view.indices,this.glyph.model.setv({x_range_name:this.model.x_range_name,y_range_name:this.model.y_range_name},{silent:!0}),this.glyph.set_data(a,this.all_indices,e),this.glyph.set_visuals(a),this.decimated_glyph.set_visuals(a),this.have_selection_glyphs()&&(this.selection_glyph.set_visuals(a),this.nonselection_glyph.set_visuals(a)),null!=this.hover_glyph&&this.hover_glyph.set_visuals(a),null!=this.muted_glyph&&this.muted_glyph.set_visuals(a),o=this.plot_model.plot.lod_factor,this.decimated=[],n=i=0,s=Math.floor(this.all_indices.length/o);0s;n=00?x["1d"].indices:function(){var t,e,r,n;for(r=Object.keys(x["2d"].indices),n=[],t=0,e=r.length;t0?d["1d"].indices:function(){var t,e,r,n;for(r=Object.keys(d["2d"].indices),n=[],t=0,e=r.length;t=0&&n.push(_);return n}.call(this),g=this.plot_model.plot.lod_threshold,this.plot_view.interactive&&!l&&null!=g&&this.all_indices.length>g?(p=this.decimated,u=this.decimated_glyph,w=this.decimated_glyph,M=this.selection_glyph):(u=this.model.muted&&null!=this.muted_glyph?this.muted_glyph:this.glyph,w=this.nonselection_glyph,M=this.selection_glyph),null!=this.hover_glyph&&d.length&&(p=h.difference(p,d)),x.length&&this.have_selection_glyphs()){for(A=Date.now(),k={},f=0,m=x.length;f0&&(i=n))),i},e.prototype.hit_test_helper=function(t,e,r,n,i){var o,s,a,l;return!!this.visible&&(o=e.glyph.hit_test(t),null!==o&&(s=this.view.convert_selection_from_subset(o),"select"===i?(l=this.data_source.selection_manager.selector,l.update(s,r,n),this.data_source.selected=l.indices,this.data_source.select.emit()):(a=this.data_source.selection_manager.get_or_create_inspector(this),a.update(s,!0,!1,!0),this.data_source.setv({inspected:a.indices},{silent:!0}),this.data_source.inspect.emit([e,{geometry:t}])),!s.is_empty()))},e.prototype.get_selection_manager=function(){return this.data_source.selection_manager},e.define({x_range_name:[_.String,"default"],y_range_name:[_.String,"default"],data_source:[_.Instance],view:[_.Instance,function(){return new u.CDSView}],glyph:[_.Instance],hover_glyph:[_.Instance],nonselection_glyph:[_.Any,"auto"],selection_glyph:[_.Any,"auto"],muted_glyph:[_.Instance],muted:[_.Bool,!1]}),e.override({level:"glyph"}),e.prototype.selection_defaults={fill:{},line:{}},e.prototype.decimated_defaults={fill:{fill_alpha:.3,fill_color:"grey"},line:{line_alpha:.3,line_color:"grey"}},e.prototype.nonselection_defaults={fill:{fill_alpha:.2,line_alpha:.2},line:{}},e}(s.Renderer)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(162),s=t(126),a=t(14),l=t(4);r.GraphRendererView=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.initialize=function(t){var r;return e.__super__.initialize.call(this,t),this.xscale=this.plot_view.frame.xscales["default"],this.yscale=this.plot_view.frame.yscales["default"],this._renderer_views={},r=l.build_views(this._renderer_views,[this.model.node_renderer,this.model.edge_renderer],this.plot_view.view_options()),this.node_view=r[0],this.edge_view=r[1],this.set_data()},e.prototype.connect_signals=function(){return e.__super__.connect_signals.call(this),this.connect(this.model.layout_provider.change,function(){return this.set_data()}),this.connect(this.model.node_renderer.data_source.select,function(){return this.set_data()}),this.connect(this.model.node_renderer.data_source.inspect,function(){return this.set_data()}),this.connect(this.model.edge_renderer.data_source.select,function(){return this.set_data()}),this.connect(this.model.edge_renderer.data_source.inspect,function(){return this.set_data()})},e.prototype.set_data=function(t){var e,r;if(null==t&&(t=!0),this.node_view.glyph.model.setv({x_range_name:this.model.x_range_name,y_range_name:this.model.y_range_name},{silent:!0}),this.edge_view.glyph.model.setv({x_range_name:this.model.x_range_name,y_range_name:this.model.y_range_name},{silent:!0}),e=this.model.layout_provider.get_node_coordinates(this.model.node_renderer.data_source),this.node_view.glyph._x=e[0],this.node_view.glyph._y=e[1],r=this.model.layout_provider.get_edge_coordinates(this.model.edge_renderer.data_source),this.edge_view.glyph._xs=r[0],this.edge_view.glyph._ys=r[1],this.node_view.glyph.index=this.node_view.glyph._index_data(),this.edge_view.glyph.index=this.edge_view.glyph._index_data(),t)return this.request_render()},e.prototype.render=function(){return this.edge_view.render(),this.node_view.render()},e.prototype.hit_test=function(t,e,r,n){var i,o,s;return null==n&&(n="select"),!!this.model.visible&&(i=!1,i="select"===n?null!=(o=this.model.selection_policy)?o.do_selection(t,this,e,r):void 0:null!=(s=this.model.inspection_policy)?s.do_inspection(t,this,e,r):void 0)},e}(o.RendererView),r.GraphRenderer=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.default_view=r.GraphRendererView,e.prototype.type="GraphRenderer",e.prototype.get_selection_manager=function(){return this.node_renderer.data_source.selection_manager},e.define({x_range_name:[a.String,"default"],y_range_name:[a.String,"default"],layout_provider:[a.Instance],node_renderer:[a.Instance],edge_renderer:[a.Instance],selection_policy:[a.Instance,function(){return new s.NodesOnly}],inspection_policy:[a.Instance,function(){return new s.NodesOnly}]}),e.override({level:"glyph"}),e}(o.Renderer)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(162),s=t(14);r.GuideRenderer=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.type="GuideRenderer",e.define({plot:[s.Instance]}),e.override({level:"overlay"}),e}(o.Renderer)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t(158);r.GlyphRenderer=n.GlyphRenderer;var i=t(159);r.GraphRenderer=i.GraphRenderer;var o=t(160);r.GuideRenderer=o.GuideRenderer;var s=t(162);r.Renderer=s.Renderer},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(6),s=t(45),a=t(14),l=t(31),u=t(29),c=t(49);r.RendererView=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.initialize=function(t){return e.__super__.initialize.call(this,t),this.plot_view=t.plot_view,this.visuals=new s.Visuals(this.model),this._has_finished=!0},e.getters({plot_model:function(){return this.plot_view.model}}),e.prototype.request_render=function(){return this.plot_view.request_render()},e.prototype.set_data=function(t){var e,r,n;if(e=this.model.materialize_dataspecs(t),u.extend(this,e),this.plot_model.use_map&&(null!=this._x&&(r=l.project_xy(this._x,this._y),this._x=r[0],this._y=r[1]),null!=this._xs))return n=l.project_xsys(this._xs,this._ys),this._xs=n[0],this._ys=n[1],n},e.prototype.map_to_screen=function(t,e){return this.plot_view.map_to_screen(t,e,this.model.x_range_name,this.model.y_range_name)},e}(o.DOMView),r.Renderer=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.type="Renderer",e.define({level:[a.RenderLevel,null],visible:[a.Bool,!0]}),e}(c.Model)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(165);r.CategoricalScale=function(t){function e(){ return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.type="CategoricalScale",e.prototype.compute=function(t){return e.__super__.compute.call(this,this.source_range.synthetic(t))},e.prototype.v_compute=function(t){return e.__super__.v_compute.call(this,this.source_range.v_synthetic(t))},e}(o.LinearScale)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t(163);r.CategoricalScale=n.CategoricalScale;var i=t(165);r.LinearScale=i.LinearScale;var o=t(166);r.LogScale=o.LogScale;var s=t(167);r.Scale=s.Scale},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(167);r.LinearScale=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.type="LinearScale",e.prototype.compute=function(t){var e,r,n;return n=this._compute_state(),e=n[0],r=n[1],e*t+r},e.prototype.v_compute=function(t){var e,r,n,i,o,s,a,l;for(s=this._compute_state(),e=s[0],o=s[1],a=new Float64Array(t.length),n=r=0,i=t.length;rc;n=0_;n=0l;r=00?this.indices=a.intersection.apply(this,e):this.source instanceof l.ColumnarDataSource&&(this.indices=null!=(n=this.source)?n.get_indices():void 0),this.indices_map_to_subset()},e.prototype.indices_map_to_subset=function(){var t,e,r,n;for(this.indices_map={},n=[],t=e=0,r=this.indices.length;0r;t=0n&&(t=t.slice(-n)),t;if(p=t.length+e.length,null!=n&&p>n){for(_=p-n,i=t.length,t.lengthu;o=lc;o=00?gO;o=g+=P)for(p=b=A=d,E=y,j=f;j>0?bE;p=b+=j)x&&w.push(p),h[o*z[1]+p]=C[i],i++;return w},r.ColumnDataSource=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.type="ColumnDataSource",e.prototype.initialize=function(t){var r;return e.__super__.initialize.call(this,t),r=u.decode_column_data(this.data),this.data=r[0],this._shapes=r[1],r},e.define({data:[a.Any,{}]}),e.prototype.attributes_as_json=function(t,r){var n,o,s,a;null==t&&(t=!0),null==r&&(r=e._value_to_json),n={},s=this.serializable_attributes();for(o in s)i.call(s,o)&&(a=s[o],"data"===o&&(a=u.encode_column_data(a,this._shapes)),t?n[o]=a:o in this._set_after_defaults&&(n[o]=a));return r("attributes",n,this)},e._value_to_json=function(t,e,r){return c.isObject(e)&&"data"===t?u.encode_column_data(e,r._shapes):s.HasProps._value_to_json(t,e,r)},e.prototype.stream=function(t,e){var n,i,o;n=this.data;for(i in t)o=t[i],n[i]=r.stream_to_column(n[i],t[i],e);return this.setv("data",n,{silent:!0}),this.streaming.emit()},e.prototype.patch=function(t){var e,n,i,o;e=this.data,o=new l.Set;for(n in t)i=t[n],o=o.union(r.patch_to_column(e[n],i,this._shapes[n]));return this.setv("data",e,{silent:!0}),this.patching.emit(o.values)},e}(o.ColumnarDataSource)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(172),s=t(19),a=t(13),l=t(16),u=t(14),c=t(21);r.ColumnarDataSource=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.type="ColumnarDataSource",e.define({column_names:[u.Array,[]]}),e.internal({selection_manager:[u.Instance,function(t){return new l.SelectionManager({source:t})}],inspected:[u.Any],_shapes:[u.Any,{}]}),e.prototype.initialize=function(t){return e.__super__.initialize.call(this,t),this.select=new s.Signal(this,"select"),this.inspect=new s.Signal(this,"inspect"),this.streaming=new s.Signal(this,"streaming"),this.patching=new s.Signal(this,"patching")},e.prototype.get_column=function(t){var e;return null!=(e=this.data[t])?e:null},e.prototype.columns=function(){return Object.keys(this.data)},e.prototype.get_length=function(t){var e,r,n,i;switch(null==t&&(t=!0),r=c.uniq(function(){var t,r;t=this.data,r=[];for(e in t)i=t[e],r.push(i.length);return r}.call(this)),r.length){case 0:return null;case 1:return r[0];default:if(n="data source has columns of inconsistent lengths",t)return a.logger.warn(n),r.sort()[0];throw new Error(n)}},e.prototype.get_indices=function(){var t,e;return t=this.get_length(),null==t&&(t=1),function(){e=[];for(var r=0;0t;0n;e=0n;e=01&&s.logger.warn("Bokeh does not support Polygons with holes in, only exterior ring used."),o=t.coordinates[0],P=[],u=_=0,p=o.length;_

1&&s.logger.warn("Bokeh does not support Polygons with holes in, only exterior ring used."),a.push(b[0]);for(l=a.reduce(this._flatten_function),E=[],u=g=0,y=l.length;gr&&io)break;return n},r.DaysTicker=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return a(e,t),e.prototype.type="DaysTicker",e.define({days:[_.Array,[]]}),e.prototype.initialize=function(t,r){var i,o;return t.num_minor_ticks=0,e.__super__.initialize.call(this,t,r),i=this.days,o=i.length>1?(i[1]-i[0])*n:31*n,this.interval=o},e.prototype.get_ticks_no_defaults=function(t,e,r,n){var s,a,l,u,c,_,p,d,f;return d=o(t,e),c=this.days,_=function(t){return function(t,e){var r,n,o,s,a,l;for(r=[],a=0,l=c.length;a0&&D.length>0){for(S=_/A,T=function(){var t,e,r;for(r=[],c=t=0,e=A;0e;c=00&&D.length>0){for(S=Math.pow(i,_)/A,T=function(){var t,e,r;for(r=[],c=t=1,e=A;1=e;c=1o)break;return n},r.MonthsTicker=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return a(e,t),e.prototype.type="MonthsTicker",e.define({months:[_.Array,[]]}),e.prototype.initialize=function(t,r){var i,o;return e.__super__.initialize.call(this,t,r),o=this.months,i=o.length>1?(o[1]-o[0])*n:12*n,this.interval=i},e.prototype.get_ticks_no_defaults=function(t,e,r,n){var s,a,l,u,c,_,p,d;return d=o(t,e),c=this.months,_=function(t){return c.map(function(e){var r;return r=i(t),r.setUTCMonth(e),r})},u=h.concat(function(){ var t,e,r;for(r=[],t=0,e=d.length;t0&&M.length>0){for(m=c/b,v=function(){var t,e,r;for(r=[],u=t=0,e=b;0e;u=050))return t.constructor===Array?Array.prototype.push.apply(this.images,t):this.images.push(t)},t}()},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(14),s=t(49);r.ImageSource=function(t){function e(t){null==t&&(t={}),e.__super__.constructor.apply(this,arguments),this.images={},this.normalize_case()}return n(e,t),e.prototype.type="ImageSource",e.define({url:[o.String,""],extra_url_vars:[o.Any,{}]}),e.prototype.normalize_case=function(){"Note: should probably be refactored into subclasses.";var t;return t=this.url,t=t.replace("{xmin}","{XMIN}"),t=t.replace("{ymin}","{YMIN}"),t=t.replace("{xmax}","{XMAX}"),t=t.replace("{ymax}","{YMAX}"),t=t.replace("{height}","{HEIGHT}"),t=t.replace("{width}","{WIDTH}"),this.url=t},e.prototype.string_lookup_replace=function(t,e){var r,n,i;n=t;for(r in e)i=e[r],n=n.replace("{"+r+"}",i.toString());return n},e.prototype.add_image=function(t){return this.images[t.cache_key]=t},e.prototype.remove_image=function(t){return delete this.images[t.cache_key]},e.prototype.get_image_url=function(t,e,r,n,i,o){var s;return s=this.string_lookup_replace(this.url,this.extra_url_vars),s.replace("{XMIN}",t).replace("{YMIN}",e).replace("{XMAX}",r).replace("{YMAX}",n).replace("{WIDTH}",o).replace("{HEIGHT}",i)},e}(s.Model)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t(192);r.BBoxTileSource=n.BBoxTileSource;var i=t(193);r.DynamicImageRenderer=i.DynamicImageRenderer;var o=t(195);r.ImageSource=o.ImageSource;var s=t(197);r.MercatorTileSource=s.MercatorTileSource;var a=t(198);r.QUADKEYTileSource=a.QUADKEYTileSource;var l=t(199);r.TileRenderer=l.TileRenderer;var u=t(200);r.TileSource=u.TileSource;var c=t(202);r.TMSTileSource=c.TMSTileSource;var _=t(203);r.WMTSTileSource=_.WMTSTileSource},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=[].indexOf||function(t){for(var e=0,r=this.length;e=n;r=e=Math.pow(2,r)))&&!(e=Math.pow(2,r))},e.prototype.retain_children=function(t){var e,r,n,i,o,s,a;i=t.quadkey,n=i.length,r=n+3,o=this.tiles,s=[];for(e in o)a=o[e],0===a.quadkey.indexOf(i)&&a.quadkey.length>n&&a.quadkey.length=n;f=e=n;y=e=0)&&(u=_.tile_coords[1],o.call(i,u)>=0)?c.push(_.retain=!0):c.push(void 0);return c},e.prototype.retain_parents=function(t){var e,r,n,i,o;r=t.quadkey,n=this.tiles,i=[];for(e in n)o=n[e],i.push(o.retain=0===r.indexOf(o.quadkey));return i},e.prototype.children_by_tile_xyz=function(t,e,r){var n,i,o,s,a,l,u,c,_;for(_=this.calculate_world_x_by_tile_xyz(t,e,r),0!==_&&(l=this.normalize_xyz(t,e,r),t=l[0],e=l[1],r=l[2]),a=this.tile_xyz_to_quadkey(t,e,r),i=[],o=s=0;ss){if(0===n)return 0;if(n>0)return n-1}n+=1}},e.prototype.get_closest_level_by_extent=function(t,e,r){var n,i,o,s,a;return s=(t[2]-t[0])/r,a=(t[3]-t[1])/e,i=Math.max(s,a),o=this._resolutions,n=this._resolutions.reduce(function(t,e){return Math.abs(e-i)=l;f=n+=-1)for(h=i=u=d,c=p;i0;e=r+=-1)switch(l=t.charAt(a-e),n=10;i=o+=-1)n=0,s=10;)if(n=n.substring(0,n.length-1),o=this.quadkey_to_tile_xyz(n),t=o[0],e=o[1],r=o[2],s=this.denormalize_xyz(t,e,r,a),t=s[0],e=s[1],r=s[2],this.tile_xyz_to_key(t,e,r)in this.tiles)return[t,e,r];return[0,0,0]},e.prototype.normalize_xyz=function(t,e,r){var n;return this.wrap_around?(n=Math.pow(2,r),[(t%n+n)%n,e,r]):[t,e,r]},e.prototype.denormalize_xyz=function(t,e,r,n){return[t+n*Math.pow(2,r),e,r]},e.prototype.denormalize_meters=function(t,e,r,n){return[t+2*n*Math.PI*6378137,e]},e.prototype.calculate_world_x_by_tile_xyz=function(t,e,r){return Math.floor(t/Math.pow(2,r))},e}(s.TileSource)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(197);r.QUADKEYTileSource=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.type="QUADKEYTileSource",e.prototype.get_image_url=function(t,e,r){var n,i,o;return n=this.string_lookup_replace(this.url,this.extra_url_vars),o=this.tms_to_wmts(t,e,r),t=o[0],e=o[1],r=o[2],i=this.tile_xyz_to_quadkey(t,e,r),n.replace("{Q}",i)},e}(o.MercatorTileSource)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){return function(){return t.apply(e,arguments)}},i=function(t,e){function r(){this.constructor=t}for(var n in e)o.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},o={}.hasOwnProperty,s=[].indexOf||function(t){for(var e=0,r=this.length;e0)return null==this.attributionEl&&(i=this.plot_model.canvas._right.value-this.plot_model.frame._right.value,e=this.plot_model.frame._bottom.value,r=this.map_frame._width.value,this.attributionEl=c.div({"class":"bk-tile-attribution",style:{position:"absolute",bottom:e+"px",right:i+"px","max-width":r+"px",padding:"2px","background-color":"rgba(255,255,255,0.8)","font-size":"9pt","font-family":"sans-serif"}}),n=this.plot_view.canvas_view.events_el,n.appendChild(this.attributionEl)),this.attributionEl.innerHTML=t},e.prototype._map_data=function(){var t,e;return this.initial_extent=this.get_extent(),e=this.model.tile_source.get_level_by_extent(this.initial_extent,this.map_frame._height.value,this.map_frame._width.value),t=this.model.tile_source.snap_to_zoom(this.initial_extent,this.map_frame._height.value,this.map_frame._width.value,e),this.x_range.start=t[0],this.y_range.start=t[1],this.x_range.end=t[2],this.y_range.end=t[3],this._add_attribution()},e.prototype._on_tile_load=function(t){var e;return e=t.target.tile_data,e.img=t.target,e.current=!0,e.loaded=!0,this.request_render()},e.prototype._on_tile_cache_load=function(t){var e;return e=t.target.tile_data,e.img=t.target,e.loaded=!0,e.finished=!0,this.notify_finished()},e.prototype._on_tile_error=function(t){var e;return e=t.target.tile_data,e.finished=!0},e.prototype._create_tile=function(t,e,r,n,i){var o,s,a;return null==i&&(i=!1),o=this.model.tile_source.normalize_xyz(t,e,r),a=this.pool.pop(),i?a.onload=this._on_tile_cache_load:a.onload=this._on_tile_load,a.onerror=this._on_tile_error,a.alt="",a.tile_data={tile_coords:[t,e,r],normalized_coords:o,quadkey:this.model.tile_source.tile_xyz_to_quadkey(t,e,r),cache_key:this.model.tile_source.tile_xyz_to_key(t,e,r),bounds:n,loaded:!1,finished:!1,x_coord:n[0],y_coord:n[3]},this.model.tile_source.tiles[a.tile_data.cache_key]=a.tile_data,a.src=(s=this.model.tile_source).get_image_url.apply(s,o),this._tiles.push(a),a},e.prototype._enforce_aspect_ratio=function(){var t,e,r;return(this._last_height!==this.map_frame._height.value||this._last_width!==this.map_frame._width.value)&&(t=this.get_extent(),r=this.model.tile_source.get_level_by_extent(t,this.map_frame._height.value,this.map_frame._width.value),e=this.model.tile_source.snap_to_zoom(t,this.map_frame._height.value,this.map_frame._width.value,r),this.x_range.setv({start:e[0],end:e[2]}),this.y_range.setv({start:e[1],end:e[3]}),this.extent=e,this._last_height=this.map_frame._height.value,this._last_width=this.map_frame._width.value,!0)},e.prototype.has_finished=function(){var t,r,n,i;if(!e.__super__.has_finished.call(this))return!1;if(0===this._tiles.length)return!1;for(n=this._tiles,t=0,r=n.length;tg&&(c=this.extent,B=g,A=!0),A&&(this.x_range.setv({x_range:{start:c[0],end:c[2]}}),this.y_range.setv({start:c[1],end:c[3]}),this.extent=c),this.extent=c,C=z.get_tiles_by_extent(c,B),M=[],w=[],r=[],o=[],h=0,y=C.length;h=n?(u=[1,p/n],g=u[0],b=u[1]):(c=[n/p,1],g=c[0],b=c[1]),t[0]s&&(_=s)):(_=t[0],l=t[0]-m*g,ld&&(h=d)):(h=t[1],i=t[1]-m/n,in.end&&(a=n.end),as.end&&(l=s.end),ln.end)&&(this.v_axis_only=!0),(si.end)&&(this.h_axis_only=!0)),this.plot_view.interactive_timestamp=Date.now()},e.prototype._pan=function(t){return this._update(t.deltaX,-t.deltaY),this.plot_view.interactive_timestamp=Date.now()},e.prototype._pan_end=function(t){if(this.h_axis_only=!1,this.v_axis_only=!1,null!=this.pan_info)return this.plot_view.push_state("pan",{range:this.pan_info})},e.prototype._update=function(t,e){var r,n,i,o,s,a,l,u,c,_,h,p,d,f,y,m,v,g,b,w,x,k,M,S,T,O,P;i=this.plot_view.frame,l=t-this.last_dx,u=e-this.last_dy,o=i.h_range,w=o.start-l,b=o.end-l,T=i.v_range,S=T.start-u,M=T.end-u,r=this.model.dimensions,"width"!==r&&"both"!==r||this.v_axis_only?(v=o.start,g=o.end,f=0):(v=w,g=b,f=-l),"height"!==r&&"both"!==r||this.h_axis_only?(x=T.start,k=T.end,y=0):(x=S,k=M,y=u),this.last_dx=t,this.last_dy=e,O={},c=i.xscales;for(a in c)d=c[a],_=d.v_invert([v,g]),m=_[0],n=_[1],O[a]={start:m,end:n};P={},h=i.yscales;for(a in h)d=h[a],p=d.v_invert([x,k]),m=p[0],n=p[1],P[a]={start:m,end:n};return this.pan_info={xrs:O,yrs:P,sdx:f,sdy:y},this.plot_view.update_range(this.pan_info,s=!0),null},e}(o.GestureToolView),r.PanTool=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.default_view=r.PanToolView,e.prototype.type="PanTool",e.prototype.tool_name="Pan",e.prototype.event_type="pan",e.prototype.default_order=10,e.define({dimensions:[s.Dimensions,"both"]}),e.getters({tooltip:function(){return this._get_dim_tooltip("Pan",this.dimensions)},icon:function(){var t;return t=function(){switch(this.dimensions){case"both":return"pan";case"width":return"xpan";case"height":return"ypan"}}.call(this),"bk-tool-icon-"+t}}),e}(o.GestureTool)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,i=function(t,e){function r(){this.constructor=t}for(var n in e)o.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},o={}.hasOwnProperty,s=t(219),a=t(61),l=t(14),u=t(21);r.PolySelectToolView=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return i(e,t),e.prototype.initialize=function(t){return e.__super__.initialize.call(this,t),this.connect(this.model.properties.active.change,function(){return this._active_change()}),this.data={vx:[],vy:[]}},e.prototype._active_change=function(){if(!this.model.active)return this._clear_data()},e.prototype._keyup=function(t){if(13===t.keyCode)return this._clear_data()},e.prototype._doubletap=function(t){var e,r;return e=null!=(r=t.srcEvent.shiftKey)&&r,this._do_select(this.data.vx,this.data.vy,!0,e),this.plot_view.push_state("poly_select",{selection:this.plot_view.get_selection()}),this._clear_data()},e.prototype._clear_data=function(){return this.data={vx:[],vy:[]},this.model.overlay.update({xs:[],ys:[]})},e.prototype._tap=function(t){var e,r,n;return e=this.plot_view.canvas,r=e.sx_to_vx(t.bokeh.sx),n=e.sy_to_vy(t.bokeh.sy),this.data.vx.push(r),this.data.vy.push(n),this.model.overlay.update({xs:u.copy(this.data.vx),ys:u.copy(this.data.vy)})},e.prototype._do_select=function(t,e,r,n){var i;return i={type:"poly",vx:t,vy:e},this._select(i,r,n)},e.prototype._emit_callback=function(t){var e,r,n,i,o;n=this.computed_renderers[0],e=this.plot_model.canvas,r=this.plot_model.frame,t.sx=e.v_vx_to_sx(t.vx),t.sy=e.v_vx_to_sx(t.vy),i=r.xscales[n.x_range_name],o=r.yscales[n.y_range_name],t.x=i.v_invert(t.vx),t.y=i.v_invert(t.vy),this.model.callback.execute(this.model,{geometry:t})},e}(s.SelectToolView),n=function(){return new a.PolyAnnotation({level:"overlay",xs_units:"screen",ys_units:"screen",fill_color:{value:"lightgrey"},fill_alpha:{value:.5},line_color:{value:"black"},line_alpha:{value:1},line_width:{value:2},line_dash:{value:[4,4]}})},r.PolySelectTool=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return i(e,t),e.prototype.default_view=r.PolySelectToolView,e.prototype.type="PolySelectTool",e.prototype.tool_name="Poly Select",e.prototype.icon="bk-tool-icon-polygon-select",e.prototype.event_type="tap",e.prototype.default_order=11,e.define({callback:[l.Instance],overlay:[l.Instance,n]}),e}(s.SelectTool)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(215),s=t(158),a=t(159),l=t(13),u=t(14),c=t(29),_=t(3);r.SelectToolView=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.getters({computed_renderers:function(){var t,e,r,n;return n=this.model.renderers,e=this.model.names,0===n.length&&(t=this.plot_model.plot.renderers,n=function(){var e,n,i;for(i=[],e=0,n=t.length;e0&&(n=function(){var t,i,o;for(o=[],t=0,i=n.length;t=0&&o.push(r);return o}()),n}}),e.prototype._computed_renderers_by_data_source=function(){var t,e,r,n,i,o;for(i={},n=this.computed_renderers,t=0,e=n.length;to;n=0.9?e=.9:e=1?20*(t.scale-1):-20/t.scale,t.bokeh.delta=e,this._scroll(t)},e.prototype._scroll=function(t){var e,r,n,i,o,s,l,u,c,_;return n=this.plot_model.frame,o=n.h_range,l=n.v_range,u=this.plot_view.canvas.sx_to_vx(t.bokeh.sx),c=this.plot_view.canvas.sy_to_vy(t.bokeh.sy),e=this.model.dimensions,i=("width"===e||"both"===e)&&o.min0?"pinch":"scroll",e.prototype.default_order=10,e.getters({tooltip:function(){return this._get_dim_tooltip(this.tool_name,this.dimensions)}}),e.define({dimensions:[l.Dimensions,"both"]}),e.internal({speed:[l.Number,1/600]}),e}(s.GestureTool)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t(204);r.ActionTool=n.ActionTool;var i=t(205);r.HelpTool=i.HelpTool;var o=t(206);r.RedoTool=o.RedoTool;var s=t(207);r.ResetTool=s.ResetTool;var a=t(208);r.SaveTool=a.SaveTool;var l=t(209);r.UndoTool=l.UndoTool;var u=t(210);r.ZoomInTool=u.ZoomInTool;var c=t(211);r.ZoomOutTool=c.ZoomOutTool;var _=t(212);r.ButtonTool=_.ButtonTool;var h=t(213);r.BoxSelectTool=h.BoxSelectTool;var p=t(214);r.BoxZoomTool=p.BoxZoomTool;var d=t(215);r.GestureTool=d.GestureTool;var f=t(216);r.LassoSelectTool=f.LassoSelectTool;var y=t(217); r.PanTool=y.PanTool;var m=t(218);r.PolySelectTool=m.PolySelectTool;var v=t(219);r.SelectTool=v.SelectTool;var g=t(220);r.TapTool=g.TapTool;var b=t(221);r.WheelPanTool=b.WheelPanTool;var w=t(222);r.WheelZoomTool=w.WheelZoomTool;var x=t(224);r.CrosshairTool=x.CrosshairTool;var k=t(225);r.HoverTool=k.HoverTool;var M=t(226);r.InspectTool=M.InspectTool;var S=t(228);r.Tool=S.Tool;var T=t(229);r.ToolProxy=T.ToolProxy;var O=t(230);r.Toolbar=O.Toolbar;var P=t(231);r.ToolbarBase=P.ToolbarBase;var A=t(232);r.ToolbarBoxToolbar=A.ToolbarBoxToolbar;var E=t(232);r.ToolbarBox=E.ToolbarBox},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(226),s=t(62),a=t(14),l=t(29);r.CrosshairToolView=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype._move=function(t){var e,r,n,i;if(this.model.active)return r=this.plot_model.frame,e=this.plot_model.canvas,n=e.sx_to_vx(t.bokeh.sx),i=e.sy_to_vy(t.bokeh.sy),r.contains(n,i)||(n=i=null),this._update_spans(n,i)},e.prototype._move_exit=function(t){return this._update_spans(null,null)},e.prototype._update_spans=function(t,e){var r;if(r=this.model.dimensions,"width"!==r&&"both"!==r||(this.model.spans.width.computed_location=e),"height"===r||"both"===r)return this.model.spans.height.computed_location=t},e}(o.InspectToolView),r.CrosshairTool=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.default_view=r.CrosshairToolView,e.prototype.type="CrosshairTool",e.prototype.tool_name="Crosshair",e.prototype.icon="bk-tool-icon-crosshair",e.define({dimensions:[a.Dimensions,"both"],line_color:[a.Color,"black"],line_width:[a.Number,1],line_alpha:[a.Number,1]}),e.internal({location_units:[a.SpatialUnits,"screen"],render_mode:[a.RenderMode,"css"],spans:[a.Any]}),e.getters({tooltip:function(){return this._get_dim_tooltip("Crosshair",this.dimensions)},synthetic_renderers:function(){return l.values(this.spans)}}),e.prototype.initialize=function(t,r){return e.__super__.initialize.call(this,t,r),this.spans={width:new s.Span({for_hover:!0,dimension:"width",render_mode:this.render_mode,location_units:this.location_units,line_color:this.line_color,line_width:this.line_width,line_alpha:this.line_alpha}),height:new s.Span({for_hover:!0,dimension:"height",render_mode:this.render_mode,location_units:this.location_units,line_color:this.line_color,line_width:this.line_width,line_alpha:this.line_alpha})}},e}(o.InspectTool)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,i=function(t,e){function r(){this.constructor=t}for(var n in e)o.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},o={}.hasOwnProperty,s=t(226),a=t(65),l=t(158),u=t(159),c=t(9),_=t(38),h=t(5),p=t(14),d=t(29),f=t(41),y=t(4);n=function(t){var e,r,n,i,o;return"#"===t.substr(0,1)?t:(r=/(.*?)rgb\((\d+), (\d+), (\d+)\)/.exec(t),i=parseInt(r[2]),n=parseInt(r[3]),e=parseInt(r[4]),o=e|n0&&(n=function(){var t,i,o;for(o=[],t=0,i=n.length;t=0&&o.push(r);return o}()),n},e.prototype._compute_ttmodels=function(){var t,e,r,n,i,o,s,c,_,h,p;if(h={},_=this.model.tooltips,null!=_)for(s=this.computed_renderers,t=0,r=s.length;t=0){if(g=M.match(/\$color(\[.*\])?:(\w*)/),y=g[0],m=g[1],o=g[2],a=t.get_column(o),null==a){l=h.span({},o+" unknown"),i.appendChild(l);continue}if(u=(null!=m?m.indexOf("hex"):void 0)>=0,x=(null!=m?m.indexOf("swatch"):void 0)>=0,s=a[e],null==s){l=h.span({},"(null)"),i.appendChild(l);continue}u&&(s=n(s)),l=h.span({},s),i.appendChild(l),x&&(l=h.span({"class":"bk-tooltip-color-block",style:{backgroundColor:s}}," "),i.appendChild(l))}else M=M.replace("$~","$data_"),l=h.span(),l.innerHTML=_.replace_placeholders(M,t,e,this.model.formatters,r),i.appendChild(l);return w},e}(s.InspectToolView),r.HoverTool=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return i(e,t),e.prototype.default_view=r.HoverToolView,e.prototype.type="HoverTool",e.prototype.tool_name="Hover",e.prototype.icon="bk-tool-icon-hover",e.define({tooltips:[p.Any,[["index","$index"],["data (x, y)","($x, $y)"],["canvas (x, y)","($sx, $sy)"]]],formatters:[p.Any,{}],renderers:[p.Array,[]],names:[p.Array,[]],mode:[p.String,"mouse"],point_policy:[p.String,"snap_to_data"],line_policy:[p.String,"nearest"],show_arrow:[p.Boolean,!0],anchor:[p.String,"center"],attachment:[p.String,"horizontal"],callback:[p.Any]}),e}(s.InspectTool)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(14),s=t(212);r.InspectToolView=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e}(s.ButtonToolView),r.InspectTool=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.event_type="move",e.define({toggleable:[o.Bool,!0]}),e.override({active:!0}),e}(s.ButtonTool)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(212);r.OnOffButtonView=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.render=function(){return e.__super__.render.call(this),this.model.active?this.el.classList.add("bk-active"):this.el.classList.remove("bk-active")},e.prototype._clicked=function(){var t;return t=this.model.active,this.model.active=!t},e}(o.ButtonToolButtonView)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(14),s=t(44),a=t(21),l=t(49);r.ToolView=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.initialize=function(t){return e.__super__.initialize.call(this,t),this.plot_view=t.plot_view},e.getters({plot_model:function(){return this.plot_view.model}}),e.prototype.connect_signals=function(){return e.__super__.connect_signals.call(this),this.connect(this.model.properties.active.change,function(t){return function(){return t.model.active?t.activate():t.deactivate()}}(this))},e.prototype.activate=function(){},e.prototype.deactivate=function(){},e}(s.View),r.Tool=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.getters({synthetic_renderers:function(){return[]}}),e.internal({active:[o.Boolean,!1]}),e.prototype._get_dim_tooltip=function(t,e){switch(e){case"width":return t+" (x-axis)";case"height":return t+" (y-axis)";case"both":return t}},e.prototype._get_dim_limits=function(t,e,r,n){var i,o,s,l,u,c,_,h;return s=t[0],c=t[1],l=e[0],_=e[1],i=r.h_range,"width"===n||"both"===n?(u=[a.min([s,l]),a.max([s,l])],u=[a.max([u[0],i.min]),a.min([u[1],i.max])]):u=[i.min,i.max],o=r.v_range,"height"===n||"both"===n?(h=[a.min([c,_]),a.max([c,_])],h=[a.max([h[0],o.min]),a.min([h[1],o.max])]):h=[o.min,o.max],[u,h]},e}(l.Model)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(14),s=t(19),a=t(49);r.ToolProxy=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.initialize=function(t){return e.__super__.initialize.call(this,t),this["do"]=new s.Signal(this,"do"),this.connect(this["do"],function(){return this.doit()}),this.connect(this.properties.active.change,function(){return this.set_active()})},e.prototype.doit=function(){var t,e,r,n;for(r=this.tools,t=0,e=r.length;t0&&(x=g(C),this.gestures[n].tools.push(x),this.connect(x.properties.active.change,this._active_change.bind(null,x)))}this.actions=[];for(z in t)C=t[z],C.length>0&&this.actions.push(g(C));this.inspectors=[];for(z in c)C=c[z],C.length>0&&this.inspectors.push(g(C,e=!0));E=[];for(r in this.gestures)C=this.gestures[r].tools,0!==C.length&&(this.gestures[r].tools=a.sortBy(C,function(t){return t.default_order}),"pinch"!==r&&"scroll"!==r?E.push(this.gestures[r].tools[0].active=!0):E.push(void 0));return E},e}(h.ToolbarBase),r.ToolbarBoxView=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.className="bk-toolbar-box",e.prototype.get_width=function(){return this.model._horizontal===!0?30:null},e.prototype.get_height=function(){return 30},e}(d.BoxView),r.ToolbarBox=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.prototype.type="ToolbarBox",e.prototype.default_view=r.ToolbarBoxView,e.prototype.initialize=function(t){var n;return e.__super__.initialize.call(this,t),this._toolbar=new r.ToolbarBoxToolbar(t),this._horizontal="left"===(n=this.toolbar_location)||"right"===n,this._sizeable=this._horizontal?this._width:this._height},e.prototype._doc_attached=function(){return this._toolbar.attach_document(this.document),e.__super__._doc_attached.call(this)},e.prototype.get_layoutable_children=function(){return[this._toolbar]},e.define({toolbar_location:[s.Location,"right"],merge_tools:[s.Bool,!0],tools:[s.Any,[]],logo:[s.String,"normal"]}),e}(d.Box)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=[].slice,s=t(240),a=t(14),l=t(29);r.CustomJSTransform=function(e){function i(){return i.__super__.constructor.apply(this,arguments)}return n(i,e),i.prototype.type="CustomJSTransform",i.define({args:[a.Any,{}],func:[a.String,""],v_func:[a.String,""]}),i.getters({values:function(){return this._make_values()},scalar_transform:function(){return this._make_transform("x",this.func)},vector_transform:function(){return this._make_transform("xs",this.v_func)}}),i.prototype.compute=function(e){return this.scalar_transform.apply(this,o.call(this.values).concat([e],[t],[r]))},i.prototype.v_compute=function(e){return this.vector_transform.apply(this,o.call(this.values).concat([e],[t],[r]))},i.prototype._make_transform=function(t,e){return function(t,e,r){r.prototype=t.prototype;var n=new r,i=t.apply(n,e);return Object(i)===i?i:n}(Function,o.call(Object.keys(this.args)).concat([t],["require"],["exports"],[e]),function(){})},i.prototype._make_values=function(){return l.values(this.args)},i}(s.Transform)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(240),s=t(14);r.Dodge=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return n(e,t),e.define({value:[s.Number,0],range:[s.Instance]}),e.prototype.compute=function(t,e){var r;return null==e&&(e=!0),null!=(null!=(r=this.range)?r.synthetic:void 0)&&e&&(t=this.range.synthetic(t)),t+this.value},e}(o.Transform)},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t(233);r.CustomJSTransform=n.CustomJSTransform;var i=t(234);r.Dodge=i.Dodge;var o=t(236);r.Interpolator=o.Interpolator;var s=t(237);r.Jitter=s.Jitter;var a=t(238);r.LinearInterpolator=a.LinearInterpolator;var l=t(239);r.StepInterpolator=l.StepInterpolator;var u=t(240);r.Transform=u.Transform},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(t,e){function r(){this.constructor=t}for(var n in e)i.call(e,n)&&(t[n]=e[n]);return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=[].indexOf||function(t){for(var e=0,r=this.length;ee.x)?r:-{1:null!=(n=t.x===e.x)?n:{0:1}}}),s=n=0,c=a.length;0c;s=0this._x_sorted[this._x_sorted.length-1])return null}else{if(tthis._x_sorted[this._x_sorted.length-1])return this._y_sorted[this._y_sorted.length-1]}return t===this._x_sorted[0]?this._y_sorted[0]:(r=o.findLastIndex(this._x_sorted,function(e){return ethis._x_sorted[this._x_sorted.length-1])return null}else{if(tthis._x_sorted[this._x_sorted.length-1])return this._y_sorted[this._y_sorted.length-1]}return n=-1,"after"===this.mode&&(n=a.findLastIndex(this._x_sorted,function(e){return t>=e})),"before"===this.mode&&(n=a.findIndex(this._x_sorted,function(e){return t=1>>=1,0!=t;)e+=e;return r})},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t(36);r.Message=function(){function t(t,e,r){this.header=t,this.metadata=e,this.content=r,this.buffers=[]}return t.assemble=function(e,r,n){var i,o,s;return o=JSON.parse(e),s=JSON.parse(r),i=JSON.parse(n),new t(o,s,i)},t.prototype.assemble_buffer=function(t,e){var r;if(r=null!=this.header.num_buffers?this.header.num_buffers:0,r0)throw new Error("BokehJS only supports receiving buffers, not sending");return r=JSON.stringify(this.header),n=JSON.stringify(this.metadata),e=JSON.stringify(this.content),t.send(r),t.send(n),t.send(e)},t.prototype.msgid=function(){return this.header.msgid},t.prototype.msgtype=function(){return this.header.msgtype},t.prototype.reqid=function(){return this.header.reqid},t.prototype.problem=function(){return"msgid"in this.header?"msgtype"in this.header?null:"No msgtype in header":"No msgid in header"},t}()},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t(242);r.Receiver=function(){function t(){this.message=null,this._current_consumer=this._HEADER}return t.prototype.consume=function(t){return this._current_consumer(t),null},t.prototype._HEADER=function(t){return this._assume_text(t),this.message=null,this._partial=null,this._fragments=[t],this._buf_header=null,this._current_consumer=this._METADATA,null},t.prototype._METADATA=function(t){return this._assume_text(t),this._fragments.push(t),this._current_consumer=this._CONTENT,null},t.prototype._CONTENT=function(t){var e,r,i,o;return this._assume_text(t),this._fragments.push(t),o=this._fragments.slice(0,3),r=o[0],i=o[1],e=o[2],this._partial=n.Message.assemble(r,i,e),this._check_complete(),null},t.prototype._BUFFER_HEADER=function(t){return this._assume_text(t),this._buf_header=t,this._current_consumer=this._BUFFER_PAYLOAD,null},t.prototype._BUFFER_PAYLOAD=function(t){return this._assume_binary(t),this._partial.assemble_buffer(this._buf_header,t),this._check_complete(),null},t.prototype._assume_text=function(t){if(t instanceof ArrayBuffer)throw new Error("Expected text fragment but received binary fragment")},t.prototype._assume_binary=function(t){if(!(t instanceof ArrayBuffer))throw new Error("Expected binary fragment but received text fragment")},t.prototype._check_complete=function(){return this._partial.complete()?(this.message=this._partial,this._current_consumer=this._HEADER):this._current_consumer=this._BUFFER_HEADER,null},t}()},function(t,e,r){"use strict";function n(t){var e=document.createElement("div");e.style.backgroundColor="#f2dede",e.style.border="1px solid #a94442",e.style.borderRadius="4px",e.style.display="inline-block",e.style.fontFamily="sans-serif",e.style.marginTop="5px",e.style.minWidth="200px",e.style.padding="5px 5px 5px 10px";var r=document.createElement("span");r.style.backgroundColor="#a94442",r.style.borderRadius="0px 4px 0px 0px",r.style.color="white",r.style.cursor="pointer",r.style.cssFloat="right",r.style.fontSize="0.8em",r.style.margin="-6px -6px 0px 0px",r.style.padding="2px 5px 4px 5px",r.title="close",r.setAttribute("aria-label","close"),r.appendChild(document.createTextNode("x")),r.addEventListener("click",function(){return o.removeChild(e)});var n=document.createElement("h3");n.style.color="#a94442",n.style.margin="8px 0px 0px 0px",n.style.padding="0px",n.appendChild(document.createTextNode("Bokeh Error"));var i=document.createElement("pre");i.style.whiteSpace="unset",i.style.overflowX="auto",i.appendChild(document.createTextNode(t.message||t)),e.appendChild(r),e.appendChild(n),e.appendChild(i);var o=document.getElementsByTagName("body")[0];o.insertBefore(e,o.firstChild)}function i(t,e){void 0===e&&(e=!1);try{return t()}catch(r){if(n(r),e)return;throw r}}Object.defineProperty(r,"__esModule",{value:!0}),r.safely=i},function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.version="0.12.9"},function(t,e,r){!function(){"use strict";function t(t,e){var r,n=Object.keys(e);for(r=0;r1?(e=r,e.width=arguments[0],e.height=arguments[1]):e=t?t:r,this instanceof a?(this.width=e.width||r.width,this.height=e.height||r.height,this.enableMirroring=void 0!==e.enableMirroring?e.enableMirroring:r.enableMirroring,this.canvas=this,this.__document=e.document||document,e.ctx?this.__ctx=e.ctx:(this.__canvas=this.__document.createElement("canvas"),this.__ctx=this.__canvas.getContext("2d")),this.__setDefaultStyles(),this.__stack=[this.__getStyleState()],this.__groupStack=[],this.__root=this.__document.createElementNS("http://www.w3.org/2000/svg","svg"),this.__root.setAttribute("version",1.1),this.__root.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.__root.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),this.__root.setAttribute("width",this.width),this.__root.setAttribute("height",this.height),this.__ids={},this.__defs=this.__document.createElementNS("http://www.w3.org/2000/svg","defs"),this.__root.appendChild(this.__defs),this.__currentElement=this.__document.createElementNS("http://www.w3.org/2000/svg","g"),void this.__root.appendChild(this.__currentElement)):new a(e)},a.prototype.__createElement=function(t,e,r){"undefined"==typeof e&&(e={});var n,i,o=this.__document.createElementNS("http://www.w3.org/2000/svg",t),s=Object.keys(e);for(r&&(o.setAttribute("fill","none"),o.setAttribute("stroke","none")),n=0;n0){"path"===this.__currentElement.nodeName&&(this.__currentElementsToStyle||(this.__currentElementsToStyle={element:e,children:[]}),this.__currentElementsToStyle.children.push(this.__currentElement),this.__applyCurrentDefaultPath());var r=this.__createElement("g");e.appendChild(r),this.__currentElement=r}var n=this.__currentElement.getAttribute("transform");n?n+=" ":n="",n+=t,this.__currentElement.setAttribute("transform",n)},a.prototype.scale=function(e,r){void 0===r&&(r=e),this.__addTransform(t("scale({x},{y})",{x:e,y:r}))},a.prototype.rotate=function(e){var r=180*e/Math.PI;this.__addTransform(t("rotate({angle},{cx},{cy})",{angle:r,cx:0,cy:0}))},a.prototype.translate=function(e,r){this.__addTransform(t("translate({x},{y})",{x:e,y:r}))},a.prototype.transform=function(e,r,n,i,o,s){this.__addTransform(t("matrix({a},{b},{c},{d},{e},{f})",{a:e,b:r,c:n,d:i,e:o,f:s}))},a.prototype.beginPath=function(){var t,e;this.__currentDefaultPath="",this.__currentPosition={},t=this.__createElement("path",{},!0),e=this.__closestGroupOrSvg(),e.appendChild(t),this.__currentElement=t},a.prototype.__applyCurrentDefaultPath=function(){var t=this.__currentElement;"path"===t.nodeName?t.setAttribute("d",this.__currentDefaultPath):console.error("Attempted to apply path command to node",t.nodeName)},a.prototype.__addPathCommand=function(t){this.__currentDefaultPath+=" ",this.__currentDefaultPath+=t},a.prototype.moveTo=function(e,r){"path"!==this.__currentElement.nodeName&&this.beginPath(),this.__currentPosition={x:e,y:r},this.__addPathCommand(t("M {x} {y}",{x:e,y:r}))},a.prototype.closePath=function(){this.__currentDefaultPath&&this.__addPathCommand("Z")},a.prototype.lineTo=function(e,r){this.__currentPosition={x:e,y:r},this.__currentDefaultPath.indexOf("M")>-1?this.__addPathCommand(t("L {x} {y}",{x:e,y:r})):this.__addPathCommand(t("M {x} {y}",{x:e,y:r}))},a.prototype.bezierCurveTo=function(e,r,n,i,o,s){this.__currentPosition={x:o,y:s},this.__addPathCommand(t("C {cp1x} {cp1y} {cp2x} {cp2y} {x} {y}",{cp1x:e,cp1y:r,cp2x:n,cp2y:i,x:o,y:s}))},a.prototype.quadraticCurveTo=function(e,r,n,i){this.__currentPosition={x:n,y:i},this.__addPathCommand(t("Q {cpx} {cpy} {x} {y}",{cpx:e,cpy:r,x:n,y:i}))};var _=function(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]};a.prototype.arcTo=function(t,e,r,n,i){var o=this.__currentPosition&&this.__currentPosition.x,s=this.__currentPosition&&this.__currentPosition.y;if("undefined"!=typeof o&&"undefined"!=typeof s){if(i=0?Math.acos(e):-Math.acos(e)},g=v(y),b=v(m);this.lineTo(d+y[0]*i,f+y[1]*i),this.arc(d,f,i,g,b)}},a.prototype.stroke=function(){"path"===this.__currentElement.nodeName&&this.__currentElement.setAttribute("paint-order","fill stroke markers"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("stroke")},a.prototype.fill=function(){"path"===this.__currentElement.nodeName&&this.__currentElement.setAttribute("paint-order","stroke fill markers"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("fill")},a.prototype.rect=function(t,e,r,n){"path"!==this.__currentElement.nodeName&&this.beginPath(),this.moveTo(t,e),this.lineTo(t+r,e),this.lineTo(t+r,e+n),this.lineTo(t,e+n),this.lineTo(t,e),this.closePath()},a.prototype.fillRect=function(t,e,r,n){var i,o;i=this.__createElement("rect",{x:t,y:e,width:r,height:n},!0),o=this.__closestGroupOrSvg(),o.appendChild(i),this.__currentElement=i,this.__applyStyleToCurrentElement("fill")},a.prototype.strokeRect=function(t,e,r,n){var i,o;i=this.__createElement("rect",{x:t,y:e,width:r,height:n},!0),o=this.__closestGroupOrSvg(),o.appendChild(i),this.__currentElement=i,this.__applyStyleToCurrentElement("stroke")},a.prototype.__clearCanvas=function(){for(var t=this.__closestGroupOrSvg(),e=t.getAttribute("transform"),r=this.__root.childNodes[1],n=r.childNodes,i=n.length-1;i>=0;i--)n[i]&&r.removeChild(n[i]);this.__currentElement=r,this.__groupStack=[],e&&this.__addTransform(e)},a.prototype.clearRect=function(t,e,r,n){if(0===t&&0===e&&r===this.width&&n===this.height)return void this.__clearCanvas();var i,o=this.__closestGroupOrSvg();i=this.__createElement("rect",{x:t,y:e,width:r,height:n,fill:"#FFFFFF"},!0),o.appendChild(i)},a.prototype.createLinearGradient=function(t,e,n,i){var o=this.__createElement("linearGradient",{id:r(this.__ids),x1:t+"px",x2:n+"px",y1:e+"px",y2:i+"px",gradientUnits:"userSpaceOnUse"},!1);return this.__defs.appendChild(o),new l(o,this)},a.prototype.createRadialGradient=function(t,e,n,i,o,s){var a=this.__createElement("radialGradient",{id:r(this.__ids),cx:i+"px",cy:o+"px",r:s+"px",fx:t+"px",fy:e+"px",gradientUnits:"userSpaceOnUse"},!1);return this.__defs.appendChild(a),new l(a,this)},a.prototype.__parseFont=function(){var t=/^\s*(?=(?:(?:[-a-z]+\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\1|\2|\3)\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\d]+(?:\%|in|[cem]m|ex|p[ctx]))(?:\s*\/\s*(normal|[.\d]+(?:\%|in|[cem]m|ex|p[ctx])))?\s*([-,\'\"\sa-z0-9]+?)\s*$/i,e=t.exec(this.font),r={style:e[1]||"normal",size:e[4]||"10px",family:e[6]||"sans-serif",weight:e[3]||"normal",decoration:e[2]||"normal",href:null};return"underline"===this.__fontUnderline&&(r.decoration="underline"),this.__fontHref&&(r.href=this.__fontHref),r},a.prototype.__wrapTextLink=function(t,e){if(t.href){var r=this.__createElement("a");return r.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",t.href),r.appendChild(e),r}return e},a.prototype.__applyText=function(t,e,r,n){var s=this.__parseFont(),a=this.__closestGroupOrSvg(),l=this.__createElement("text",{"font-family":s.family,"font-size":s.size,"font-style":s.style,"font-weight":s.weight,"text-decoration":s.decoration,x:e,y:r,"text-anchor":i(this.textAlign),"dominant-baseline":o(this.textBaseline)},!0);l.appendChild(this.__document.createTextNode(t)),this.__currentElement=l,this.__applyStyleToCurrentElement(n),a.appendChild(this.__wrapTextLink(s,l))},a.prototype.fillText=function(t,e,r){this.__applyText(t,e,r,"fill")},a.prototype.strokeText=function(t,e,r){this.__applyText(t,e,r,"stroke")},a.prototype.measureText=function(t){return this.__ctx.font=this.font,this.__ctx.measureText(t)},a.prototype.arc=function(e,r,n,i,o,s){if(i!==o){i%=2*Math.PI,o%=2*Math.PI,i===o&&(o=(o+2*Math.PI-.001*(s?-1:1))%(2*Math.PI));var a=e+n*Math.cos(o),l=r+n*Math.sin(o),u=e+n*Math.cos(i),c=r+n*Math.sin(i),_=s?0:1,h=0,p=o-i;pMath.PI?0:1:p>Math.PI?1:0,this.lineTo(u,c),this.__addPathCommand(t("A {rx} {ry} {xAxisRotation} {largeArcFlag} {sweepFlag} {endX} {endY}",{rx:n,ry:n,xAxisRotation:0,largeArcFlag:h,sweepFlag:_,endX:a,endY:l})),this.__currentPosition={x:a,y:l}}},a.prototype.clip=function(){var e=this.__closestGroupOrSvg(),n=this.__createElement("clipPath"),i=r(this.__ids),o=this.__createElement("g");this.__applyCurrentDefaultPath(),e.removeChild(this.__currentElement),n.setAttribute("id",i),n.appendChild(this.__currentElement),this.__defs.appendChild(n),e.setAttribute("clip-path",t("url(#{id})",{id:i})),e.appendChild(o),this.__currentElement=o},a.prototype.drawImage=function(){var t,e,r,n,i,o,s,l,u,c,_,h,p,d,f,y=Array.prototype.slice.call(arguments),m=y[0],v=0,g=0;if(3===y.length)t=y[1],e=y[2],i=m.width,o=m.height,r=i,n=o;else if(5===y.length)t=y[1],e=y[2],r=y[3],n=y[4],i=m.width,o=m.height;else{if(9!==y.length)throw new Error("Inavlid number of arguments passed to drawImage: "+arguments.length);v=y[1],g=y[2],i=y[3],o=y[4],t=y[5],e=y[6],r=y[7],n=y[8]}s=this.__closestGroupOrSvg(),_=this.__currentElement;var b="translate("+t+", "+e+")";if(m instanceof a){if(l=m.getSvg().cloneNode(!0),l.childNodes&&l.childNodes.length>1){for(u=l.childNodes[0];u.childNodes.length;)f=u.childNodes[0].getAttribute("id"),this.__ids[f]=f,this.__defs.appendChild(u.childNodes[0]);if(c=l.childNodes[1]){var w,x=c.getAttribute("transform");w=x?x+" "+b:b,c.setAttribute("transform",w),s.appendChild(c)}}}else"IMG"===m.nodeName?(h=this.__createElement("image"),h.setAttribute("width",r),h.setAttribute("height",n),h.setAttribute("preserveAspectRatio","none"),(v||g||i!==m.width||o!==m.height)&&(p=this.__document.createElement("canvas"),p.width=r,p.height=n,d=p.getContext("2d"),d.drawImage(m,v,g,i,o,0,0,r,n),m=p),h.setAttribute("transform",b),h.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href","CANVAS"===m.nodeName?m.toDataURL():m.getAttribute("src")),s.appendChild(h)):"CANVAS"===m.nodeName&&(h=this.__createElement("image"),h.setAttribute("width",r),h.setAttribute("height",n),h.setAttribute("preserveAspectRatio","none"),p=this.__document.createElement("canvas"),p.width=r,p.height=n,d=p.getContext("2d"),d.imageSmoothingEnabled=!1,d.mozImageSmoothingEnabled=!1,d.oImageSmoothingEnabled=!1,d.webkitImageSmoothingEnabled=!1,d.drawImage(m,v,g,i,o,0,0,r,n),m=p,h.setAttribute("transform",b),h.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",m.toDataURL()),s.appendChild(h))},a.prototype.createPattern=function(t,e){var n,i=this.__document.createElementNS("http://www.w3.org/2000/svg","pattern"),o=r(this.__ids);return i.setAttribute("id",o),i.setAttribute("width",t.width),i.setAttribute("height",t.height),"CANVAS"===t.nodeName||"IMG"===t.nodeName?(n=this.__document.createElementNS("http://www.w3.org/2000/svg","image"),n.setAttribute("width",t.width),n.setAttribute("height",t.height),n.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href","CANVAS"===t.nodeName?t.toDataURL():t.getAttribute("src")),i.appendChild(n),this.__defs.appendChild(i)):t instanceof a&&(i.appendChild(t.__root.childNodes[1]),this.__defs.appendChild(i)),new u(i,this)},a.prototype.setLineDash=function(t){t&&t.length>0?this.lineDash=t.join(","):this.lineDash=null},a.prototype.drawFocusRing=function(){},a.prototype.createImageData=function(){},a.prototype.getImageData=function(){},a.prototype.putImageData=function(){},a.prototype.globalCompositeOperation=function(){},a.prototype.setTransform=function(){},"object"==typeof window&&(window.C2S=a),"object"==typeof e&&"object"==typeof e.exports&&(e.exports=a)}()},function(t,e,r){"use strict";var n,i=t(270),o=t(280),s=t(284),a=t(279),l=t(284),u=t(286),c=Function.prototype.bind,_=Object.defineProperty,h=Object.prototype.hasOwnProperty;n=function(t,e,r){var n,o=u(e)&&l(e.value);return n=i(e),delete n.writable,delete n.value,n.get=function(){return!r.overwriteDefinition&&h.call(this,t)?o:(e.value=c.call(o,r.resolveContext?r.resolveContext(this):this),_(this,t,e),this[t])},n},e.exports=function(t){var e=o(arguments[1]);return null!=e.resolveContext&&s(e.resolveContext),a(t,function(t,r){return n(r,t,e)})}},function(t,e,r){"use strict";var n,i=t(267),o=t(280),s=t(273),a=t(287);n=e.exports=function(t,e){var r,n,s,l,u;return arguments.length=0?u(c):i(this.length)-u(l(c)),e=c;e=55296&&v0?1:-1}},function(t,e,r){"use strict";e.exports=t(262)()?Number.isNaN:t(263)},function(t,e,r){"use strict";e.exports=function(){var t=Number.isNaN;return"function"==typeof t&&(!t({})&&t(NaN)&&!t(34))}},function(t,e,r){"use strict";e.exports=function(t){return t!==t}},function(t,e,r){"use strict";var n=t(258),i=Math.abs,o=Math.floor;e.exports=function(t){return isNaN(t)?0:(t=Number(t),0!==t&&isFinite(t)?n(t)*o(i(t)):t)}},function(t,e,r){"use strict";var n=t(264),i=Math.max;e.exports=function(t){return i(0,n(t))}},function(t,e,r){"use strict";var n=t(284),i=t(286),o=Function.prototype.bind,s=Function.prototype.call,a=Object.keys,l=Object.prototype.propertyIsEnumerable;e.exports=function(t,e){return function(r,u){var c,_=arguments[2],h=arguments[3];return r=Object(i(r)),n(u),c=a(r),h&&c.sort("function"==typeof h?o.call(h,r):void 0),"function"!=typeof t&&(t=c[t]),s.call(t,c,function(t,n){return l.call(r,t)?s.call(u,_,r[t],t,r,n):e})}}},function(t,e,r){"use strict";e.exports=t(268)()?Object.assign:t(269)},function(t,e,r){"use strict";e.exports=function(){var t,e=Object.assign;return"function"==typeof e&&(t={foo:"raz"},e(t,{bar:"dwa"},{trzy:"trzy"}),t.foo+t.bar+t.trzy==="razdwatrzy")}},function(t,e,r){"use strict";var n=t(276),i=t(286),o=Math.max;e.exports=function(t,e){var r,s,a,l=o(arguments.length,2);for(t=Object(i(t)),a=function(n){try{t[n]=e[n]}catch(i){r||(r=i)}},s=1;s-1}},function(t,e,r){"use strict";var n=Object.prototype.toString,i=n.call("");e.exports=function(t){return"string"==typeof t||t&&"object"==typeof t&&(t instanceof String||n.call(t)===i)||!1}},function(t,e,r){"use strict";var n=Object.create(null),i=Math.random;e.exports=function(){var t;do t=i().toString(36).slice(2);while(n[t]);return t}},function(t,e,r){"use strict";var n,i=t(281),o=t(287),s=t(248),a=t(295),l=Object.defineProperty;n=e.exports=function(t,e){return this instanceof n?(a.call(this,t),e=e?o.call(e,"key+value")?"key+value":o.call(e,"key")?"key":"value":"value",void l(this,"__kind__",s("",e))):new n(t,e)},i&&i(n,a),n.prototype=Object.create(a.prototype,{constructor:s(n),_resolve:s(function(t){return"value"===this.__kind__?this.__list__[t]:"key+value"===this.__kind__?[t,this.__list__[t]]:t}),toString:s(function(){return"[object Array Iterator]"})})},function(t,e,r){"use strict";var n=t(254),i=t(284),o=t(290),s=t(294),a=Array.isArray,l=Function.prototype.call,u=Array.prototype.some;e.exports=function(t,e){var r,c,_,h,p,d,f,y,m=arguments[2];if(a(t)||n(t)?r="array":o(t)?r="string":t=s(t),i(e),_=function(){h=!0},"array"===r)return void u.call(t,function(t){if(l.call(e,m,t,_),h)return!0});if("string"!==r)for(c=t.next();!c.done;){if(l.call(e,m,c.value,_),h)return;c=t.next()}else for(d=t.length,p=0;p=55296&&y=this.__nextIndex__)){if(++this.__nextIndex__,!this.__redo__)return void _(this,"__redo__",l("c",[t]));this.__redo__.forEach(function(e,r){e>=t&&(this.__redo__[r]=++e)},this),this.__redo__.push(t)}}),_onDelete:l(function(t){var e;t>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(e=this.__redo__.indexOf(t),e!==-1&&this.__redo__.splice(e,1),this.__redo__.forEach(function(e,r){e>t&&(this.__redo__[r]=--e)},this)))}),_onClear:l(function(){this.__redo__&&i.call(this.__redo__),this.__nextIndex__=0})}))),_(n.prototype,c.iterator,l(function(){return this})),_(n.prototype,c.toStringTag,l("","Iterator"))},function(t,e,r){"use strict";var n=t(254),i=t(290),o=t(305).iterator,s=Array.isArray;e.exports=function(t){return null!=t&&(!!s(t)||(!!i(t)||(!!n(t)||"function"==typeof t[o])))}},function(t,e,r){"use strict";var n,i=t(281),o=t(248),s=t(295),a=Object.defineProperty;n=e.exports=function(t){return this instanceof n?(t=String(t),s.call(this,t),void a(this,"__length__",o("",t.length))):new n(t)},i&&i(n,s),n.prototype=Object.create(s.prototype,{constructor:o(n),_next:o(function(){if(this.__list__)return this.__nextIndex__=55296&&e\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=e.console&&(e.console.warn||e.console.log);return o&&o.call(e.console,i,n),t.apply(this,arguments)}}function c(t,e,r){var n,i=e.prototype;n=t.prototype=Object.create(i),n.constructor=t,n._super=i,r&&pt(n,r)}function _(t,e){return function(){return t.apply(e,arguments)}}function h(t,e){return typeof t==yt?t.apply(e?e[0]||o:o,e):t}function p(t,e){return t===o?e:t}function d(t,e,r){l(v(e),function(e){t.addEventListener(e,r,!1)})}function f(t,e,r){l(v(e),function(e){t.removeEventListener(e,r,!1)})}function y(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function m(t,e){return t.indexOf(e)>-1}function v(t){return t.trim().split(/\s+/g)}function g(t,e,r){if(t.indexOf&&!r)return t.indexOf(e);for(var n=0;nr[e]}):n.sort()),n}function x(t,e){for(var r,n,i=e[0].toUpperCase()+e.slice(1),s=0;s1&&!r.firstMultiple?r.firstMultiple=j(e):1===i&&(r.firstMultiple=!1);var o=r.firstInput,s=r.firstMultiple,a=s?s.center:o.center,l=e.center=z(n);e.timeStamp=gt(),e.deltaTime=e.timeStamp-o.timeStamp,e.angle=F(a,l),e.distance=D(a,l),A(r,e),e.offsetDirection=N(e.deltaX,e.deltaY);var u=C(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=u.x,e.overallVelocityY=u.y,e.overallVelocity=vt(u.x)>vt(u.y)?u.x:u.y,e.scale=s?B(s.pointers,n):1,e.rotation=s?I(s.pointers,n):0,e.maxPointers=r.prevInput?e.pointers.length>r.prevInput.maxPointers?e.pointers.length:r.prevInput.maxPointers:e.pointers.length,E(r,e);var c=t.element;y(e.srcEvent.target,c)&&(c=e.srcEvent.target),e.target=c}function A(t,e){var r=e.center,n=t.offsetDelta||{},i=t.prevDelta||{},o=t.prevInput||{};e.eventType!==zt&&o.eventType!==Nt||(i=t.prevDelta={x:o.deltaX||0,y:o.deltaY||0},n=t.offsetDelta={x:r.x,y:r.y}),e.deltaX=i.x+(r.x-n.x),e.deltaY=i.y+(r.y-n.y)}function E(t,e){var r,n,i,s,a=t.lastInterval||e,l=e.timeStamp-a.timeStamp;if(e.eventType!=Dt&&(l>jt||a.velocity===o)){var u=e.deltaX-a.deltaX,c=e.deltaY-a.deltaY,_=C(l,u,c);n=_.x,i=_.y,r=vt(_.x)>vt(_.y)?_.x:_.y,s=N(u,c),t.lastInterval=e}else r=a.velocity,n=a.velocityX,i=a.velocityY,s=a.direction;e.velocity=r,e.velocityX=n,e.velocityY=i,e.direction=s}function j(t){for(var e=[],r=0;r=vt(e)?t-1&&n.splice(t,1)};setTimeout(i,ie)}}function H(t){for(var e=t.srcEvent.clientX,r=t.srcEvent.clientY,n=0;n-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){function e(e){r.manager.emit(e,t)}var r=this,n=this.state;n=ve&&e(r.options.event+K(n))},tryEmit:function(t){return this.canEmit()?this.emit(t):void(this.state=we)},canEmit:function(){for(var t=0;te.threshold&&i&e.direction},attrTest:function(t){return rt.prototype.attrTest.call(this,t)&&(this.state&ye||!(this.state&ye)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=tt(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),c(it,rt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[_e]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&ye)},emit:function(t){if(1!==t.scale){var e=t.scalee.time;if(this._input=t,!n||!r||t.eventType&(Nt|Dt)&&!i)this.reset();else if(t.eventType&zt)this.reset(),this._timer=s(function(){this.state=ge,this.tryEmit()},e.time,this);else if(t.eventType&Nt)return ge;return we},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===ge&&(t&&t.eventType&Nt?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=gt(),this.manager.emit(this.options.event,this._input)))}}),c(st,rt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[_e]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&ye)}}),c(at,rt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Vt|Gt,pointers:1},getTouchAction:function(){return nt.prototype.getTouchAction.call(this)},attrTest:function(t){var e,r=this.options.direction;return r&(Vt|Gt)?e=t.overallVelocity:r&Vt?e=t.overallVelocityX:r&Gt&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&r&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&vt(e)>this.options.velocity&&t.eventType&Nt},emit:function(t){var e=tt(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),c(lt,Z,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[ce]},process:function(t){var e=this.options,r=t.pointers.length===e.pointers,n=t.distance=";case n.Eq:return"=="}};return this._expression+" "+e()+" 0"},Object.defineProperty(t.prototype,"id",{get:function(){return this._id},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"expression",{get:function(){return this._expression},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"op",{get:function(){return this._operator},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"strength",{get:function(){return this._strength},enumerable:!0,configurable:!0}),t}();r.Constraint=o;var s=0},function(t,e,r){"use strict";function n(t){for(var e=0,r=function(){return 0},n=s.createMap(o.Variable.Compare),i=0,a=t.length;i=0?" + "+l+a:" - "+-l+a}var u=this.constant;return u0&&(r+=" + "+u),r},Object.defineProperty(t.prototype,"terms",{get:function(){return this._terms},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"constant",{get:function(){return this._constant},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"value",{get:function(){var t=this._constant;return i.forEach(this._terms,function(e){t+=e.first.value*e.second}),t},enumerable:!0,configurable:!0}),t}();r.Expression=a},function(t,e,r){"use strict";/*----------------------------------------------------------------------------- | Copyright (c) 2014, Nucleic Development Team. | | Distributed under the terms of the Modified BSD License. | | The full license is in the file COPYING.txt, distributed with this software. |----------------------------------------------------------------------------*/ function n(t){for(var e in t)r.hasOwnProperty(e)||(r[e]=t[e])}Object.defineProperty(r,"__esModule",{value:!0}),n(t(328)),n(t(317)),n(t(316)),n(t(321)),n(t(320))},function(t,e,r){"use strict";function n(t){return new i.AssociativeArray(t)}/*----------------------------------------------------------------------------- | Copyright (c) 2014, Nucleic Development Team. | | Distributed under the terms of the Modified BSD License. | | The full license is in the file COPYING.txt, distributed with this software. |----------------------------------------------------------------------------*/ Object.defineProperty(r,"__esModule",{value:!0});var i=t(325);r.createMap=n},function(t,e,r){"use strict";function n(t){var e=1e-8;return t0&&a.type()!==f.Dummy){var u=this._objective.coefficientFor(a),c=u/l;c0;)n=s>>1,i=o+n,r(t[i],e)0))return!1;++i}}return!0}function l(t,e,r){var n=t.length,i=e.length;if(n>i)return!1;for(var o=0,s=0;o0?++s:(++o,++s)}return!(o0?(a.push(u),++i):(a.push(l),++n,++i)}for(;n0?++i:(a.push(l),++n,++i)}return a}function _(t,e,r){for(var n=0,i=0,o=t.length,s=e.length,a=[];n0?++i:(++n,++i)}for(;n0?(a.push(u),++i):(++n,++i)}for(;n0?(a.push(u.copy()),++i):(a.push(u.copy()),++n,++i)}for(;n=0},e.prototype.find=function(t){return l.binaryFind(this._array,t,this._wrapped)},e.prototype.setDefault=function(t,e){var r=this._array,n=l.lowerBound(r,t,this._wrapped);if(n===r.length){var i=new s.Pair(t,e());return r.push(i),i}var o=r[n];if(0!==this._compare(o.first,t)){var i=new s.Pair(t,e());return r.splice(n,0,i),i}return o},e.prototype.insert=function(t,e){var r=this._array,n=l.lowerBound(r,t,this._wrapped);if(n===r.length){var i=new s.Pair(t,e);return r.push(i),i}var o=r[n];if(0!==this._compare(o.first,t)){var i=new s.Pair(t,e);return r.splice(n,0,i),i}return o.second=e,o},e.prototype.update=function(t){var r=this;t instanceof e?this._array=i(this._array,t._array,this._compare):u.forEach(t,function(t){r.insert(t.first,t.second)})},e.prototype.erase=function(t){var e=this._array,r=l.binarySearch(e,t,this._wrapped);if(!(r0&&(a+="."+i(e)),a}function s(t,e,r,n){var i,s,a=Math.pow(10,e);return s=t.toFixed(0).search("e")>-1?o(t,e):(r(t*a)/a).toFixed(e),n&&(i=new RegExp("0{1,"+n+"}$"),s=s.replace(i,"")),s}function a(t,e,r){var n;return n=e.indexOf("$")>-1?l(t,e,r):e.indexOf("%")>-1?u(t,e,r):e.indexOf(":")>-1?c(t):_(t,e,r)}function l(t,e,r){var n,i,o=e,s=o.indexOf("$"),a=o.indexOf("("),l=o.indexOf("+"),u=o.indexOf("-"),c="",h="";if(o.indexOf("$")===-1?"infix"===m[g].currency.position?(h=m[g].currency.symbol,m[g].currency.spaceSeparated&&(h=" "+h+" ")):m[g].currency.spaceSeparated&&(c=" "):o.indexOf(" $")>-1?(c=" ",o=o.replace(" $","")):o.indexOf("$ ")>-1?(c=" ",o=o.replace("$ ","")):o=o.replace("$",""),i=_(t,o,r,h),e.indexOf("$")===-1)switch(m[g].currency.position){case"postfix":i.indexOf(")")>-1?(i=i.split(""),i.splice(-1,0,c+m[g].currency.symbol),i=i.join("")):i=i+c+m[g].currency.symbol;break;case"infix":break;case"prefix":i.indexOf("(")>-1||i.indexOf("-")>-1?(i=i.split(""),n=Math.max(a,u)+1,i.splice(n,0,m[g].currency.symbol+c),i=i.join("")):i=m[g].currency.symbol+c+i;break;default:throw Error('Currency position should be among ["prefix", "infix", "postfix"]')}else s-1||i.indexOf("+")>-1||i.indexOf("-")>-1?(i=i.split(""),n=1,(s-1?(i=i.split(""),i.splice(-1,0,c+m[g].currency.symbol),i=i.join("")):i=i+c+m[g].currency.symbol;return i}function u(t,e,r){var n,i="";return t=100*t,e.indexOf(" %")>-1?(i=" ",e=e.replace(" %","")):e=e.replace("%",""),n=_(t,e,r),n.indexOf(")")>-1?(n=n.split(""),n.splice(-1,0,i+"%"),n=n.join("")):n=n+i+"%",n}function c(t){var e=Math.floor(t/60/60),r=Math.floor((t-60*e*60)/60),n=Math.round(t-60*e*60-60*r);return e+":"+(r-1?(T=!0,e=e.slice(1,-1)):e.indexOf("+")>-1&&(O=!0,e=e.replace(/\+/g,"")),e.indexOf("a")>-1){if(d=e.split(".")[0].match(/[0-9]+/g)||["0"],d=parseInt(d[0],10),E=e.indexOf("aK")>=0,j=e.indexOf("aM")>=0,z=e.indexOf("aB")>=0,C=e.indexOf("aT")>=0,N=E||j||z||C,e.indexOf(" a")>-1?(A=" ",e=e.replace(" a","")):e=e.replace("a",""),u=Math.floor(Math.log(I)/Math.LN10)+1,_=u%3,_=0===_?3:_,d&&0!==I&&(c=Math.floor(Math.log(I)/Math.LN10)+1-d,h=3*~~((Math.min(d,u)-_)/3),I/=Math.pow(10,h),e.indexOf(".")===-1&&d>3))for(e+="[.]",k=0===c?0:3*~~(c/3)-c,k=k=Math.pow(10,12)&&!N||C?(A+=m[g].abbreviations.trillion,t/=Math.pow(10,12)):I=Math.pow(10,9)&&!N||z?(A+=m[g].abbreviations.billion,t/=Math.pow(10,9)):I=Math.pow(10,6)&&!N||j?(A+=m[g].abbreviations.million,t/=Math.pow(10,6)):(I=Math.pow(10,3)&&!N||E)&&(A+=m[g].abbreviations.thousand,t/=Math.pow(10,3)))}if(e.indexOf("b")>-1)for(e.indexOf(" b")>-1?(D=" ",e=e.replace(" b","")):e=e.replace("b",""),l=0;l=o&&t0&&(t/=o);break}if(e.indexOf("d")>-1)for(e.indexOf(" d")>-1?(D=" ",e=e.replace(" d","")):e=e.replace("d",""),l=0;l=o&&t0&&(t/=o);break}if(e.indexOf("o")>-1&&(e.indexOf(" o")>-1?(F=" ",e=e.replace(" o","")):e=e.replace("o",""),m[g].ordinal&&(F+=m[g].ordinal(t))),e.indexOf("[.]")>-1&&(P=!0,e=e.replace("[.]",".")),p=t.toString().split(".")[0],f=e.split(".")[1],w=e.indexOf(","),f){if(f.indexOf("*")!==-1?L=s(t,t.toString().split(".")[1].length,r):f.indexOf("[")>-1?(f=f.replace("]",""),f=f.split("["),L=s(t,f[0].length+f[1].length,r,f[1].length)):L=s(t,f.length,r),p=L.split(".")[0],L.split(".")[1].length){var W=n?A+n:m[g].delimiters.decimal;L=W+L.split(".")[1]}else L="";P&&0===Number(L.slice(1))&&(L="")}else p=s(t,null,r);return p.indexOf("-")>-1&&(p=p.slice(1),G=!0),p.length-1&&(p=p.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1"+m[g].delimiters.thousands)),0===e.indexOf(".")&&(p=""),x=e.indexOf("("),M=e.indexOf("-"),U=x2)&&(o.length2&&(e.z=t[2]),t.length>3&&(e.m=t[3]),e}},function(t,e,r){var n=Math.PI/2;e.exports=function(t,e,r){var i=t*r,o=.5*t;return i=Math.pow((1-i)/(1+i),o),Math.tan(.5*(n-e))/i}},function(t,e,r){r.wgs84={towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"},r.ch1903={towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"},r.ggrs87={towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},r.nad83={towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},r.nad27={nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},r.potsdam={towgs84:"606.0,23.0,413.0",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},r.carthage={towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},r.hermannskogel={towgs84:"653.0,-212.0,449.0",ellipse:"bessel",datumName:"Hermannskogel"},r.ire65={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},r.rassadiran={towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"},r.nzgd49={towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},r.osgb36={towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"},r.s_jtsk={towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"},r.beduaram={towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"},r.gunung_segara={towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"},r.rnb72={towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"}},function(t,e,r){r.MERIT={a:6378137,rf:298.257,ellipseName:"MERIT 1983"},r.SGS85={a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},r.GRS80={a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},r.IAU76={a:6378140,rf:298.257,ellipseName:"IAU 1976"},r.airy={a:6377563.396,b:6356256.91,ellipseName:"Airy 1830"},r.APL4={a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},r.NWL9D={a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},r.mod_airy={a:6377340.189,b:6356034.446,ellipseName:"Modified Airy"},r.andrae={a:6377104.43,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},r.aust_SA={a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},r.GRS67={a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},r.bessel={a:6377397.155,rf:299.1528128,ellipseName:"Bessel 1841"},r.bess_nam={a:6377483.865,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},r.clrk66={a:6378206.4,b:6356583.8,ellipseName:"Clarke 1866"},r.clrk80={a:6378249.145,rf:293.4663,ellipseName:"Clarke 1880 mod."},r.clrk58={a:6378293.645208759,rf:294.2606763692654,ellipseName:"Clarke 1858"},r.CPM={a:6375738.7,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},r.delmbr={a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},r.engelis={a:6378136.05,rf:298.2566,ellipseName:"Engelis 1985"},r.evrst30={a:6377276.345,rf:300.8017,ellipseName:"Everest 1830"},r.evrst48={a:6377304.063,rf:300.8017,ellipseName:"Everest 1948"},r.evrst56={a:6377301.243,rf:300.8017,ellipseName:"Everest 1956"},r.evrst69={a:6377295.664,rf:300.8017,ellipseName:"Everest 1969"},r.evrstSS={a:6377298.556,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},r.fschr60={a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},r.fschr60m={a:6378155,rf:298.3,ellipseName:"Fischer 1960"},r.fschr68={a:6378150,rf:298.3,ellipseName:"Fischer 1968"},r.helmert={a:6378200,rf:298.3,ellipseName:"Helmert 1906"},r.hough={a:6378270,rf:297,ellipseName:"Hough"},r.intl={a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},r.kaula={a:6378163,rf:298.24,ellipseName:"Kaula 1961"},r.lerch={a:6378139,rf:298.257,ellipseName:"Lerch 1979"},r.mprts={a:6397300,rf:191,ellipseName:"Maupertius 1738"},r.new_intl={a:6378157.5,b:6356772.2,ellipseName:"New International 1967"},r.plessis={a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},r.krass={a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},r.SEasia={a:6378155,b:6356773.3205,ellipseName:"Southeast Asia"},r.walbeck={a:6376896,b:6355834.8467,ellipseName:"Walbeck"},r.WGS60={a:6378165,rf:298.3,ellipseName:"WGS 60"},r.WGS66={a:6378145,rf:298.25,ellipseName:"WGS 66"},r.WGS7={a:6378135,rf:298.26,ellipseName:"WGS 72"},r.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"},r.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"}},function(t,e,r){r.greenwich=0,r.lisbon=-9.131906111111,r.paris=2.337229166667,r.bogota=-74.080916666667,r.madrid=-3.687938888889,r.rome=12.452333333333,r.bern=7.439583333333,r.jakarta=106.807719444444,r.ferro=-17.666666666667,r.brussels=4.367975,r.stockholm=18.058277777778,r.athens=23.7163375,r.oslo=10.722916666667},function(t,e,r){r.ft={to_meter:.3048},r["us-ft"]={to_meter:1200/3937}},function(t,e,r){function n(t,e,r){var n;return Array.isArray(r)?(n=a(t,e,r),3===r.length?[n.x,n.y,n.z]:[n.x,n.y]):a(t,e,r)}function i(t){return t instanceof s?t:t.oProj?t.oProj:s(t)}function o(t,e,r){t=i(t);var o,s=!1;return"undefined"==typeof e?(e=t,t=l,s=!0):("undefined"!=typeof e.x||Array.isArray(e))&&(r=e,e=t,t=l,s=!0),e=i(e),r?n(t,e,r):(o={forward:function(r){return n(t,e,r)},inverse:function(r){return n(e,t,r)}},s&&(o.oProj=e),o)}var s=t(330),a=t(355),l=s("WGS84");e.exports=o},function(t,e,r){function n(t,e,r,n,u,c){var _={};return _.datum_type=s,t&&"none"===t&&(_.datum_type=a),e&&(_.datum_params=e.map(parseFloat),0===_.datum_params[0]&&0===_.datum_params[1]&&0===_.datum_params[2]||(_.datum_type=i),_.datum_params.length>3&&(0===_.datum_params[3]&&0===_.datum_params[4]&&0===_.datum_params[5]&&0===_.datum_params[6]||(_.datum_type=o,_.datum_params[3]*=l,_.datum_params[4]*=l,_.datum_params[5]*=l,_.datum_params[6]=_.datum_params[6]/1e6+1))),_.a=r,_.b=n,_.es=u,_.ep2=c,_}var i=1,o=2,s=4,a=5,l=484813681109536e-20;e.exports=n},function(t,e,r){"use strict";var n=1,i=2,o=Math.PI/2;r.compareDatums=function(t,e){return t.datum_type===e.datum_type&&(!(t.a!==e.a||Math.abs(this.es-e.es)>5e-11)&&(t.datum_type===n?this.datum_params[0]===e.datum_params[0]&&t.datum_params[1]===e.datum_params[1]&&t.datum_params[2]===e.datum_params[2]:t.datum_type!==i||t.datum_params[0]===e.datum_params[0]&&t.datum_params[1]===e.datum_params[1]&&t.datum_params[2]===e.datum_params[2]&&t.datum_params[3]===e.datum_params[3]&&t.datum_params[4]===e.datum_params[4]&&t.datum_params[5]===e.datum_params[5]&&t.datum_params[6]===e.datum_params[6]))},r.geodeticToGeocentric=function(t,e,r){var n,i,s,a,l=t.x,u=t.y,c=t.z?t.z:0;if(u-1.001*o)u=-o;else if(u>o&&uo)return null;return l>Math.PI&&(l-=2*Math.PI),i=Math.sin(u),a=Math.cos(u),s=i*i,n=r/Math.sqrt(1-e*s),{x:(n+c)*a*Math.cos(l),y:(n+c)*a*Math.sin(l),z:(n*(1-e)+c)*i}},r.geocentricToGeodetic=function(t,e,r,n){var i,s,a,l,u,c,_,h,p,d,f,y,m,v,g,b,w=1e-12,x=w*w,k=30,M=t.x,S=t.y,T=t.z?t.z:0;if(i=Math.sqrt(M*M+S*S),s=Math.sqrt(M*M+S*S+T*T),i/rx&&m-1})}function s(t){return"+"===t[0]}function a(t){return n(t)?i(t)?l[t]:o(t)?u(t):s(t)?c(t):void 0:t}var l=t(346),u=t(356),c=t(351),_=["GEOGCS","GEOCCS","PROJCS","LOCAL_CS"];e.exports=a},function(t,e,r){var n=.017453292519943295,i=t(340),o=t(341);e.exports=function(t){var e,r,s,a={},l=t.split("+").map(function(t){return t.trim()}).filter(function(t){return t}).reduce(function(t,e){var r=e.split("=");return r.push(!0),t[r[0].toLowerCase()]=r[1],t},{}),u={proj:"projName",datum:"datumCode",rf:function(t){a.rf=parseFloat(t)},lat_0:function(t){a.lat0=t*n},lat_1:function(t){a.lat1=t*n},lat_2:function(t){a.lat2=t*n},lat_ts:function(t){a.lat_ts=t*n},lon_0:function(t){a.long0=t*n},lon_1:function(t){a.long1=t*n},lon_2:function(t){a.long2=t*n},alpha:function(t){a.alpha=parseFloat(t)*n},lonc:function(t){a.longc=t*n},x_0:function(t){a.x0=parseFloat(t)},y_0:function(t){a.y0=parseFloat(t)},k_0:function(t){a.k0=parseFloat(t)},k:function(t){a.k0=parseFloat(t)},a:function(t){a.a=parseFloat(t)},b:function(t){a.b=parseFloat(t)},r_a:function(){a.R_A=!0},zone:function(t){a.zone=parseInt(t,10)},south:function(){a.utmSouth=!0},towgs84:function(t){a.datum_params=t.split(",").map(function(t){return parseFloat(t)})},to_meter:function(t){a.to_meter=parseFloat(t)},units:function(t){a.units=t,o[t]&&(a.to_meter=o[t].to_meter)},from_greenwich:function(t){a.from_greenwich=t*n},pm:function(t){a.from_greenwich=(i[t]?i[t]:parseFloat(t))*n},nadgrids:function(t){"@null"===t?a.datumCode="none":a.nadgrids=t},axis:function(t){var e="ewnsud";3===t.length&&e.indexOf(t.substr(0,1))!==-1&&e.indexOf(t.substr(1,1))!==-1&&e.indexOf(t.substr(2,1))!==-1&&(a.axis=t)}};for(e in l)r=l[e],e in u?(s=u[e],"function"==typeof s?s(r):a[s]=r):a[e]=r;return"string"==typeof a.datumCode&&"WGS84"!==a.datumCode&&(a.datumCode=a.datumCode.toLowerCase()),a}},function(t,e,r){function n(t,e){var r=s.length;return t.names?(s[r]=t,t.names.forEach(function(t){o[t.toLowerCase()]=r}),this):(console.log(e),!0)}var i=[t(354),t(353)],o={},s=[];r.add=n,r.get=function(t){if(!t)return!1;var e=t.toLowerCase();return"undefined"!=typeof o[e]&&s[o[e]]?s[o[e]]:void 0},r.start=function(){i.forEach(n)}},function(t,e,r){function n(t){return t}r.init=function(){},r.forward=n,r.inverse=n,r.names=["longlat","identity"]},function(t,e,r){var n=t(333),i=Math.PI/2,o=1e-10,s=57.29577951308232,a=t(332),l=Math.PI/4,u=t(337),c=t(334);r.init=function(){var t=this.b/this.a;this.es=1-t*t,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=n(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)},r.forward=function(t){var e=t.x,r=t.y;if(r*s>90&&r*s180&&e*s-1?(e[r]={name:t[0].toLowerCase(),convert:t[1]},3===t.length&&(e[r].auth=t[2])):"SPHEROID"===r?(e[r]={name:t[0],a:t[1],rf:t[2]},4===t.length&&(e[r].auth=t[3])):["GEOGCS","GEOCCS","DATUM","VERT_CS","COMPD_CS","LOCAL_CS","FITTED_CS","LOCAL_DATUM"].indexOf(r)>-1?(t[0]=["name",t[0]],n(e,r,t)):t.every(function(t){return Array.isArray(t)})?n(e,r,t):i(t,e[r])):e[r]=!0,void 0):void(e[t]=!0)}function o(t,e){var r=e[0],n=e[1];!(r in t)&&n in t&&(t[r]=t[n],3===e.length&&(t[r]=e[2](t[r])))}function s(t){return t*l}function a(t){function e(e){var r=t.to_meter||1;return parseFloat(e,10)*r}"GEOGCS"===t.type?t.projName="longlat":"LOCAL_CS"===t.type?(t.projName="identity",t.local=!0):"object"==typeof t.PROJECTION?t.projName=Object.keys(t.PROJECTION)[0]:t.projName=t.PROJECTION,t.UNIT&&(t.units=t.UNIT.name.toLowerCase(),"metre"===t.units&&(t.units="meter"),t.UNIT.convert&&("GEOGCS"===t.type?t.DATUM&&t.DATUM.SPHEROID&&(t.to_meter=parseFloat(t.UNIT.convert,10)*t.DATUM.SPHEROID.a):t.to_meter=parseFloat(t.UNIT.convert,10))),t.GEOGCS&&(t.GEOGCS.DATUM?t.datumCode=t.GEOGCS.DATUM.name.toLowerCase():t.datumCode=t.GEOGCS.name.toLowerCase(),"d_"===t.datumCode.slice(0,2)&&(t.datumCode=t.datumCode.slice(2)),"new_zealand_geodetic_datum_1949"!==t.datumCode&&"new_zealand_1949"!==t.datumCode||(t.datumCode="nzgd49"),"wgs_1984"===t.datumCode&&("Mercator_Auxiliary_Sphere"===t.PROJECTION&&(t.sphere=!0),t.datumCode="wgs84"),"_ferro"===t.datumCode.slice(-6)&&(t.datumCode=t.datumCode.slice(0,-6)),"_jakarta"===t.datumCode.slice(-8)&&(t.datumCode=t.datumCode.slice(0,-8)),~t.datumCode.indexOf("belge")&&(t.datumCode="rnb72"),t.GEOGCS.DATUM&&t.GEOGCS.DATUM.SPHEROID&&(t.ellps=t.GEOGCS.DATUM.SPHEROID.name.replace("_19","").replace(/[Cc]larke\_18/,"clrk"),"international"===t.ellps.toLowerCase().slice(0,13)&&(t.ellps="intl"),t.a=t.GEOGCS.DATUM.SPHEROID.a,t.rf=parseFloat(t.GEOGCS.DATUM.SPHEROID.rf,10)),~t.datumCode.indexOf("osgb_1936")&&(t.datumCode="osgb36")),t.b&&!isFinite(t.b)&&(t.b=t.a);var r=function(e){return o(t,e)},n=[["standard_parallel_1","Standard_Parallel_1"],["standard_parallel_2","Standard_Parallel_2"],["false_easting","False_Easting"],["false_northing","False_Northing"],["central_meridian","Central_Meridian"],["latitude_of_origin","Latitude_Of_Origin"],["latitude_of_origin","Central_Parallel"],["scale_factor","Scale_Factor"],["k0","scale_factor"],["latitude_of_center","Latitude_of_center"],["lat0","latitude_of_center",s],["longitude_of_center","Longitude_Of_Center"],["longc","longitude_of_center",s],["x0","false_easting",e],["y0","false_northing",e],["long0","central_meridian",s],["lat0","latitude_of_origin",s],["lat0","standard_parallel_1",s],["lat1","standard_parallel_1",s],["lat2","standard_parallel_2",s],["alpha","azimuth",s],["srsCode","name"]];n.forEach(r),t.long0||!t.longc||"Albers_Conic_Equal_Area"!==t.projName&&"Lambert_Azimuthal_Equal_Area"!==t.projName||(t.long0=t.longc),t.lat_ts||!t.lat1||"Stereographic_South_Pole"!==t.projName&&"Polar Stereographic (variant B)"!==t.projName||(t.lat0=s(t.lat1>0?90:-90),t.lat_ts=t.lat1)}var l=.017453292519943295,u=t(348);e.exports=function(t,e){var r=JSON.parse((","+t).replace(/\s*\,\s*([A-Z_0-9]+?)(\[)/g,',["$1",').slice(1).replace(/\s*\,\s*([A-Z_0-9]+?)\]/g,',"$1"]').replace(/,\["VERTCS".+/,"")),n=r.shift(),o=r.shift();r.unshift(["name",o]),r.unshift(["type",n]),r.unshift("output");var s={};return i(r,s),a(s.output),u(e,s.output)}},function(t,e,r){"use strict";function n(t,e,r,s,a){for(r=r||0,s=s||t.length-1,a=a||o;s>r;){if(s-r>600){var l=s-r+1,u=e-r+1,c=Math.log(l),_=.5*Math.exp(2*c/3),h=.5*Math.sqrt(c*_*(l-_)/l)*(u-l/20&&i(t,r,s);y0;)m--}0===a(t[r],f)?i(t,r,m):(m++,i(t,m,s)),me?1:0}e.exports=n},function(t,e,r){"use strict";function n(t,e){return this instanceof n?(this._maxEntries=Math.max(4,t||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),e&&this._initFormat(e),void this.clear()):new n(t,e)}function i(t,e,r){if(!r)return e.indexOf(t);for(var n=0;n=t.minX&&e.maxY>=t.minY}function y(t){return{children:t,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-(1/0),maxY:-(1/0)}}function m(t,e,r,n,i){for(var o,s=[e,r];s.length;)r=s.pop(),e=s.pop(),r-e=0&&o[e].children.length>this._maxEntries;)this._split(o,e),e--;this._adjustParentBBoxes(i,o,e)},_split:function(t,e){var r=t[e],n=r.children.length,i=this._minEntries;this._chooseSplitAxis(r,i,n);var s=this._chooseSplitIndex(r,i,n),a=y(r.children.splice(s,r.children.length-s));a.height=r.height,a.leaf=r.leaf,o(r,this.toBBox),o(a,this.toBBox),e?t[e-1].children.push(a):this._splitRoot(r,a)},_splitRoot:function(t,e){this.data=y([t,e]),this.data.height=t.height+1,this.data.leaf=!1,o(this.data,this.toBBox)},_chooseSplitIndex:function(t,e,r){var n,i,o,a,l,u,_,h;for(u=_=1/0,n=e;n=e;i--)o=t.children[i],a(c,t.leaf?l(o):o),h+=_(c);return h},_adjustParentBBoxes:function(t,e,r){for(var n=r;n>=0;n--)a(e[n],t)},_condense:function(t){for(var e,r=t.length-1;r>=0;r--)0===t[r].children.length?r>0?(e=t[r-1].children,e.splice(e.indexOf(t[r]),1)):this.clear():o(t[r],this.toBBox)},_initFormat:function(t){var e=["return a"," - b",";"];this.compareMinX=new Function("a","b",e.join(t[0])),this.compareMinY=new Function("a","b",e.join(t[1])),this.toBBox=new Function("a","return {minX: a"+t[0]+", minY: a"+t[1]+", maxX: a"+t[2]+", maxY: a"+t[3]+"};")}}},function(e,r,n){!function(){"use strict";function e(t){return i(o(t),arguments)}function r(t,r){return e.apply(null,[t].concat(r||[]))}function i(t,r){var n,i,o,a,l,u,c,_,h,p=1,d=t.length,f="";for(i=0;i=0),a[8]){case"b":n=parseInt(n,10).toString(2);break;case"c":n=String.fromCharCode(parseInt(n,10));break;case"d":case"i":n=parseInt(n,10);break;case"j":n=JSON.stringify(n,null,a[6]?parseInt(a[6]):0);break;case"e":n=a[7]?parseFloat(n).toExponential(a[7]):parseFloat(n).toExponential();break;case"f":n=a[7]?parseFloat(n).toFixed(a[7]):parseFloat(n);break;case"g":n=a[7]?String(Number(n.toPrecision(a[7]))):parseFloat(n);break;case"o":n=(parseInt(n,10)>>>0).toString(8);break;case"s":n=String(n),n=a[7]?n.substring(0,a[7]):n;break;case"t":n=String(!!n),n=a[7]?n.substring(0,a[7]):n;break;case"T":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=a[7]?n.substring(0,a[7]):n;break;case"u":n=parseInt(n,10)>>>0;break;case"v":n=n.valueOf(),n=a[7]?n.substring(0,a[7]):n;break;case"x":n=(parseInt(n,10)>>>0).toString(16);break;case"X":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}s.json.test(a[8])?f+=n:(!s.number.test(a[8])||_&&!a[3]?h="":(h=_?"+":"-",n=n.toString().replace(s.sign,"")),u=a[4]?"0"===a[4]?"0":a[4].charAt(1):" ",c=a[6]-(h+n).length,l=a[6]&&c>0?u.repeat(c):"",f+=a[5]?h+n+l:"0"===u?h+l+n:l+h+n)}return f}function o(t){if(a[t])return a[t];for(var e,r=t,n=[],i=0;r;){if(null!==(e=s.text.exec(r)))n.push(e[0]);else if(null!==(e=s.modulo.exec(r)))n.push("%");else{if(null===(e=s.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){i|=1;var o=[],l=e[2],u=[];if(null===(u=s.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(o.push(u[1]);""!==(l=l.substring(u[0].length));)if(null!==(u=s.key_access.exec(l)))o.push(u[1]);else{if(null===(u=s.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");o.push(u[1])}e[2]=o}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push(e)}r=r.substring(e[0].length)}return a[t]=n}var s={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i, index_access:/^\[(\d+)\]/,sign:/^[\+\-]/},a=Object.create(null);"undefined"!=typeof n&&(n.sprintf=e,n.vsprintf=r),"undefined"!=typeof window&&(window.sprintf=e,window.vsprintf=r,"function"==typeof t&&t.amd&&t(function(){return{sprintf:e,vsprintf:r}}))}()},function(e,r,n){!function(e){"object"==typeof r&&r.exports?r.exports=e():"function"==typeof t?t(e):this.tz=e()}(function(){function t(t,e,r){var n,i=e.day[1];do n=new Date(Date.UTC(r,e.month,Math.abs(i++)));while(e.day[0]=p-d;--c)for(i=0,o=u.length;i=h[i][r]&&h[i][h[i].clock]>s[h[i].clock]&&(a=h[i])}return a&&((l=/^(.*)\/(.*)$/.exec(s.format))?a.abbrev=l[a.save?2:1]:a.abbrev=s.format.replace(/%s/,a.rule.letter)),a||s}function r(t,r){return"UTC"==t.zone?r:(t.entry=e(t,"posix",r),r+t.entry.offset+t.entry.save)}function n(t,r){if("UTC"==t.zone)return r;var n,i;return t.entry=n=e(t,"wallclock",r),i=r-n.wallclock,09)e+=a*_[l-10];else{if(o=new Date(r(t,e)),l=i?Math.floor((r-i)/7)+1:0}function a(t){var e,r,n;return r=t.getUTCFullYear(),e=new Date(Date.UTC(r,0)).getUTCDay(),n=s(t,1)+(e>1&&e=0;a--)(i=t[a])&&(s=(o3?i(e,r,s):i(e,r))||s);return o>3&&s&&Object.defineProperty(e,r,s),s},l=function(t,e){return function(r,n){e(r,n,t)}},u=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},c=function(t,e,r,n){return new(r||(r=Promise))(function(i,o){function s(t){try{l(n.next(t))}catch(e){o(e)}}function a(t){try{l(n["throw"](t))}catch(e){o(e)}}function l(t){t.done?i(t.value):new r(function(e){e(t.value)}).then(s,a)}l((n=n.apply(t,e||[])).next())})},_=function(t,e){function r(t){return function(e){return n([t,e])}}function n(r){if(i)throw new TypeError("Generator is already executing.");for(;l;)try{if(i=1,o&&(s=o[2&r[0]?"return":r[0]?"throw":"next"])&&!(s=s.call(o,r[1])).done)return s;switch(o=0,s&&(r=[0,s.value]),r[0]){case 0:case 1:s=r;break;case 4:return l.label++,{value:r[1],done:!1};case 5:l.label++,o=r[1],r=[0];continue;case 7:r=l.ops.pop(),l.trys.pop();continue;default:if(s=l.trys,!(s=s.length>0&&s[s.length-1])&&(6===r[0]||2===r[0])){l=0;continue}if(3===r[0]&&(!s||r[1]>s[0]&&r[1]=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}}},d=function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,i,o=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=o.next()).done;)s.push(n.value)}catch(a){i={error:a}}finally{try{n&&!n.done&&(r=o["return"])&&r.call(o)}finally{if(i)throw i.error}}return s},f=function(){for(var t=[],e=0;e1||i(t,e)})})}function i(t,e){try{o(c[t](e))}catch(r){l(_[0][3],r)}}function o(t){t.value instanceof y?Promise.resolve(t.value.v).then(s,a):l(_[0][2],t)}function s(t){i("next",t)}function a(t){i("throw",t)}function l(t,e){t(e),_.shift(),_.length&&i(_[0][0],_[0][1])}if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var u,c=r.apply(t,e||[]),_=[];return u={},n("next"),n("throw"),n("return"),u[Symbol.asyncIterator]=function(){return this},u},v=function(t){function e(e,i){t[e]&&(r[e]=function(r){return(n=!n)?{value:y(t[e](r)),done:"return"===e}:i?i(r):r})}var r,n;return r={},e("next"),e("throw",function(t){throw t}),e("return"),r[Symbol.iterator]=function(){return this},r},g=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator];return e?e.call(t):"function"==typeof p?p(t):t[Symbol.iterator]()},t("__extends",i),t("__assign",o),t("__rest",s),t("__decorate",a),t("__param",l),t("__metadata",u),t("__awaiter",c),t("__generator",_),t("__exportStar",h),t("__values",p),t("__read",d),t("__spread",f),t("__await",y),t("__asyncGenerator",m),t("__asyncDelegator",v),t("__asyncValues",g)})}],{base:0,"client/connection":1,"client/session":2,"core/bokeh_events":3,"core/build_views":4,"core/dom":5,"core/dom_view":6,"core/enums":7,"core/has_props":8,"core/hittest":9,"core/layout/layout_canvas":10,"core/layout/side_panel":11,"core/layout/solver":12,"core/logging":13,"core/properties":14,"core/property_mixins":15,"core/selection_manager":16,"core/selector":17,"core/settings":18,"core/signaling":19,"core/ui_events":20,"core/util/array":21,"core/util/bbox":22,"core/util/callback":23,"core/util/canvas":24,"core/util/color":25,"core/util/data_structures":26,"core/util/eq":27,"core/util/math":28,"core/util/object":29,"core/util/proj4":30,"core/util/projections":31,"core/util/refs":32,"core/util/selection":33,"core/util/serialization":34,"core/util/spatial":35,"core/util/string":36,"core/util/svg_colors":37,"core/util/templating":38,"core/util/text":39,"core/util/throttle":40,"core/util/types":41,"core/util/wheel":42,"core/util/zoom":43,"core/view":44,"core/visuals":45,document:46,embed:47,main:48,model:49,"models/annotations/annotation":50,"models/annotations/arrow":51,"models/annotations/arrow_head":52,"models/annotations/band":53,"models/annotations/box_annotation":54,"models/annotations/color_bar":55,"models/annotations/index":56,"models/annotations/label":57,"models/annotations/label_set":58,"models/annotations/legend":59,"models/annotations/legend_item":60,"models/annotations/poly_annotation":61,"models/annotations/span":62,"models/annotations/text_annotation":63,"models/annotations/title":64,"models/annotations/tooltip":65,"models/annotations/whisker":66,"models/axes/axis":67,"models/axes/categorical_axis":68,"models/axes/continuous_axis":69,"models/axes/datetime_axis":70,"models/axes/index":71,"models/axes/linear_axis":72,"models/axes/log_axis":73,"models/callbacks/customjs":74,"models/callbacks/index":75,"models/callbacks/open_url":76,"models/canvas/canvas":77,"models/canvas/cartesian_frame":78,"models/canvas/index":79,"models/expressions/expression":80,"models/expressions/index":81,"models/expressions/stack":82,"models/filters/boolean_filter":83,"models/filters/customjs_filter":84,"models/filters/filter":85,"models/filters/group_filter":86,"models/filters/index":87,"models/filters/index_filter":88,"models/formatters/basic_tick_formatter":89,"models/formatters/categorical_tick_formatter":90,"models/formatters/datetime_tick_formatter":91,"models/formatters/func_tick_formatter":92,"models/formatters/index":93,"models/formatters/log_tick_formatter":94,"models/formatters/mercator_tick_formatter":95,"models/formatters/numeral_tick_formatter":96,"models/formatters/printf_tick_formatter":97,"models/formatters/tick_formatter":98,"models/glyphs/annular_wedge":99,"models/glyphs/annulus":100,"models/glyphs/arc":101,"models/glyphs/bezier":102,"models/glyphs/box":103,"models/glyphs/circle":104,"models/glyphs/ellipse":105,"models/glyphs/glyph":106,"models/glyphs/hbar":107,"models/glyphs/image":108,"models/glyphs/image_rgba":109,"models/glyphs/image_url":110,"models/glyphs/index":111,"models/glyphs/line":112,"models/glyphs/multi_line":113,"models/glyphs/oval":114,"models/glyphs/patch":115,"models/glyphs/patches":116,"models/glyphs/quad":117,"models/glyphs/quadratic":118,"models/glyphs/ray":119,"models/glyphs/rect":120,"models/glyphs/segment":121,"models/glyphs/text":122,"models/glyphs/vbar":123,"models/glyphs/wedge":124,"models/glyphs/xy_glyph":125,"models/graphs/graph_hit_test_policy":126,"models/graphs/index":127,"models/graphs/layout_provider":128,"models/graphs/static_layout_provider":129,"models/grids/grid":130,"models/grids/index":131,"models/index":132,"models/layouts/box":133,"models/layouts/column":134,"models/layouts/index":135,"models/layouts/layout_dom":136,"models/layouts/row":137,"models/layouts/spacer":138,"models/layouts/widget_box":139,"models/mappers/categorical_color_mapper":140,"models/mappers/color_mapper":141,"models/mappers/index":142,"models/mappers/linear_color_mapper":143,"models/mappers/log_color_mapper":144,"models/markers/index":145,"models/markers/marker":146,"models/plots/gmap_plot":147,"models/plots/gmap_plot_canvas":148,"models/plots/index":149,"models/plots/plot":150,"models/plots/plot_canvas":151,"models/ranges/data_range":152,"models/ranges/data_range1d":153,"models/ranges/factor_range":154,"models/ranges/index":155,"models/ranges/range":156,"models/ranges/range1d":157,"models/renderers/glyph_renderer":158,"models/renderers/graph_renderer":159,"models/renderers/guide_renderer":160,"models/renderers/index":161,"models/renderers/renderer":162,"models/scales/categorical_scale":163,"models/scales/index":164,"models/scales/linear_scale":165,"models/scales/log_scale":166,"models/scales/scale":167,"models/sources/ajax_data_source":168,"models/sources/cds_view":169,"models/sources/column_data_source":170,"models/sources/columnar_data_source":171,"models/sources/data_source":172,"models/sources/geojson_data_source":173,"models/sources/index":174,"models/sources/remote_data_source":175,"models/tickers/adaptive_ticker":176,"models/tickers/basic_ticker":177,"models/tickers/categorical_ticker":178,"models/tickers/composite_ticker":179,"models/tickers/continuous_ticker":180,"models/tickers/datetime_ticker":181,"models/tickers/days_ticker":182,"models/tickers/fixed_ticker":183,"models/tickers/index":184,"models/tickers/log_ticker":185,"models/tickers/mercator_ticker":186,"models/tickers/months_ticker":187,"models/tickers/single_interval_ticker":188,"models/tickers/ticker":189,"models/tickers/util":190,"models/tickers/years_ticker":191,"models/tiles/bbox_tile_source":192,"models/tiles/dynamic_image_renderer":193,"models/tiles/image_pool":194,"models/tiles/image_source":195,"models/tiles/index":196,"models/tiles/mercator_tile_source":197,"models/tiles/quadkey_tile_source":198,"models/tiles/tile_renderer":199,"models/tiles/tile_source":200,"models/tiles/tile_utils":201,"models/tiles/tms_tile_source":202,"models/tiles/wmts_tile_source":203,"models/tools/actions/action_tool":204,"models/tools/actions/help_tool":205,"models/tools/actions/redo_tool":206,"models/tools/actions/reset_tool":207,"models/tools/actions/save_tool":208,"models/tools/actions/undo_tool":209,"models/tools/actions/zoom_in_tool":210,"models/tools/actions/zoom_out_tool":211,"models/tools/button_tool":212,"models/tools/gestures/box_select_tool":213,"models/tools/gestures/box_zoom_tool":214,"models/tools/gestures/gesture_tool":215,"models/tools/gestures/lasso_select_tool":216,"models/tools/gestures/pan_tool":217,"models/tools/gestures/poly_select_tool":218,"models/tools/gestures/select_tool":219,"models/tools/gestures/tap_tool":220,"models/tools/gestures/wheel_pan_tool":221,"models/tools/gestures/wheel_zoom_tool":222,"models/tools/index":223,"models/tools/inspectors/crosshair_tool":224,"models/tools/inspectors/hover_tool":225,"models/tools/inspectors/inspect_tool":226,"models/tools/on_off_button":227,"models/tools/tool":228,"models/tools/tool_proxy":229,"models/tools/toolbar":230,"models/tools/toolbar_base":231,"models/tools/toolbar_box":232,"models/transforms/customjs_transform":233,"models/transforms/dodge":234,"models/transforms/index":235,"models/transforms/interpolator":236,"models/transforms/jitter":237,"models/transforms/linear_interpolator":238,"models/transforms/step_interpolator":239,"models/transforms/transform":240,polyfill:241,"protocol/message":242,"protocol/receiver":243,safely:244,version:245},48)});/*! Copyright (c) 2012, Anaconda, Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of Anaconda nor the names of any contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ //# sourceMappingURL=bokeh.min.js.map /* END bokeh.min.js */ }, function(Bokeh) { /* BEGIN bokeh-widgets.min.js */ !function(t,e){e(t.Bokeh)}(this,function(t){var e;return function(e,n,r){if(null!=t)return t.register_plugin(e,n,r);throw new Error("Cannot find Bokeh. You have to load it prior to loading plugins.")}({369:function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=function(t,e){function n(){this.constructor=t}for(var r in e)i.call(e,r)&&(t[r]=e[r]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=[].slice,s=t(14),a=t(5),u=t(4),l=t(409);n.AbstractButtonView=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return r(e,t),e.prototype.initialize=function(t){return e.__super__.initialize.call(this,t),this.icon_views={},this.render()},e.prototype.connect_signals=function(){return e.__super__.connect_signals.call(this),this.connect(this.model.change,function(){return this.render()})},e.prototype.remove=function(){return u.remove_views(this.icon_views),e.__super__.remove.call(this)},e.prototype._render_button=function(){var t;return t=1e;i=0=0}),i.addEventListener("change",function(t){return function(){return t.change_input()}}(this)),u=s.label({"class":["bk-bs-btn","bk-bs-btn-"+this.model.button_type]},i,p),o.call(t,r)>=0&&u.classList.add("bk-bs-active"),n.appendChild(u);return this},e.prototype.change_input=function(){var t,e,n,r;return t=function(){var t,r,i,o;for(i=this.el.querySelectorAll("input"),o=[],n=t=0,r=i.length;t=0&&(i.checked=!0),u=s.label({},i,p),this.model.inline?(u.classList.add("bk-bs-checkbox-inline"),this.el.appendChild(u)):(n=s.div({"class":"bk-bs-checkbox"},u),this.el.appendChild(n));return this},e.prototype.change_input=function(){var t,e,n,r;return t=function(){var t,r,i,o;for(i=this.el.querySelectorAll("input"),o=[],n=t=0,r=i.length;ta||this._o.position.indexOf("right")>-1&&r-u+e.offsetWidth>0)&&(r=r-u+e.offsetWidth),(this._o.reposition&&o+n>s+i||this._o.position.indexOf("top")>-1&&o-n-e.offsetHeight>0)&&(o=o-n-e.offsetHeight),this.el.style.left=r+"px",this.el.style.top=o+"px"},n.DatePickerView=function(t){function e(){return this._on_select=r(this._on_select,this),e.__super__.constructor.apply(this,arguments)}return i(e,t),e.prototype.className="bk-widget-form-group",e.prototype.render=function(){return e.__super__.render.call(this),null!=this._picker&&this._picker.destroy(),a.empty(this.el),this.labelEl=a.label({},this.model.title),this.el.appendChild(this.labelEl),this.inputEl=a.input({type:"text","class":"bk-widget-form-input",disabled:this.model.disabled}),this.el.appendChild(this.inputEl),this._picker=new l({field:this.inputEl,defaultDate:new Date(this.model.value),setDefaultDate:!0,minDate:null!=this.model.min_date?new Date(this.model.min_date):null,maxDate:null!=this.model.max_date?new Date(this.model.max_date):null,onSelect:this._on_select}),this._root_element.appendChild(this._picker.el),this},e.prototype._on_select=function(t){return this.model.value=t.toString(),this.change_input()},e}(s.InputWidgetView),n.DatePicker=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return i(e,t),e.prototype.type="DatePicker",e.prototype.default_view=n.DatePickerView,e.define({value:[u.Any,Date.now()],min_date:[u.Any],max_date:[u.Any]}),e}(s.InputWidget)},378:function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=function(t,e){function n(){this.constructor=t}for(var r in e)i.call(e,r)&&(t[r]=e[r]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(360),s=t(371);n.DateRangeSliderView=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return r(e,t),e.prototype._calc_to=function(){return{start:this.model.start,end:this.model.end,value:this.model.value,step:this.model.step}},e.prototype._calc_from=function(t){return t},e}(s.AbstractSliderView),n.DateRangeSlider=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return r(e,t),e.prototype.type="DateRangeSlider",e.prototype.default_view=n.DateRangeSliderView,e.prototype.behaviour="drag",e.prototype.connected=[!1,!0,!1],e.prototype._formatter=o,e.override({format:"%d %b %G"}),e}(s.AbstractSlider)},379:function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=function(t,e){function n(){this.constructor=t}for(var r in e)i.call(e,r)&&(t[r]=e[r]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(360),s=t(371);n.DateSliderView=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return r(e,t),e.prototype._calc_to=function(){return{start:this.model.start,end:this.model.end,value:[this.model.value],step:this.model.step}},e.prototype._calc_from=function(t){var e;return e=t[0]},e}(s.AbstractSliderView),n.DateSlider=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return r(e,t),e.prototype.type="DateSlider",e.prototype.default_view=n.DateSliderView,e.prototype.behaviour="tap",e.prototype.connected=[!0,!1],e.prototype._formatter=o,e.override({format:"%d %b %G"}),e}(s.AbstractSlider)},380:function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=function(t,e){function n(){this.constructor=t}for(var r in e)i.call(e,r)&&(t[r]=e[r]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(385),s=t(5),a=t(14);n.DivView=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return r(e,t),e.prototype.render=function(){var t;return e.__super__.render.call(this),t=s.div(),this.model.render_as_text?t.textContent=this.model.text:t.innerHTML=this.model.text,this.markupEl.appendChild(t),this},e}(o.MarkupView),n.Div=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return r(e,t),e.prototype.type="Div",e.prototype.default_view=n.DivView,e.define({render_as_text:[a.Bool,!1]}),e}(o.Markup)},381:function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=function(t,e){function n(){this.constructor=t}for(var r in e)i.call(e,r)&&(t[r]=e[r]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},i={}.hasOwnProperty,o=t(5),s=t(14),a=t(369),u=t(376);n.DropdownView=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return r(e,t),e.prototype.connect_signals=function(){return e.__super__.connect_signals.call(this),u.clear_menus.connect(function(t){return function(){return t._clear_menu()}}(this))},e.prototype.render=function(){var t,n,r,i,s,a,u,l,c,p,d;for(e.__super__.render.call(this),this.model.is_split_button?(this.el.classList.add("bk-bs-btn-group"),t=this._render_button(o.span({"class":"bk-bs-caret"})),t.classList.add("bk-bs-dropdown-toggle"),t.addEventListener("click",function(t){return function(e){return t._caret_click(e)}}(this)),this.el.appendChild(t)):(this.el.classList.add("bk-bs-dropdown"),this.buttonEl.classList.add("bk-bs-dropdown-toggle"),this.buttonEl.appendChild(o.span({"class":"bk-bs-caret"}))),this.model.active&&this.el.classList.add("bk-bs-open"),s=[],p=this.model.menu,n=0,u=p.length;n=0,a.option({selected:r,value:i},n)}}(this)),this.selectEl=a.select({multiple:!0,"class":"bk-widget-form-input",id:this.model.id,name:this.model.name,size:this.model.size},n),this.selectEl.addEventListener("change",function(t){return function(){return t.change_input()}}(this)),this.el.appendChild(this.selectEl),this},e.prototype.render_selection=function(){var t,e,n,r,i,o,s,a,u;for(a={},o=this.model.value,e=0,r=o.length;e=r&&(this.model.active=r-1),d=this.model.tabs.map(function(t,e){return o.li({},o.span({data:{index:e}},t.title))}),d[this.model.active].classList.add("bk-bs-active"),h=o.ul({"class":["bk-bs-nav","bk-bs-nav-tabs"]},d),this.el.appendChild(h),u=this.model.tabs.map(function(t){return o.div({"class":"bk-bs-tab-pane"})}),u[this.model.active].classList.add("bk-bs-active"),l=o.div({"class":"bk-bs-tab-content"},u),this.el.appendChild(l),h.addEventListener("click",function(t){return function(e){var n,r,i,o;if(e.preventDefault(),e.target!==e.currentTarget&&(n=e.target,i=t.model.active,r=parseInt(n.dataset.index),i!==r))return d[i].classList.remove("bk-bs-active"),u[i].classList.remove("bk-bs-active"),d[r].classList.add("bk-bs-active"),u[r].classList.add("bk-bs-active"),t.model.active=r,null!=(o=t.model.callback)?o.execute(t.model):void 0}}(this)),c=s.zip(this.model.children,u),n=0,i=c.length;n0&&(p(t,e),setTimeout(function(){d(t,e)},n))}function u(t){return Math.max(Math.min(t,100),0)}function l(t){return Array.isArray(t)?t:[t]}function c(t){t=String(t);var e=t.split(".");return e.length>1?e[1].length:0}function p(t,e){t.classList?t.classList.add(e):t.className+=" "+e}function d(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(new RegExp("(^|\\b)"+e.split(" ").join("|")+"(\\b|$)","gi")," ")}function h(t,e){return t.classList?t.classList.contains(e):new RegExp("\\b"+e+"\\b").test(t.className)}function f(t){var e=void 0!==window.pageXOffset,n="CSS1Compat"===(t.compatMode||""),r=e?window.pageXOffset:n?t.documentElement.scrollLeft:t.body.scrollLeft,i=e?window.pageYOffset:n?t.documentElement.scrollTop:t.body.scrollTop;return{x:r,y:i}}function _(){return window.navigator.pointerEnabled?{start:"pointerdown",move:"pointermove",end:"pointerup"}:window.navigator.msPointerEnabled?{start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}:{start:"mousedown touchstart",move:"mousemove touchmove",end:"mouseup touchend"}}function m(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("test",null,e)}catch(n){}return t}function y(){return window.CSS&&CSS.supports&&CSS.supports("touch-action","none")}function g(t,e){return 100/(e-t)}function v(t,e){return 100*e/(t[1]-t[0])}function b(t,e){return v(t,t[0]=e[n];)n+=1;return n}function x(t,e,n){if(n>=t.slice(-1)[0])return 100;var r,i,o,s,a=k(n,t);return r=t[a-1],i=t[a],o=e[a-1],s=e[a],o+b([r,i],n)/g(o,s)}function S(t,e,n){if(n>=100)return t.slice(-1)[0];var r,i,o,s,a=k(n,e);return r=t[a-1],i=t[a],o=e[a-1],s=e[a],w([r,i],(n-o)*g(o,s))}function E(t,e,n,r){if(100===r)return r;var o,s,a=k(r,t);return n?(o=t[a-1],s=t[a],r-o>(s-o)/2?s:o):e[a-1]?t[a-1]+i(r-t[a-1],e[a-1]):r}function D(t,e,n){var r;if("number"==typeof e&&(e=[e]),"[object Array]"!==Object.prototype.toString.call(e))throw new Error("noUiSlider ("+Z+"): 'range' contains invalid value.");if(r="min"===t?0:"max"===t?100:parseFloat(t),!s(r)||!s(e[0]))throw new Error("noUiSlider ("+Z+"): 'range' value isn't numeric.");n.xPct.push(r),n.xVal.push(e[0]),r?n.xSteps.push(!isNaN(e[1])&&e[1]):isNaN(e[1])||(n.xSteps[0]=e[1]),n.xHighestCompleteStep.push(0)}function M(t,e,n){if(!e)return!0;n.xSteps[t]=v([n.xVal[t],n.xVal[t+1]],e)/g(n.xPct[t],n.xPct[t+1]);var r=(n.xVal[t+1]-n.xVal[t])/n.xNumSteps[t],i=Math.ceil(Number(r.toFixed(3))-1),o=n.xVal[t]+n.xNumSteps[t]*i;n.xHighestCompleteStep[t]=o}function C(t,e,n){this.xPct=[],this.xVal=[],this.xSteps=[n||!1],this.xNumSteps=[!1],this.xHighestCompleteStep=[],this.snap=e;var r,i=[];for(r in t)t.hasOwnProperty(r)&&i.push([t[r],r]);for(i.length&&"object"==typeof i[0][0]?i.sort(function(t,e){return t[0][0]-e[0][0]}):i.sort(function(t,e){return t[0]-e[0]}),r=0;r=50)throw new Error("noUiSlider ("+Z+"): 'padding' option must be less than half the range.")}}function z(t,e){switch(e){case"ltr":t.dir=0;break;case"rtl":t.dir=1;break;default:throw new Error("noUiSlider ("+Z+"): 'direction' option was not recognized.")}}function U(t,e){if("string"!=typeof e)throw new Error("noUiSlider ("+Z+"): 'behaviour' must be a string containing options.");var n=e.indexOf("tap")>=0,r=e.indexOf("drag")>=0,i=e.indexOf("fixed")>=0,o=e.indexOf("snap")>=0,s=e.indexOf("hover")>=0;if(i){if(2!==t.handles)throw new Error("noUiSlider ("+Z+"): 'fixed' behaviour must be used with 2 handles");L(t,t.start[1]-t.start[0])}t.events={tap:n||o,drag:r,fixed:i,snap:o,hover:s}}function F(t,e){if(t.multitouch=e,"boolean"!=typeof e)throw new Error("noUiSlider ("+Z+"): 'multitouch' option must be a boolean.")}function Y(t,e){if(e!==!1)if(e===!0){t.tooltips=[];for(var n=0;n-1?1:"steps"===e?2:0,!s&&u&&(m=0),p===w&&l||(o[h.toFixed(5)]=[p,m]),c=h}}),o}function M(t,e,n){function r(t,e){var n=e===i.cssClasses.value,r=n?l:d,o=n?a:u;return e+" "+r[i.ort]+" "+o[t]}function o(t,o){o[1]=o[1]&&e?e(o[0],o[1]):o[1];var a=c(s,!1);a.className=r(o[1],i.cssClasses.marker),a.style[i.style]=t+"%",o[1]&&(a=c(s,!1),a.className=r(o[1],i.cssClasses.value),a.style[i.style]=t+"%",a.innerText=n.to(o[0]))}var s=kt.createElement("div"),a=[i.cssClasses.valueNormal,i.cssClasses.valueLarge,i.cssClasses.valueSub],u=[i.cssClasses.markerNormal,i.cssClasses.markerLarge,i.cssClasses.markerSub],l=[i.cssClasses.valueHorizontal,i.cssClasses.valueVertical],d=[i.cssClasses.markerHorizontal,i.cssClasses.markerVertical];return p(s,i.cssClasses.pips),p(s,0===i.ort?i.cssClasses.pipsHorizontal:i.cssClasses.pipsVertical),Object.keys(t).forEach(function(e){o(e,t[e])}),s}function C(){pt&&(e(pt),pt=null)}function P(t){C();var e=t.mode,n=t.density||1,r=t.filter||!1,i=t.values||!1,o=t.stepped||!1,s=E(e,i,o),a=D(n,e,s),u=t.format||{to:Math.round};return pt=_t.appendChild(M(a,r,u))}function O(){var t=at.getBoundingClientRect(),e="offset"+["Width","Height"][i.ort];return 0===i.ort?t.width||at[e]:t.height||at[e]}function A(t,e,n,r){var o=function(o){return!_t.hasAttribute("disabled")&&(!h(_t,i.cssClasses.tap)&&(!!(o=V(o,r.pageOffset,r.target||e))&&(!(t===dt.start&&void 0!==o.buttons&&o.buttons>1)&&((!r.hover||!o.buttons)&&(ft||o.preventDefault(),o.calcPoint=o.points[i.ort],void n(o,r))))))},s=[];return t.split(" ").forEach(function(t){e.addEventListener(t,o,!!ft&&{passive:!0}),s.push([t,o])}),s}function V(t,e,n){var r,o,s=0===t.type.indexOf("touch"),a=0===t.type.indexOf("mouse"),u=0===t.type.indexOf("pointer");if(0===t.type.indexOf("MSPointer")&&(u=!0),s&&i.multitouch){var l=function(t){return t.target===n||n.contains(t.target)};if("touchstart"===t.type){var c=Array.prototype.filter.call(t.touches,l);if(c.length>1)return!1;r=c[0].pageX,o=c[0].pageY}else{var p=Array.prototype.find.call(t.changedTouches,l);if(!p)return!1;r=p.pageX,o=p.pageY}}else if(s){if(t.touches.length>1)return!1;r=t.changedTouches[0].pageX,o=t.changedTouches[0].pageY}return e=e||f(kt),(a||u)&&(r=t.clientX+e.x,o=t.clientY+e.y),t.pageOffset=e,t.points=[r,o],t.cursor=a||u,t}function N(t){var e=t-o(at,i.ort),n=100*e/O();return i.dir?100-n:n}function I(t){var e=100,n=!1;return ut.forEach(function(r,i){if(!r.hasAttribute("disabled")){var o=Math.abs(mt[i]-t);o1?r.forEach(function(t,n){var r=Y(i,t,i[t]+e,o[n],s[n],!1);r===!1?e=0:(e=r-i[t],i[t]=r)}):o=s=[!0];var a=!1;r.forEach(function(t,r){a=X(t,n[t]+e,o[r],s[r])||a}),a&&r.forEach(function(t){j("update",t),j("slide",t)})}function j(t,e,n){Object.keys(wt).forEach(function(r){var o=r.split(".")[0];t===o&&wt[r].forEach(function(t){t.call(ct,bt.map(i.format.to),e,bt.slice(),n||!1,mt.slice())})})}function T(t,e){"mouseout"===t.type&&"HTML"===t.target.nodeName&&null===t.relatedTarget&&W(t,e)}function L(t,e){if(navigator.appVersion.indexOf("MSIE 9")===-1&&0===t.buttons&&0!==e.buttonsProperty)return W(t,e);var n=(i.dir?-1:1)*(t.calcPoint-e.startCalcPoint),r=100*n/e.baseSize;R(n>0,r,e.locations,e.handleNumbers)}function W(t,e){e.handle&&(d(e.handle,i.cssClasses.active),gt-=1),e.listeners.forEach(function(t){xt.removeEventListener(t[0],t[1])}),0===gt&&(d(_t,i.cssClasses.drag),q(),t.cursor&&(St.style.cursor="",St.removeEventListener("selectstart",n))),e.handleNumbers.forEach(function(t){j("change",t),j("set",t),j("end",t)})}function B(t,e){var r;if(1===e.handleNumbers.length){var o=ut[e.handleNumbers[0]];if(o.hasAttribute("disabled"))return!1;r=o.children[0],gt+=1,p(r,i.cssClasses.active)}t.stopPropagation();var s=[],a=A(dt.move,xt,L,{target:t.target,handle:r,listeners:s,startCalcPoint:t.calcPoint,baseSize:O(),pageOffset:t.pageOffset,handleNumbers:e.handleNumbers,buttonsProperty:t.buttons,locations:mt.slice()}),u=A(dt.end,xt,W,{target:t.target,handle:r,listeners:s,handleNumbers:e.handleNumbers}),l=A("mouseout",xt,T,{target:t.target,handle:r,listeners:s,handleNumbers:e.handleNumbers});s.push.apply(s,a.concat(u,l)),t.cursor&&(St.style.cursor=getComputedStyle(t.target).cursor,ut.length>1&&p(_t,i.cssClasses.drag),St.addEventListener("selectstart",n,!1)),e.handleNumbers.forEach(function(t){j("start",t)})}function z(t){t.stopPropagation();var e=N(t.calcPoint),n=I(e);return n!==!1&&(i.events.snap||a(_t,i.cssClasses.tap,i.animationDuration),X(n,e,!0,!0),q(),j("slide",n,!0),j("update",n,!0),j("change",n,!0),j("set",n,!0),void(i.events.snap&&B(t,{handleNumbers:[n]})))}function U(t){var e=N(t.calcPoint),n=vt.getStep(e),r=vt.fromStepping(n);Object.keys(wt).forEach(function(t){"hover"===t.split(".")[0]&&wt[t].forEach(function(t){t.call(ct,r)})})}function F(t){t.fixed||ut.forEach(function(t,e){A(dt.start,t.children[0],B,{handleNumbers:[e]})}),t.tap&&A(dt.start,at,z,{}),t.hover&&A(dt.move,at,U,{hover:!0}),t.drag&&lt.forEach(function(e,n){if(e!==!1&&0!==n&&n!==lt.length-1){var r=ut[n-1],o=ut[n],s=[e];p(e,i.cssClasses.draggable),t.fixed&&(s.push(r.children[0]),s.push(o.children[0])),s.forEach(function(t){A(dt.start,t,B,{handles:[r,o],handleNumbers:[n-1,n]})})}})}function Y(t,e,n,r,o,s){return ut.length>1&&(r&&e>0&&(n=Math.max(n,t[e-1]+i.margin)),o&&e1&&i.limit&&(r&&e>0&&(n=Math.min(n,t[e-1]+i.limit)),o&&e50?-1:1,n=3+(ut.length+e*t);ut[t].childNodes[0].style.zIndex=n})}function X(t,e,n,r){return e=Y(mt,t,e,n,r,!1),e!==!1&&(G(t,e),!0)}function K(t){if(lt[t]){var e=0,n=100;0!==t&&(e=mt[t-1]),t!==lt.length-1&&(n=mt[t]),lt[t].style[i.style]=H(e),lt[t].style[i.styleOposite]=H(100-n)}}function $(t,e){null!==t&&t!==!1&&("number"==typeof t&&(t=String(t)),t=i.format.from(t),t===!1||isNaN(t)||X(e,vt.toStepping(t),!1,!1))}function Q(t,e){var n=l(t),r=void 0===mt[0];e=void 0===e||!!e,n.forEach($),i.animate&&!r&&a(_t,i.cssClasses.tap,i.animationDuration),yt.forEach(function(t){X(t,mt[t],!0,!1)}),q(),yt.forEach(function(t){j("update",t),null!==n[t]&&e&&j("set",t)})}function tt(t){Q(i.start,t)}function et(){var t=bt.map(i.format.to);return 1===t.length?t[0]:t}function nt(){for(var t in i.cssClasses)i.cssClasses.hasOwnProperty(t)&&d(_t,i.cssClasses[t]);for(;_t.firstChild;)_t.removeChild(_t.firstChild);delete _t.noUiSlider}function rt(){return mt.map(function(t,e){var n=vt.getNearbySteps(t),r=bt[e],i=n.thisStep.step,o=null;i!==!1&&r+i>n.stepAfter.startValue&&(i=n.stepAfter.startValue-r),o=r>n.thisStep.startValue?n.thisStep.step:n.stepBefore.step!==!1&&r-n.stepBefore.highestStep,100===t?i=null:0===t&&(o=null);var s=vt.countStepDecimals();return null!==i&&i!==!1&&(i=Number(i.toFixed(s))),null!==o&&o!==!1&&(o=Number(o.toFixed(s))),[o,i]})}function it(t,e){wt[t]=wt[t]||[],wt[t].push(e),"update"===t.split(".")[0]&&ut.forEach(function(t,e){j("update",e)})}function ot(t){var e=t&&t.split(".")[0],n=e&&t.substring(e.length);Object.keys(wt).forEach(function(t){var r=t.split(".")[0],i=t.substring(r.length);e&&e!==r||n&&n!==i||delete wt[t]})}function st(t,e){var n=et(),r=["margin","limit","padding","range","animate","snap","step","format"];r.forEach(function(e){void 0!==t[e]&&(s[e]=t[e])});var o=J(s);r.forEach(function(e){void 0!==t[e]&&(i[e]=o[e])}),vt=o.spectrum,i.margin=o.margin,i.limit=o.limit,i.padding=o.padding,i.pips&&P(i.pips),mt=[],Q(t.start||n,e)}var at,ut,lt,ct,pt,dt=_(),ht=y(),ft=ht&&m(),_t=t,mt=[],yt=[],gt=0,vt=i.spectrum,bt=[],wt={},kt=t.ownerDocument,xt=kt.documentElement,St=kt.body;if(_t.noUiSlider)throw new Error("noUiSlider ("+Z+"): Slider was already initialized.");return w(_t),b(i.connect,at),ct={destroy:nt,steps:rt,on:it,off:ot,get:et,set:Q,reset:tt,__moveHandles:function(t,e,n){R(t,e,mt,n)},options:s,updateOptions:st,target:_t,removePips:C,pips:P},F(i.events),Q(i.start),i.pips&&P(i.pips),i.tooltips&&x(),S(),ct}function Q(t,e){if(!t||!t.nodeName)throw new Error("noUiSlider ("+Z+"): create requires a single element, got: "+t);var n=J(e,t),r=$(t,n,e);return t.noUiSlider=r,r}var Z="10.1.0";C.prototype.getMargin=function(t){var e=this.xNumSteps[0];if(e&&t/e%1!==0)throw new Error("noUiSlider ("+Z+"): 'limit', 'margin' and 'padding' must be divisible by step.");return 2===this.xPct.length&&v(this.xVal,t)},C.prototype.toStepping=function(t){return t=x(this.xVal,this.xPct,t)},C.prototype.fromStepping=function(t){return S(this.xVal,this.xPct,t)},C.prototype.getStep=function(t){return t=E(this.xPct,this.xSteps,this.snap,t)},C.prototype.getNearbySteps=function(t){var e=k(t,this.xPct);return{stepBefore:{startValue:this.xVal[e-2],step:this.xNumSteps[e-2],highestStep:this.xHighestCompleteStep[e-2]},thisStep:{startValue:this.xVal[e-1],step:this.xNumSteps[e-1],highestStep:this.xHighestCompleteStep[e-1]},stepAfter:{startValue:this.xVal[e-0],step:this.xNumSteps[e-0],highestStep:this.xHighestCompleteStep[e-0]}}},C.prototype.countStepDecimals=function(){var t=this.xNumSteps.map(c);return Math.max.apply(null,t)},C.prototype.convert=function(t){return this.getStep(this.toStepping(t))};var tt={to:function(t){return void 0!==t&&t.toFixed(2)},from:Number};return{version:Z,create:Q}})},401:function(t,n,r){/*! * Pikaday * * Copyright © 2014 David Bushell | BSD & MIT license | https://github.com/dbushell/Pikaday */ !function(i,o){"use strict";var s;if("object"==typeof r){try{s=t("moment")}catch(a){}n.exports=o(s)}else"function"==typeof e&&e.amd?e(function(t){var e="moment";try{s=t(e)}catch(n){}return o(s)}):i.Pikaday=o(i.moment)}(this,function(t){"use strict";var e="function"==typeof t,n=!!window.addEventListener,r=window.document,i=window.setTimeout,o=function(t,e,r,i){n?t.addEventListener(e,r,!!i):t.attachEvent("on"+e,r)},s=function(t,e,r,i){n?t.removeEventListener(e,r,!!i):t.detachEvent("on"+e,r)},a=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")},u=function(t,e){return(" "+t.className+" ").indexOf(" "+e+" ")!==-1},l=function(t,e){u(t,e)||(t.className=""===t.className?e:t.className+" "+e)},c=function(t,e){t.className=a((" "+t.className+" ").replace(" "+e+" "," "))},p=function(t){return/Array/.test(Object.prototype.toString.call(t))},d=function(t){return/Date/.test(Object.prototype.toString.call(t))&&!isNaN(t.getTime())},h=function(t){var e=t.getDay();return 0===e||6===e},f=function(t){return t%4===0&&t%100!==0||t%400===0},_=function(t,e){return[31,f(t)?29:28,31,30,31,30,31,31,30,31,30,31][e]},m=function(t){d(t)&&t.setHours(0,0,0,0)},y=function(t,e){return t.getTime()===e.getTime()},g=function(t,e,n){var r,i;for(r in e)i=void 0!==t[r],i&&"object"==typeof e[r]&&null!==e[r]&&void 0===e[r].nodeName?d(e[r])?n&&(t[r]=new Date(e[r].getTime())):p(e[r])?n&&(t[r]=e[r].slice(0)):t[r]=g({},e[r],n):!n&&i||(t[r]=e[r]);return t},v=function(t,e,n){var i;r.createEvent?(i=r.createEvent("HTMLEvents"),i.initEvent(e,!0,!1),i=g(i,n),t.dispatchEvent(i)):r.createEventObject&&(i=r.createEventObject(),i=g(i,n),t.fireEvent("on"+e,i))},b=function(t){return t.month11&&(t.year+=Math.floor(Math.abs(t.month)/12),t.month-=12),t},w={field:null,bound:void 0,position:"bottom left",reposition:!0,format:"YYYY-MM-DD",toString:null,parse:null,defaultDate:null,setDefaultDate:!1,firstDay:0,formatStrict:!1,minDate:null,maxDate:null,yearRange:10,showWeekNumber:!1,pickWholeWeek:!1,minYear:0,maxYear:9999,minMonth:void 0,maxMonth:void 0,startRange:null,endRange:null,isRTL:!1,yearSuffix:"",showMonthAfterYear:!1,showDaysInNextAndPreviousMonths:!1,enableSelectionDaysInNextAndPreviousMonths:!1,numberOfMonths:1,mainCalendar:"left",container:void 0,blurFieldOnSelect:!0,i18n:{previousMonth:"Previous Month",nextMonth:"Next Month",months:["January","February","March","April","May","June","July","August","September","October","November","December"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},theme:null,events:[],onSelect:null,onOpen:null,onClose:null,onDraw:null},k=function(t,e,n){for(e+=t.firstDay;e>=7;)e-=7;return n?t.i18n.weekdaysShort[e]:t.i18n.weekdays[e]},x=function(t){var e=[],n="false";if(t.isEmpty){if(!t.showDaysInNextAndPreviousMonths)return'';e.push("is-outside-current-month"),t.enableSelectionDaysInNextAndPreviousMonths||e.push("is-selection-disabled")}return t.isDisabled&&e.push("is-disabled"),t.isToday&&e.push("is-today"),t.isSelected&&(e.push("is-selected"),n="true"),t.hasEvent&&e.push("has-event"),t.isInRange&&e.push("is-inrange"),t.isStartRange&&e.push("is-startrange"),t.isEndRange&&e.push("is-endrange"),'"},S=function(t,e,n){var r=new Date(n,0,1),i=Math.ceil(((new Date(n,e,t)-r)/864e5+r.getDay()+1)/7);return''+i+""},E=function(t,e,n,r){return''+(e?t.reverse():t).join("")+""},D=function(t){return""+t.join("")+""},M=function(t){var e,n=[];for(t.showWeekNumber&&n.push(""),e=0;e'+k(t,e,!0)+"");return""+(t.isRTL?n.reverse():n).join("")+""},C=function(t,e,n,r,i,o){var s,a,u,l,c,d=t._o,h=n===d.minYear,f=n===d.maxYear,_='

"},P=function(t,e,n){return''+M(t)+D(e)+"
"},O=function(s){var a=this,l=a.config(s);a._onMouseDown=function(t){if(a._v){t=t||window.event;var e=t.target||t.srcElement;if(e)if(u(e,"is-disabled")||(!u(e,"pika-button")||u(e,"is-empty")||u(e.parentNode,"is-disabled")?u(e,"pika-prev")?a.prevMonth():u(e,"pika-next")&&a.nextMonth():(a.setDate(new Date(e.getAttribute("data-pika-year"),e.getAttribute("data-pika-month"),e.getAttribute("data-pika-day"))),l.bound&&i(function(){a.hide(),l.blurFieldOnSelect&&l.field&&l.field.blur()},100))),u(e,"pika-select"))a._c=!0;else{if(!t.preventDefault)return t.returnValue=!1,!1;t.preventDefault()}}},a._onChange=function(t){t=t||window.event;var e=t.target||t.srcElement;e&&(u(e,"pika-select-month")?a.gotoMonth(e.value):u(e,"pika-select-year")&&a.gotoYear(e.value))},a._onKeyChange=function(t){if(t=t||window.event,a.isVisible())switch(t.keyCode){case 13:case 27:l.field&&l.field.blur();break;case 37:t.preventDefault(),a.adjustDate("subtract",1);break;case 38:a.adjustDate("subtract",7);break;case 39:a.adjustDate("add",1);break;case 40:a.adjustDate("add",7)}},a._onInputChange=function(n){var r;n.firedBy!==a&&(l.parse?r=l.parse(l.field.value,l.format):e?(r=t(l.field.value,l.format,l.formatStrict),r=r&&r.isValid()?r.toDate():null):r=new Date(Date.parse(l.field.value)),d(r)&&a.setDate(r),a._v||a.show())},a._onInputFocus=function(){a.show()},a._onInputClick=function(){a.show()},a._onInputBlur=function(){var t=r.activeElement;do if(u(t,"pika-single"))return;while(t=t.parentNode);a._c||(a._b=i(function(){a.hide()},50)),a._c=!1},a._onClick=function(t){t=t||window.event;var e=t.target||t.srcElement,r=e;if(e){!n&&u(e,"pika-select")&&(e.onchange||(e.setAttribute("onchange","return;"),o(e,"change",a._onChange)));do if(u(r,"pika-single")||r===l.trigger)return;while(r=r.parentNode);a._v&&e!==l.trigger&&r!==l.trigger&&a.hide()}},a.el=r.createElement("div"),a.el.className="pika-single"+(l.isRTL?" is-rtl":"")+(l.theme?" "+l.theme:""),o(a.el,"mousedown",a._onMouseDown,!0),o(a.el,"touchend",a._onMouseDown,!0),o(a.el,"change",a._onChange),o(r,"keydown",a._onKeyChange),l.field&&(l.container?l.container.appendChild(a.el):l.bound?r.body.appendChild(a.el):l.field.parentNode.insertBefore(a.el,l.field.nextSibling),o(l.field,"change",a._onInputChange),l.defaultDate||(e&&l.field.value?l.defaultDate=t(l.field.value,l.format).toDate():l.defaultDate=new Date(Date.parse(l.field.value)),l.setDefaultDate=!0));var c=l.defaultDate;d(c)?l.setDefaultDate?a.setDate(c,!0):a.gotoDate(c):a.gotoDate(new Date),l.bound?(this.hide(),a.el.className+=" is-bound",o(l.trigger,"click",a._onInputClick),o(l.trigger,"focus",a._onInputFocus),o(l.trigger,"blur",a._onInputBlur)):this.show()};return O.prototype={config:function(t){this._o||(this._o=g({},w,!0));var e=g(this._o,t,!0);e.isRTL=!!e.isRTL,e.field=e.field&&e.field.nodeName?e.field:null,e.theme="string"==typeof e.theme&&e.theme?e.theme:null,e.bound=!!(void 0!==e.bound?e.field&&e.bound:e.field),e.trigger=e.trigger&&e.trigger.nodeName?e.trigger:e.field,e.disableWeekends=!!e.disableWeekends,e.disableDayFn="function"==typeof e.disableDayFn?e.disableDayFn:null;var n=parseInt(e.numberOfMonths,10)||1;if(e.numberOfMonths=n>4?4:n,d(e.minDate)||(e.minDate=!1),d(e.maxDate)||(e.maxDate=!1),e.minDate&&e.maxDate&&e.maxDate100&&(e.yearRange=100);return e},toString:function(n){return n=n||this._o.format,d(this._d)?this._o.toString?this._o.toString(this._d,n):e?t(this._d).format(n):this._d.toDateString():""},getMoment:function(){return e?t(this._d):null},setMoment:function(n,r){e&&t.isMoment(n)&&this.setDate(n.toDate(),r)},getDate:function(){return d(this._d)?new Date(this._d.getTime()):null},setDate:function(t,e){if(!t)return this._d=null,this._o.field&&(this._o.field.value="",v(this._o.field,"change",{firedBy:this})),this.draw();if("string"==typeof t&&(t=new Date(Date.parse(t))),d(t)){var n=this._o.minDate,r=this._o.maxDate;d(n)&&tr&&(t=r),this._d=new Date(t.getTime()),m(this._d),this.gotoDate(this._d),this._o.field&&(this._o.field.value=this.toString(),v(this._o.field,"change",{firedBy:this})),e||"function"!=typeof this._o.onSelect||this._o.onSelect.call(this,this.getDate())}},gotoDate:function(t){var e=!0;if(d(t)){if(this.calendars){var n=new Date(this.calendars[0].year,this.calendars[0].month,1),r=new Date(this.calendars[this.calendars.length-1].year,this.calendars[this.calendars.length-1].month,1),i=t.getTime();r.setMonth(r.getMonth()+1),r.setDate(r.getDate()-1),e=i=o&&(this._y=o,!isNaN(a)&&this._m>a&&(this._m=a)),e="pika-title-"+Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,2);for(var l=0;l'+C(this,l,this.calendars[l].year,this.calendars[l].month,this.calendars[0].year,e)+this.render(this.calendars[l].year,this.calendars[l].month,e)+"

";this.el.innerHTML=u,n.bound&&"hidden"!==n.field.type&&i(function(){n.trigger.focus()},1),"function"==typeof this._o.onDraw&&this._o.onDraw(this),n.bound&&n.field.setAttribute("aria-label","Use the arrow keys to pick a date")}},adjustPosition:function(){var t,e,n,i,o,s,a,u,l,c;if(!this._o.container){if(this.el.style.position="absolute",t=this._o.trigger,e=t,n=this.el.offsetWidth,i=this.el.offsetHeight,o=window.innerWidth||r.documentElement.clientWidth,s=window.innerHeight||r.documentElement.clientHeight,a=window.pageYOffset||r.body.scrollTop||r.documentElement.scrollTop,"function"==typeof t.getBoundingClientRect)c=t.getBoundingClientRect(),u=c.left+window.pageXOffset,l=c.bottom+window.pageYOffset;else for(u=e.offsetLeft,l=e.offsetTop+e.offsetHeight;e=e.offsetParent;)u+=e.offsetLeft,l+=e.offsetTop;(this._o.reposition&&u+n>o||this._o.position.indexOf("right")>-1&&u-n+t.offsetWidth>0)&&(u=u-n+t.offsetWidth),(this._o.reposition&&l+i>s+a||this._o.position.indexOf("top")>-1&&l-i-t.offsetHeight>0)&&(l=l-i-t.offsetHeight),this.el.style.left=u+"px",this.el.style.top=l+"px"}},render:function(t,e,n){var r=this._o,i=new Date,o=_(t,e),s=new Date(t,e,1).getDay(),a=[],u=[];m(i),r.firstDay>0&&(s-=r.firstDay,s7;)b-=7;v+=7-b;for(var w=!1,k=0,D=0;k=o+s,N=1+(k-s),I=e,R=t,j=r.startRange&&y(r.startRange,M),T=r.endRange&&y(r.endRange,M),L=r.startRange&&r.endRange&&r.startRanger.maxDate||r.disableWeekends&&h(M)||r.disableDayFn&&r.disableDayFn(M);V&&(k/g,">")},t}(p.Model),n.StringFormatter=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return o(t,e),t.prototype.type="StringFormatter",t.define({font_style:[a.FontStyle,"normal"],text_align:[a.TextAlign,"left"],text_color:[a.Color]}),t.prototype.doFormat=function(e,t,n,o,r){var i,l,s,a;switch(i=this.font_style,s=this.text_align,a=this.text_color,l=u.span({},null==n?"":""+n),i){case"bold":l.style.fontWeight="bold";break;case"italic":l.style.fontStyle="italic"}return null!=s&&(l.style.textAlign=s),null!=a&&(l.style.color=a),l=l.outerHTML},t}(n.CellFormatter),n.NumberFormatter=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return o(t,e),t.prototype.type="NumberFormatter",t.define({format:[a.String,"0,0"],language:[a.String,"en"],rounding:[a.String,"round"]}),t.prototype.doFormat=function(e,n,o,r,l){var s,a,u;return s=this.format,a=this.language,u=function(){switch(this.rounding){case"round":case"nearest":return Math.round;case"floor":case"rounddown":return Math.floor;case"ceil":case"roundup":return Math.ceil}}.call(this),o=i.format(o,s,a,u),t.__super__.doFormat.call(this,e,n,o,r,l)},t}(n.StringFormatter),n.BooleanFormatter=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return o(t,e),t.prototype.type="BooleanFormatter",t.define({icon:[a.String,"check"]}),t.prototype.doFormat=function(e,t,n,o,r){return n?u.i({"class":this.icon}).outerHTML:""},t}(n.CellFormatter),n.DateFormatter=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return o(t,e),t.prototype.type="DateFormatter",t.define({format:[a.String,"ISO-8601"]}),t.prototype.getFormat=function(){var e;return e=function(){switch(this.format){case"ATOM":case"W3C":case"RFC-3339":case"ISO-8601":return"%Y-%m-%d";case"COOKIE":return"%a, %d %b %Y";case"RFC-850":return"%A, %d-%b-%y";case"RFC-1123":case"RFC-2822":return"%a, %e %b %Y";case"RSS":case"RFC-822":case"RFC-1036":return"%a, %e %b %y";case"TIMESTAMP":return null;default:return"__CUSTOM__"}}.call(this),"__CUSTOM__"===e?this.format:e},t.prototype.doFormat=function(e,n,o,r,i){var l;return o=d.isString(o)?parseInt(o,10):o,l=s(o,this.getFormat()),t.__super__.doFormat.call(this,e,n,l,r,i)},t}(n.CellFormatter),n.HTMLTemplateFormatter=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return o(t,e),t.prototype.type="HTMLTemplateFormatter",t.define({template:[a.String,""]}),t.prototype.doFormat=function(e,t,n,o,r){var i,s;return s=this.template,null===n?"":(r=c.extend({},r,{value:n}),(i=l(s))(r))},t}(n.CellFormatter)},404:function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var o=function(e,t){function n(){this.constructor=e}for(var o in t)r.call(t,o)&&(e[o]=t[o]);return n.prototype=t.prototype,e.prototype=new n,e.__super__=t.prototype,e},r={}.hasOwnProperty,i=e(416),l=e(414),s=e(413),a=e(9),u=e(14),c=e(36),d=e(21),p=e(13),f=e(408),h=e(409);n.DTINDEX_NAME="__bkdt_internal_index__",n.DataProvider=function(){function e(e,t){if(this.source=e,this.view=t,n.DTINDEX_NAME in this.source.data)throw new Error("special name "+n.DTINDEX_NAME+" cannot be used as a data table column");this.index=this.view.indices}return e.prototype.getLength=function(){return this.index.length},e.prototype.getItem=function(e){var t,o,r,i,l;for(o={},l=Object.keys(this.source.data),r=0,i=l.length;rn;e=0p?c:-c,0!==u)return u;return 0})},e.prototype._update_source_inplace=function(){this.source.properties.data.change.emit(this,this.source.attributes.data)},e}(),n.DataTableView=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return o(t,e),t.prototype.className="bk-data-table",t.prototype.initialize=function(e){return t.__super__.initialize.call(this,e),this.in_selection_update=!1},t.prototype.connect_signals=function(){return t.__super__.connect_signals.call(this),this.connect(this.model.change,function(e){return function(){return e.render()}}(this)),this.connect(this.model.source.properties.data.change,function(e){return function(){return e.updateGrid()}}(this)),this.connect(this.model.source.streaming,function(e){return function(){return e.updateGrid()}}(this)),this.connect(this.model.source.patching,function(e){return function(){return e.updateGrid()}}(this)),this.connect(this.model.source.change,function(e){return function(){return e.updateSelection()}}(this))},t.prototype.updateGrid=function(){return this.data.constructor(this.model.source,this.model.view),this.grid.invalidate(),this.grid.render(),this.model.source.data=this.model.source.data,this.model.source.change.emit()},t.prototype.updateSelection=function(){var e,t,n,o,r,i;if(!this.in_selection_update)return o=this.model.source.selected,r=o["1d"].indices,n=function(){var e,t,n;for(n=[],e=0,t=r.length;e0&&t-1 in e)}function r(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}function i(e,t,n){return ge.isFunction(t)?ge.grep(e,function(e,o){return!!t.call(e,o,e)!==n}):t.nodeType?ge.grep(e,function(e){return e===t!==n}):"string"!=typeof t?ge.grep(e,function(e){return se.call(t,e)>-1!==n}):Se.test(t)?ge.filter(t,e,n):(t=ge.filter(t,e),ge.grep(e,function(e){return se.call(t,e)>-1!==n&&1===e.nodeType}))}function l(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function s(e){var t={};return ge.each(e.match(Ne)||[],function(e,n){t[n]=!0}),t}function a(e){return e}function u(e){throw e}function c(e,t,n,o){var r;try{e&&ge.isFunction(r=e.promise)?r.call(e).done(t).fail(n):e&&ge.isFunction(r=e.then)?r.call(e,t,n):t.apply(void 0,[e].slice(o))}catch(e){n.apply(void 0,[e])}}function d(){ne.removeEventListener("DOMContentLoaded",d),e.removeEventListener("load",d),ge.ready()}function p(){this.expando=ge.expando+p.uid++}function f(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Me.test(e)?JSON.parse(e):e)}function h(e,t,n){var o;if(void 0===n&&1===e.nodeType)if(o="data-"+t.replace(We,"-$&").toLowerCase(),n=e.getAttribute(o),"string"==typeof n){try{n=f(n)}catch(r){}Ie.set(e,t,n)}else n=void 0;return n}function g(e,t,n,o){var r,i=1,l=20,s=o?function(){return o.cur()}:function(){return ge.css(e,t,"")},a=s(),u=n&&n[3]||(ge.cssNumber[t]?"":"px"),c=(ge.cssNumber[t]||"px"!==u&&+a)&&je.exec(ge.css(e,t));if(c&&c[3]!==u){u=u||c[3],n=n||[],c=+a||1;do i=i||".5",c/=i,ge.style(e,t,c+u);while(i!==(i=s()/a)&&1!==i&&--l)}return n&&(c=+c||+a||0,r=n[1]?c+(n[1]+1)*n[2]:+n[2],o&&(o.unit=u,o.start=c,o.end=r)),r}function m(e){var t,n=e.ownerDocument,o=e.nodeName,r=ze[o];return r?r:(t=n.body.appendChild(n.createElement(o)),r=ge.css(t,"display"),t.parentNode.removeChild(t),"none"===r&&(r="block"),ze[o]=r,r)}function v(e,t){for(var n,o,r=[],i=0,l=e.length;i-1)r&&r.push(i);else if(u=ge.contains(i.ownerDocument,i),l=w(d.appendChild(i),"script"),u&&y(l),n)for(c=0;i=l[c++];)Ke.test(i.type||"")&&n.push(i);return d}function b(){return!0}function x(){return!1}function R(){try{return ne.activeElement}catch(e){}}function E(e,t,n,o,r,i){var l,s;if("object"==typeof t){"string"!=typeof n&&(o=o||n,n=void 0);for(s in t)E(e,s,n,o,t[s],i);return e}if(null==o&&null==r?(r=n,o=n=void 0):null==r&&("string"==typeof n?(r=o,o=void 0):(r=o,o=n,n=void 0)),r===!1)r=x;else if(!r)return e;return 1===i&&(l=r,r=function(e){return ge().off(e),l.apply(this,arguments)},r.guid=l.guid||(l.guid=ge.guid++)),e.each(function(){ge.event.add(this,t,r,o,n)})}function S(e,t){return r(e,"table")&&r(11!==t.nodeType?t:t.firstChild,"tr")?ge(">tbody",e)[0]||e:e}function k(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function T(e){var t=rt.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function P(e,t){var n,o,r,i,l,s,a,u;if(1===t.nodeType){if(Fe.hasData(e)&&(i=Fe.access(e),l=Fe.set(t,i),u=i.events)){delete l.handle,l.events={};for(r in u)for(n=0,o=u[r].length;n1&&"string"==typeof h&&!fe.checkClone&&ot.test(h))return e.each(function(n){var i=e.eq(n);g&&(t[0]=h.call(this,n,i.html())),D(i,t,o,r)});if(p&&(i=C(t,e[0].ownerDocument,!1,e,r),l=i.firstChild,1===i.childNodes.length&&(i=l),l||r)){for(s=ge.map(w(i,"script"),k),a=s.length;d

=0&&nR.cacheLength&&delete e[t.shift()],e[n+" "]=o}var t=[];return e}function o(e){return e[V]=!0,e}function r(e){var t=$.createElement("fieldset");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function i(e,t){for(var n=e.split("|"),o=n.length;o--;)R.attrHandle[n[o]]=t}function l(e,t){var n=t&&e,o=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(o)return o;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function a(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function u(e){return function(t){return"form"in t?t.parentNode&&t.disabled===!1?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&Ee(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function c(e){return o(function(t){return t=+t,o(function(n,o){for(var r,i=e([],n.length,t),l=i.length;l--;)n[r=i[l]]&&(n[r]=!(o[r]=n[r]))})})}function d(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function p(){}function f(e){for(var t=0,n=e.length,o="";t1?function(t,n,o){for(var r=e.length;r--;)if(!e[r](t,n,o))return!1;return!0}:e[0]}function m(e,n,o){for(var r=0,i=n.length;r-1&&(o[u]=!(l[u]=d))}}else y=v(y===l?y.splice(h,y.length):y),i?i(null,l,y,a):J.apply(l,y)})}function y(e){for(var t,n,o,r=e.length,i=R.relative[e[0].type],l=i||R.relative[" "],s=i?1:0,a=h(function(e){return e===t},l,!0),u=h(function(e){return ee(t,e)>-1},l,!0),c=[function(e,n,o){var r=!i&&(o||n!==_)||((t=n).nodeType?a(e,n,o):u(e,n,o));return t=null,r}];s1&&g(c),s>1&&f(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(se,"$1"),n,s0,i=e.length>0,l=function(o,l,s,a,u){var c,d,p,f=0,h="0",g=o&&[],m=[],w=_,y=o||i&&R.find.TAG("*",u),C=O+=null==w?1:Math.random()||.1,b=y.length;for(u&&(_=l===$||l||u);h!==b&&null!=(c=y[h]);h++){if(i&&c){for(d=0,l||c.ownerDocument===$||(A(c),s=!L);p=e[d++];)if(p(c,l||$,s)){a.push(c);break}u&&(O=C)}r&&((c=!p&&c)&&f--,o&&g.push(c))}if(f+=h,r&&h!==f){for(d=0;p=n[d++];)p(g,m,l,s);if(o){if(f>0)for(;h--;)g[h]||m[h]||(m[h]=Y.call(a));m=v(m)}J.apply(a,m),u&&!o&&m.length>0&&f+n.length>1&&t.uniqueSort(a)}return u&&(O=C,_=w),g};return r?o(l):l}var b,x,R,E,S,k,T,P,_,D,N,A,$,H,L,F,I,M,W,V="sizzle"+1*new Date,j=e.document,O=0,B=0,q=n(),z=n(),X=n(),U=function(e,t){return e===t&&(N=!0),0},K={}.hasOwnProperty,G=[],Y=G.pop,Q=G.push,J=G.push,Z=G.slice,ee=function(e,t){for(var n=0,o=e.length;n+~]|"+ne+")"+ne+"*"),ce=new RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),de=new RegExp(ie),pe=new RegExp("^"+oe+"$"),fe={ID:new RegExp("^#("+oe+")"),CLASS:new RegExp("^\\.("+oe+")"),TAG:new RegExp("^("+oe+"|[*])"),ATTR:new RegExp("^"+re),PSEUDO:new RegExp("^"+ie),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ne+"*(even|odd|(([+-]|)(\\d*)n|)"+ne+"*(?:([+-]|)"+ne+"*(\\d+)|))"+ne+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+ne+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ne+"*((?:-\\d)?\\d*)"+ne+"*\\)|)(?=[^-]|$)","i")},he=/^(?:input|select|textarea|button)$/i,ge=/^h\d$/i,me=/^[^{]+\{\s*\[native \w/,ve=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,we=/[+~]/,ye=new RegExp("\\\\([\\da-f]{1,6}"+ne+"?|("+ne+")|.)","ig"),Ce=function(e,t,n){var o="0x"+t-65536;return o!==o||n?t:o>10|55296,1023&o|56320)},be=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,xe=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},Re=function(){A()},Ee=h(function(e){return e.disabled===!0&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{J.apply(G=Z.call(j.childNodes),j.childNodes),G[j.childNodes.length].nodeType}catch(Se){J={apply:G.length?function(e,t){Q.apply(e,Z.call(t))}:function(e,t){for(var n=e.length,o=0;e[n++]=t[o++];);e.length=n-1}}}x=t.support={},S=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},A=t.setDocument=function(e){var t,n,o=e?e.ownerDocument||e:j;return o!==$&&9===o.nodeType&&o.documentElement?($=o,H=$.documentElement,L=!S($),j!==$&&(n=$.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Re,!1):n.attachEvent&&n.attachEvent("onunload",Re)),x.attributes=r(function(e){return e.className="i",!e.getAttribute("className")}),x.getElementsByTagName=r(function(e){return e.appendChild($.createComment("")),!e.getElementsByTagName("*").length}),x.getElementsByClassName=me.test($.getElementsByClassName),x.getById=r(function(e){return H.appendChild(e).id=V,!$.getElementsByName||!$.getElementsByName(V).length}),x.getById?(R.filter.ID=function(e){var t=e.replace(ye,Ce);return function(e){return e.getAttribute("id")===t}},R.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&L){var n=t.getElementById(e);return n?[n]:[]}}):(R.filter.ID=function(e){var t=e.replace(ye,Ce);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},R.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&L){var n,o,r,i=t.getElementById(e);if(i){if(n=i.getAttributeNode("id"),n&&n.value===e)return[i];for(r=t.getElementsByName(e),o=0;i=r[o++];)if(n=i.getAttributeNode("id"),n&&n.value===e)return[i]}return[]}}),R.find.TAG=x.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):x.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,o=[],r=0,i=t.getElementsByTagName(e);if("*"===e){for(;n=i[r++];)1===n.nodeType&&o.push(n);return o}return i},R.find.CLASS=x.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&L)return t.getElementsByClassName(e)},I=[],F=[],(x.qsa=me.test($.querySelectorAll))&&(r(function(e){H.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&F.push("[*^$]="+ne+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||F.push("\\["+ne+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+V+"-]").length||F.push("~="),e.querySelectorAll(":checked").length||F.push(":checked"),e.querySelectorAll("a#"+V+"+*").length||F.push(".#.+[+~]")}),r(function(e){e.innerHTML="";var t=$.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&F.push("name"+ne+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&F.push(":enabled",":disabled"),H.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&F.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),F.push(",.*:")})),(x.matchesSelector=me.test(M=H.matches||H.webkitMatchesSelector||H.mozMatchesSelector||H.oMatchesSelector||H.msMatchesSelector))&&r(function(e){x.disconnectedMatch=M.call(e,"*"),M.call(e,"[s!='']:x"),I.push("!=",ie)}),F=F.length&&new RegExp(F.join("|")),I=I.length&&new RegExp(I.join("|")),t=me.test(H.compareDocumentPosition),W=t||me.test(H.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,o=t&&t.parentNode;return e===o||!(!o||1!==o.nodeType||!(n.contains?n.contains(o):e.compareDocumentPosition&&16&e.compareDocumentPosition(o)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},U=t?function(e,t){if(e===t)return N=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!x.sortDetached&&t.compareDocumentPosition(e)===n?e===$||e.ownerDocument===j&&W(j,e)?-1:t===$||t.ownerDocument===j&&W(j,t)?1:D?ee(D,e)-ee(D,t):0:4&n?-1:1)}:function(e,t){if(e===t)return N=!0,0;var n,o=0,r=e.parentNode,i=t.parentNode,s=[e],a=[t];if(!r||!i)return e===$?-1:t===$?1:r?-1:i?1:D?ee(D,e)-ee(D,t):0;if(r===i)return l(e,t);for(n=e;n=n.parentNode;)s.unshift(n);for(n=t;n=n.parentNode;)a.unshift(n);for(;s[o]===a[o];)o++;return o?l(s[o],a[o]):s[o]===j?-1:a[o]===j?1:0},$):$},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==$&&A(e),n=n.replace(ce,"='$1']"),x.matchesSelector&&L&&!X[n+" "]&&(!I||!I.test(n))&&(!F||!F.test(n)))try{var o=M.call(e,n);if(o||x.disconnectedMatch||e.document&&11!==e.document.nodeType)return o}catch(r){}return t(n,$,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==$&&A(e),W(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==$&&A(e);var n=R.attrHandle[t.toLowerCase()],o=n&&K.call(R.attrHandle,t.toLowerCase())?n(e,t,!L):void 0;return void 0!==o?o:x.attributes||!L?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},t.escape=function(e){return(e+"").replace(be,xe)},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],o=0,r=0;if(N=!x.detectDuplicates,D=!x.sortStable&&e.slice(0),e.sort(U),N){for(;t=e[r++];)t===e[r]&&(o=n.push(r));for(;o--;)e.splice(n[o],1)}return D=null,e},E=t.getText=function(e){var t,n="",o=0,r=e.nodeType;if(r){if(1===r||9===r||11===r){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=E(e)}else if(3===r||4===r)return e.nodeValue}else for(;t=e[o++];)n+=E(t);return n},R=t.selectors={cacheLength:50,createPseudo:o,match:fe,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(ye,Ce),e[3]=(e[3]||e[4]||e[5]||"").replace(ye,Ce),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return fe.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&de.test(n)&&(t=k(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(ye,Ce).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=q[e+" "];return t||(t=new RegExp("(^|"+ne+")"+e+"("+ne+"|$)"))&&q(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,o){return function(r){var i=t.attr(r,e);return null==i?"!="===n:!n||(i+="","="===n?i===o:"!="===n?i!==o:"^="===n?o&&0===i.indexOf(o):"*="===n?o&&i.indexOf(o)>-1:"$="===n?o&&i.slice(-o.length)===o:"~="===n?(" "+i.replace(le," ")+" ").indexOf(o)>-1:"|="===n&&(i===o||i.slice(0,o.length+1)===o+"-"))}},CHILD:function(e,t,n,o,r){var i="nth"!==e.slice(0,3),l="last"!==e.slice(-4),s="of-type"===t;return 1===o&&0===r?function(e){return!!e.parentNode}:function(t,n,a){var u,c,d,p,f,h,g=i!==l?"nextSibling":"previousSibling",m=t.parentNode,v=s&&t.nodeName.toLowerCase(),w=!a&&!s,y=!1;if(m){if(i){for(;g;){for(p=t;p=p[g];)if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[l?m.firstChild:m.lastChild],l&&w){for(p=m,d=p[V]||(p[V]={}),c=d[p.uniqueID]||(d[p.uniqueID]={}),u=c[e]||[],f=u[0]===O&&u[1],y=f&&u[2],p=f&&m.childNodes[f];p=++f&&p&&p[g]||(y=f=0)||h.pop();)if(1===p.nodeType&&++y&&p===t){c[e]=[O,f,y];break}}else if(w&&(p=t,d=p[V]||(p[V]={}),c=d[p.uniqueID]||(d[p.uniqueID]={}),u=c[e]||[],f=u[0]===O&&u[1],y=f),y===!1)for(;(p=++f&&p&&p[g]||(y=f=0)||h.pop())&&((s?p.nodeName.toLowerCase()!==v:1!==p.nodeType)||!++y||(w&&(d=p[V]||(p[V]={}),c=d[p.uniqueID]||(d[p.uniqueID]={}),c[e]=[O,y]),p!==t)););return y-=r,y===o||y%o===0&&y/o>=0}}},PSEUDO:function(e,n){var r,i=R.pseudos[e]||R.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return i[V]?i(n):i.length>1?(r=[e,e,"",n],R.setFilters.hasOwnProperty(e.toLowerCase())?o(function(e,t){for(var o,r=i(e,n),l=r.length;l--;)o=ee(e,r[l]),e[o]=!(t[o]=r[l])}):function(e){return i(e,0,r)}):i}},pseudos:{not:o(function(e){var t=[],n=[],r=T(e.replace(se,"$1"));return r[V]?o(function(e,t,n,o){for(var i,l=r(e,null,o,[]),s=e.length;s--;)(i=l[s])&&(e[s]=!(t[s]=i))}):function(e,o,i){return t[0]=e,r(t,null,i,n),t[0]=null,!n.pop()}}),has:o(function(e){return function(n){return t(e,n).length>0}}),contains:o(function(e){return e=e.replace(ye,Ce),function(t){return(t.textContent||t.innerText||E(t)).indexOf(e)>-1}}),lang:o(function(e){return pe.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(ye,Ce).toLowerCase(),function(t){var n;do if(n=L?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===H},focus:function(e){return e===$.activeElement&&(!$.hasFocus||$.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:u(!1),disabled:u(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType=0;)e.push(o);return e}),gt:c(function(e,t,n){for(var o=n2&&"ID"===(l=i[0]).type&&9===t.nodeType&&L&&R.relative[i[1].type]){if(t=(R.find.ID(l.matches[0].replace(ye,Ce),t)||[])[0],!t)return n;u&&(t=t.parentNode),e=e.slice(i.shift().value.length)}for(r=fe.needsContext.test(e)?0:i.length;r--&&(l=i[r],!R.relative[s=l.type]);)if((a=R.find[s])&&(o=a(l.matches[0].replace(ye,Ce),we.test(i[0].type)&&d(t.parentNode)||t))){if(i.splice(r,1),e=o.length&&f(i),!e)return J.apply(n,o),n;break}}return(u||T(e,c))(o,t,!L,n,!t||we.test(e)&&d(t.parentNode)||t),n},x.sortStable=V.split("").sort(U).join("")===V,x.detectDuplicates=!!N,A(),x.sortDetached=r(function(e){return 1&e.compareDocumentPosition($.createElement("fieldset"))}),r(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||i("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),x.attributes&&r(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||i("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),r(function(e){return null==e.getAttribute("disabled")})||i(te,function(e,t,n){var o;if(!n)return e[t]===!0?t.toLowerCase():(o=e.getAttributeNode(t))&&o.specified?o.value:null}),t}(e);ge.find=Ce,ge.expr=Ce.selectors,ge.expr[":"]=ge.expr.pseudos,ge.uniqueSort=ge.unique=Ce.uniqueSort,ge.text=Ce.getText,ge.isXMLDoc=Ce.isXML,ge.contains=Ce.contains,ge.escapeSelector=Ce.escape;var be=function(e,t,n){for(var o=[],r=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(r&&ge(e).is(n))break;o.push(e)}return o},xe=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},Re=ge.expr.match.needsContext,Ee=/^:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:|)$/i,Se=/^.[^:#\[\.,]*$/;ge.filter=function(e,t,n){var o=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===o.nodeType?ge.find.matchesSelector(o,e)?[o]:[]:ge.find.matches(e,ge.grep(t,function(e){return 1===e.nodeType}))},ge.fn.extend({find:function(e){var t,n,o=this.length,r=this;if("string"!=typeof e)return this.pushStack(ge(e).filter(function(){for(t=0;t1?ge.uniqueSort(n):n},filter:function(e){return this.pushStack(i(this,e||[],!1))},not:function(e){return this.pushStack(i(this,e||[],!0))},is:function(e){return!!i(this,"string"==typeof e&&Re.test(e)?ge(e):e||[],!1).length}});var ke,Te=/^(?:\s*()[^>]*|#([\w-]+))$/,Pe=ge.fn.init=function(e,t,n){var o,r;if(!e)return this;if(n=n||ke,"string"==typeof e){if(o=""===e[e.length-1]&&e.length>=3?[null,e,null]:Te.exec(e),!o||!o[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(o[1]){if(t=t instanceof ge?t[0]:t,ge.merge(this,ge.parseHTML(o[1],t&&t.nodeType?t.ownerDocument||t:ne,!0)),Ee.test(o[1])&&ge.isPlainObject(t))for(o in t)ge.isFunction(this[o])?this[o](t[o]):this.attr(o,t[o]);return this}return r=ne.getElementById(o[2]),r&&(this[0]=r,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):ge.isFunction(e)?void 0!==n.ready?n.ready(e):e(ge):ge.makeArray(e,this)};Pe.prototype=ge.fn,ke=ge(ne);var _e=/^(?:parents|prev(?:Until|All))/,De={children:!0,contents:!0,next:!0,prev:!0};ge.fn.extend({has:function(e){var t=ge(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&ge.find.matchesSelector(n,e))){i.push(n);break}return this.pushStack(i.length>1?ge.uniqueSort(i):i)},index:function(e){return e?"string"==typeof e?se.call(ge(e),this[0]):se.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(ge.uniqueSort(ge.merge(this.get(),ge(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),ge.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return be(e,"parentNode")},parentsUntil:function(e,t,n){return be(e,"parentNode",n)},next:function(e){return l(e,"nextSibling")},prev:function(e){return l(e,"previousSibling")},nextAll:function(e){return be(e,"nextSibling")},prevAll:function(e){return be(e,"previousSibling")},nextUntil:function(e,t,n){return be(e,"nextSibling",n)},prevUntil:function(e,t,n){return be(e,"previousSibling",n)},siblings:function(e){return xe((e.parentNode||{}).firstChild,e)},children:function(e){return xe(e.firstChild)},contents:function(e){return r(e,"iframe")?e.contentDocument:(r(e,"template")&&(e=e.content||e),ge.merge([],e.childNodes))}},function(e,t){ge.fn[e]=function(n,o){var r=ge.map(this,t,n);return"Until"!==e.slice(-5)&&(o=n),o&&"string"==typeof o&&(r=ge.filter(o,r)),this.length>1&&(De[e]||ge.uniqueSort(r),_e.test(e)&&r.reverse()),this.pushStack(r)}});var Ne=/[^\x20\t\r\n\f]+/g;ge.Callbacks=function(e){e="string"==typeof e?s(e):ge.extend({},e);var t,n,o,r,i=[],l=[],a=-1,u=function(){for(r=r||e.once,o=t=!0;l.length;a=-1)for(n=l.shift();++a-1;)i.splice(n,1),n-1:i.length>0},empty:function(){return i&&(i=[]),this},disable:function(){return r=l=[],i=n="",this},disabled:function(){return!i},lock:function(){return r=l=[],n||t||(i=n=""),this},locked:function(){return!!r},fireWith:function(e,n){return r||(n=n||[],n=[e,n.slice?n.slice():n],l.push(n),t||u()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!o}};return c},ge.extend({Deferred:function(t){var n=[["notify","progress",ge.Callbacks("memory"),ge.Callbacks("memory"),2],["resolve","done",ge.Callbacks("once memory"),ge.Callbacks("once memory"),0,"resolved"],["reject","fail",ge.Callbacks("once memory"),ge.Callbacks("once memory"),1,"rejected"]],o="pending",r={state:function(){return o},always:function(){return i.done(arguments).fail(arguments),this},"catch":function(e){return r.then(null,e)},pipe:function(){var e=arguments;return ge.Deferred(function(t){ge.each(n,function(n,o){var r=ge.isFunction(e[o[4]])&&e[o[4]];i[o[1]](function(){var e=r&&r.apply(this,arguments);e&&ge.isFunction(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[o[0]+"With"](this,r?[e]:arguments)})}),e=null}).promise()},then:function(t,o,r){function i(t,n,o,r){return function(){var s=this,c=arguments,d=function(){var e,d;if(!(t=l&&(o!==u&&(s=void 0,c=[e]),n.rejectWith(s,c))}};t?p():(ge.Deferred.getStackHook&&(p.stackTrace=ge.Deferred.getStackHook()),e.setTimeout(p))}}var l=0;return ge.Deferred(function(e){n[0][3].add(i(0,e,ge.isFunction(r)?r:a,e.notifyWith)),n[1][3].add(i(0,e,ge.isFunction(t)?t:a)),n[2][3].add(i(0,e,ge.isFunction(o)?o:u))}).promise()},promise:function(e){return null!=e?ge.extend(e,r):r}},i={};return ge.each(n,function(e,t){var l=t[2],s=t[5];r[t[1]]=l.add,s&&l.add(function(){o=s},n[3-e][2].disable,n[0][2].lock),l.add(t[3].fire),i[t[0]]=function(){return i[t[0]+"With"](this===i?void 0:this,arguments),this},i[t[0]+"With"]=l.fireWith}),r.promise(i),t&&t.call(i,i),i},when:function(e){var t=arguments.length,n=t,o=Array(n),r=re.call(arguments),i=ge.Deferred(),l=function(e){return function(n){o[e]=this,r[e]=arguments.length>1?re.call(arguments):n,--t||i.resolveWith(o,r)}};if(t0||$e.resolveWith(ne,[ge]))}}),ge.ready.then=$e.then,"complete"===ne.readyState||"loading"!==ne.readyState&&!ne.documentElement.doScroll?e.setTimeout(ge.ready):(ne.addEventListener("DOMContentLoaded",d),e.addEventListener("load",d));var He=function(e,t,n,o,r,i,l){var s=0,a=e.length,u=null==n;if("object"===ge.type(n)){r=!0;for(s in n)He(e,t,s,n[s],!0,i,l)}else if(void 0!==o&&(r=!0,ge.isFunction(o)||(l=!0),u&&(l?(t.call(e,o),t=null):(u=t,t=function(e,t,n){return u.call(ge(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){Ie.remove(this,e)})}}),ge.extend({queue:function(e,t,n){var o;if(e)return t=(t||"fx")+"queue",o=Fe.get(e,t),n&&(!o||Array.isArray(n)?o=Fe.access(e,t,ge.makeArray(n)):o.push(n)),o||[]},dequeue:function(e,t){t=t||"fx";var n=ge.queue(e,t),o=n.length,r=n.shift(),i=ge._queueHooks(e,t),l=function(){ge.dequeue(e,t)};"inprogress"===r&&(r=n.shift(),o--),r&&("fx"===t&&n.unshift("inprogress"),delete i.stop,r.call(e,l,i)),!o&&i&&i.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Fe.get(e,n)||Fe.access(e,n,{empty:ge.Callbacks("once memory").add(function(){Fe.remove(e,[t+"queue",n])})})}}),ge.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,Ke=/^$|\/(?:java|ecma)script/i,Ge={option:[1,""],thead:[1,"

","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};Ge.optgroup=Ge.option,Ge.tbody=Ge.tfoot=Ge.colgroup=Ge.caption=Ge.thead, Ge.th=Ge.td;var Ye=/x",fe.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var Qe=ne.documentElement,Je=/^key/,Ze=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,et=/^([^.]*)(?:\.(.+)|)/;ge.event={global:{},add:function(e,t,n,o,r){var i,l,s,a,u,c,d,p,f,h,g,m=Fe.get(e);if(m)for(n.handler&&(i=n,n=i.handler,r=i.selector),r&&ge.find.matchesSelector(Qe,r),n.guid||(n.guid=ge.guid++),(a=m.events)||(a=m.events={}),(l=m.handle)||(l=m.handle=function(t){return"undefined"!=typeof ge&&ge.event.triggered!==t.type?ge.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(Ne)||[""],u=t.length;u--;)s=et.exec(t[u])||[],f=g=s[1],h=(s[2]||"").split(".").sort(),f&&(d=ge.event.special[f]||{},f=(r?d.delegateType:d.bindType)||f,d=ge.event.special[f]||{},c=ge.extend({type:f,origType:g,data:o,handler:n,guid:n.guid,selector:r,needsContext:r&&ge.expr.match.needsContext.test(r),namespace:h.join(".")},i),(p=a[f])||(p=a[f]=[],p.delegateCount=0,d.setup&&d.setup.call(e,o,h,l)!==!1||e.addEventListener&&e.addEventListener(f,l)),d.add&&(d.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),r?p.splice(p.delegateCount++,0,c):p.push(c),ge.event.global[f]=!0)},remove:function(e,t,n,o,r){var i,l,s,a,u,c,d,p,f,h,g,m=Fe.hasData(e)&&Fe.get(e);if(m&&(a=m.events)){for(t=(t||"").match(Ne)||[""],u=t.length;u--;)if(s=et.exec(t[u])||[],f=g=s[1],h=(s[2]||"").split(".").sort(),f){for(d=ge.event.special[f]||{},f=(o?d.delegateType:d.bindType)||f,p=a[f]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=i=p.length;i--;)c=p[i],!r&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||o&&o!==c.selector&&("**"!==o||!c.selector)||(p.splice(i,1),c.selector&&p.delegateCount--,d.remove&&d.remove.call(e,c));l&&!p.length&&(d.teardown&&d.teardown.call(e,h,m.handle)!==!1||ge.removeEvent(e,f,m.handle),delete a[f])}else for(f in a)ge.event.remove(e,f+t[u],n,o,!0);ge.isEmptyObject(a)&&Fe.remove(e,"handle events")}},dispatch:function(e){var t,n,o,r,i,l,s=ge.event.fix(e),a=new Array(arguments.length),u=(Fe.get(this,"events")||{})[s.type]||[],c=ge.event.special[s.type]||{};for(a[0]=s,t=1;t=1))for(;u!==this;u=u.parentNode||this)if(1===u.nodeType&&("click"!==e.type||u.disabled!==!0)){for(i=[],l={},n=0;n
-1:ge.find(r,this,null,[u]).length),l[r]&&i.push(o);i.length&&s.push({elem:u,handlers:i})}return u=this,a\x20\t\r\n\f]*)[^>]*)\/>/gi,nt=/

").appendTo($container),options.createPreHeaderPanel&&($preHeaderPanelScroller=$("
").appendTo($container),$preHeaderPanel=$("
").appendTo($preHeaderPanelScroller),$preHeaderPanelSpacer=$("
").css("width",getCanvasWidth()+scrollbarDimensions.width+"px").appendTo($preHeaderPanelScroller),options.showPreHeaderPanel||$preHeaderPanelScroller.hide()),$headerScroller=$("
").appendTo($container),$headers=$("
").appendTo($headerScroller),$headers.width(getHeadersWidth()),$headerRowScroller=$("
").appendTo($container),$headerRow=$("
").appendTo($headerRowScroller),$headerRowSpacer=$("
").css("width",getCanvasWidth()+scrollbarDimensions.width+"px").appendTo($headerRowScroller),$topPanelScroller=$("
").appendTo($container),$topPanel=$("
").appendTo($topPanelScroller),options.showTopPanel||$topPanelScroller.hide(),options.showHeaderRow||$headerRowScroller.hide(),$viewport=$("
").appendTo($container),$viewport.css("overflow-y",options.autoHeight?"hidden":"auto"),$canvas=$("
").appendTo($viewport),options.createFooterRow&&($footerRowScroller=$("
").appendTo($container),$footerRow=$("
").appendTo($footerRowScroller),$footerRowSpacer=$("
").css("width",getCanvasWidth()+scrollbarDimensions.width+"px").appendTo($footerRowScroller),options.showFooterRow||$footerRowScroller.hide()),options.numberedMultiColumnSort&&(sortIndicatorCssClass="slick-sort-indicator-numbered"),$focusSink2=$focusSink.clone().appendTo($container),options.explicitInitialization||finishInitialization()}function finishInitialization(){initialized||(initialized=!0,viewportW=parseFloat($.css($container[0],"width",!0)),measureCellPaddingAndBorder(),disableSelection($headers),options.enableTextSelectionOnCells||$viewport.on("selectstart.ui",function(e){return $(e.target).is("input,textarea")}),updateColumnCaches(),createColumnHeaders(),setupColumnSort(),createCssRules(),resizeCanvas(),bindAncestorScrollEvents(),$container.on("resize.slickgrid",resizeCanvas),$viewport.on("scroll",handleScroll),$headerScroller.on("contextmenu",handleHeaderContextMenu).on("click",handleHeaderClick).on("mouseenter",".slick-header-column",handleHeaderMouseEnter).on("mouseleave",".slick-header-column",handleHeaderMouseLeave),$headerRowScroller.on("scroll",handleHeaderRowScroll),options.createFooterRow&&$footerRowScroller.on("scroll",handleFooterRowScroll),options.createPreHeaderPanel&&$preHeaderPanelScroller.on("scroll",handlePreHeaderPanelScroll),$focusSink.add($focusSink2).on("keydown",handleKeyDown),$canvas.on("keydown",handleKeyDown).on("click",handleClick).on("dblclick",handleDblClick).on("contextmenu",handleContextMenu).on("draginit",handleDragInit).on("dragstart",{distance:3},handleDragStart).on("drag",handleDrag).on("dragend",handleDragEnd).on("mouseenter",".slick-cell",handleMouseEnter).on("mouseleave",".slick-cell",handleMouseLeave),navigator.userAgent.toLowerCase().match(/webkit/)&&navigator.userAgent.toLowerCase().match(/macintosh/)&&$canvas.on("mousewheel",handleMouseWheel),restoreCssFromHiddenInit())}function cacheCssForHiddenInit(){$hiddenParents=$container.parents().addBack().not(":visible"),$hiddenParents.each(function(){var e={};for(var t in cssShow)e[t]=this.style[t],this.style[t]=cssShow[t];oldProps.push(e)})}function restoreCssFromHiddenInit(){$hiddenParents.each(function(e){var t=oldProps[e];for(var n in cssShow)this.style[n]=t[n]})}function registerPlugin(e){plugins.unshift(e),e.init(self)}function unregisterPlugin(e){for(var t=plugins.length;t>=0;t--)if(plugins[t]===e){plugins[t].destroy&&plugins[t].destroy(),plugins.splice(t,1);break}}function setSelectionModel(e){selectionModel&&(selectionModel.onSelectedRangesChanged.unsubscribe(handleSelectedRangesChanged),selectionModel.destroy&&selectionModel.destroy()),selectionModel=e,selectionModel&&(selectionModel.init(self),selectionModel.onSelectedRangesChanged.subscribe(handleSelectedRangesChanged))}function getSelectionModel(){return selectionModel}function getCanvasNode(){return $canvas[0]}function measureScrollbar(){var e=$("
").appendTo("body"),t={width:e.width()-e[0].clientWidth,height:e.height()-e[0].clientHeight};return e.remove(),t}function getColumnTotalWidth(e){for(var t=0,n=0,o=columns.length;nviewportW-scrollbarDimensions.width);var n=canvasWidth+(viewportHasVScroll?scrollbarDimensions.width:0);$headerRowSpacer.width(n),options.createFooterRow&&$footerRowSpacer.width(n),options.createPreHeaderPanel&&$preHeaderPanelSpacer.width(n),(canvasWidth!=t||e)&&applyColumnWidths()}function disableSelection(e){e&&e.jquery&&e.attr("unselectable","on").css("MozUserSelect","none").on("selectstart.ui",function(){return!1})}function getMaxSupportedCssHeight(){for(var e=1e6,t=navigator.userAgent.toLowerCase().match(/firefox/)?6e6:1e9,n=$("
").appendTo(document.body);;){var o=2*e;if(n.css("height",o),o>t||n.height()!==o)break;e=o}return n.remove(),e}function getUID(){return uid}function getHeaderColumnWidthDiff(){return headerColumnWidthDiff}function getScrollbarDimensions(){return scrollbarDimensions}function bindAncestorScrollEvents(){for(var e=$canvas[0];(e=e.parentNode)!=document.body&&null!=e;)if(e==$viewport[0]||e.scrollWidth!=e.clientWidth||e.scrollHeight!=e.clientHeight){var t=$(e);$boundAncestors=$boundAncestors?$boundAncestors.add(t):t,t.on("scroll."+uid,handleActiveCellPositionChange)}}function unbindAncestorScrollEvents(){$boundAncestors&&($boundAncestors.off("scroll."+uid),$boundAncestors=null)}function updateColumnHeader(e,t,n){if(initialized){var o=getColumnIndex(e);if(null!=o){var r=columns[o],i=$headers.children().eq(o);i&&(void 0!==t&&(columns[o].name=t),void 0!==n&&(columns[o].toolTip=n),trigger(self.onBeforeHeaderCellDestroy,{node:i[0],column:r,grid:self}),i.attr("title",n||"").children().eq(0).html(t),trigger(self.onHeaderCellRendered,{node:i[0],column:r,grid:self}))}}}function getHeaderRow(){return $headerRow[0]}function getFooterRow(){return $footerRow[0]}function getPreHeaderPanel(){return $preHeaderPanel[0]}function getHeaderRowColumn(e){var t=getColumnIndex(e),n=$headerRow.children().eq(t);return n&&n[0]}function getFooterRowColumn(e){var t=getColumnIndex(e),n=$footerRow.children().eq(t);return n&&n[0]}function createColumnHeaders(){function e(){$(this).addClass("ui-state-hover")}function t(){$(this).removeClass("ui-state-hover")}$headers.find(".slick-header-column").each(function(){var e=$(this).data("column");e&&trigger(self.onBeforeHeaderCellDestroy,{node:this,column:e,grid:self})}),$headers.empty(),$headers.width(getHeadersWidth()),$headerRow.find(".slick-headerrow-column").each(function(){var e=$(this).data("column");e&&trigger(self.onBeforeHeaderRowCellDestroy,{node:this,column:e,grid:self})}),$headerRow.empty(),options.createFooterRow&&($footerRow.find(".slick-footerrow-column").each(function(){var e=$(this).data("column");e&&trigger(self.onBeforeFooterRowCellDestroy,{node:this,column:e})}),$footerRow.empty());for(var n=0;n").html(""+o.name+"").width(o.width-headerColumnWidthDiff).attr("id",""+uid+o.id).attr("title",o.toolTip||"").data("column",o).addClass(o.headerCssClass||"").appendTo($headers);if((options.enableColumnReorder||o.sortable)&&r.on("mouseenter",e).on("mouseleave",t),o.sortable&&(r.addClass("slick-header-sortable"),r.append("")),trigger(self.onHeaderCellRendered,{node:r[0],column:o,grid:self}),options.showHeaderRow){var i=$("
").data("column",o).appendTo($headerRow);trigger(self.onHeaderRowCellRendered,{node:i[0],column:o,grid:self})}if(options.createFooterRow&&options.showFooterRow){var l=$("
").data("column",o).appendTo($footerRow);trigger(self.onFooterRowCellRendered,{node:l[0],column:o})}}setSortColumns(sortColumns),setupColumnResize(),options.enableColumnReorder&&("function"==typeof options.enableColumnReorder?options.enableColumnReorder(self,$headers,headerColumnWidthDiff,setColumns,setupColumnResize,columns,getColumnIndex,uid,trigger):setupColumnReorder())}function setupColumnSort(){$headers.click(function(e){if(e.metaKey=e.metaKey||e.ctrlKey,!$(e.target).hasClass("slick-resizable-handle")){var t=$(e.target).closest(".slick-header-column");if(t.length){var n=t.data("column");if(n.sortable){if(!getEditorLock().commitCurrentEdit())return;for(var o=null,r=0;r0&&(options.multiColumnSort?trigger(self.onSort,{multiColumnSort:!0,sortCols:$.map(sortColumns,function(e){return{sortCol:columns[getColumnIndex(e.columnId)],sortAsc:e.sortAsc}}),grid:self},e):trigger(self.onSort,{multiColumnSort:!1,sortCol:n,sortAsc:sortColumns[0].sortAsc,grid:self},e))}}}})}function setupColumnReorder(){$headers.filter(":ui-sortable").sortable("destroy"),$headers.sortable({containment:"parent",distance:3,axis:"x",cursor:"default",tolerance:"intersection",helper:"clone",placeholder:"slick-sortable-placeholder ui-state-default slick-header-column",start:function(e,t){t.placeholder.width(t.helper.outerWidth()-headerColumnWidthDiff),$(t.helper).addClass("slick-header-column-active")},beforeStop:function(e,t){$(t.helper).removeClass("slick-header-column-active")},stop:function(e){if(!getEditorLock().commitCurrentEdit())return void $(this).sortable("cancel");for(var t=$headers.sortable("toArray"),n=[],o=0;o=columns.length||columns[e].resizable&&(void 0===s&&(s=e),a=e)}),void 0!==s&&r.each(function(u,c){u>=columns.length||u=a||(e=$(c),$("
").appendTo(c).on("dragstart",function(e,s){if(!getEditorLock().commitCurrentEdit())return!1;o=e.pageX,$(this).parent().addClass("slick-header-column-active");var a=null,c=null;if(r.each(function(e,t){e>=columns.length||(columns[e].previousWidth=$(t).outerWidth())}),options.forceFitColumns)for(a=0,c=0,t=u+1;t=0;t--)n=columns[t],n.resizable&&(s=Math.max(n.minWidth||0,absoluteColumnMinWidth),a&&n.previousWidth+a=0;t--)n=columns[t],n.resizable&&(a&&n.maxWidth&&n.maxWidth-n.previousWidth=8||o[0]>=2,e=$("").appendTo($headers),headerColumnWidthDiff=headerColumnHeightDiff=0,"border-box"!=e.css("box-sizing")&&"border-box"!=e.css("-moz-box-sizing")&&"border-box"!=e.css("-webkit-box-sizing")&&($.each(t,function(t,n){headerColumnWidthDiff+=parseFloat(e.css(n))||0}),$.each(n,function(t,n){headerColumnHeightDiff+=parseFloat(e.css(n))||0})),e.remove();var r=$("
").appendTo($canvas);e=$("").appendTo(r),cellWidthDiff=cellHeightDiff=0,"border-box"!=e.css("box-sizing")&&"border-box"!=e.css("-moz-box-sizing")&&"border-box"!=e.css("-webkit-box-sizing")&&($.each(t,function(t,n){cellWidthDiff+=parseFloat(e.css(n))||0}),$.each(n,function(t,n){cellHeightDiff+=parseFloat(e.css(n))||0})),r.remove(),absoluteColumnMinWidth=Math.max(headerColumnWidthDiff,cellWidthDiff)}function createCssRules(){$style=$("").appendTo($("head"));for(var e=options.rowHeight-cellHeightDiff,t=["."+uid+" .slick-header-column { left: 1000px; }","."+uid+" .slick-top-panel { height:"+options.topPanelHeight+"px; }","."+uid+" .slick-preheader-panel { height:"+options.preHeaderPanelHeight+"px; }","."+uid+" .slick-headerrow-columns { height:"+options.headerRowHeight+"px; }","."+uid+" .slick-footerrow-columns { height:"+options.footerRowHeight+"px; }","."+uid+" .slick-cell { height:"+e+"px; }","."+uid+" .slick-row { height:"+options.rowHeight+"px; }"],n=0;nl&&r;){var s=(i-l)/r;for(e=0;el;e++){t=columns[e];var a=o[e];if(!(!t.resizable||a=i)break;n=i}var h=!1;for(e=0;e1,n=$headers.children(),o=n.removeClass("slick-header-column-sorted").find("."+sortIndicatorCssClass).removeClass("slick-sort-indicator-asc slick-sort-indicator-desc");t&&o.text(""),$.each(sortColumns,function(e,r){null==r.sortAsc&&(r.sortAsc=!0); var i=getColumnIndex(r.columnId);null!=i&&(o=n.eq(i).addClass("slick-header-column-sorted").find("."+sortIndicatorCssClass).addClass(r.sortAsc?"slick-sort-indicator-asc":"slick-sort-indicator-desc"),t&&o.text(e+1))})}function getSortColumns(){return sortColumns}function handleSelectedRangesChanged(e,t){selectedRows=[];for(var n={},o=0;on.maxWidth&&(n.width=n.maxWidth)}updateColumnCaches(),initialized&&(invalidateAllRows(),createColumnHeaders(),removeCssRules(),createCssRules(),resizeCanvas(),applyColumnWidths(),handleScroll())}function getOptions(){return options}function setOptions(e,t){getEditorLock().commitCurrentEdit()&&(makeActiveCellNormal(),options.enableAddRow!==e.enableAddRow&&invalidateRow(getDataLength()),options=$.extend(options,e),validateAndEnforceOptions(),$viewport.css("overflow-y",options.autoHeight?"hidden":"auto"),t||render())}function validateAndEnforceOptions(){options.autoHeight&&(options.leaveSpaceForNewRows=!1)}function setData(e,t){data=e,invalidateAllRows(),updateRowCount(),t&&scrollTo(0)}function getData(){return data}function getDataLength(){return data.getLength?data.getLength():data.length}function getDataLengthIncludingAddNew(){return getDataLength()+(options.enableAddRow&&(!pagingActive||pagingIsLastPage)?1:0)}function getDataItem(e){return data.getItem?data.getItem(e):data[e]}function getTopPanel(){return $topPanel[0]}function setTopPanelVisibility(e){options.showTopPanel!=e&&(options.showTopPanel=e,e?$topPanelScroller.slideDown("fast",resizeCanvas):$topPanelScroller.slideUp("fast",resizeCanvas))}function setHeaderRowVisibility(e){options.showHeaderRow!=e&&(options.showHeaderRow=e,e?$headerRowScroller.slideDown("fast",resizeCanvas):$headerRowScroller.slideUp("fast",resizeCanvas))}function setFooterRowVisibility(e){options.showFooterRow!=e&&(options.showFooterRow=e,e?$footerRowScroller.slideDown("fast",resizeCanvas):$footerRowScroller.slideUp("fast",resizeCanvas))}function setPreHeaderPanelVisibility(e){options.showPreHeaderPanel!=e&&(options.showPreHeaderPanel=e,e?$preHeaderPanelScroller.slideDown("fast",resizeCanvas):$preHeaderPanelScroller.slideUp("fast",resizeCanvas))}function getContainerNode(){return $container.get(0)}function getRowTop(e){return options.rowHeight*e-offset}function getRowFromPosition(e){return Math.floor((e+offset)/options.rowHeight)}function scrollTo(e){e=Math.max(e,0),e=Math.min(e,th-viewportH+(viewportHasHScroll?scrollbarDimensions.height:0));var t=offset;page=Math.min(n-1,Math.floor(e/ph)),offset=Math.round(page*cj);var o=e-offset;if(offset!=t){var r=getVisibleRange(o);cleanupRows(r),updateRowPositions()}prevScrollTop!=o&&(vScrollDir=prevScrollTop+t/g,">")}function getFormatter(e,t){var n=data.getItemMetadata&&data.getItemMetadata(e),o=n&&n.columns&&(n.columns[t.id]||n.columns[getColumnIndex(t.id)]);return o&&o.formatter||n&&n.formatter||t.formatter||options.formatterFactory&&options.formatterFactory.getFormatter(t)||options.defaultFormatter}function getEditor(e,t){var n=columns[t],o=data.getItemMetadata&&data.getItemMetadata(e),r=o&&o.columns;return r&&r[n.id]&&void 0!==r[n.id].editor?r[n.id].editor:r&&r[t]&&void 0!==r[t].editor?r[t].editor:n.editor||options.editorFactory&&options.editorFactory.getEditor(n)}function getDataItemValueForColumn(e,t){return options.dataItemColumnValueExtractor?options.dataItemColumnValueExtractor(e,t):e[t.field]}function appendRowHtml(e,t,n,o){var r=getDataItem(t),i=t");for(var a,u,c=0,d=columns.length;cn.leftPx){if(columnPosLeft[c]>n.rightPx)break;appendCellHtml(e,t,c,a,r)}a>1&&(c+=a-1)}e.push("
")}function appendCellHtml(e,t,n,o,r){var i=columns[n],l="slick-cell l"+n+" r"+Math.min(columns.length-1,n+o-1)+(i.cssClass?" "+i.cssClass:"");t===activeRow&&n===activeCell&&(l+=" active");for(var s in cellCssClasses)cellCssClasses[s][t]&&cellCssClasses[s][t][i.id]&&(l+=" "+cellCssClasses[s][t][i.id]);var a=null;r&&(a=getDataItemValueForColumn(r,i));var u=getFormatter(t,i)(t,n,a,i,r),c=trigger(self.onBeforeAppendCell,{row:t,cell:n,grid:self,value:a,dataContext:r})||"";c+=u.addClasses?(c?" ":"")+u.addClasses:"",e.push("
"),r&&e.push("object"!=typeof u?u:u.text),e.push("
"),rowsCache[t].cellRenderQueue.push(n),rowsCache[t].cellColSpans[n]=o}function cleanupRows(e){for(var t in rowsCache)(t=parseInt(t,10))!==activeRow&&(te.bottom)&&removeRowFromCache(t);options.enableAsyncPostRenderCleanup&&startPostProcessingCleanup()}function invalidate(){updateRowCount(),invalidateAllRows(),render()}function invalidateAllRows(){currentEditor&&makeActiveCellNormal();for(var e in rowsCache)removeRowFromCache(e);options.enableAsyncPostRenderCleanup&&startPostProcessingCleanup()}function queuePostProcessedRowForCleanup(e,t,n){postProcessgroupId++;for(var o in t)t.hasOwnProperty(o)&&postProcessedCleanupQueue.push({actionType:"C",groupId:postProcessgroupId,node:e.cellNodesByColumnIdx[0|o],columnIdx:0|o,rowIdx:n});postProcessedCleanupQueue.push({actionType:"R",groupId:postProcessgroupId,node:e.rowNode}),$(e.rowNode).detach()}function queuePostProcessedCellForCleanup(e,t,n){postProcessedCleanupQueue.push({actionType:"C",groupId:postProcessgroupId,node:e,columnIdx:t,rowIdx:n}),$(e).detach()}function removeRowFromCache(e){var t=rowsCache[e];t&&(rowNodeFromLastMouseWheelEvent===t.rowNode?(t.rowNode.style.display="none",zombieRowNodeFromLastMouseWheelEvent=rowNodeFromLastMouseWheelEvent,zombieRowCacheFromLastMouseWheelEvent=t,zombieRowPostProcessedFromLastMouseWheelEvent=postProcessedRows[e]):options.enableAsyncPostRenderCleanup&&postProcessedRows[e]?queuePostProcessedRowForCleanup(t,postProcessedRows[e],e):$canvas[0].removeChild(t.rowNode),delete rowsCache[e],delete postProcessedRows[e],renderedRows--,counter_rows_removed++)}function invalidateRows(e){var t,n;if(e&&e.length){for(vScrollDir=0,n=e.length,t=0;tviewportH,viewportHasHScroll=canvasWidth>viewportW-scrollbarDimensions.width,makeActiveCellNormal();var i=e-1;for(var l in rowsCache)l>i&&removeRowFromCache(l);options.enableAsyncPostRenderCleanup&&startPostProcessingCleanup(),activeCellNode&&activeRow>i&&resetActiveCell();var s=h;th=Math.max(options.rowHeight*o,viewportH-scrollbarDimensions.height),the.rightPx||columnPosRight[Math.min(columns.length-1,i+l-1)]e.rightPx);d++)if(null==(o=t.cellColSpans[d])){if(o=1,u){var f=u[columns[d].id]||u[d];o=f&&f.colspan||1,"*"===o&&(o=p-d)}columnPosRight[Math.min(p-1,d+o-1)]>e.leftPx&&(appendCellHtml(r,s,d,o,c),n++),d+=o>1?o-1:0}else d+=o>1?o-1:0;n&&(l+=n,i.push(s))}if(r.length){var h=document.createElement("div");h.innerHTML=r.join("");for(var g,m;null!=(g=i.pop());){t=rowsCache[g];for(var v;null!=(v=t.cellRenderQueue.pop());)m=h.lastChild,t.rowNode.appendChild(m),t.cellNodesByColumnIdx[v]=m}}}function renderRows(e){for(var t=$canvas[0],n=[],o=[],r=!1,i=getDataLength(),l=e.top,s=e.bottom;l20||Math.abs(lastRenderedScrollLeft-scrollLeft)>20)&&(options.forceSyncScrolling||Math.abs(lastRenderedScrollTop-scrollTop)=0?postProcessFromRow++:postProcessToRow--,n=rowsCache[t];if(n&&!(t>=e)){postProcessedRows[t]||(postProcessedRows[t]={}),ensureCellNodesInRowsCache(t);for(var o in n.cellNodesByColumnIdx)if(n.cellNodesByColumnIdx.hasOwnProperty(o)){o=0|o;var r=columns[o],i=postProcessedRows[t][o];if(r.asyncPostRender&&"R"!==i){var l=n.cellNodesByColumnIdx[o];l&&r.asyncPostRender(l,t,getDataItem(t),r,"C"===i),postProcessedRows[t][o]="R"}}return void(h_postrender=setTimeout(asyncPostProcessRows,options.asyncPostRenderDelay))}}}function asyncPostProcessCleanupRows(){if(postProcessedCleanupQueue.length>0){for(var e=postProcessedCleanupQueue[0].groupId;postProcessedCleanupQueue.length>0&&postProcessedCleanupQueue[0].groupId==e;){var t=postProcessedCleanupQueue.shift();if("R"==t.actionType&&$(t.node).remove(),"C"==t.actionType){var n=columns[t.columnIdx];n.asyncPostRenderCleanup&&t.node&&n.asyncPostRenderCleanup(t.node,t.rowIdx,n)}}h_postrenderCleanup=setTimeout(asyncPostProcessCleanupRows,options.asyncPostRenderCleanupDelay)}}function updateCellCssStylesOnRenderedRows(e,t){var n,o,r,i;for(var l in rowsCache){if(i=t&&t[l],r=e&&e[l],i)for(o in i)r&&i[o]==r[o]||(n=getCellNode(l,getColumnIndex(o)),n&&$(n).removeClass(i[o]));if(r)for(o in r)i&&i[o]==r[o]||(n=getCellNode(l,getColumnIndex(o)),n&&$(n).addClass(r[o]))}}function addCellCssStyles(e,t){if(cellCssClasses[e])throw new Error("addCellCssStyles: cell CSS hash with key '"+e+"' already exists.");cellCssClasses[e]=t,updateCellCssStylesOnRenderedRows(t,null),trigger(self.onCellCssStylesChanged,{key:e,hash:t,grid:self})}function removeCellCssStyles(e){cellCssClasses[e]&&(updateCellCssStylesOnRenderedRows(null,cellCssClasses[e]),delete cellCssClasses[e],trigger(self.onCellCssStylesChanged,{key:e,hash:null,grid:self}))}function setCellCssStyles(e,t){var n=cellCssClasses[e];cellCssClasses[e]=t,updateCellCssStylesOnRenderedRows(t,n),trigger(self.onCellCssStylesChanged,{key:e,hash:t,grid:self})}function getCellCssStyles(e){return cellCssClasses[e]}function flashCell(e,t,n){if(n=n||100,rowsCache[e]){var o=$(getCellNode(e,t)),r=function(e){e&&setTimeout(function(){o.queue(function(){o.toggleClass(options.cellFlashingCssClass).dequeue(),r(e-1)})},n)};r(4)}}function handleMouseWheel(e){var t=$(e.target).closest(".slick-row")[0];t!=rowNodeFromLastMouseWheelEvent&&(zombieRowNodeFromLastMouseWheelEvent&&zombieRowNodeFromLastMouseWheelEvent!=t&&(options.enableAsyncPostRenderCleanup&&zombieRowPostProcessedFromLastMouseWheelEvent?queuePostProcessedRowForCleanup(zombieRowCacheFromLastMouseWheelEvent,zombieRowPostProcessedFromLastMouseWheelEvent):$canvas[0].removeChild(zombieRowNodeFromLastMouseWheelEvent),zombieRowNodeFromLastMouseWheelEvent=null,zombieRowCacheFromLastMouseWheelEvent=null,zombieRowPostProcessedFromLastMouseWheelEvent=null,options.enableAsyncPostRenderCleanup&&startPostProcessingCleanup()),rowNodeFromLastMouseWheelEvent=t)}function handleDragInit(e,t){var n=getCellFromEvent(e);if(!n||!cellExists(n.row,n.cell))return!1;var o=trigger(self.onDragInit,t,e);return!!e.isImmediatePropagationStopped()&&o}function handleDragStart(e,t){var n=getCellFromEvent(e);if(!n||!cellExists(n.row,n.cell))return!1;var o=trigger(self.onDragStart,t,e);return!!e.isImmediatePropagationStopped()&&o}function handleDrag(e,t){return trigger(self.onDrag,t,e)}function handleDragEnd(e,t){trigger(self.onDragEnd,t,e)}function handleKeyDown(e){trigger(self.onKeyDown,{row:activeRow,cell:activeCell,grid:self},e);var t=e.isImmediatePropagationStopped(),n=Slick.keyCode;if(!t)if(e.shiftKey||e.altKey||e.ctrlKey)e.which!=n.TAB||!e.shiftKey||e.ctrlKey||e.altKey||(t=navigatePrev());else{if(options.editable&&currentEditor&&currentEditor.keyCaptureList&&currentEditor.keyCaptureList.indexOf(e.which)>-1)return;if(e.which==n.ESCAPE){if(!getEditorLock().isActive())return;cancelEditAndSetFocus()}else e.which==n.PAGE_DOWN?(navigatePageDown(),t=!0):e.which==n.PAGE_UP?(navigatePageUp(),t=!0):e.which==n.LEFT?t=navigateLeft():e.which==n.RIGHT?t=navigateRight():e.which==n.UP?t=navigateUp():e.which==n.DOWN?t=navigateDown():e.which==n.TAB?t=navigateNext():e.which==n.ENTER&&(options.editable&&(currentEditor?activeRow===getDataLength()?navigateDown():commitEditAndSetFocus():getEditorLock().commitCurrentEdit()&&makeActiveCellEditable()),t=!0)}if(t){e.stopPropagation(),e.preventDefault();try{e.originalEvent.keyCode=0}catch(o){}}}function handleClick(e){currentEditor||(e.target!=document.activeElement||$(e.target).hasClass("slick-cell"))&&setFocus();var t=getCellFromEvent(e);if(t&&(null===currentEditor||activeRow!=t.row||activeCell!=t.cell)&&(trigger(self.onClick,{row:t.row,cell:t.cell,grid:self},e),!e.isImmediatePropagationStopped()&&canCellBeActive(t.row,t.cell)&&(!getEditorLock().isActive()||getEditorLock().commitCurrentEdit()))){scrollRowIntoView(t.row,!1);var n=e.target&&e.target.className===Slick.preClickClassName;setActiveCellInternal(getCellNode(t.row,t.cell),null,n)}}function handleContextMenu(e){var t=$(e.target).closest(".slick-cell",$canvas);0!==t.length&&(activeCellNode===t[0]&&null!==currentEditor||trigger(self.onContextMenu,{grid:self},e))}function handleDblClick(e){var t=getCellFromEvent(e);!t||null!==currentEditor&&activeRow==t.row&&activeCell==t.cell||(trigger(self.onDblClick,{row:t.row,cell:t.cell,grid:self},e),e.isImmediatePropagationStopped()||options.editable&&gotoCell(t.row,t.cell,!0))}function handleHeaderMouseEnter(e){trigger(self.onHeaderMouseEnter,{column:$(this).data("column"),grid:self},e)}function handleHeaderMouseLeave(e){trigger(self.onHeaderMouseLeave,{column:$(this).data("column"),grid:self},e)}function handleHeaderContextMenu(e){var t=$(e.target).closest(".slick-header-column",".slick-header-columns"),n=t&&t.data("column");trigger(self.onHeaderContextMenu,{column:n,grid:self},e)}function handleHeaderClick(e){var t=$(e.target).closest(".slick-header-column",".slick-header-columns"),n=t&&t.data("column");n&&trigger(self.onHeaderClick,{column:n,grid:self},e)}function handleMouseEnter(e){trigger(self.onMouseEnter,{grid:self},e)}function handleMouseLeave(e){trigger(self.onMouseLeave,{grid:self},e)}function cellExists(e,t){return!(e=getDataLength()||t=columns.length)}function getCellFromPoint(e,t){for(var n=getRowFromPosition(t),o=0,r=0,i=0;i1?o-1:0)])}function internalScrollColumnIntoView(e,t){var n=scrollLeft+viewportW;en&&($viewport.scrollLeft(Math.min(e,t-$viewport[0].clientWidth)),handleScroll(),render())}function scrollColumnIntoView(e){internalScrollColumnIntoView(columnPosLeft[e],columnPosRight[e])}function setActiveCellInternal(e,t,n,o){null!==activeCellNode&&(makeActiveCellNormal(),$(activeCellNode).removeClass("active"),rowsCache[activeRow]&&$(rowsCache[activeRow].rowNode).removeClass("active"));activeCellNode=e,null!=activeCellNode?(activeRow=getRowFromNode(activeCellNode.parentNode),activeCell=activePosX=getCellFromNode(activeCellNode),null==t&&(t=activeRow==getDataLength()||options.autoEdit),options.showCellSelection&&($(activeCellNode).addClass("active"),$(rowsCache[activeRow].rowNode).addClass("active")),options.editable&&t&&isCellPotentiallyEditable(activeRow,activeCell)&&(clearTimeout(h_editorLoader),options.asyncEditorLoading?h_editorLoader=setTimeout(function(){makeActiveCellEditable(void 0,n)},options.asyncEditorLoadDelay):makeActiveCellEditable(void 0,n))):activeRow=activeCell=null,o||trigger(self.onActiveCellChanged,getActiveCell())}function clearTextSelection(){if(document.selection&&document.selection.empty)try{document.selection.empty()}catch(e){}else if(window.getSelection){var t=window.getSelection();t&&t.removeAllRanges&&t.removeAllRanges()}}function isCellPotentiallyEditable(e,t){var n=getDataLength();return!(e=n)&&!!getEditor(e,t))}function makeActiveCellNormal(){if(currentEditor){if(trigger(self.onBeforeCellEditorDestroy,{editor:currentEditor,grid:self}),currentEditor.destroy(),currentEditor=null,activeCellNode){var e=getDataItem(activeRow);if($(activeCellNode).removeClass("editable invalid"),e){var t=columns[activeCell],n=getFormatter(activeRow,t),o=n(activeRow,activeCell,getDataItemValueForColumn(e,t),t,e,self);applyFormatResultToCellNode(o,activeCellNode),invalidatePostProcessingResults(activeRow)}}navigator.userAgent.toLowerCase().match(/msie/)&&clearTextSelection(),getEditorLock().deactivate(editController)}}function makeActiveCellEditable(e,t){if(activeCellNode){if(!options.editable)throw new Error("Grid : makeActiveCellEditable : should never get called when options.editable is false");if(clearTimeout(h_editorLoader),isCellPotentiallyEditable(activeRow,activeCell)){var n=columns[activeCell],o=getDataItem(activeRow);if(trigger(self.onBeforeEditCell,{row:activeRow,cell:activeCell,item:o,column:n,grid:self})===!1)return void setFocus();getEditorLock().activate(editController),$(activeCellNode).addClass("editable");var r=e||getEditor(activeRow,activeCell);e||r.suppressClearOnEdit||(activeCellNode.innerHTML=""),currentEditor=new r({grid:self,gridPosition:absBox($container[0]),position:absBox(activeCellNode),container:activeCellNode,column:n,item:o||{},commitChanges:commitEditAndSetFocus,cancelChanges:cancelEditAndSetFocus}),o&&(currentEditor.loadValue(o),t&&currentEditor.preClick&&currentEditor.preClick()),serializedEditorValue=currentEditor.serializeValue(),currentEditor.position&&handleActiveCellPositionChange()}}}function commitEditAndSetFocus(){getEditorLock().commitCurrentEdit()&&(setFocus(),options.autoEdit&&navigateDown())}function cancelEditAndSetFocus(){getEditorLock().cancelCurrentEdit()&&setFocus()}function absBox(e){var t={top:e.offsetTop,left:e.offsetLeft,bottom:0,right:0,width:$(e).outerWidth(),height:$(e).outerHeight(),visible:!0};t.bottom=t.top+t.height,t.right=t.left+t.width;for(var n=e.offsetParent;(e=e.parentNode)!=document.body&&null!=e;)t.visible&&e.scrollHeight!=e.offsetHeight&&"visible"!=$(e).css("overflowY")&&(t.visible=t.bottom>e.scrollTop&&t.tope.scrollLeft&&t.leftscrollTop+viewportH+offset?(scrollTo(t?n:o),render()):e*options.rowHeight=o&&(n=o-1),n=columns.length)return null;do t+=getColspan(e,t);while(t=t)return null;for(var r,i={row:e,cell:o,posX:o};;){if(r=gotoRight(i.row,i.cell,i.posX),!r)return null;if(r.cell>=t)return i;i=r}}function gotoDown(e,t,n){for(var o,r=getDataLengthIncludingAddNew();;){if(++e>=r)return null;for(o=t=0;tgetDataLength()||e=columns.length||t=getDataLengthIncludingAddNew()||e=columns.length||t=getDataLength()||e=columns.length||t":">",'"':""","'":"'"}},g={escape:new RegExp("["+p.keys(h.escape).join("")+"]","g")};p.each(["escape"],function(e){p[e]=function(t){return null==t?"":(""+t).replace(g[e],function(t){return h[e][t]})}}),p.templateSettings={evaluate://g,interpolate://g,escape://g};var m=/(.)^/,v={"'":"'","\\":"\\","\r":"r","\n":"n","\t":"t","\u2028":"u2028","\u2029":"u2029"},w=/\\|'|\r|\n|\t|\u2028|\u2029/g;p.template=function(e,t,n){var o;n=p.defaults({},n,p.templateSettings);var r=new RegExp([(n.escape||m).source,(n.interpolate||m).source,(n.evaluate||m).source].join("|")+"|$","g"),i=0,l="__p+='";e.replace(r,function(t,n,o,r,s){return l+=e.slice(i,s).replace(w,function(e){return"\\"+v[e]}),n&&(l+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'"),o&&(l+="'+\n((__t=("+o+"))==null?'':__t)+\n'"),r&&(l+="';\n"+r+"\n__p+='"),i=s+t.length,t}),l+="';\n",n.variable||(l="with(obj||{}){\n"+l+"}\n"),l="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+l+"return __p;\n";try{o=new Function(n.variable||"obj","_",l)}catch(s){throw s.source=l,s}if(t)return o(t,p);var a=function(e){return o.call(this,e,p)};return a.source="function("+(n.variable||"obj")+"){\n"+l+"}",a},t.exports=p}},{"models/widgets/tables/cell_editors":402,"models/widgets/tables/cell_formatters":403,"models/widgets/tables/data_table":404,"models/widgets/tables/index":405,"models/widgets/tables/main":406,"models/widgets/tables/table_column":407,"models/widgets/tables/table_widget":408,"models/widgets/widget":409},406)});/*! Copyright (c) 2012, Anaconda, Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of Anaconda nor the names of any contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ //# sourceMappingURL=bokeh-tables.min.js.map /* END bokeh-tables.min.js */ }, function(Bokeh) { /* BEGIN bokeh-gl.min.js */ !function(t,e){e(t.Bokeh)}(this,function(t){return function(e,n,a){if(null!=t)return t.register_plugin(e,n,a);throw new Error("Cannot find Bokeh. You have to load it prior to loading plugins.")}({420:function(t,e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var a=t(25);n.BaseGLGlyph=function(){function t(t,e){this.gl=t,this.glyph=e,this.nvertices=0,this.size_changed=!1,this.data_changed=!1,this.visuals_changed=!1,this.init()}return t.prototype.GLYPH="",t.prototype.VERT="",t.prototype.FRAG="",t.prototype.set_data_changed=function(t){return t!==this.nvertices&&(this.nvertices=t,this.size_changed=!0),this.data_changed=!0},t.prototype.set_visuals_changed=function(){return this.visuals_changed=!0},t.prototype.render=function(t,e,n){var a,s,r,i,o,l,_,h,c,u;return c=u=1,r=this.glyph.renderer.map_to_screen([0*c,1*c,2*c],[0*u,1*u,2*u]),a=r[0],s=r[1],c=100/Math.min(Math.max(Math.abs(a[1]-a[0]),1e-12),1e12),u=100/Math.min(Math.max(Math.abs(s[1]-s[0]),1e-12),1e12),i=this.glyph.renderer.map_to_screen([0*c,1*c,2*c],[0*u,1*u,2*u]),a=i[0],s=i[1],!(Math.abs(a[1]-a[0]-(a[2]-a[1]))>1e-6||Math.abs(s[1]-s[0]-(s[2]-s[1]))>1e-6)&&(o=[(a[1]-a[0])/c,(s[1]-s[0])/u],l=o[0],_=o[1],h={pixel_ratio:t.pixel_ratio,width:t.glcanvas.width,height:t.glcanvas.height,dx:a[0]/l,dy:s[0]/_,sx:l,sy:_},this.draw(e,n,h),!0)},t}(),n.line_width=function(t){return tr;a=0l;s=0_;r=0e;f=0y;f=0m;d=0=0}var s=Error("Not a container: "+e);throw s.name="TypeError",s},g=function R(t,e){if(null==t||null==e);else{if(Array.isArray(t)&&Array.isArray(e)){for(var n=0,a=t.length==e.length;a&&n1;)1&t&&(e+=n),t>>=1,n+=n;return e+n},z=function(t){return this.constructor!==String?this.startswith.apply(this,arguments):0==this.indexOf(t)};u=window.console,h="0.3",c=function(t,e){var n,a,s,r,i,o,l;for(e=void 0===e?"periodic check":e,r=[];;){if(a=t.getError(),g(a,t.NO_ERROR)||m(r)&&g(a,r[r.length-1]))break;x.call(r,a)}if(r.length){for(i="",o=r,"object"!=typeof o||Array.isArray(o)||(o=Object.keys(o)),l=0;l1))for(l=0;l0)||u.log("Variable "+t+" is not an active attribute")),null):(p(t,this._unset_variables)&&A.call(this._unset_variables,t),this.activate(),m(c)?(d=this.ATYPEINFO[e],f=d[0],l=d[1],o="vertexAttribPointer",r=[f,l,this._gl.FALSE,a,s],this._attributes[t]=[n.handle,h,o,r]):(o=this.ATYPEMAP[e],this._attributes[t]=[0,h,o,n]),null)},i.prototype._pre_draw=function(){var t,e,n,a,s,r,i,o,l,_,h,c;this.activate(),i=this._samplers;for(c in i)i.hasOwnProperty(c)&&(c=i[c],r=c,l=r[0],o=r[1],_=r[2],this._gl.activeTexture(f(this._gl.TEXTURE0,_)),this._gl.bindTexture(l,o));s=this._attributes;for(c in s)s.hasOwnProperty(c)&&(c=s[c],a=c,h=a[0],e=a[1],n=a[2],t=a[3],m(h)?(this._gl.bindBuffer(this._gl.ARRAY_BUFFER,h),this._gl.enableVertexAttribArray(e),this._gl[n].apply(this._gl,[].concat([e],t))):(this._gl.bindBuffer(this._gl.ARRAY_BUFFER,null),this._gl.disableVertexAttribArray(e),this._gl[n].apply(this._gl,[].concat([e],t))));return m(this._validated)||(this._validated=!0,this._validate()),null},i.prototype._validate=function(){var t;if(this._unset_variables.length&&u.log("Program has unset variables: "+this._unset_variables),this._gl.validateProgram(this.handle),!m(this._gl.getProgramParameter(this.handle,this._gl.VALIDATE_STATUS)))throw u.log(this._gl.getProgramInfoLog(this.handle)),t=new Error("RuntimeError:Program validation error"),t.name="RuntimeError",t;return null},i.prototype.draw=function(t,e){var n,a,s,i,o;if(!m(this._linked))throw a=new Error("RuntimeError:Cannot draw program if code has not been set"),a.name="RuntimeError",a;return c(this._gl,"before draw"),m(e instanceof r)?(this._pre_draw(),e.activate(),n=e._buffer_size/2,i=this._gl.UNSIGNED_SHORT,this._gl.drawElements(t,n,i,0),e.deactivate()):(o=e,s=o[0],n=o[1],m(n)&&(this._pre_draw(),this._gl.drawArrays(t,s,n))),c(this._gl,"after draw"),null},a=function(){v(this,arguments)},a.prototype=Object.create(s.prototype),a.prototype._base_class=s.prototype,a.prototype._class_name="Buffer",a.prototype._target=null,a.prototype._usage=35048,a.prototype._create=function(){return this.handle=this._gl.createBuffer(),this._buffer_size=0,null},a.prototype["delete"]=function(){return this._gl.deleteBuffer(this.handle),null},a.prototype.activate=function(){return this._gl.bindBuffer(this._target,this.handle),null},a.prototype.deactivate=function(){return this._gl.bindBuffer(this._target,null),null},a.prototype.set_size=function(t){return g(t,this._buffer_size)||(this.activate(),this._gl.bufferData(this._target,t,this._usage),this._buffer_size=t),null},a.prototype.set_data=function(t,e){return this.activate(),this._gl.bufferSubData(this._target,t,e),null},_=function(){v(this,arguments)},_.prototype=Object.create(a.prototype),_.prototype._base_class=a.prototype,_.prototype._class_name="VertexBuffer",_.prototype._target=34962,r=function(){v(this,arguments)},r.prototype=Object.create(a.prototype),r.prototype._base_class=a.prototype,r.prototype._class_name="IndexBuffer",r.prototype._target=34963,o=function(){v(this,arguments)},o.prototype=Object.create(s.prototype),o.prototype._base_class=s.prototype,o.prototype._class_name="Texture2D",o.prototype._target=3553,o.prototype._types={Int8Array:5120,Uint8Array:5121,Int16Array:5122,Uint16Array:5123,Int32Array:5124,Uint32Array:5125,Float32Array:5126},o.prototype._create=function(){return this.handle=this._gl.createTexture(),this._shape_format=null,null},o.prototype["delete"]=function(){return this._gl.deleteTexture(this.handle),null},o.prototype.activate=function(){return this._gl.bindTexture(this._target,this.handle),null},o.prototype.deactivate=function(){return this._gl.bindTexture(this._target,0),null},o.prototype._get_alignment=function(t){var e,n,a,s;for(n=[4,8,2,1],a=n,"object"!=typeof a||Array.isArray(a)||(a=Object.keys(a)),s=0;sn))throw e=new Error("RuntimeError:"+("Cannot fit 3D data with shape "+t+" onto simulated 2D texture.")),e.name="RuntimeError",e;return[s,a]},l.prototype.set_size=function(t,e){var n,a,s,r;return r=this._get_tile_info(t),a=r[0],n=r[1],s=[y(t[1],a),y(t[2],n)],l.prototype._base_class.set_size.call(this,s,e),this.u_shape=[t[0],t[1],t[2]],this.u_tiles=[n,a],null},l.prototype.set_data=function(t,e,n){var a,s,r,i,o,_,h,c,u,f,p,v,m;if(g(e.length,3)&&(e=[e[0],e[1],e[2],1]),!d(function(){var e,n,a,s=[];for(n=t,"object"!=typeof n||Array.isArray(n)||(n=Object.keys(n)),a=0;a1&&t.length%2&&(t=t.concat(t)),g=0,u=0,f=t.length;ux;_=0b;c=0e[h]?-1:0,o=e[h-1],i=e[h]),n[4*_+0]=e[h],n[4*_+1]=l,n[4*_+2]=o,n[4*_+3]=i}return[n,g]},t}(),n.LineGLGlyph=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return s(e,t),e.prototype.GLYPH="line",e.prototype.JOINS={miter:0,round:1,bevel:2},e.prototype.CAPS={"":0,none:0,".":0,round:1,")":1,"(":1,o:1,"triangle in":2,"":3,square:4,"[":4,"]":4,"=":4,butt:5,"|":5},e.prototype.VERT="precision mediump float;\n\nconst float PI = 3.14159265358979323846264;\nconst float THETA = 15.0 * 3.14159265358979323846264/180.0;\n\nuniform float u_pixel_ratio;\nuniform vec2 u_canvas_size, u_offset;\nuniform vec2 u_scale_aspect;\nuniform float u_scale_length;\n\nuniform vec4 u_color;\nuniform float u_antialias;\nuniform float u_length;\nuniform float u_linewidth;\nuniform float u_dash_index;\nuniform float u_closed;\n\nattribute vec2 a_position;\nattribute vec4 a_tangents;\nattribute vec2 a_segment;\nattribute vec2 a_angles;\nattribute vec2 a_texcoord;\n\nvarying vec4 v_color;\nvarying vec2 v_segment;\nvarying vec2 v_angles;\nvarying vec2 v_texcoord;\nvarying vec2 v_miter;\nvarying float v_length;\nvarying float v_linewidth;\n\nfloat cross(in vec2 v1, in vec2 v2)\n{\n return v1.x*v2.y - v1.y*v2.x;\n}\n\nfloat signed_distance(in vec2 v1, in vec2 v2, in vec2 v3)\n{\n return cross(v2-v1,v1-v3) / length(v2-v1);\n}\n\nvoid rotate( in vec2 v, in float alpha, out vec2 result )\n{\n float c = cos(alpha);\n float s = sin(alpha);\n result = vec2( c*v.x - s*v.y,\n s*v.x + c*v.y );\n}\n\nvoid main()\n{\n bool closed = (u_closed > 0.0);\n\n // Attributes and uniforms to varyings\n v_color = u_color;\n v_linewidth = u_linewidth;\n v_segment = a_segment * u_scale_length;\n v_length = u_length * u_scale_length;\n\n // Scale to map to pixel coordinates. The original algorithm from the paper\n // assumed isotropic scale. We obviously do not have this.\n vec2 abs_scale_aspect = abs(u_scale_aspect);\n vec2 abs_scale = u_scale_length * abs_scale_aspect;\n\n // Correct angles for aspect ratio\n vec2 av;\n av = vec2(1.0, tan(a_angles.x)) / abs_scale_aspect;\n v_angles.x = atan(av.y, av.x);\n av = vec2(1.0, tan(a_angles.y)) / abs_scale_aspect;\n v_angles.y = atan(av.y, av.x);\n\n // Thickness below 1 pixel are represented using a 1 pixel thickness\n // and a modified alpha\n v_color.a = min(v_linewidth, v_color.a);\n v_linewidth = max(v_linewidth, 1.0);\n\n // If color is fully transparent we just will discard the fragment anyway\n if( v_color.a 0.0 )\n {\n // Broken angle\n // ----------------------------------------------------------------\n if( (abs(angle) > THETA) ) {\n position += v * w * o / cos(angle/2.0);\n float s = sign(angle);\n if( angle = v_length)\n {\n v_miter.y = 1e10;\n }\n\n v_texcoord = vec2( u, v*w );\n\n // Calculate position in device coordinates. Note that we\n // already scaled with abs scale above.\n vec2 normpos = position * sign(u_scale_aspect);\n normpos += 0.5; // make up for Bokeh's offset\n normpos /= u_canvas_size / u_pixel_ratio; // in 0..1\n gl_Position = vec4(normpos*2.0-1.0, 0.0, 1.0);\n gl_Position.y *= -1.0;\n}\n",e.prototype.FRAG_="// Fragment shader that can be convenient during debugging to show the line skeleton.\nprecision mediump float;\nuniform vec4 u_color;\nvoid main () {\n gl_FragColor = u_color;\n}",e.prototype.FRAG="precision mediump float;\n\nconst float PI = 3.14159265358979323846264;\nconst float THETA = 15.0 * 3.14159265358979323846264/180.0;\n\nuniform sampler2D u_dash_atlas;\n\nuniform vec2 u_linecaps;\nuniform float u_miter_limit;\nuniform float u_linejoin;\nuniform float u_antialias;\nuniform float u_dash_phase;\nuniform float u_dash_period;\nuniform float u_dash_index;\nuniform vec2 u_dash_caps;\nuniform float u_closed;\n\nvarying vec4 v_color;\nvarying vec2 v_segment;\nvarying vec2 v_angles;\nvarying vec2 v_texcoord;\nvarying vec2 v_miter;\nvarying float v_length;\nvarying float v_linewidth;\n\n// Compute distance to cap ----------------------------------------------------\nfloat cap( int type, float dx, float dy, float t, float linewidth )\n{\n float d = 0.0;\n dx = abs(dx);\n dy = abs(dy);\n if (type == 0) discard; // None\n else if (type == 1) d = sqrt(dx*dx+dy*dy); // Round\n else if (type == 3) d = (dx+abs(dy)); // Triangle in\n else if (type == 2) d = max(abs(dy),(t+dx-abs(dy))); // Triangle out\n else if (type == 4) d = max(dx,dy); // Square\n else if (type == 5) d = max(dx+t,dy); // Butt\n return d;\n}\n\n// Compute distance to join -------------------------------------------------\nfloat join( in int type, in float d, in vec2 segment, in vec2 texcoord, in vec2 miter,\n in float linewidth )\n{\n // texcoord.x is distance from start\n // texcoord.y is distance from centerline\n // segment.x and y indicate the limits (as for texcoord.x) for this segment\n\n float dx = texcoord.x;\n\n // Round join\n if( type == 1 ) {\n if (dx segment.y) {\n d = max(d,length( texcoord - vec2(segment.y,0.0)));\n //d = length( texcoord - vec2(segment.y,0.0));\n }\n }\n // Bevel join\n else if ( type == 2 ) {\n if (dx segment.y) {\n vec2 x = texcoord - vec2(segment.y,0.0);\n d = max(d, max(abs(x.x), abs(x.y)));\n }\n /* Original code for bevel which does not work for us\n if( (dx segment.y) )\n d = max(d, min(abs(x.x),abs(x.y)));\n */\n }\n\n return d;\n}\n\nvoid main()\n{\n // If color is fully transparent we just discard the fragment\n if( v_color.a 0.0);\n\n vec4 color = v_color;\n float dx = v_texcoord.x;\n float dy = v_texcoord.y;\n float t = v_linewidth/2.0-u_antialias;\n float width = 1.0; //v_linewidth; original code had dashes scale with line width, we do not\n float d = 0.0;\n\n vec2 linecaps = u_linecaps;\n vec2 dash_caps = u_dash_caps;\n float line_start = 0.0;\n float line_stop = v_length;\n\n // Apply miter limit; fragments too far into the miter are simply discarded\n if( (dx v_segment.y) ) {\n float into_miter = max(v_segment.x - dx, dx - v_segment.y);\n if (into_miter > u_miter_limit*v_linewidth/2.0)\n discard;\n }\n\n // Solid line --------------------------------------------------------------\n if( solid ) {\n d = abs(dy);\n if( (!closed) && (dx line_stop) ) {\n d = cap( int(u_linecaps.y), abs(dx)-line_stop, abs(dy), t, v_linewidth );\n }\n else {\n d = join( int(u_linejoin), abs(dy), v_segment, v_texcoord, v_miter, v_linewidth );\n }\n\n // Dash line --------------------------------------------------------------\n } else {\n float segment_start = v_segment.x;\n float segment_stop = v_segment.y;\n float segment_center= (segment_start+segment_stop)/2.0;\n float freq = u_dash_period*width;\n float u = mod( dx + u_dash_phase*width, freq);\n vec4 tex = texture2D(u_dash_atlas, vec2(u/freq, u_dash_index)) * 255.0 -10.0; // conversion to int-like\n float dash_center= tex.x * width;\n float dash_type = tex.y;\n float _start = tex.z * width;\n float _stop = tex.a * width;\n float dash_start = dx - u + _start;\n float dash_stop = dx - u + _stop;\n\n // Compute extents of the first dash (the one relative to v_segment.x)\n // Note: this could be computed in the vertex shader\n if( (dash_stop segment_stop) && (dash_caps.y != 5.0) ) {\n float u = mod(segment_stop + u_dash_phase*width, freq);\n vec4 tex = texture2D(u_dash_atlas, vec2(u/freq, u_dash_index)) * 255.0 -10.0; // conversion to int-like\n dash_center= tex.x * width;\n //dash_type = tex.y;\n float _start = tex.z * width;\n float _stop = tex.a * width;\n dash_start = segment_stop - u + _start;\n dash_stop = segment_stop - u + _stop;\n }\n\n // This test if the we are dealing with a discontinuous angle\n bool discontinuous = ((dx THETA) ||\n ((dx >= segment_center) && abs(v_angles.y) > THETA);\n //if( dx line_stop) discontinuous = false;\n\n float d_join = join( int(u_linejoin), abs(dy),\n v_segment, v_texcoord, v_miter, v_linewidth );\n\n // When path is closed, we do not have room for linecaps, so we make room\n // by shortening the total length\n if (closed) {\n line_start += v_linewidth/2.0;\n line_stop -= v_linewidth/2.0;\n }\n\n // We also need to take antialias area into account\n //line_start += u_antialias;\n //line_stop -= u_antialias;\n\n // Check is dash stop is before line start\n if( dash_stop = line_stop ) {\n discard;\n }\n\n // Check if current dash start is beyond segment stop\n if( discontinuous ) {\n // Dash start is beyond segment, we discard\n if( (dash_start > segment_stop) ) {\n discard;\n //gl_FragColor = vec4(1.0,0.0,0.0,.25); return;\n }\n\n // Dash stop is before segment, we discard\n if( (dash_stop _stop) && (dash_stop > segment_stop ) && (abs(v_angles.y) 0.0 ) discard;\n // We transform the cap into square to avoid holes\n dash_caps.x = 4.0;\n }\n }\n\n // Special case for triangle caps (in & out) and square\n // We make sure the cap stop at crossing frontier\n if( (dash_caps.y != 1.0) && (dash_caps.y != 5.0) ) {\n if( (dash_stop > segment_stop ) && (abs(v_angles.y) 0.0 ) discard;\n // We transform the caps into square to avoid holes\n dash_caps.y = 4.0;\n }\n }\n }\n\n // Line cap at start\n if( (dx line_start) ) {\n d = cap( int(linecaps.x), dx-line_start, dy, t, v_linewidth);\n }\n // Line cap at stop\n else if( (dx > line_stop) && (dash_stop > line_stop) && (dash_start line_start) && (dx 0.5 ) {\n d = cap( int(dash_caps.x), abs(dash_center-u), dy, t, v_linewidth);\n if( (dx > line_start) && (dx -0.5 && dash_type line_start) && (dx = segment_start) ) {\n d = d_join;\n // Antialias at outer border\n float angle = PI/2.+v_angles.x;\n float f = abs( (segment_start - dx)*cos(angle) - dy*sin(angle));\n d = max(f,d);\n }\n else if( (dx > segment_stop) && (dash_start = segment_stop) ) {\n d = d_join;\n // Antialias at outer border\n float angle = PI/2.+v_angles.y;\n float f = abs((dx - segment_stop)*cos(angle) - dy*sin(angle));\n d = max(f,d);\n }\n else if( dx (segment_stop + v_linewidth/2.)) {\n discard;\n }\n }\n else if( dx (segment_stop + v_linewidth/2.)) {\n discard;\n }\n }\n\n // Distance to border ------------------------------------------------------\n d = d - t;\n if( d Math.abs(.001*this._scale_aspect)&&(_._update_scale(m,x),this._scale_aspect=x/m),this.prog.set_attribute("a_position","vec2",_.vbo_position),this.prog.set_attribute("a_tangents","vec4",_.vbo_tangents),this.prog.set_attribute("a_segment","vec2",_.vbo_segment),this.prog.set_attribute("a_angles","vec2",_.vbo_angles),this.prog.set_attribute("a_texcoord","vec2",_.vbo_texcoord),this.prog.set_uniform("u_length","float",[_.cumsum]),this.prog.set_texture("u_dash_atlas",this.dash_atlas.tex),a=_._baked_offset,this.prog.set_uniform("u_pixel_ratio","float",[n.pixel_ratio]),this.prog.set_uniform("u_canvas_size","vec2",[n.width,n.height]),this.prog.set_uniform("u_offset","vec2",[n.dx-a[0],n.dy-a[1]]),this.prog.set_uniform("u_scale_aspect","vec2",[m,x]),this.prog.set_uniform("u_scale_length","float",[y]),this.I_triangles=_.I_triangles,this.I_triangles.lengthd;o=0p;o=0g;s=0R;p=0q;p=0T;p=0k;p=0S;p=0O;p=0=G;p=0M;p=0g;o=0v;o=0y;o=0",e.prototype.init=function(){ var t,e;return e=this.gl,t=this.FRAG.replace(/MARKERCODE/,this.MARKERCODE),this.last_trans={},this.prog=new i.Program(e),this.prog.set_shaders(this.VERT,t),this.vbo_x=new i.VertexBuffer(e),this.prog.set_attribute("a_x","float",this.vbo_x),this.vbo_y=new i.VertexBuffer(e),this.prog.set_attribute("a_y","float",this.vbo_y),this.vbo_s=new i.VertexBuffer(e),this.prog.set_attribute("a_size","float",this.vbo_s),this.vbo_a=new i.VertexBuffer(e),this.prog.set_attribute("a_angle","float",this.vbo_a),this.vbo_linewidth=new i.VertexBuffer(e),this.vbo_fg_color=new i.VertexBuffer(e),this.vbo_bg_color=new i.VertexBuffer(e),this.index_buffer=new i.IndexBuffer(e)},e.prototype.draw=function(t,e,n){var a,s,r,i,o,_,h,c,u,f,d,p,g,v,y,m,x,b,w;if(u=e.glglyph,f=u.nvertices,u.data_changed){if(!isFinite(n.dx)||!isFinite(n.dy))return;u._baked_offset=[n.dx,n.dy],u._set_data(f),u.data_changed=!1}else null==this.glyph._radius||n.sx===this.last_trans.sx&&n.sy===this.last_trans.sy||(this.last_trans=n,this.vbo_s.set_data(0,new Float32Array(function(){var t,e,n,a;for(n=this.glyph.sradius,a=[],t=0,e=n.length;t0&&l.logger.warn("WebGL warning: IE is known to produce 1px sprites whith selections."),this.index_buffer.set_size(2*t.length),this.index_buffer.set_data(0,new Uint16Array(t)),this.prog.draw(this.gl.POINTS,this.index_buffer);for(i=64e3,r=[],o=_=0,p=Math.ceil(f/i);0p;o=0g;o=0v;s=0s;e=0div,.bk-root .bk-layout-scale_width.bk-grid-row>div,.bk-root .bk-layout-scale_height.bk-grid-row>div{display:inline-block;float:left}.bk-root .bk-grid-row{clear:both}.bk-root .bk-toolbar-wrapper{position:relative}.bk-root .bk-canvas,.bk-root .bk-canvas-overlays,.bk-root .bk-canvas-events{top:0;left:0;position:absolute;width:100%;height:100%}.bk-root .bk-canvas-wrapper{z-index:50}.bk-root .bk-canvas-overlays{z-index:75}.bk-root .bk-canvas-events{z-index:100}.bk-root .bk-toolbar-wrapper{z-index:125}.bk-root .bk-button-bar-list,.bk-root .bk-toolbar-wrapper{user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.bk-root .bk-canvas-wrapper{position:relative;font-size:12pt;float:left}.bk-root .bk-canvas{clear:both;position:absolute;font-size:12pt}.bk-root .bk-canvas-wrapper .bk-canvas-map{position:absolute !important;z-index:-5}.bk-root .bk-canvas-map{position:absolute;border:0;z-index:-5}.bk-root .bk-logo{margin:5px;position:relative;display:block;background-repeat:no-repeat}.bk-root .bk-logo.bk-grey{filter:url(\"data:image/svg+xml;utf8,#grayscale\");filter:gray;-webkit-filter:grayscale(100%)}.bk-root .bk-logo-notebook{display:inline-block;vertical-align:middle;margin-right:5px}.bk-root .bk-logo-small{width:20px;height:20px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAAOkSURBVDiNjZRtaJVlGMd/1/08zzln5zjP1LWcU9N0NkN8m2CYjpgQYQXqSs0I84OLIC0hkEKoPtiH3gmKoiJDU7QpLgoLjLIQCpEsNJ1vqUOdO7ppbuec5+V+rj4ctwzd8IIbbi6u+8f1539dt3A78eXC7QizUF7gyV1fD1Yqg4JWz84yffhm0qkFqBogB9rM8tZdtwVsPUhWhGcFJngGeWrPzHm5oaMmkfEg1usvLFyc8jLRqDOMru7AyC8saQr7GG7f5fvDeH7Ej8CM66nIF+8yngt6HWaKh7k49Soy9nXurCi1o3qUbS3zWfrYeQDTB/Qj6kX6Ybhw4B+bOYoLKCC9H3Nu/leUTZ1JdRWkkn2ldcCamzrcf47KKXdAJllSlxAOkRgyHsGC/zRday5Qld9DyoM4/q/rUoy/CXh3jzOu3bHUVZeU+DEn8FInkPBFlu3+nW3Nw0mk6vCDiWg8CeJaxEwuHS3+z5RgY+YBR6V1Z1nxSOfoaPa4LASWxxdNp+VWTk7+4vzaou8v8PN+xo+KY2xsw6une2frhw05CTYOmQvsEhjhWjn0bmXPjpE1+kplmmkP3suftwTubK9Vq22qKmrBhpY4jvd5afdRA3wGjFAgcnTK2s4hY0/GPNIb0nErGMCRxWOOX64Z8RAC4oCXdklmEvcL8o0BfkNK4lUg9HTl+oPlQxdNo3Mg4Nv175e/1LDGzZen30MEjRUtmXSfiTVu1kK8W4txyV6BMKlbgk3lMwYCiusNy9fVfvvwMxv8Ynl6vxoByANLTWplvuj/nF9m2+PDtt1eiHPBr1oIfhCChQMBw6Aw0UulqTKZdfVvfG7VcfIqLG9bcldL/+pdWTLxLUy8Qq38heUIjh4XlzZxzQm19lLFlr8vdQ97rjZVOLf8nclzckbcD4wxXMidpX30sFd37Fv/GtwwhzhxGVAprjbg0gCAEeIgwCZyTV2Z1REEW8O4py0wsjeloKoMr6iCY6dP92H6Vw/oTyICIthibxjm/DfN9lVz8IqtqKYLUXfoKVMVQVVJOElGjrnnUt9T9wbgp8AyYKaGlqingHZU/uG2NTZSVqwHQTWkx9hxjkpWDaCg6Ckj5qebgBVbT3V3NNXMSiWSDdGV3hrtzla7J+duwPOToIg42ChPQOQjspnSlp1V+Gjdged7+8UN5CRAV7a5EdFNwCjEaBR27b3W890TE7g24NAP/mMDXRWrGoFPQI9ls/MWO2dWFAar/xcOIImbbpA3zgAAAABJRU5ErkJggg==)}.bk-root .bk-logo-medium{width:35px;height:35px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAYAAAAe2bNZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK6wAACusBgosNWgAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAAf9SURBVFiFvZh7cFTVHcc/59y7793sJiFAwkvAYDRqFWwdraLVlj61diRYsDjqCFbFKrYo0CltlSq1tLaC2GprGIriGwqjFu10OlrGv8RiK/IICYECSWBDkt3s695zTv9IAtlHeOn0O7Mzu797z+/3Ob/z+p0VfBq9doNFljuABwAXw2PcvGHt6bgwxhz7Ls4YZNVXxxANLENwE2D1W9PAGmAhszZ0/X9gll5yCbHoOirLzmaQs0F6F8QMZq1v/8xgNm7DYwwjgXJLYL4witQ16+sv/U9HdDmV4WrKw6B06cZC/RMrM4MZ7xz61DAbtzEXmAvUAX4pMOVecg9/MFFu3j3Gz7gQBLygS2RGumBkL0cubiFRsR3LzVBV1UMk3IrW73PT9C2lYOwhQB4ClhX1AuKpjLcV27oEjyUpNUJCg1CvcejykWTCXyQgzic2HIIBjg3pS6+uRLKAhumZvD4U+tq0jTrgkVKQQtLekfTtxIPAkhTNF6G7kZm7aPp6M9myKVQEoaYaIhEQYvD781DML/RfBGNZXAl4irJiwBa07e/y7cQnBaJghIX6ENl2GR/fGCBoz6cm5qeyEqQA5ZYA5x5eeiV0Qph4gjFAUSwAr6QllQgcxS/Jm25Cr2Tmpsk03XI9NfI31FTZBEOgVOk51adqDBNPCNPSRlkiDXbBEwOU2WxH+I7itQZ62g56OjM33suq1YsZHVtGZSUI2QdyYgkgOthQNIF7BIGDnRAJgJSgj69cUx1gB8PkOGwL4E1gPrM27gIg7NlGKLQApc7BmEnAxP5g/rw4YqBrCDB5xHkw5rdR/1qTrN/hKNo6YUwVDNpFsnjYS8RbidBPcPXFP6R6yfExuOXmN4A3jv1+8ZUwgY9D2OWjUZE6lO88jDwHI8ZixGiMKSeYTBamCoDk6kDAb6y1OcH1a6KpD/fZesoFw5FlIXAVCIiH4PxrV+p2npVDToTBmtjY8t1swh2V61E9KqWiyuPEjM8dbfxuvfa49Zayf9R136Wr8mBSf/T7bNteA8zwaGEUbFpckWwq95n59dUIywKl2fbOIS5e8bWSu0tJ1a5redAYfqkdjesodFajcgaVNWhXo1C9SrkN3Usmv3UMJrc6/DDwkwEntkEJLe67tSLhvyzK8rHDQWleve5CGk4VZEB1r+5bg2E2si+Y0QatDK6jUVkX5eg2YYlp++ZM+rfMNYamAj8Y7MAVWFqaR1f/t2xzU4IHjybBtthzuiAASqv7jTF7jOqDMAakFHgDNsFyP+FhwZHBmH9F7cutIYkQCylYYv1AZSqsn1/+bX51OMMjPSl2nAnM7hnjOx2v53YgNWAzHM9Q/9l0lQWPSCBSyokAtOBC1Rj+w/1Xs+STDp4/E5g7Rs2zm2+oeVd7PUuHKDf6A4r5EsPT5K3gfCnBXNUYnvGzb+KcCczYYWOnLpy4eOXuG2oec0PBN8XQQAnpvS35AvAykr56rWhPBiV4MvtceGLxk5Mr6A1O8IfK7rl7xJ0r9kyumuP4fa0lMqTBLJIAJqEf1J3qE92lMBndlyfRD2YBghHC4hlny7ASqCeWo5zaoDdIWfnIefNGTb9fC73QDfhyBUCNOxrGPSUBfPem9us253YTV+3mcBbdkUYfzmHiLqZbYdIGHHON2ZlemXouaJUOO6TqtdHEQuXYY8Yt+EbDgmlS6RdzkaDTv2P9A3gICiq93sWhb5mc5wVhuU3Y7m5hOc3So7qFT3SLgOXHb/cyOfMn7xROegoC/PTcn3v8gbKPgDopJFk3R/uBPWQiwQ+2/GJevRMObLUzqe/saJjQUQTTftEVMW9tWxPgAocwcj9abNcZe7s+6t2R2xXZG7zyYLp8Q1PiRBBHym5bYuXi8Qt+/LvGu9f/5YDAxABsaRNPH6Xr4D4Sk87a897SOy9v/fKwjoF2eQel95yDESGEF6gEMwKhLwKus3wOVjTtes7qzgLdXTMnNCNoEpbcrtNuq6N7Xh/+eqcbj94xQkp7mdKpW5XbtbR8Z26kgMCAf2UU5YEovRUVRHbu2b3vK1UdDFkDCyMRQxbpdv8nhKAGIa7QaQedzT07fFPny53R738JoVYBdVrnsNx9XZ9v33UeGO+AA2MMUkgqQ5UcdDLZSFeVgONnXeHqSAC5Ew1BXwko0D1Zct3dT1duOjS3MzZnEUJtBuoQAq3SGOLR4ekjn9NC5nVOaYXf9lETrUkmOJy3pOz8OKIb2A1cWhJCCEzOxU2mUPror+2/L3yyM3pkM7jTjr1nBOgkGeyQ7erxpdJsMAS9wb2F9rzMxNY1K2PMU0WtZV82VU8Wp6vbKJVo9Lx/+4cydORdxCCQ/kDGTZCWsRpLu7VD7bfKqL8V2orKTp/PtzaXy42jr6TwAuisi+7JolUG4wY+8vyrISCMtRrLKWpvjAOqx/QGhp0rjRo5xD3x98CWQuOQN8qumRMmI7jKZPUEpzNVZsj4Zbaq1to5tZZsKIydLWojhIXrJnES79EaOzv3du2NytKuxzJKAA6wF8xqEE8s2jo/1wd/khslQGxd81Zg62Bbp31XBH+iETt7Y3ELA0iU6iGDlQ5mexe0VEx4a3x8V1AaYwFJgTiwaOsDmeK2J8nMUOqsnB1A+dcA04ucCYt0urkjmflk9iT2v30q/gZn5rQPvor4n9Ou634PeBzoznes/iot/7WnClKoM/+zCIjH5kwT8ChQjTHPIPTjFV3PpU/Hx+DM/A9U3IXI4SPCYAAAAABJRU5ErkJggg==)}.bk-root .bk-logo-large{width:75px;height:75px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAABLCAYAAAA4TnrqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAABNHSURBVHiczZx5nFxVlce/576q6uqq6q7e0t0habIRgQScfEBAJ4MLo4gogY9CAkkIApElCqOCI8IAKriMg6MwoqiBgERMIJEECCoIKKIYWcImS9KEJCxJOr2kt1rfu2f+eN2d7qS7tu4Efp9Pf7rqvvvOOfV759577r3nPuG9hF/PmQXmZEQ/CkwEtqLyV8Q+yPz7nn03TFLVgc/ybhiwD+469WiQLwOfAmqHqbEb1bWo/JCFa148kKa9t8hafuqVGLkWCBVQuxvVy1mw9hf726x+vDfIOqMxzCdm3U4sPK/oe1V/wIK1X98PVg2j6t0m63uzx2O95YyLn0BlFKwtRcrPmb/morE2bW8MJsvsb2X74PsfmoToAwScEwgFAM17ywi4kLtO+78xtCwvDixZPzjuGMQ8CRxFwIFgALRksgC+xF2n/WyMrMuLMWmG9zxLRQjGIYxjGFc5tJLsOX8+/Ij1LbX/g2gDVqE8BI3VYEdFVj9uYf6ai8dC0N4Y3AwDpQpZs4GZYjgVmCNwEBAFIsPV3ZXFa4wmo2QDEMr6hcGSVe8L8S7il0sitM66l2Ci1S/UXqz2kEgYKmKdTJray+lzukejpmiLVz9NNBjgOoRLASdffQGs0tOTDbyO0WkDF8rGiCwnk6FnQged0xcRTC4aKPcdopfaWkNNdRtepouVq5pRfQbVFZw1d2Oxqorqs377DNXBIL9H+AoFENVvc9CwvTVV9iLSN+oZ6euvijV3L5hsM11Nt9F+pIs6DAi0FkSgujpK/bhygsGJwAxgDiLfwpiXWLnqTn5z96Si1BVacd0GAo7DauDfilEAINDd3FnxGkb9Dj3ggFMQ1yPDZO6h9cjraX//SYidgFhftrVQXg4NDVAV90nbdxAJAgsx5klWrPpowSoLregKF4vwsULrD4Zj2NKbLOtA1H/4AQeMKXUk9Ah2XcimT19BYuJ1ONnJgE+SMVBTA/XjIFzml+XWMR7ht6y458hCFBdE1r0bKBfhskLqDocywyuo+LpUIRQAp6SBeBOBnuP5+9V3E3bvx7hNA94UiUBjA8QrfW8qPNCtRmQZd63MO90qiCwHPgYU1b4HI2R4hUxwC4r/9EuJr1RvoXzzUTx30RYan38O0RkD3lTb503BYCHeNByOxphT8lUqrBkaPl2s9sEYF2ETGccftgUIOsV07i2ozmfB2ot5+gaoeesh0ElDvKmy0q85qgBXFuarURBZIkwZhRWp2nq2EvKCoOAU41n6R6x+hAVrf8MNP6qi+uUHsfYIHGcsvGkohKNZsbw8V5W8ZH34mwQzLvVSeqy/E2gj4AZR/P4qv7As8A3a3E+ycO2r/PDGCpQ/YPV4YrE93qQ6epL2oAYNTc9VIW9kOLOJirdaiU+q952iBNteF8Hlu24YFEJBvymOLOdFVJewYO0TACy5KkA2u5RQ6FiqqiAW9WuVtlKRC2WINOSqkNezGuLYzl681i4/liwWqmz1NXm9gBJ0GHlKqrcAsweIOuPcIJNqfkUsNpfGBqiIjbU3DUYAqMlXISdCIeJA3a5OqIxAtAy8Ih6qgL8M7Ho7CQVdAk5wnx+r+g7IpSxYu3qg7MabY4isJBY9mVjMLxt7b9obORXk9SwRykWIWgs7OsDT4pYqFPw5mKcOASME9oncH/Y78TWrh5QKh1MVL6eiYiOqqf3kTUUhr2dpX3dsDHQloLUTGqvALewhewov+Z8sOI7imP5lmTToNSTlBs6/b19pl37xKeAElq+qxrF1iEwGZoAciXA40AjUAZUFWTIGyEvWG0HKJmcJO/h9VstuiIUhEs7fKlR5Wyy7AD9iLws6fReeBZawYO36vBYuPL0D6AA2AQ8PlC//dTmB0DRgKiJTQN8HchjooSCNFDjRLwZ5yTq/I3Tc47EMGfG1uxa2d8DUhpHmqHsgwitzjiLha3KEsqBB9Zdk7OWce3/XqCxfuCCJ77UvDZQtXSZURCpQUw8cBnIEwmHAwYP+giMLzd3Wc5KVWhaZH0o5N0UwyTWxlDUQdQx0JWFXFzRUg+flUN3fXwGEAq9izGc4a826XDpHhcXnKtDV99cMPDDk+jNX19E2oZHuimNxAx9AZCb+wmUVSB0BN5NL/IhkpZZFFojIHR7qHJkKJjyrq1dVpY+PWaYYgZZOqCz3V4e9kZ/HawOfvvbEDmC/EHXQT1+emOnNzPLSWqtWRVURI2qMGHHMeFQCoiYrv5OsqHFVbJ2KdYCXbTDb7oYyh9hAts64gY92wX0j6RmWrNSyyJlGzJ2AKJAVjcxKBz+yrce7fkPEvb5MaHA92L4bJtePGGMqyhtjQ0duROJl4Ug8fKebtlVu2sXLeHiuxctarKeIKCoW6V/pGDSciw0QSgZADYj9cu33n9vYdsWsW4bTs0/okFoWWdBP1ODyrGHSnN7yU7Ien3LhZcdAZy+0dvmR/TDoPlBkNS+Y1uyEnEvClSFi4yLEJ1RQNaGCqgkx4uOjRGvKCUWCmIAgBtQq1lPUKqqKiqLGQ0UF5KfV39swZzg9QwhJLYvMM2LuIkf8FczKFytmdq+8so1/oEw1BqaPh7LQPqPj5myGmZ87htRYEFIIDl259XaEc6Av3hEZcHtVnxwvY3EzLm7a4mU9vIz/fwiEXuvZE3f/11F/G3ZHOn179GhB/gLknHkDGsw4x5w+uXPnB9I86lmmxyMwpWHorpYqT5w6i+NH+fuLwrTlr9cEQoH1wCEj1RERMH0bKZ5irWJdi5tyyaY9vIyHdS3W1R29HcmTkv993PP99xqA5K3hqKgsIz9RAJINeatXvVjX3g3HO8ITnYl9m6MIL5T6o0vF6wuntVu155Njmq6qqOc3QwQcxxAMByivClPZGKW6qZKqCRXED4o1jp9R99tD79l2UP+9BsAxznkIBa1D92FStib1s++ewk5VTjPCUzt3QzLjR/q+VRS91TQW2DRvyuOKfqegyoOap1qfRLWKE3QIRYOUxUJTQX/aX92kbi2vQuS8oq0SFqWXRRddeSptBj6RdvndO+0MPFPlwHtWP1Kkvqmqfyn1/sEECnLqoXdvXQhgjGOOB95filARuTF1W2z6FXPo3LaLOZ29rGjtBseQQXmrVGNHi21zD/Osp58Hdo+FPBG57JCVWyoMyL9SeoJIlRGWJW6NOUu/gHv1HSxo6+bB7iTJujitY2FoqWieP2Wzqn51jMTNckTOMKo0jUqMMNsxXAvAvdi3Wjm9tZPzurpIjoWVo8HGeZOXKXrnGImbJ+llsZtFWDIqMUpW0U+Undv75zEybMww7e7N1QGcZ2BUmy4Au4zAk6O2SAiKyM2p2yoO2NpSLnx1+lUnXdB0aRPA63OndljPfp48q6AFYJxR1T8B20YpCGCmiD2gmXgjoSZas7giXPH4/PrzDgfYdNaUx1X1+tFJ1S2m7LzetzTHTLsYiMiizO2x+WMhq1R8+7DrTNAJ1MXL45MrwhX3LWq8cBpAWtPXKTxRqlyFJ/rzD24CesfEWuVHqdvKp46JrBIQCEerrdpJZaEyqiPVh4QCwYcumHjJkVvPPNRV9EL8ta5i4aGy3ACUndu7yaq9CsEPIkaTPCnUG+Ms7bmtesyXdQs0oB5ostZSFa0iWhadaoXHvtB0yfGb5k5+2ap+pViJCus8Yx4ZiK/C5yZu1KS9R3usvx/cT1z/n1AMiR8LSuaA5KnvDRXbRN/6uyDUxGpwjKkVZM1F4y/60KZ5k29TkbuLEJlVa7/VfPpEd0gwmlqX+LzX4v7R25HFbs9iW1x0t4cmFXXVH0+MFESeiHw7fXvsgK469On9YP9nq5ZwIEx1eTWK1miw7KEl9ReeuvGMg+epSHMh8hS9fOO8yc/CXpF7/H4S6tqFePYFTSnaY7HtHnaAvCy21UW7PDRpwWMPaYM90Icjyi8SS8MHNJwQlSH5CopSFamiPFSOVRvzwuFV/xmcd+LbH2yai0g2j7ibXjtj0k39X/aZ5kSvd3ci+jkMu4YQ4OF7WKeLbfWwLS7eO1mfyA4P7bJoSsFlMHmHOcHATXvr2K8Qjhj8VVUREWqiNRg/ny7Q2djw4JKDP9vYW199lY6Qk6Dw89fmTvqPwWXDzgnLr3GbrbWfVHQXjgWjezzHkT13eYqmFN3tYXe52B1ZvB1ZvO1ZbKuH9lhI23NSS6N5c5/GAtf8y3fiDHOqzKqlPFhOdaQaqxZEnJ7xB635zJnfkGyk/A9qhtKg6E82zp20z1GXEXd3ot90N/ReFb5I02W/wrFtUpZ9XkLuDsAiqhjdLtCDNSG1EkQlgJIm472JxdFeD/XJDWrUvD56KvIj7JS/D6gf7pqqEo/ESWQSJLNJCARCgXTmO8f+4Pa7/vG1c94MpDNNxvUAfr5x7uRLhpORc9+w9+EjHg5N6ehEqEKZoWg9Vl5Q2KiJsiczOyu2jn96/bu2FNMSO3OWZ3sC4xMPPA0gKk0IZcPVVRQjhppYDdt3b0dR3HAoMO6lTXNnLF+3c9PnPo4XcH7W/NmJI86Tc5IVnLIrjHEEqESoFJiG0eMEoDJFeWWK3YdMfRNhm8JWVDcBL4C+qso7mUymu/Hed3Jsw5aO9qoLL7Re7w3JTMs3gacBVPRQyTFE9zfHqkgV7T3tiBGy5eHwwX96elKoJ3H/vfd/MeeCQu7teykguhKagCaB2Xsy+sSCdoTD4X/uPmtKM8g/VfUtYKOqt6Vm5baSF+VaK89vMMb8WOBMqxlct71i0OWcmXvge1g8EieRTpByUxgx2GCApseeeizfvWN4gGYIjIjUAh8G+TD07apAj0igveOsqTtR3Qg8L8Ir1upWYGfNyi0tuYS2Vy4+ESO3AFMQg+t1ASoA35v1Y+MnheSGquKIQ02shh2dO1AUQUhVV7bTk/ve/UXWSIgBMYGDETkGWABgjICwbffcKW96vdk7ate99cvBN7VULg4GhOsR+RoDni5Ym0Dpa+WiFcBhhRhh1RItixIvj9OeaMcRBwrg4kCTNTyMoGnvYLc3Hde099TgS23xxYeLyE+AE/aUCqoWz0tC3xaJhzvBIZAzzXEwrPpzx0QmQdpNI8g7ec3Mc33/Hgvu6+O8rjSZtsTr6fbEcfWPtjzXf7ktvvhiEfk7Q4jym7S1CaxNIQSMX2ZmFaNaVXGMQ22sFhFB0bz9aD7PSgBjP5r1ba1rxsXrzOBl3Dc81z1p4vrOZoC2qsUHifK/iIxw2NzB2hTWpkCc8SgIganFLoZaa4mEIsTL49rS1ZJ30yZnheoVW7sZo+2kAYiAgtedJtuWxGay3cDZBz3R4RNVef6JgvxpZKIAFGsT+ORI2JfLzFLMsWqpjlRnmmoO7shXt4CcUn1VkJIMGYI+b7IpF68ng2ZcUDoQTmt4bNdf34wsCkWCoWtF5Mr8wiyu1wsYHPUyAKo6odQ+w4jpriyL5T3lWsh+4SMl2jDYGt+butK47UmfKJGUBjKfqX+s9fG2qsVHRUNljxZGlN/feF4XIDh42VPmrI+P5siMopvTmeSOvD8jryTLOqC0s8VC30jnkm1L4HWn+z3Mw0kvaPhj59/a4ouX9GXvzC5UqGra79xFcHDTkzvfrkMZV5KNgCrPXv3SFfmWa/KTVb3yjW2qOmwmXE70901dKbJtCTTr9R/RyGhFy8k8vHtde+UF94jIzYxwEH14sQbP60HV9b+j1Q3d22YiMuycsDCZ+qtC6hW0be9lvWsV/WthmgEj2Ey/N2X6ksoEjEUj7fND913dFohf8AJGTy9I5hDxBtfrHSDLwxkX8tIfKPlIgfKHbzz71YL2Tgsiq271tqRm9GRFH80tTcAqbmfK75v2eBM4bkKtXBt85OIZWrlzPcL7CtE9FIJisV7vwHeLMSpOMelSg9FmxSs4H6LghJCa1Vu6rJc9GfQaVPdN+hDBJl0/HOjJDJQB4GRTdDTeF1w/bzah9LcRLXHnR7CaxbMp+s8EKMb05boXizbgs1c9e/nLhWsvAe1nTKoXx5wuIv8OTEWp83rStV5v1oJGh5wnFIvZNSVhNh/biZMd7+c/lwa/v0rR1f0U4GFU6Q3FNj4wc/5E1wQjRgsLSlV5CLVXXPncZRvy1x3Dtxy1njW13HSn49nWRFzKjMWYGCJRQGwo3eC0Ns1wmj/0rb7U6VHpEnHIZHbR0/s8IgEC6tISG88j00/rdU3AGLXD/R5L/0EC1ccVXX3lhst+X6jOMXm9Sj/qfrM5CSSBEeKUTtoqZjeL4y0v5Ahrbgie103/M/bEIZxJfNfDrnUFDQxHluJa67599fNf3zk63ft7ojwIbfHF80XkDkbxgESC9PQ+TyazE5GAp/Clafpq8WFNEXhX3p9V27n0LlV7dukSBNUsnpcASKnaM/Y3UXvjgL4/q7bz1hVW9WxKWMnoD0atzWxX7EnT2HjvfjAxJw74m9nqOpcuV9VFQLq4OxVV3exp4tOHsPldyTA88K+xw2+SKB/HP+ZWEKz1VgSdcbOn80be4X5/4V199eau+OJaB5YgcjbD78x4oH9W1VtqO2+950DbB++Ft0nuhfbKL0yyhk8JepIohwApFZ5BdVUy2f34xMzdRTbZscNgsv4fCI1BY5O1DJEAAAAASUVORK5CYII=)}.bk-root .bk-plot-layout{text-align:start}.bk-root .bk-button-bar{margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:2px}.bk-root .bk-toolbar-button{box-sizing:border-box}.bk-root .bk-toolbar-button:focus{outline:0}.bk-root .bk-toolbar-button::-moz-focus-inner{border:0}.bk-root .bk-button-bar-list{margin:0;padding:0}.bk-root .bk-button-bar-list .bk-toolbar-button{list-style-type:none;position:relative;float:left;display:block}.bk-root .bk-button-bar-list .bk-toolbar-button{width:30px;height:28px;padding:5px;border:0;background-color:transparent}.bk-root .bk-button-bar-list .bk-toolbar-button .bk-btn-icon{display:block;position:relative;height:16px;margin:0;border:0;background-size:contain;background-color:transparent;background-repeat:no-repeat;background-position:center center}.bk-root .bk-button-bar-list .bk-toolbar-button .bk-tip{display:none}.bk-root .bk-button-bar-list .bk-toolbar-button .bk-tip:before{display:none;content:\" \";position:relative;width:100%;background-position:top left;background-repeat:no-repeat}.bk-root .bk-button-bar-list .bk-toolbar-button:hover .bk-tip:before{display:inline-block}.bk-root .bk-button-bar-list .bk-toolbar-button:hover{background:transparent}.bk-root .bk-button-bar-list .bk-toolbar-button:hover .bk-tip{z-index:100;white-space:nowrap;background-color:white;color:black;opacity:.95;border:#e5e5e5 solid 1px;display:inline-block;position:relative;float:left;padding:5px 10px}.bk-root .bk-button-bar-list .bk-toolbar-button:hover .bk-tip:before{display:block !important}.bk-root .bk-toolbar-above .bk-button-bar-list .bk-toolbar-button:hover .bk-tip{top:10px;left:-10px}.bk-root .bk-toolbar-below .bk-button-bar-list .bk-toolbar-button:hover .bk-tip{top:-50px;left:-10px}.bk-root .bk-toolbar-left .bk-button-bar-list .bk-toolbar-button:hover .bk-tip{top:-22px;left:26px}.bk-root .bk-toolbar-right .bk-button-bar-list .bk-toolbar-button:hover .bk-tip{float:right;top:-22px;left:-26px}.bk-root .bk-toolbar-above .bk-toolbar-button{border-bottom:2px solid transparent}.bk-root .bk-toolbar-above .bk-toolbar-button.bk-active{border-bottom-color:#26aae1}.bk-root .bk-toolbar-below .bk-toolbar-button{border-top:2px solid transparent}.bk-root .bk-toolbar-below .bk-toolbar-button.bk-active{border-top-color:#26aae1}.bk-root .bk-toolbar-right .bk-toolbar-button{border-left:2px solid transparent}.bk-root .bk-toolbar-right .bk-toolbar-button.bk-active{border-left-color:#26aae1}.bk-root .bk-toolbar-left .bk-toolbar-button{border-right:2px solid transparent}.bk-root .bk-toolbar-left .bk-toolbar-button.bk-active{border-right-color:#26aae1}.bk-root .bk-button-bar>.bk-toolbar-button.bk-active{border-bottom:1px solid #26aae1}.bk-root .bk-toolbar-above.bk-toolbar-not-sticky{border-bottom:1px solid #e5e5e5}.bk-root .bk-toolbar-below.bk-toolbar-not-sticky{border-top:1px solid #e5e5e5}.bk-root .bk-toolbar-left.bk-toolbar-not-sticky{border-right:1px solid #e5e5e5}.bk-root .bk-toolbar-right.bk-toolbar-not-sticky{border-left:1px solid #e5e5e5}.bk-root .bk-toolbar-above .bk-button-bar{top:2px}.bk-root .bk-toolbar-right .bk-button-bar{left:1px}.bk-root .bk-toolbar-above,.bk-root .bk-toolbar-below{margin:0;position:absolute;right:0}.bk-root .bk-toolbar-above .bk-logo,.bk-root .bk-toolbar-below .bk-logo{float:right;margin-right:-1px}.bk-root .bk-toolbar-above .bk-button-bar,.bk-root .bk-toolbar-below .bk-button-bar{padding:0;float:right;position:relative}.bk-root .bk-toolbar-above .bk-button-bar .bk-button-bar-list,.bk-root .bk-toolbar-below .bk-button-bar .bk-button-bar-list{float:left}.bk-root .bk-toolbar-above .bk-button-bar .bk-button-bar-list[type='help'] .bk-toolbar-button .bk-tip,.bk-root .bk-toolbar-below .bk-button-bar .bk-button-bar-list[type='help'] .bk-toolbar-button .bk-tip{float:right;color:#333}.bk-root .bk-toolbar-left,.bk-root .bk-toolbar-right{margin:0;position:absolute;top:0}.bk-root .bk-toolbar-left .bk-logo,.bk-root .bk-toolbar-right .bk-logo{margin-top:-1px}.bk-root .bk-toolbar-left .bk-button-bar,.bk-root .bk-toolbar-right .bk-button-bar{position:relative}.bk-root .bk-toolbar-left .bk-button-bar:before,.bk-root .bk-toolbar-right .bk-button-bar:before,.bk-root .bk-toolbar-left .bk-button-bar:after,.bk-root .bk-toolbar-right .bk-button-bar:after{content:\" \";display:block;height:0;clear:both}.bk-root .bk-toolbar-left .bk-button-bar .bk-button-bar-list .bk-toolbar-button,.bk-root .bk-toolbar-right .bk-button-bar .bk-button-bar-list .bk-toolbar-button{clear:both}.bk-root .bk-toolbar-box .bk-toolbar-below{top:-1px}.bk-root .bk-toolbar-box .bk-toolbar-right{top:-1px;right:0}.bk-root .bk-button-bar-list:empty{display:none}.bk-root .bk-toolbar-above .bk-button-bar-list+.bk-button-bar-list:before,.bk-root .bk-toolbar-below .bk-button-bar-list+.bk-button-bar-list:before{content:\" \";float:left;background-color:lightgray;height:10px;width:1px;margin:10px 3px 0 3px}.bk-root .bk-toolbar-left .bk-button-bar-list+.bk-button-bar-list:before,.bk-root .bk-toolbar-right .bk-button-bar-list+.bk-button-bar-list:before{content:\" \";float:none;clear:both;display:block;background-color:lightgray;height:1px;width:10px;margin:3px 0 3px 10px}.bk-root .bk-tooltip{font-family:\"HelveticaNeue-Light\",\"Helvetica Neue Light\",\"Helvetica Neue\",Helvetica,Arial,\"Lucida Grande\",sans-serif;font-weight:300;font-size:12px;position:absolute;padding:5px;border:1px solid #e5e5e5;background-color:white;pointer-events:none;opacity:.95}.bk-root .bk-tooltip>div:not(:first-child){margin-top:5px;border-top:#e5e5e5 1px dashed}.bk-root .bk-tooltip.bk-left.bk-tooltip-arrow::before{position:absolute;margin:-7px 0 0 0;top:50%;width:0;height:0;border-style:solid;border-width:7px 0 7px 0;border-color:transparent;content:\" \";display:block;left:-10px;border-right-width:10px;border-right-color:#909599}.bk-root .bk-tooltip.bk-left::before{left:-10px;border-right-width:10px;border-right-color:#909599}.bk-root .bk-tooltip.bk-right.bk-tooltip-arrow::after{position:absolute;margin:-7px 0 0 0;top:50%;width:0;height:0;border-style:solid;border-width:7px 0 7px 0;border-color:transparent;content:\" \";display:block;right:-10px;border-left-width:10px;border-left-color:#909599}.bk-root .bk-tooltip.bk-right::after{right:-10px;border-left-width:10px;border-left-color:#909599}.bk-root .bk-tooltip.bk-above::before{position:absolute;margin:0 0 0 -7px;left:50%;width:0;height:0;border-style:solid;border-width:0 7px 0 7px;border-color:transparent;content:\" \";display:block;top:-10px;border-bottom-width:10px;border-bottom-color:#909599}.bk-root .bk-tooltip.bk-below::after{position:absolute;margin:0 0 0 -7px;left:50%;width:0;height:0;border-style:solid;border-width:0 7px 0 7px;border-color:transparent;content:\" \";display:block;bottom:-10px;border-top-width:10px;border-top-color:#909599}.bk-root .bk-tooltip-row-label{text-align:right;color:#26aae1}.bk-root .bk-tooltip-row-value{color:default}.bk-root .bk-tooltip-color-block{width:12px;height:12px;margin-left:5px;margin-right:5px;outline:#ddd solid 1px;display:inline-block}.bk-root .bk-plotdiv{position:relative;width:100%;height:100%}.rendered_html .bk-root .bk-tooltip table,.rendered_html .bk-root .bk-tooltip tr,.rendered_html .bk-root .bk-tooltip th,.rendered_html .bk-root .bk-tooltip td{border:0;padding:1px}//# sourceMappingURL=bokeh.min.css.map\n\n/* END bokeh.min.css */"); console.log("Bokeh: injecting raw CSS"); Bokeh.embed.inject_raw_css("/* BEGIN bokeh-widgets.min.css */\n@charset \"UTF-8\";.bk-root{/*!\n * Pikaday\n * Copyright \u00a9 2014 David Bushell | BSD & MIT license | http://dbushell.com/\n */}.bk-root .bk-noUi-target,.bk-root .bk-noUi-target *{-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-ms-touch-action:none;touch-action:none;-ms-user-select:none;-moz-user-select:none;user-select:none;-moz-box-sizing:border-box;box-sizing:border-box}.bk-root .bk-noUi-target{position:relative;direction:ltr}.bk-root .bk-noUi-base{width:100%;height:100%;position:relative;z-index:1}.bk-root .bk-noUi-connect{position:absolute;right:0;top:0;left:0;bottom:0}.bk-root .bk-noUi-origin{position:absolute;height:0;width:0}.bk-root .bk-noUi-handle{position:relative;z-index:1}.bk-root .bk-noUi-state-tap .bk-noUi-connect,.bk-root .bk-noUi-state-tap .bk-noUi-origin{-webkit-transition:top .3s,right .3s,bottom .3s,left .3s;transition:top .3s,right .3s,bottom .3s,left .3s}.bk-root .bk-noUi-state-drag *{cursor:inherit !important}.bk-root .bk-noUi-base,.bk-root .bk-noUi-handle{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.bk-root .bk-noUi-horizontal{height:18px}.bk-root .bk-noUi-horizontal .bk-noUi-handle{width:34px;height:28px;left:-17px;top:-6px}.bk-root .bk-noUi-vertical{width:18px}.bk-root .bk-noUi-vertical .bk-noUi-handle{width:28px;height:34px;left:-6px;top:-17px}.bk-root .bk-noUi-target{background:#fafafa;border-radius:4px;border:1px solid #d3d3d3;box-shadow:inset 0 1px 1px #f0f0f0,0 3px 6px -5px #BBB}.bk-root .bk-noUi-connect{background:#3fb8af;border-radius:4px;box-shadow:inset 0 0 3px rgba(51,51,51,0.45);-webkit-transition:background 450ms;transition:background 450ms}.bk-root .bk-noUi-draggable{cursor:ew-resize}.bk-root .bk-noUi-vertical .bk-noUi-draggable{cursor:ns-resize}.bk-root .bk-noUi-handle{border:1px solid #d9d9d9;border-radius:3px;background:#FFF;cursor:default;box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #ebebeb,0 3px 6px -3px #BBB}.bk-root .bk-noUi-active{box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #DDD,0 3px 6px -3px #BBB}.bk-root .bk-noUi-handle:before,.bk-root .bk-noUi-handle:after{content:\"\";display:block;position:absolute;height:14px;width:1px;background:#e8e7e6;left:14px;top:6px}.bk-root .bk-noUi-handle:after{left:17px}.bk-root .bk-noUi-vertical .bk-noUi-handle:before,.bk-root .bk-noUi-vertical .bk-noUi-handle:after{width:14px;height:1px;left:6px;top:14px}.bk-root .bk-noUi-vertical .bk-noUi-handle:after{top:17px}.bk-root [disabled] .bk-noUi-connect{background:#b8b8b8}.bk-root [disabled].bk-noUi-target,.bk-root [disabled].bk-noUi-handle,.bk-root [disabled] .bk-noUi-handle{cursor:not-allowed}.bk-root .bk-noUi-pips,.bk-root .bk-noUi-pips *{-moz-box-sizing:border-box;box-sizing:border-box}.bk-root .bk-noUi-pips{position:absolute;color:#999}.bk-root .bk-noUi-value{position:absolute;white-space:nowrap;text-align:center}.bk-root .bk-noUi-value-sub{color:#ccc;font-size:10px}.bk-root .bk-noUi-marker{position:absolute;background:#CCC}.bk-root .bk-noUi-marker-sub{background:#AAA}.bk-root .bk-noUi-marker-large{background:#AAA}.bk-root .bk-noUi-pips-horizontal{padding:10px 0;height:80px;top:100%;left:0;width:100%}.bk-root .bk-noUi-value-horizontal{-webkit-transform:translate3d(-50%,50%,0);transform:translate3d(-50%,50%,0)}.bk-root .bk-noUi-marker-horizontal.bk-noUi-marker{margin-left:-1px;width:2px;height:5px}.bk-root .bk-noUi-marker-horizontal.bk-noUi-marker-sub{height:10px}.bk-root .bk-noUi-marker-horizontal.bk-noUi-marker-large{height:15px}.bk-root .bk-noUi-pips-vertical{padding:0 10px;height:100%;top:0;left:100%}.bk-root .bk-noUi-value-vertical{-webkit-transform:translate3d(0,50%,0);transform:translate3d(0,50%,0);padding-left:25px}.bk-root .bk-noUi-marker-vertical.bk-noUi-marker{width:5px;height:2px;margin-top:-1px}.bk-root .bk-noUi-marker-vertical.bk-noUi-marker-sub{width:10px}.bk-root .bk-noUi-marker-vertical.bk-noUi-marker-large{width:15px}.bk-root .bk-noUi-tooltip{display:block;position:absolute;border:1px solid #d9d9d9;border-radius:3px;background:#fff;color:#000;padding:5px;text-align:center;white-space:nowrap}.bk-root .bk-noUi-horizontal .bk-noUi-tooltip{-webkit-transform:translate(-50%,0);transform:translate(-50%,0);left:50%;bottom:120%}.bk-root .bk-noUi-vertical .bk-noUi-tooltip{-webkit-transform:translate(0,-50%);transform:translate(0,-50%);top:50%;right:120%}.bk-root .bk-noUi-handle{cursor:grab;cursor:-webkit-grab}.bk-root .bk-noUi-handle.bk-noUi-active{cursor:grabbing;cursor:-webkit-grabbing}.bk-root .bk-noUi-tooltip{display:none;white-space:nowrap}.bk-root .bk-noUi-handle:hover .bk-noUi-tooltip{display:block}.bk-root .bk-noUi-horizontal{width:100%;height:10px}.bk-root .bk-noUi-horizontal .bk-noUi-handle{width:14px;height:18px;left:-7px;top:-5px}.bk-root .bk-noUi-vertical{width:10px;height:100%}.bk-root .bk-noUi-vertical .bk-noUi-handle{width:18px;height:14px;left:-5px;top:-7px}.bk-root .bk-noUi-handle:after,.bk-root .bk-noUi-handle:before{display:none}.bk-root .bk-noUi-connect{box-shadow:none}.bk-root fieldset{padding:0;margin:0;border:0;min-width:0}.bk-root legend{display:block;width:100%;padding:0;margin-bottom:17px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}.bk-root label{display:inline-block;margin-bottom:5px}.bk-root input[type=\"search\"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bk-root input[type=\"radio\"],.bk-root input[type=\"checkbox\"]{margin:4px 0 0;margin-top:1px \\9;line-height:normal}.bk-root input[type=\"file\"]{display:block}.bk-root input[type=\"range\"]{display:block;width:100%}.bk-root select[multiple],.bk-root select[size]{height:auto}.bk-root input[type=\"file\"]:focus,.bk-root input[type=\"radio\"]:focus,.bk-root input[type=\"checkbox\"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.bk-root output{display:block;padding-top:7px;line-height:1.42857143;color:#555}.bk-root .bk-bs-form-control{display:block;height:31px;padding:0 12px;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px}.bk-root .bk-bs-form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,0.6)}.bk-root .bk-bs-form-control::-moz-placeholder{color:#999;opacity:1}.bk-root .bk-bs-form-control:-ms-input-placeholder{color:#999}.bk-root .bk-bs-form-control::-webkit-input-placeholder{color:#999}.bk-root .bk-bs-form-control[disabled],.bk-root .bk-bs-form-control[readonly],fieldset[disabled] .bk-root .bk-bs-form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.bk-root .bk-bs-form-control{height:auto}.bk-root input[type=\"search\"]{-webkit-appearance:none}.bk-root input[type=\"date\"]{line-height:31px}.bk-root .bk-bs-form-group{margin-bottom:15px}.bk-root .bk-bs-radio,.bk-root .bk-bs-checkbox{display:block;min-height:17px;margin-top:10px;margin-bottom:10px;padding-left:20px}.bk-root .bk-bs-radio label,.bk-root .bk-bs-checkbox label{display:inline;font-weight:normal;cursor:pointer}.bk-root .bk-bs-radio input[type=\"radio\"],.bk-root .bk-bs-radio-inline input[type=\"radio\"],.bk-root .bk-bs-checkbox input[type=\"checkbox\"],.bk-root .bk-bs-checkbox-inline input[type=\"checkbox\"]{float:left;margin-left:-20px}.bk-root .bk-bs-radio+.bk-bs-radio,.bk-root .bk-bs-checkbox+.bk-bs-checkbox{margin-top:-5px}.bk-root .bk-bs-radio-inline,.bk-root .bk-bs-checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.bk-root .bk-bs-radio-inline+.bk-bs-radio-inline,.bk-root .bk-bs-checkbox-inline+.bk-bs-checkbox-inline{margin-top:0;margin-left:10px}.bk-root input[type=\"radio\"][disabled],.bk-root input[type=\"checkbox\"][disabled],.bk-root .bk-bs-radio[disabled],.bk-root .bk-bs-radio-inline[disabled],.bk-root .bk-bs-checkbox[disabled],.bk-root .bk-bs-checkbox-inline[disabled],fieldset[disabled] .bk-root input[type=\"radio\"],fieldset[disabled] .bk-root input[type=\"checkbox\"],fieldset[disabled] .bk-root .bk-bs-radio,fieldset[disabled] .bk-root .bk-bs-radio-inline,fieldset[disabled] .bk-root .bk-bs-checkbox,fieldset[disabled] .bk-root .bk-bs-checkbox-inline{cursor:not-allowed}.bk-root .bk-bs-input-sm{height:28px;padding:5px 10px;font-size:11px;line-height:1.5;border-radius:3px}select.bk-root .bk-bs-input-sm{height:28px;line-height:28px}textarea.bk-root .bk-bs-input-sm,select[multiple].bk-root .bk-bs-input-sm{height:auto}.bk-root .bk-bs-input-lg{height:42px;padding:10px 16px;font-size:15px;line-height:1.33;border-radius:6px}select.bk-root .bk-bs-input-lg{height:42px;line-height:42px}textarea.bk-root .bk-bs-input-lg,select[multiple].bk-root .bk-bs-input-lg{height:auto}.bk-root .bk-bs-has-feedback{position:relative}.bk-root .bk-bs-has-feedback .bk-bs-form-control{padding-right:38.75px}.bk-root .bk-bs-has-feedback .bk-bs-form-control-feedback{position:absolute;top:22px;right:0;display:block;width:31px;height:31px;line-height:31px;text-align:center}.bk-root .bk-bs-has-success .bk-bs-help-block,.bk-root .bk-bs-has-success .bk-bs-control-label,.bk-root .bk-bs-has-success .bk-bs-radio,.bk-root .bk-bs-has-success .bk-bs-checkbox,.bk-root .bk-bs-has-success .bk-bs-radio-inline,.bk-root .bk-bs-has-success .bk-bs-checkbox-inline{color:#3c763d}.bk-root .bk-bs-has-success .bk-bs-form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.bk-root .bk-bs-has-success .bk-bs-form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.bk-root .bk-bs-has-success .bk-bs-input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.bk-root .bk-bs-has-success .bk-bs-form-control-feedback{color:#3c763d}.bk-root .bk-bs-has-warning .bk-bs-help-block,.bk-root .bk-bs-has-warning .bk-bs-control-label,.bk-root .bk-bs-has-warning .bk-bs-radio,.bk-root .bk-bs-has-warning .bk-bs-checkbox,.bk-root .bk-bs-has-warning .bk-bs-radio-inline,.bk-root .bk-bs-has-warning .bk-bs-checkbox-inline{color:#8a6d3b}.bk-root .bk-bs-has-warning .bk-bs-form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.bk-root .bk-bs-has-warning .bk-bs-form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.bk-root .bk-bs-has-warning .bk-bs-input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.bk-root .bk-bs-has-warning .bk-bs-form-control-feedback{color:#8a6d3b}.bk-root .bk-bs-has-error .bk-bs-help-block,.bk-root .bk-bs-has-error .bk-bs-control-label,.bk-root .bk-bs-has-error .bk-bs-radio,.bk-root .bk-bs-has-error .bk-bs-checkbox,.bk-root .bk-bs-has-error .bk-bs-radio-inline,.bk-root .bk-bs-has-error .bk-bs-checkbox-inline{color:#a94442}.bk-root .bk-bs-has-error .bk-bs-form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.bk-root .bk-bs-has-error .bk-bs-form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.bk-root .bk-bs-has-error .bk-bs-input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.bk-root .bk-bs-has-error .bk-bs-form-control-feedback{color:#a94442}.bk-root .bk-bs-form-control-static{margin-bottom:0}.bk-root .bk-bs-help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media(min-width:768px){.bk-root .bk-bs-form-inline .bk-bs-form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.bk-root .bk-bs-form-inline .bk-bs-form-control{display:inline-block;width:auto;vertical-align:middle}.bk-root .bk-bs-form-inline .bk-bs-input-group>.bk-bs-form-control{width:100%}.bk-root .bk-bs-form-inline .bk-bs-control-label{margin-bottom:0;vertical-align:middle}.bk-root .bk-bs-form-inline .bk-bs-radio,.bk-root .bk-bs-form-inline .bk-bs-checkbox{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0;vertical-align:middle}.bk-root .bk-bs-form-inline .bk-bs-radio input[type=\"radio\"],.bk-root .bk-bs-form-inline .bk-bs-checkbox input[type=\"checkbox\"]{float:none;margin-left:0}.bk-root .bk-bs-form-inline .bk-bs-has-feedback .bk-bs-form-control-feedback{top:0}}.bk-root .bk-bs-form-horizontal .bk-bs-control-label,.bk-root .bk-bs-form-horizontal .bk-bs-radio,.bk-root .bk-bs-form-horizontal .bk-bs-checkbox,.bk-root .bk-bs-form-horizontal .bk-bs-radio-inline,.bk-root .bk-bs-form-horizontal .bk-bs-checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}.bk-root .bk-bs-form-horizontal .bk-bs-radio,.bk-root .bk-bs-form-horizontal .bk-bs-checkbox{min-height:24px}.bk-root .bk-bs-form-horizontal .bk-bs-form-group{margin-left:-15px;margin-right:-15px}.bk-root .bk-bs-form-horizontal .bk-bs-form-control-static{padding-top:7px}@media(min-width:768px){.bk-root .bk-bs-form-horizontal .bk-bs-control-label{text-align:right}}.bk-root .bk-bs-form-horizontal .bk-bs-has-feedback .bk-bs-form-control-feedback{top:0;right:15px}.bk-root .bk-bs-btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:12px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.bk-root .bk-bs-btn:focus,.bk-root .bk-bs-btn:active:focus,.bk-root .bk-bs-btn.bk-bs-active:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.bk-root .bk-bs-btn:hover,.bk-root .bk-bs-btn:focus{color:#333;text-decoration:none}.bk-root .bk-bs-btn:active,.bk-root .bk-bs-btn.bk-bs-active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.bk-root .bk-bs-btn.bk-bs-disabled,.bk-root .bk-bs-btn[disabled],fieldset[disabled] .bk-root .bk-bs-btn{cursor:not-allowed;pointer-events:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.bk-root .bk-bs-btn-default{color:#333;background-color:#fff;border-color:#ccc}.bk-root .bk-bs-btn-default:hover,.bk-root .bk-bs-btn-default:focus,.bk-root .bk-bs-btn-default:active,.bk-root .bk-bs-btn-default.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-default{color:#333;background-color:#ebebeb;border-color:#adadad}.bk-root .bk-bs-btn-default:active,.bk-root .bk-bs-btn-default.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-default{background-image:none}.bk-root .bk-bs-btn-default.bk-bs-disabled,.bk-root .bk-bs-btn-default[disabled],fieldset[disabled] .bk-root .bk-bs-btn-default,.bk-root .bk-bs-btn-default.bk-bs-disabled:hover,.bk-root .bk-bs-btn-default[disabled]:hover,fieldset[disabled] .bk-root .bk-bs-btn-default:hover,.bk-root .bk-bs-btn-default.bk-bs-disabled:focus,.bk-root .bk-bs-btn-default[disabled]:focus,fieldset[disabled] .bk-root .bk-bs-btn-default:focus,.bk-root .bk-bs-btn-default.bk-bs-disabled:active,.bk-root .bk-bs-btn-default[disabled]:active,fieldset[disabled] .bk-root .bk-bs-btn-default:active,.bk-root .bk-bs-btn-default.bk-bs-disabled.bk-bs-active,.bk-root .bk-bs-btn-default[disabled].bk-bs-active,fieldset[disabled] .bk-root .bk-bs-btn-default.bk-bs-active{background-color:#fff;border-color:#ccc}.bk-root .bk-bs-btn-default .bk-bs-badge{color:#fff;background-color:#333}.bk-root .bk-bs-btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.bk-root .bk-bs-btn-primary:hover,.bk-root .bk-bs-btn-primary:focus,.bk-root .bk-bs-btn-primary:active,.bk-root .bk-bs-btn-primary.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.bk-root .bk-bs-btn-primary:active,.bk-root .bk-bs-btn-primary.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-primary{background-image:none}.bk-root .bk-bs-btn-primary.bk-bs-disabled,.bk-root .bk-bs-btn-primary[disabled],fieldset[disabled] .bk-root .bk-bs-btn-primary,.bk-root .bk-bs-btn-primary.bk-bs-disabled:hover,.bk-root .bk-bs-btn-primary[disabled]:hover,fieldset[disabled] .bk-root .bk-bs-btn-primary:hover,.bk-root .bk-bs-btn-primary.bk-bs-disabled:focus,.bk-root .bk-bs-btn-primary[disabled]:focus,fieldset[disabled] .bk-root .bk-bs-btn-primary:focus,.bk-root .bk-bs-btn-primary.bk-bs-disabled:active,.bk-root .bk-bs-btn-primary[disabled]:active,fieldset[disabled] .bk-root .bk-bs-btn-primary:active,.bk-root .bk-bs-btn-primary.bk-bs-disabled.bk-bs-active,.bk-root .bk-bs-btn-primary[disabled].bk-bs-active,fieldset[disabled] .bk-root .bk-bs-btn-primary.bk-bs-active{background-color:#428bca;border-color:#357ebd}.bk-root .bk-bs-btn-primary .bk-bs-badge{color:#428bca;background-color:#fff}.bk-root .bk-bs-btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.bk-root .bk-bs-btn-success:hover,.bk-root .bk-bs-btn-success:focus,.bk-root .bk-bs-btn-success:active,.bk-root .bk-bs-btn-success.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-success{color:#fff;background-color:#47a447;border-color:#398439}.bk-root .bk-bs-btn-success:active,.bk-root .bk-bs-btn-success.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-success{background-image:none}.bk-root .bk-bs-btn-success.bk-bs-disabled,.bk-root .bk-bs-btn-success[disabled],fieldset[disabled] .bk-root .bk-bs-btn-success,.bk-root .bk-bs-btn-success.bk-bs-disabled:hover,.bk-root .bk-bs-btn-success[disabled]:hover,fieldset[disabled] .bk-root .bk-bs-btn-success:hover,.bk-root .bk-bs-btn-success.bk-bs-disabled:focus,.bk-root .bk-bs-btn-success[disabled]:focus,fieldset[disabled] .bk-root .bk-bs-btn-success:focus,.bk-root .bk-bs-btn-success.bk-bs-disabled:active,.bk-root .bk-bs-btn-success[disabled]:active,fieldset[disabled] .bk-root .bk-bs-btn-success:active,.bk-root .bk-bs-btn-success.bk-bs-disabled.bk-bs-active,.bk-root .bk-bs-btn-success[disabled].bk-bs-active,fieldset[disabled] .bk-root .bk-bs-btn-success.bk-bs-active{background-color:#5cb85c;border-color:#4cae4c}.bk-root .bk-bs-btn-success .bk-bs-badge{color:#5cb85c;background-color:#fff}.bk-root .bk-bs-btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.bk-root .bk-bs-btn-info:hover,.bk-root .bk-bs-btn-info:focus,.bk-root .bk-bs-btn-info:active,.bk-root .bk-bs-btn-info.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.bk-root .bk-bs-btn-info:active,.bk-root .bk-bs-btn-info.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-info{background-image:none}.bk-root .bk-bs-btn-info.bk-bs-disabled,.bk-root .bk-bs-btn-info[disabled],fieldset[disabled] .bk-root .bk-bs-btn-info,.bk-root .bk-bs-btn-info.bk-bs-disabled:hover,.bk-root .bk-bs-btn-info[disabled]:hover,fieldset[disabled] .bk-root .bk-bs-btn-info:hover,.bk-root .bk-bs-btn-info.bk-bs-disabled:focus,.bk-root .bk-bs-btn-info[disabled]:focus,fieldset[disabled] .bk-root .bk-bs-btn-info:focus,.bk-root .bk-bs-btn-info.bk-bs-disabled:active,.bk-root .bk-bs-btn-info[disabled]:active,fieldset[disabled] .bk-root .bk-bs-btn-info:active,.bk-root .bk-bs-btn-info.bk-bs-disabled.bk-bs-active,.bk-root .bk-bs-btn-info[disabled].bk-bs-active,fieldset[disabled] .bk-root .bk-bs-btn-info.bk-bs-active{background-color:#5bc0de;border-color:#46b8da}.bk-root .bk-bs-btn-info .bk-bs-badge{color:#5bc0de;background-color:#fff}.bk-root .bk-bs-btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.bk-root .bk-bs-btn-warning:hover,.bk-root .bk-bs-btn-warning:focus,.bk-root .bk-bs-btn-warning:active,.bk-root .bk-bs-btn-warning.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.bk-root .bk-bs-btn-warning:active,.bk-root .bk-bs-btn-warning.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-warning{background-image:none}.bk-root .bk-bs-btn-warning.bk-bs-disabled,.bk-root .bk-bs-btn-warning[disabled],fieldset[disabled] .bk-root .bk-bs-btn-warning,.bk-root .bk-bs-btn-warning.bk-bs-disabled:hover,.bk-root .bk-bs-btn-warning[disabled]:hover,fieldset[disabled] .bk-root .bk-bs-btn-warning:hover,.bk-root .bk-bs-btn-warning.bk-bs-disabled:focus,.bk-root .bk-bs-btn-warning[disabled]:focus,fieldset[disabled] .bk-root .bk-bs-btn-warning:focus,.bk-root .bk-bs-btn-warning.bk-bs-disabled:active,.bk-root .bk-bs-btn-warning[disabled]:active,fieldset[disabled] .bk-root .bk-bs-btn-warning:active,.bk-root .bk-bs-btn-warning.bk-bs-disabled.bk-bs-active,.bk-root .bk-bs-btn-warning[disabled].bk-bs-active,fieldset[disabled] .bk-root .bk-bs-btn-warning.bk-bs-active{background-color:#f0ad4e;border-color:#eea236}.bk-root .bk-bs-btn-warning .bk-bs-badge{color:#f0ad4e;background-color:#fff}.bk-root .bk-bs-btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.bk-root .bk-bs-btn-danger:hover,.bk-root .bk-bs-btn-danger:focus,.bk-root .bk-bs-btn-danger:active,.bk-root .bk-bs-btn-danger.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.bk-root .bk-bs-btn-danger:active,.bk-root .bk-bs-btn-danger.bk-bs-active,.bk-bs-open .bk-bs-dropdown-toggle.bk-root .bk-bs-btn-danger{background-image:none}.bk-root .bk-bs-btn-danger.bk-bs-disabled,.bk-root .bk-bs-btn-danger[disabled],fieldset[disabled] .bk-root .bk-bs-btn-danger,.bk-root .bk-bs-btn-danger.bk-bs-disabled:hover,.bk-root .bk-bs-btn-danger[disabled]:hover,fieldset[disabled] .bk-root .bk-bs-btn-danger:hover,.bk-root .bk-bs-btn-danger.bk-bs-disabled:focus,.bk-root .bk-bs-btn-danger[disabled]:focus,fieldset[disabled] .bk-root .bk-bs-btn-danger:focus,.bk-root .bk-bs-btn-danger.bk-bs-disabled:active,.bk-root .bk-bs-btn-danger[disabled]:active,fieldset[disabled] .bk-root .bk-bs-btn-danger:active,.bk-root .bk-bs-btn-danger.bk-bs-disabled.bk-bs-active,.bk-root .bk-bs-btn-danger[disabled].bk-bs-active,fieldset[disabled] .bk-root .bk-bs-btn-danger.bk-bs-active{background-color:#d9534f;border-color:#d43f3a}.bk-root .bk-bs-btn-danger .bk-bs-badge{color:#d9534f;background-color:#fff}.bk-root .bk-bs-btn-link{color:#428bca;font-weight:normal;cursor:pointer;border-radius:0}.bk-root .bk-bs-btn-link,.bk-root .bk-bs-btn-link:active,.bk-root .bk-bs-btn-link[disabled],fieldset[disabled] .bk-root .bk-bs-btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.bk-root .bk-bs-btn-link,.bk-root .bk-bs-btn-link:hover,.bk-root .bk-bs-btn-link:focus,.bk-root .bk-bs-btn-link:active{border-color:transparent}.bk-root .bk-bs-btn-link:hover,.bk-root .bk-bs-btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.bk-root .bk-bs-btn-link[disabled]:hover,fieldset[disabled] .bk-root .bk-bs-btn-link:hover,.bk-root .bk-bs-btn-link[disabled]:focus,fieldset[disabled] .bk-root .bk-bs-btn-link:focus{color:#999;text-decoration:none}.bk-root .bk-bs-btn-lg{padding:10px 16px;font-size:15px;line-height:1.33;border-radius:6px}.bk-root .bk-bs-btn-sm{padding:5px 10px;font-size:11px;line-height:1.5;border-radius:3px}.bk-root .bk-bs-btn-xs{padding:1px 5px;font-size:11px;line-height:1.5;border-radius:3px}.bk-root .bk-bs-btn-block{display:block;width:100%;padding-left:0;padding-right:0}.bk-root .bk-bs-btn-block+.bk-bs-btn-block{margin-top:5px}.bk-root input[type=\"submit\"].bk-bs-btn-block,.bk-root input[type=\"reset\"].bk-bs-btn-block,.bk-root input[type=\"button\"].bk-bs-btn-block{width:100%}.bk-root .bk-bs-caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.bk-root .bk-bs-dropdown{position:relative}.bk-root .bk-bs-dropdown-toggle:focus{outline:0}.bk-root .bk-bs-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:12px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.bk-root .bk-bs-dropdown-menu.bk-bs-pull-right{right:0;left:auto}.bk-root .bk-bs-dropdown-menu .bk-bs-divider{height:1px;margin:7.5px 0;overflow:hidden;background-color:#e5e5e5}.bk-root .bk-bs-dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#333;white-space:nowrap}.bk-root .bk-bs-dropdown-menu>li>a:hover,.bk-root .bk-bs-dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}.bk-root .bk-bs-dropdown-menu>.bk-bs-active>a,.bk-root .bk-bs-dropdown-menu>.bk-bs-active>a:hover,.bk-root .bk-bs-dropdown-menu>.bk-bs-active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#428bca}.bk-root .bk-bs-dropdown-menu>.bk-bs-disabled>a,.bk-root .bk-bs-dropdown-menu>.bk-bs-disabled>a:hover,.bk-root .bk-bs-dropdown-menu>.bk-bs-disabled>a:focus{color:#999}.bk-root .bk-bs-dropdown-menu>.bk-bs-disabled>a:hover,.bk-root .bk-bs-dropdown-menu>.bk-bs-disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.bk-bs-Microsoft.bk-bs-gradient(enabled = false);cursor:not-allowed}.bk-root .bk-bs-open>.bk-bs-dropdown-menu{display:block}.bk-root .bk-bs-open>a{outline:0}.bk-root .bk-bs-dropdown-menu-right{left:auto;right:0}.bk-root .bk-bs-dropdown-menu-left{left:0;right:auto}.bk-root .bk-bs-dropdown-header{display:block;padding:3px 20px;font-size:11px;line-height:1.42857143;color:#999}.bk-root .bk-bs-dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.bk-root .bk-bs-pull-right>.bk-bs-dropdown-menu{right:0;left:auto}.bk-root .bk-bs-dropup .bk-bs-caret,.bk-root .bk-bs-navbar-fixed-bottom .bk-bs-dropdown .bk-bs-caret{border-top:0;border-bottom:4px solid;content:\"\"}.bk-root .bk-bs-dropup .bk-bs-dropdown-menu,.bk-root .bk-bs-navbar-fixed-bottom .bk-bs-dropdown .bk-bs-dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media(min-width:768px){.bk-root .bk-bs-navbar-right .bk-bs-dropdown-menu{left:auto;right:0}.bk-root .bk-bs-navbar-right .bk-bs-dropdown-menu-left{left:0;right:auto}}.bk-root .bk-bs-btn-group,.bk-root .bk-bs-btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.bk-root .bk-bs-btn-group>.bk-bs-btn,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn{position:relative;float:left}.bk-root .bk-bs-btn-group>.bk-bs-btn:hover,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn:hover,.bk-root .bk-bs-btn-group>.bk-bs-btn:focus,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn:focus,.bk-root .bk-bs-btn-group>.bk-bs-btn:active,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn:active,.bk-root .bk-bs-btn-group>.bk-bs-btn.bk-bs-active,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn.bk-bs-active{z-index:2}.bk-root .bk-bs-btn-group>.bk-bs-btn:focus,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn:focus{outline:0}.bk-root .bk-bs-btn-group .bk-bs-btn+.bk-bs-btn,.bk-root .bk-bs-btn-group .bk-bs-btn+.bk-bs-btn-group,.bk-root .bk-bs-btn-group .bk-bs-btn-group+.bk-bs-btn,.bk-root .bk-bs-btn-group .bk-bs-btn-group+.bk-bs-btn-group{margin-left:-1px}.bk-root .bk-bs-btn-toolbar{margin-left:-5px}.bk-root .bk-bs-btn-toolbar .bk-bs-btn-group,.bk-root .bk-bs-btn-toolbar .bk-bs-input-group{float:left}.bk-root .bk-bs-btn-toolbar>.bk-bs-btn,.bk-root .bk-bs-btn-toolbar>.bk-bs-btn-group,.bk-root .bk-bs-btn-toolbar>.bk-bs-input-group{margin-left:5px}.bk-root .bk-bs-btn-group>.bk-bs-btn:not(:first-child):not(:last-child):not(.bk-bs-dropdown-toggle){border-radius:0}.bk-root .bk-bs-btn-group>.bk-bs-btn:first-child{margin-left:0}.bk-root .bk-bs-btn-group>.bk-bs-btn:first-child:not(:last-child):not(.bk-bs-dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.bk-root .bk-bs-btn-group>.bk-bs-btn:last-child:not(:first-child),.bk-root .bk-bs-btn-group>.bk-bs-dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.bk-root .bk-bs-btn-group>.bk-bs-btn-group{float:left}.bk-root .bk-bs-btn-group>.bk-bs-btn-group:not(:first-child):not(:last-child)>.bk-bs-btn{border-radius:0}.bk-root .bk-bs-btn-group>.bk-bs-btn-group:first-child>.bk-bs-btn:last-child,.bk-root .bk-bs-btn-group>.bk-bs-btn-group:first-child>.bk-bs-dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.bk-root .bk-bs-btn-group>.bk-bs-btn-group:last-child>.bk-bs-btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.bk-root .bk-bs-btn-group .bk-bs-dropdown-toggle:active,.bk-root .bk-bs-btn-group.bk-bs-open .bk-bs-dropdown-toggle{outline:0}.bk-root .bk-bs-btn-group>.bk-bs-btn+.bk-bs-dropdown-toggle{padding-left:8px;padding-right:8px}.bk-root .bk-bs-btn-group>.bk-bs-btn-lg+.bk-bs-dropdown-toggle{padding-left:12px;padding-right:12px}.bk-root .bk-bs-btn-group.bk-bs-open .bk-bs-dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.bk-root .bk-bs-btn-group.bk-bs-open .bk-bs-dropdown-toggle.bk-bs-btn-link{-webkit-box-shadow:none;box-shadow:none}.bk-root .bk-bs-btn .bk-bs-caret{margin-left:0}.bk-root .bk-bs-btn-lg .bk-bs-caret{border-width:5px 5px 0;border-bottom-width:0}.bk-root .bk-bs-dropup .bk-bs-btn-lg .bk-bs-caret{border-width:0 5px 5px}.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn-group,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn-group>.bk-bs-btn{display:block;float:none;width:100%;max-width:100%}.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn-group>.bk-bs-btn{float:none}.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn+.bk-bs-btn,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn+.bk-bs-btn-group,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn-group+.bk-bs-btn,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn-group+.bk-bs-btn-group{margin-top:-1px;margin-left:0}.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn:not(:first-child):not(:last-child){border-radius:0}.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn-group:not(:first-child):not(:last-child)>.bk-bs-btn{border-radius:0}.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn-group:first-child:not(:last-child)>.bk-bs-btn:last-child,.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn-group:first-child:not(:last-child)>.bk-bs-dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.bk-root .bk-bs-btn-group-vertical>.bk-bs-btn-group:last-child:not(:first-child)>.bk-bs-btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.bk-root .bk-bs-btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.bk-root .bk-bs-btn-group-justified>.bk-bs-btn,.bk-root .bk-bs-btn-group-justified>.bk-bs-btn-group{float:none;display:table-cell;width:1%}.bk-root .bk-bs-btn-group-justified>.bk-bs-btn-group .bk-bs-btn{width:100%}.bk-root .bk-bs-btn-group>.bk-bs-btn>input[type=\"radio\"],.bk-root .bk-bs-btn-group>.bk-bs-btn>input[type=\"checkbox\"]{display:none}.bk-root .bk-bs-input-group{position:relative;display:table;border-collapse:separate}.bk-root .bk-bs-input-group[class*=\"col-\"]{float:none;padding-left:0;padding-right:0}.bk-root .bk-bs-input-group .bk-bs-form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.bk-root .bk-bs-input-group-lg>.bk-bs-form-control,.bk-root .bk-bs-input-group-lg>.bk-bs-input-group-addon,.bk-root .bk-bs-input-group-lg>.bk-bs-input-group-btn>.bk-bs-btn{height:42px;padding:10px 16px;font-size:15px;line-height:1.33;border-radius:6px}select.bk-root .bk-bs-input-group-lg>.bk-bs-form-control,select.bk-root .bk-bs-input-group-lg>.bk-bs-input-group-addon,select.bk-root .bk-bs-input-group-lg>.bk-bs-input-group-btn>.bk-bs-btn{height:42px;line-height:42px}textarea.bk-root .bk-bs-input-group-lg>.bk-bs-form-control,textarea.bk-root .bk-bs-input-group-lg>.bk-bs-input-group-addon,textarea.bk-root .bk-bs-input-group-lg>.bk-bs-input-group-btn>.bk-bs-btn,select[multiple].bk-root .bk-bs-input-group-lg>.bk-bs-form-control,select[multiple].bk-root .bk-bs-input-group-lg>.bk-bs-input-group-addon,select[multiple].bk-root .bk-bs-input-group-lg>.bk-bs-input-group-btn>.bk-bs-btn{height:auto}.bk-root .bk-bs-input-group-sm>.bk-bs-form-control,.bk-root .bk-bs-input-group-sm>.bk-bs-input-group-addon,.bk-root .bk-bs-input-group-sm>.bk-bs-input-group-btn>.bk-bs-btn{height:28px;padding:5px 10px;font-size:11px;line-height:1.5;border-radius:3px}select.bk-root .bk-bs-input-group-sm>.bk-bs-form-control,select.bk-root .bk-bs-input-group-sm>.bk-bs-input-group-addon,select.bk-root .bk-bs-input-group-sm>.bk-bs-input-group-btn>.bk-bs-btn{height:28px;line-height:28px}textarea.bk-root .bk-bs-input-group-sm>.bk-bs-form-control,textarea.bk-root .bk-bs-input-group-sm>.bk-bs-input-group-addon,textarea.bk-root .bk-bs-input-group-sm>.bk-bs-input-group-btn>.bk-bs-btn,select[multiple].bk-root .bk-bs-input-group-sm>.bk-bs-form-control,select[multiple].bk-root .bk-bs-input-group-sm>.bk-bs-input-group-addon,select[multiple].bk-root .bk-bs-input-group-sm>.bk-bs-input-group-btn>.bk-bs-btn{height:auto}.bk-root .bk-bs-input-group-addon,.bk-root .bk-bs-input-group-btn,.bk-root .bk-bs-input-group .bk-bs-form-control{display:table-cell}.bk-root .bk-bs-input-group-addon:not(:first-child):not(:last-child),.bk-root .bk-bs-input-group-btn:not(:first-child):not(:last-child),.bk-root .bk-bs-input-group .bk-bs-form-control:not(:first-child):not(:last-child){border-radius:0}.bk-root .bk-bs-input-group-addon,.bk-root .bk-bs-input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.bk-root .bk-bs-input-group-addon{padding:6px 12px;font-size:12px;font-weight:normal;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.bk-root .bk-bs-input-group-addon.bk-bs-input-sm{padding:5px 10px;font-size:11px;border-radius:3px}.bk-root .bk-bs-input-group-addon.bk-bs-input-lg{padding:10px 16px;font-size:15px;border-radius:6px}.bk-root .bk-bs-input-group-addon input[type=\"radio\"],.bk-root .bk-bs-input-group-addon input[type=\"checkbox\"]{margin-top:0}.bk-root .bk-bs-input-group .bk-bs-form-control:first-child,.bk-root .bk-bs-input-group-addon:first-child,.bk-root .bk-bs-input-group-btn:first-child>.bk-bs-btn,.bk-root .bk-bs-input-group-btn:first-child>.bk-bs-btn-group>.bk-bs-btn,.bk-root .bk-bs-input-group-btn:first-child>.bk-bs-dropdown-toggle,.bk-root .bk-bs-input-group-btn:last-child>.bk-bs-btn:not(:last-child):not(.bk-bs-dropdown-toggle),.bk-root .bk-bs-input-group-btn:last-child>.bk-bs-btn-group:not(:last-child)>.bk-bs-btn{border-bottom-right-radius:0;border-top-right-radius:0}.bk-root .bk-bs-input-group-addon:first-child{border-right:0}.bk-root .bk-bs-input-group .bk-bs-form-control:last-child,.bk-root .bk-bs-input-group-addon:last-child,.bk-root .bk-bs-input-group-btn:last-child>.bk-bs-btn,.bk-root .bk-bs-input-group-btn:last-child>.bk-bs-btn-group>.bk-bs-btn,.bk-root .bk-bs-input-group-btn:last-child>.bk-bs-dropdown-toggle,.bk-root .bk-bs-input-group-btn:first-child>.bk-bs-btn:not(:first-child),.bk-root .bk-bs-input-group-btn:first-child>.bk-bs-btn-group:not(:first-child)>.bk-bs-btn{border-bottom-left-radius:0;border-top-left-radius:0}.bk-root .bk-bs-input-group-addon:last-child{border-left:0}.bk-root .bk-bs-input-group-btn{position:relative;font-size:0;white-space:nowrap}.bk-root .bk-bs-input-group-btn>.bk-bs-btn{position:relative}.bk-root .bk-bs-input-group-btn>.bk-bs-btn+.bk-bs-btn{margin-left:-1px}.bk-root .bk-bs-input-group-btn>.bk-bs-btn:hover,.bk-root .bk-bs-input-group-btn>.bk-bs-btn:focus,.bk-root .bk-bs-input-group-btn>.bk-bs-btn:active{z-index:2}.bk-root .bk-bs-input-group-btn:first-child>.bk-bs-btn,.bk-root .bk-bs-input-group-btn:first-child>.bk-bs-btn-group{margin-right:-1px}.bk-root .bk-bs-input-group-btn:last-child>.bk-bs-btn,.bk-root .bk-bs-input-group-btn:last-child>.bk-bs-btn-group{margin-left:-1px}.bk-root .bk-bs-nav{margin-bottom:0;padding-left:0;list-style:none}.bk-root .bk-bs-nav>li{position:relative;display:block}.bk-root .bk-bs-nav>li>span{position:relative;display:block;padding:10px 15px}.bk-root .bk-bs-nav>li>span:hover,.bk-root .bk-bs-nav>li>span:focus{text-decoration:none;background-color:#eee}.bk-root .bk-bs-nav>li.bk-bs-disabled>span{color:#999}.bk-root .bk-bs-nav>li.bk-bs-disabled>span:hover,.bk-root .bk-bs-nav>li.bk-bs-disabled>span:focus{color:#999;text-decoration:none;background-color:transparent;cursor:not-allowed}.bk-root .bk-bs-nav-tabs{border-bottom:1px solid #ddd}.bk-root .bk-bs-nav-tabs>li{float:left;margin-bottom:-1px}.bk-root .bk-bs-nav-tabs>li>span{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.bk-root .bk-bs-nav-tabs>li>span:hover{border-color:#eee #eee #ddd;cursor:pointer}.bk-root .bk-bs-nav-tabs>li.bk-bs-active>span,.bk-root .bk-bs-nav-tabs>li.bk-bs-active>span:hover,.bk-root .bk-bs-nav-tabs>li.bk-bs-active>span:focus{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.bk-root .bk-bs-tab-content>.bk-bs-tab-pane{display:none}.bk-root .bk-bs-tab-content>.bk-bs-active{display:block}.bk-root .pika-single{z-index:9999;display:block;position:relative;color:#333;background:#fff;border:1px solid #ccc;border-bottom-color:#bbb;font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serif}.bk-root .pika-single:before,.bk-root .pika-single:after{content:\" \";display:table}.bk-root .pika-single:after{clear:both}.bk-root .pika-single{*zoom:1}.bk-root .pika-single.is-hidden{display:none}.bk-root .pika-single.is-bound{position:absolute;box-shadow:0 5px 15px -5px rgba(0,0,0,0.5)}.bk-root .pika-lendar{float:left;width:240px;margin:8px}.bk-root .pika-title{position:relative;text-align:center}.bk-root .pika-label{display:inline-block;*display:inline;position:relative;z-index:9999;overflow:hidden;margin:0;padding:5px 3px;font-size:14px;line-height:20px;font-weight:bold;background-color:#fff}.bk-root .pika-title select{cursor:pointer;position:absolute;z-index:9998;margin:0;left:0;top:5px;filter:alpha(opacity=0);opacity:0}.bk-root .pika-prev,.bk-root .pika-next{display:block;cursor:pointer;position:relative;outline:0;border:0;padding:0;width:20px;height:30px;text-indent:20px;white-space:nowrap;overflow:hidden;background-color:transparent;background-position:center center;background-repeat:no-repeat;background-size:75% 75%;opacity:.5;*position:absolute;*top:0}.bk-root .pika-prev:hover,.bk-root .pika-next:hover{opacity:1}.bk-root .pika-prev,.bk-root .is-rtl .pika-next{float:left;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==');*left:0}.bk-root .pika-next,.bk-root .is-rtl .pika-prev{float:right;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=');*right:0}.bk-root .pika-prev.is-disabled,.bk-root .pika-next.is-disabled{cursor:default;opacity:.2}.bk-root .pika-select{display:inline-block;*display:inline}.bk-root .pika-table{width:100%;border-collapse:collapse;border-spacing:0;border:0}.bk-root .pika-table th,.bk-root .pika-table td{width:14.285714285714286%;padding:0}.bk-root .pika-table th{color:#999;font-size:12px;line-height:25px;font-weight:bold;text-align:center}.bk-root .pika-button{cursor:pointer;display:block;box-sizing:border-box;-moz-box-sizing:border-box;outline:0;border:0;margin:0;width:100%;padding:5px;color:#666;font-size:12px;line-height:15px;text-align:right;background:#f5f5f5}.bk-root .pika-week{font-size:11px;color:#999}.bk-root .is-today .pika-button{color:#3af;font-weight:bold}.bk-root .is-selected .pika-button,.bk-root .has-event .pika-button{color:#fff;font-weight:bold;background:#3af;box-shadow:inset 0 1px 3px #178fe5;border-radius:3px}.bk-root .has-event .pika-button{background:#005da9;box-shadow:inset 0 1px 3px #0076c9}.bk-root .is-disabled .pika-button,.bk-root .is-inrange .pika-button{background:#d5e9f7}.bk-root .is-startrange .pika-button{color:#fff;background:#6cb31d;box-shadow:none;border-radius:3px}.bk-root .is-endrange .pika-button{color:#fff;background:#3af;box-shadow:none;border-radius:3px}.bk-root .is-disabled .pika-button{pointer-events:none;cursor:default;color:#999;opacity:.3}.bk-root .is-outside-current-month .pika-button{color:#999;opacity:.3}.bk-root .is-selection-disabled{pointer-events:none;cursor:default}.bk-root .pika-button:hover,.bk-root .pika-row.pick-whole-week:hover .pika-button{color:#fff;background:#ff8000;box-shadow:none;border-radius:3px}.bk-root .pika-table abbr{border-bottom:0;cursor:help}.bk-root .bk-widget-box{overflow:visible;padding:5px 10px}.bk-root .bk-widget label{margin-bottom:2px}.bk-root .bk-widget{margin-top:10px}.bk-root .bk-widget h1:first-child,.bk-root .bk-widget h2:first-child,.bk-root .bk-widget h3:first-child,.bk-root .bk-widget h4:first-child,.bk-root .bk-widget h5:first-child,.bk-root .bk-widget h6:first-child,.bk-root .bk-widget p:first-child{margin-top:0}.bk-root .bk-widget-form-input{display:block;height:31px;padding:0 12px;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px}.bk-root .bk-widget-form-input:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,0.6)}.bk-root .bk-widget-form-input::-moz-placeholder{color:#999;opacity:1}.bk-root .bk-widget-form-input:-ms-input-placeholder{color:#999}.bk-root .bk-widget-form-input::-webkit-input-placeholder{color:#999}.bk-root .bk-widget-form-input[disabled],.bk-root .bk-widget-form-input[readonly],fieldset[disabled] .bk-root .bk-widget-form-input{cursor:not-allowed;background-color:#eee;opacity:1}textarea.bk-root .bk-widget-form-input{height:auto}.bk-root .bk-widget button{min-width:100%}.bk-root .bk-widget input[type=\"text\"]{min-width:90%}.bk-root .bk-widget select{min-width:97%}.bk-root .bk-bs-dropdown-toggle .bk-bs-caret{margin-left:5px}.bk-root .bk-bs-dropdown-menu{width:100%}.bk-root .bk-bs-nav-tabs{overflow:hidden}.bk-root .bk-bs-tab-pane{float:left}.bk-root .bk-slider label{margin-right:5px}.bk-root .bk-slider .bk-slider-value{display:inline-block;font-weight:600}.bk-root .bk-slider input,.bk-root .bk-slider .bk-slider-value{margin-bottom:5px}//# sourceMappingURL=bokeh-widgets.min.css.map\n\n/* END bokeh-widgets.min.css */"); console.log("Bokeh: injecting raw CSS"); Bokeh.embed.inject_raw_css("/* BEGIN bokeh-tables.min.css */\n.bk-root .slick-header.ui-state-default,.bk-root .slick-headerrow.ui-state-default,.bk-root .slick-footerrow.ui-state-default{width:100%;overflow:hidden;border-left:0 !important}.bk-root .slick-header-columns,.bk-root .slick-headerrow-columns,.bk-root .slick-footerrow-columns{position:relative;white-space:nowrap;cursor:default;overflow:hidden}.bk-root .slick-header-column.ui-state-default{position:relative;display:inline-block;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;height:16px;line-height:16px;margin:0;padding:4px;border-right:1px solid silver;border-left:0 !important;border-top:0 !important;border-bottom:0 !important;float:left}.bk-root .slick-headerrow-column.ui-state-default,.bk-root .slick-footerrow-column.ui-state-default{padding:4px}.bk-root .slick-header-column-sorted{font-style:italic}.bk-root .slick-sort-indicator{display:inline-block;width:8px;height:5px;margin-left:4px;margin-top:6px;float:left}.bk-root .slick-sort-indicator-numbered{display:inline-block;width:8px;height:5px;margin-left:4px;margin-top:0;padding-left:1px;line-height:20px;float:left;font-family:Arial;font-style:normal;font-weight:bold;color:#6190cd}.bk-root .slick-sort-indicator-desc{background:url(images/sort-desc.gif)}.bk-root .slick-sort-indicator-asc{background:url(images/sort-asc.gif)}.bk-root .slick-resizable-handle{position:absolute;font-size:.1px;display:block;cursor:col-resize;width:4px;right:0;top:0;height:100%}.bk-root .slick-sortable-placeholder{background:silver}.bk-root .grid-canvas{position:relative;outline:0}.bk-root .slick-row.ui-widget-content,.bk-root .slick-row.ui-state-active{position:absolute;border:0;width:100%}.bk-root .slick-cell,.bk-root .slick-headerrow-column,.bk-root .slick-footerrow-column{position:absolute;border:1px solid transparent;border-right:1px dotted silver;border-bottom-color:silver;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;vertical-align:middle;z-index:1;padding:1px 2px 2px 1px;margin:0;white-space:nowrap;cursor:default}.bk-root .slick-cell,.bk-root .slick-headerrow-column{border-bottom-color:silver}.bk-root .slick-footerrow-column{border-top-color:silver}.bk-root .slick-group-toggle{display:inline-block}.bk-root .slick-cell.highlighted{background:lightskyblue;background:rgba(0,0,255,0.2);-webkit-transition:all .5s;-moz-transition:all .5s;-o-transition:all .5s;transition:all .5s}.bk-root .slick-cell.flashing{border:1px solid red !important}.bk-root .slick-cell.editable{z-index:11;overflow:visible;background:white;border-color:black;border-style:solid}.bk-root .slick-cell:focus{outline:0}.bk-root .slick-reorder-proxy{display:inline-block;background:blue;opacity:.15;cursor:move}.bk-root .slick-reorder-guide{display:inline-block;height:2px;background:blue;opacity:.7}.bk-root .slick-selection{z-index:10;position:absolute;border:2px dashed black}.bk-root .slick-header-columns{background:url('images/header-columns-bg.gif') repeat-x center bottom;border-bottom:1px solid silver}.bk-root .slick-header-column{background:url('images/header-columns-bg.gif') repeat-x center bottom;border-right:1px solid silver}.bk-root .slick-header-column:hover,.bk-root .slick-header-column-active{background:white url('images/header-columns-over-bg.gif') repeat-x center bottom}.bk-root .slick-headerrow{background:#fafafa}.bk-root .slick-headerrow-column{background:#fafafa;border-bottom:0;height:100%}.bk-root .slick-row.ui-state-active{background:#f5f7d7}.bk-root .slick-row{position:absolute;background:white;border:0;line-height:20px}.bk-root .slick-row.selected{z-index:10;background:#dfe8f6}.bk-root .slick-cell{padding-left:4px;padding-right:4px}.bk-root .slick-group{border-bottom:2px solid silver}.bk-root .slick-group-toggle{width:9px;height:9px;margin-right:5px}.bk-root .slick-group-toggle.expanded{background:url(images/collapse.gif) no-repeat center center}.bk-root .slick-group-toggle.collapsed{background:url(images/expand.gif) no-repeat center center}.bk-root .slick-group-totals{color:gray;background:white}.bk-root .slick-group-select-checkbox{width:13px;height:13px;margin:3px 10px 0 0;display:inline-block}.bk-root .slick-group-select-checkbox.checked{background:url(images/GrpCheckboxY.png) no-repeat center center}.bk-root .slick-group-select-checkbox.unchecked{background:url(images/GrpCheckboxN.png) no-repeat center center}.bk-root .slick-cell.selected{background-color:beige}.bk-root .slick-cell.active{border-color:gray;border-style:solid}.bk-root .slick-sortable-placeholder{background:silver !important}.bk-root .slick-row.odd{background:#fafafa}.bk-root .slick-row.ui-state-active{background:#f5f7d7}.bk-root .slick-row.loading{opacity:.5}.bk-root .slick-cell.invalid{border-color:red;-moz-animation-duration:.2s;-webkit-animation-duration:.2s;-moz-animation-name:slickgrid-invalid-hilite;-webkit-animation-name:slickgrid-invalid-hilite}@-moz-keyframes slickgrid-invalid-hilite{from{box-shadow:0 0 6px red}to{box-shadow:none}}@-webkit-keyframes slickgrid-invalid-hilite{from{box-shadow:0 0 6px red}to{box-shadow:none}}.bk-root .slick-column-name,.bk-root .slick-sort-indicator{display:inline-block;float:left;margin-bottom:100px}.bk-root .slick-header-button{display:inline-block;float:right;vertical-align:top;margin:1px;margin-bottom:100px;height:15px;width:15px;background-repeat:no-repeat;background-position:center center;cursor:pointer}.bk-root .slick-header-button-hidden{width:0;-webkit-transition:.2s width;-ms-transition:.2s width;transition:.2s width}.bk-root .slick-header-column:hover>.slick-header-button{width:15px}.bk-root .slick-header-menubutton{position:absolute;right:0;top:0;bottom:0;width:14px;background-repeat:no-repeat;background-position:left center;background-image:url(../images/down.gif);cursor:pointer;display:none;border-left:thin ridge silver}.bk-root .slick-header-column:hover>.slick-header-menubutton,.bk-root .slick-header-column-active .slick-header-menubutton{display:inline-block}.bk-root .slick-header-menu{position:absolute;display:inline-block;margin:0;padding:2px;cursor:default}.bk-root .slick-header-menuitem{list-style:none;margin:0;padding:0;cursor:pointer}.bk-root .slick-header-menuicon{display:inline-block;width:16px;height:16px;vertical-align:middle;margin-right:4px;background-repeat:no-repeat;background-position:center center}.bk-root .slick-header-menucontent{display:inline-block;vertical-align:middle}.bk-root .slick-header-menuitem-disabled{color:silver}.bk-root .slick-columnpicker{border:1px solid #718bb7;background:#f0f0f0;padding:6px;-moz-box-shadow:2px 2px 2px silver;-webkit-box-shadow:2px 2px 2px silver;box-shadow:2px 2px 2px silver;min-width:100px;cursor:default}.bk-root .slick-columnpicker li{list-style:none;margin:0;padding:0;background:0}.bk-root .slick-columnpicker input{margin:4px}.bk-root .slick-columnpicker li a{display:block;padding:4px;font-weight:bold}.bk-root .slick-columnpicker li a:hover{background:white}.bk-root .slick-pager{width:100%;height:26px;border:1px solid gray;border-top:0;background:url('../images/header-columns-bg.gif') repeat-x center bottom;vertical-align:middle}.bk-root .slick-pager .slick-pager-status{display:inline-block;padding:6px}.bk-root .slick-pager .ui-icon-container{display:inline-block;margin:2px;border-color:gray}.bk-root .slick-pager .slick-pager-nav{display:inline-block;float:left;padding:2px}.bk-root .slick-pager .slick-pager-settings{display:block;float:right;padding:2px}.bk-root .slick-pager .slick-pager-settings *{vertical-align:middle}.bk-root .slick-pager .slick-pager-settings a{padding:2px;text-decoration:underline;cursor:pointer}.bk-root .slick-header-columns{background-image:url(\"data:image/gif;base64,R0lGODlhAgAYAIcAANDQ0Ovs7uzt7+3u8O7v8e/w8vDx8/Hy9Pn5+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAP8ALAAAAAACABgAAAghABEIHEiwYMEDCA8YWMiwgMMCBAgMmDhAgIAAGAMAABAQADs=\")}.bk-root .slick-header-column{background-image:url(\"data:image/gif;base64,R0lGODlhAgAYAIcAANDQ0Ovs7uzt7+3u8O7v8e/w8vDx8/Hy9Pn5+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAP8ALAAAAAACABgAAAghABEIHEiwYMEDCA8YWMiwgMMCBAgMmDhAgIAAGAMAABAQADs=\")}.bk-root .slick-header-column:hover,.bk-root .slick-header-column-active{background-image:url(\"data:image/gif;base64,R0lGODlhAgAWAIcAAKrM9tno++vz/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAP8ALAAAAAACABYAAAgUAAUIHEiwoIAACBMqXMhwIQAAAQEAOw==\")}.bk-root .slick-group-toggle.expanded{background-image:url(\"data:image/gif;base64,R0lGODlhCQAJAPcAAAFGeoCAgNXz/+v5/+v6/+z5/+36//L7//X8//j9/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAACQAJAAAIMwADCBxIUIDBgwIEChgwwECBAgQUFjBAkaJCABgxGlB4AGHCAAIQiBypEEECkScJqgwQEAA7\")}.bk-root .slick-group-toggle.collapsed{background-image:url(\"data:image/gif;base64,R0lGODlhCQAJAPcAAAFGeoCAgNXz/+v5/+v6/+z5/+36//L7//X8//j9/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAACQAJAAAIOAADCBxIUIDBgwIEChgwAECBAgQUFjAAQIABAwoBaNSIMYCAAwIqGlSIAEHFkiQTIBCgkqDLAAEBADs=\")}.bk-root .slick-group-select-checkbox.checked{background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAIAAACQKrqGAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwQAADsEBuJFr7QAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xNkRpr/UAAAEcSURBVChTjdI9S8NQFAbg/raQXVwCRRFE7GK7OXTwD+ikk066VF3a0ja0hQTyQdJrwNq0zrYSQRLEXMSWSlCIb8glqRcFD+9yz3nugXwU4n9XQqMoGjj36uBJsTwuaNo3EwBG4Yy7pe7Gv8YcvhJCGFVsjxsjxujj6OTSGlHv+U2WZUZbPWKOv1ZjT5a7pbIoiptbO5b73mwrjHa1B27l8VlTEIS1damlTnEE+EEN9/P8WrfH81qdAIGeXvTTmzltdCy46sEhxpKUINReZR9NnqZbr9puugxV3NjWh/k74WmmEdWhmUNy2jNmWRc6fZTVADCqao52u+DGWTACYNT3fRxwtatPufTNR4yCIGAUn5hS+vJHhWGY/ANx/A3tvdv+1tZmuwAAAABJRU5ErkJggg==\")}.bk-root .slick-group-select-checkbox.unchecked{background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAIAAACQKrqGAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwQAADsEBuJFr7QAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xNkRpr/UAAACXSURBVChT1dIxC4MwEAXg/v8/VOhQVDBNakV0KA6pxS4JhWRSIYPEJxwdDi1de7wleR+3JIf486w0hKCKRpSvvOhZcCmvNQBRuKqdah03U7UjNNH81rOaBYDo8SQaPX8JANFEaLaGBeAPaaY61rGksiN6TmR5H1j9CSoAosYYHLA7vTxYMvVEZa0liif23r93xjm3/oEYF8PiDn/I2FHCAAAAAElFTkSuQmCC\")}.bk-root .slick-sort-indicator-desc{background-image:url(\"data:image/gif;base64,R0lGODlhDQAFAIcAAGGQzUD/QOPu+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAMAAAEALAAAAAANAAUAAAgeAAUAGEgQgIAACBEKLHgwYcKFBh1KFNhQosOKEgMCADs=\")}.bk-root .slick-sort-indicator-asc{background-image:url(\"data:image/gif;base64,R0lGODlhDQAFAIcAAGGQzUD/QOPu+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAMAAAEALAAAAAANAAUAAAgbAAMIDABgoEGDABIeRJhQ4cKGEA8KmEiRosGAADs=\")}.bk-root .slick-header-menubutton{background-image:url(\"data:image/gif;base64,R0lGODlhDgAOAIABADtKYwAAACH5BAEAAAEALAAAAAAOAA4AAAISjI+py+0PHZgUsGobhTn6DxoFADs=\")}.bk-root .slick-pager{background-image:url(\"data:image/gif;base64,R0lGODlhAgAYAIcAANDQ0Ovs7uzt7+3u8O7v8e/w8vDx8/Hy9Pn5+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAP8ALAAAAAACABgAAAghABEIHEiwYMEDCA8YWMiwgMMCBAgMmDhAgIAAGAMAABAQADs=\")}.bk-root .bk-data-table{font-size:11px}.bk-root .bk-data-table input[type=\"checkbox\"]{margin-left:4px;margin-right:4px}.bk-root .bk-data-table *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.bk-root .bk-data-table *:before,.bk-root .bk-data-table *:after{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.bk-root .bk-cell-special-defaults{border-right-color:silver;border-right-style:solid;background:#f5f5f5}.bk-root .bk-cell-select{border-right-color:silver;border-right-style:solid;background:#f5f5f5}.bk-root .bk-cell-index{border-right-color:silver;border-right-style:solid;background:#f5f5f5;text-align:right;color:gray}.bk-root .slick-row.selected .bk-cell-index{background-color:transparent}.bk-root .slick-cell{padding-left:4px;padding-right:4px}.bk-root .slick-cell.active{border-style:dashed}.bk-root .slick-cell.editable{padding-left:0;padding-right:0}.bk-root .bk-cell-editor input,.bk-root .bk-cell-editor select{width:100%;height:100%;border:0;margin:0;padding:0;outline:0;background:transparent;vertical-align:baseline}.bk-root .bk-cell-editor input{padding-left:4px;padding-right:4px}.bk-root .bk-cell-editor-completion{font-size:11px}//# sourceMappingURL=bokeh-tables.min.css.map\n\n/* END bokeh-tables.min.css */"); } ]; function run_inline_js() { if ((root.Bokeh !== undefined) || (force === true)) { for (var i = 0; i

Leave a comment

Your email address will not be published. Required fields are marked *