plotly / plotly.R

An interactive graphing library for R
https://plotly-r.com
Other
2.55k stars 623 forks source link

Rstudio doesn't support typed arrays #1037

Closed sjmonkley closed 7 years ago

sjmonkley commented 7 years ago

After updating to version 4.7 my 3D plots no longer work (no points) although the axes and legend are still drawn. Others have had similar problem ( https://stackoverflow.com/questions/43780470/3d-scatter-plot-remains-empty-in-r-plotly) and it is solved by going back to an earlier version (4.5.6)

cpsievert commented 7 years ago

Can you please provide some additional information about your setup as was done in these similar reports? Thanks!

https://github.com/ropensci/plotly/issues/717 https://community.plot.ly/t/no-markers-on-3d-plots/4125

cpsievert commented 7 years ago

Before going to all that reporting work, try installing via devtools::install_github("ropensci/plotly#1035") and see if that fixes the issue...

balmajos commented 7 years ago

This is an issue for me as well. 3d plots work in 4.5.6, but not in 4.6 or 4.7. Plot and axes are generated, but no markers. 2d plots work fine with any of the CRAN releases.

Updating to the above version ( devtools::install_github("ropensci/plotly#1035") ) causes plots, 2d or 3d, to not render in a shiny application at all. 2d plots still generate in the RStudio viewer, 3d plots again generate the axes with no markers.

R -> v3.4.0 RStudio ->v1.0.143

Here's the additional system info as provided in the example: Sys.info() sysname release version nodename "Windows" "7 x64" "build 7601, Service Pack 1" "GAMPLS5028W" machine login user effective_user "x86-64" "j750659" "j750659" "j750659"

p <- plot_ly(x = 1:10, y = 10:1, z = 1:10)

p$dependencies [[1]] List of 10 $ name : chr "typedarray" $ version : chr "0.1" $ src :List of 1 ..$ file: chr "C:/Users/j750659/Documents/R-3.4.0/library/plotly/htmlwidgets/lib/typedarray" $ meta : NULL $ script : chr "typedarray.min.js" $ stylesheet: NULL $ head : NULL $ attachment: NULL $ package : NULL $ all_files : logi TRUE

  • attr(*, "class")= chr "html_dependency"

[[2]] List of 10 $ name : chr "jquery" $ version : chr "1.11.3" $ src :List of 1 ..$ file: chr "C:/Users/j750659/Documents/R-3.4.0/library/crosstalk/lib/jquery" $ meta : NULL $ script : chr "jquery.min.js" $ stylesheet: NULL $ head : NULL $ attachment: NULL $ package : NULL $ all_files : logi TRUE

[[3]] List of 10 $ name : chr "crosstalk" $ version : chr "1.0.0" $ src :List of 1 ..$ file: chr "C:/Users/j750659/Documents/R-3.4.0/library/crosstalk/www" $ meta : NULL $ script : chr "js/crosstalk.min.js" $ stylesheet: chr "css/crosstalk.css" $ head : NULL $ attachment: NULL $ package : NULL $ all_files : logi TRUE

[[4]] List of 10 $ name : chr "plotlyjs" $ version : chr "1.27.1" $ src :List of 1 ..$ file: chr "C:/Users/j750659/Documents/R-3.4.0/library/plotly/htmlwidgets/lib/plotlyjs" $ meta : NULL $ script : chr "plotly-latest.min.js" $ stylesheet: chr "plotly-htmlwidgets.css" $ head : NULL $ attachment: NULL $ package : NULL $ all_files : logi TRUE

[[5]] List of 10 $ name : chr "plotlyjs-binding" $ version : chr "4.7.0.9000" $ src :List of 1 ..$ file: chr "C:/Users/j750659/Documents/R-3.4.0/library/plotly/htmlwidgets/lib/.." $ meta : NULL $ script : chr "plotly.js" $ stylesheet: NULL $ head : NULL $ attachment: NULL $ package : NULL $ all_files : logi TRUE

cpsievert commented 7 years ago

Thanks for the report @balmajos. Could you please try installing devtools::install_github("ropensci/plotly#1035") again? I think I found the problem that causes no plots to render...

msummersgill commented 7 years ago

Just wanted to note that I've come across similar issues with 3d plots not rendering in the RStudio viewer on my Windows PC, but once I knit them to an html file and open in a web browser, they display properly-- based on that, I figured it might have been an RStudio specific issue but hadn't gotten around to investigating further.

Will try installing ropensci/plotly#1035 in that environment on Monday to see if that commit resolves issues.

robertkck commented 7 years ago

I am having the same issue as OP and balmajos. Unfortunately, installing devtools::install_github("ropensci/plotly#1035") did not solve it. 2d plots are fine in the RStudio Viewer, but do not appear in a shiny application.

bastiwasti commented 7 years ago

I have the same issue, 2d plots render in RStudio ( only with the latest devtools version, with cran it does not ) but they do not appear in a shiny application ( with example code from the gallery ).

3d example plot_ly(x = 1:10, y = 10:1, z = 1:10) creates only axes in the RStudio viewer and nothing in a shiny app.

My sessionInfo() is:

R version 3.4.0 (2017-04-21)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

Matrix products: default

locale:
[1] LC_COLLATE=German_Germany.1252  LC_CTYPE=German_Germany.1252    LC_MONETARY=German_Germany.1252 LC_NUMERIC=C                   
[5] LC_TIME=German_Germany.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] feather_0.3.1      RODBC_1.3-15       dplyr_0.5.0        shiny_1.0.3        plotly_4.7.0.9000  ggplot2_2.2.1.9000

with RStudio 1.0.143.

cpsievert commented 7 years ago

Thanks for letting me know. Should be fixed now. Try re-installing devtools::install_github('ropensci/plotly')

SemiQuant commented 7 years ago

Still not working for me.

cpsievert commented 7 years ago

This should be fixed now via 86f4af0f6620875d1648698a4f3559fb338edb9a (let me know if it isn't)

robertkck commented 7 years ago

After the update, 2d renders fine now in the Viewer and in shiny apps. Thank you! 3d scatter still not appearing in the Viewer. plot_ly(x = 1:10, y = c(1:5, 5:1), z = 1:10, type = "scatter3d", mode = "markers") results in an empty 3d grid. sessionInfo():

R version 3.4.0 (2017-04-21)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)

Matrix products: default

locale:
[1] LC_COLLATE=German_Austria.1252  LC_CTYPE=German_Austria.1252    LC_MONETARY=German_Austria.1252
[4] LC_NUMERIC=C                    LC_TIME=German_Austria.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] plotly_4.7.0.9000  ggplot2_2.2.1.9000

loaded via a namespace (and not attached):
 [1] Rcpp_0.12.11      magrittr_1.5      munsell_0.4.3     xtable_1.8-2      colorspace_1.3-2  viridisLite_0.2.0
 [7] R6_2.2.1          rlang_0.1.1       httr_1.2.1        plyr_1.8.4        dplyr_0.5.0       tools_3.4.0      
[13] grid_3.4.0        data.table_1.10.4 gtable_0.2.0      DBI_0.6-1         htmltools_0.3.6   crosstalk_1.0.0  
[19] yaml_2.1.14       lazyeval_0.2.0    assertthat_0.2.0  digest_0.6.12     tibble_1.3.3      shiny_1.0.3      
[25] purrr_0.2.2.2     tidyr_0.6.3       htmlwidgets_0.9   mime_0.5          compiler_3.4.0    scales_0.4.1     
[31] jsonlite_1.5      httpuv_1.3.3     
cpsievert commented 7 years ago

@robertkck in the viewer, please "right-click" -> "Inspect Element" -> "Console" and let me know if you see errors.

robertkck commented 7 years ago

Yes, there is an error, see image below. Hope this helps.

capture

cpsievert commented 7 years ago

Ok, thanks, that's what I anticipated. What do you see if you execute document.getElementsByTagName("head") in the console (you may have to switch the context to index.html)?

robertkck commented 7 years ago

This is the head:

<head>​
<meta http-equiv=​"content-type" content=​"text/​html;​ charset=UTF-8">​
<meta name=​"gwt:​property" content=​"compiler.stackMode=native">​
<link rel=​"shortcut icon" href=​"images/​favicon.ico">​
<title>​RStudio​</title>​
<script type=​"text/​javascript" language=​"javascript" src=​"rstudio/​rstudio.nocache.js">​</script>​
<script src=​"http:​/​/​127.0.0.1:​17145/​rstudio/​1958B9E5F3D1C5360764E4A54F2A7E51.cache.js">​</script>​
<script type=​"text/​javascript" src=​"http:​/​/​127.0.0.1:​17145/​rstudio/​A1B56B373D0D9B5B80FBEE766534276B.cache.js">​</script>​
<style>​
.ace_snippet-marker {    -moz-box-sizing: border-box;    box-sizing: border-box;    background: rgba(194, 193, 208, 0.09);    border: 1px dotted rgba(211, 208, 235, 0.62);    position: absolute;}
</style>​
<style id=​"ace_editor">​
.ace_editor {position: relative;overflow: hidden;font: 12px/normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace;direction: ltr;}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;min-width: 100%;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: '';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;text-indent: -1em;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;}.ace_text-input.ace_composition {background: inherit;color: inherit;z-index: 1000;opacity: 1;text-indent: 0;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;white-space: pre;height: 100%;width: 100%;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;}.ace_text-layer {font: inherit !important;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;border-left: 2px solid}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {-webkit-transition: opacity 0.18s;transition: opacity 0.18s;}.ace_editor.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}.ace_line .ace_fold {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.1));background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block;   }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fol…
</style>​
<style>​
    .error_widget_wrapper {        background: inherit;        color: inherit;        border:none    }    .error_widget {        border-top: solid 2px;        border-bottom: solid 2px;        margin: 5px 0;        padding: 10px 40px;        white-space: pre-wrap;    }    .error_widget.ace_error, .error_widget_arrow.ace_error{        border-color: #ff5a5a    }    .error_widget.ace_warning, .error_widget_arrow.ace_warning{        border-color: #F1D817    }    .error_widget.ace_info, .error_widget_arrow.ace_info{        border-color: #5a5a5a    }    .error_widget.ace_ok, .error_widget_arrow.ace_ok{        border-color: #5aaa5a    }    .error_widget_arrow {        position: absolute;        border: solid 5px;        border-top-color: transparent!important;        border-right-color: transparent!important;        border-left-color: transparent!important;        top: -5px;    }
</style>​
<script type=​"text/​javascript" src=​"http:​/​/​127.0.0.1:​17145/​rstudio/​965ADD57DCFF1BC5702FA66B051CD447.cache.js">​</script>​
<script type=​"text/​javascript" src=​"http:​/​/​127.0.0.1:​17145/​rstudio/​F2B0CFF7044E5C0C75200D2DCA28F266.cache.js">​</script>​
<style>​
.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {    background-color: #CAD6FA;    z-index: 1;}.ace_editor.ace_autocomplete .ace_line-hover {    border: 1px solid #abbffe;    margin-top: -1px;    background: rgba(233,233,253,0.4);}.ace_editor.ace_autocomplete .ace_line-hover {    position: absolute;    z-index: 2;}.ace_editor.ace_autocomplete .ace_scroller {   background: none;   border: none;   box-shadow: none;}.ace_rightAlignedText {    color: gray;    display: inline-block;    position: absolute;    right: 4px;    text-align: right;    z-index: -1;}.ace_editor.ace_autocomplete .ace_completion-highlight{    color: #000;    text-shadow: 0 0 0.01em;}.ace_editor.ace_autocomplete {    width: 280px;    z-index: 200000;    background: #fbfbfb;    color: #444;    border: 1px lightgray solid;    position: fixed;    box-shadow: 2px 3px 5px rgba(0,0,0,.2);    line-height: 1.4;}
</style>​
<script type=​"text/​javascript" src=​"http:​/​/​127.0.0.1:​17145/​rstudio/​0E471A7ED100AFCB82EF81C71F4D11F4.cache.js">​</script>​
<script type=​"text/​javascript" src=​"http:​/​/​127.0.0.1:​17145/​rstudio/​C8087183744DB1ECD4D64C0557738C24.cache.js">​</script>​
<script type=​"text/​javascript" src=​"mathjax/​MathJax.js?config=TeX-MML-AM_CHTML" async=​"true">​</script>​
<style>​
body{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAGQCAIAAADp0T32AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABSRJREFUeNrEWFuOGyEQpBD3P2GUjxzElYF+FczYu4kUxau1DYybflYX4MfPX2292BpaG0C3IdbHQMf1jYSP+zUxH2ZbM6Ovefjy/L1/u76QHL2bPJ8avnx9kOv3a50hYiwtGuIn83lb4foT+euvp2ib67G4fpXPc9oDXYdNiXJr0xrb69tj2i79spk2WhPD3OD6X8/bIJY55odMbevmj219vHLAGYLR9PnL31zTPnutT8+mgGv9+n+Fi67ZuV7y5/OvNZP7mdrX22uqa/JVPxunle6PJUXW3VrbXwX0F7nZF4qy/GuD1yvGWBZdO978Sfb09EO8EMntwb6e66nbnk+RgyOTpew75WO9nuP11/n05fjMV8+vb6yjyqu98Vc+0tUZEl+Njxlv7x2ZbrR8Ns/q/rmfxMOq1OL3EK8Vb5zru3087E99SsRV72rsrFe1t/CAWc8Z2ef6vO2XwrZ8Of2ZWnxHvkJeV+eX/n+UP5qvm3/f+3PT/yG/zR7XL4W7fub5sFeSwfPjK38+x9f302Re+HvIe+vfj/XzIV7tkBeWv7HvqMeJp9aZ7JENLyrfHZ8133nPh4rHs74Rj3bE48SvRzx48P/WL0veR32+He83/t2HK36ONxm/rb/e5Akfeaqvr/Bh4xveD9Leq79bJK1FBN6hjBiQ9vukX4FhE7yaYOf2YMPb6reOr9kPFyXT+K3ZkUwp9K0EYfnHtVb/SL1B6y06vZn8Hg9NZNmz4XumSE/thB8FpYx8Y8uSGSnJ+aTWc9hrzsENLzd+esNbGl8Tays+2dK6NrudL6T9xlT8+Wlzr5qO/siMB2716YzL643ChiH1cNbnR/zHke+851+un/n5Xj6OMZ/rOZtr8UmEmaUPk2+iNOaBHxgsbs0nfc9+zqOf++HADwxeLy0pb+IB7JGuys7946BkVb/4c7vhaQVpk1f9ab0XnmLDq3hkvo2VBhVEP25lzh54fsnT/NzqeeHDSOci+C+s1diXoeGk8+N1OqPy8yULiU9Mm3d7zvqY8jSfVZ59jJ1v4ob/vjnbxt/DyYFXfJv/23Zb/jDznXUGLXk45FHzn5n/oEi/6pvYCqbj4C/7cYOerzj0Y0S9pyaWfz0Mj/N5Zga0HqH1Cqm38/c9Vuj7iX2K5+GW3jb8oPDf6MdQipR447MDewIMuYxY57GkIgv+2QO9qn6rwkxfJlij+E3k54jqZdanpoPhL1D1Vofpiv/Bd8QDitcweff8ReWU9qcFED0rAet/tLhpWU+hR6Kw+FESHM8vd4/nc9amn2dRtxWBHwUf6o+FCj1vZuxKZWiyr/1ZaBR4AM03erIh8K08wszXqqcCT+Z5+t5fEEHoQReyHrFVfN3P4MD3lMfYvuqZPOIN5d8trzykf6w7sopvpFCvyxrB610/vfBSPISMb+eJ0h/ygxMvr/3u90kqou/HEw6Bl9LfLkcK7xH00eRLwJY+Wi97+uPf3Yf8o7Ee3q2ekRAW9d4g9X70E8daJF6hCP2781RDPu/ni+zxvUo962llV8afyV2KTzJTMvmQVS1GdANmPZuyyP4OUM+z9MvfxHdKu8YIcE9+io1x96QLpvag3wWz8Id1P0etD81XRj9ilr7zf/pdtZncm7A15nlb7quVD8/fK/ss+Vu/h5swuT2kYa/z+35e62FYntfQRGXDu+C8U39lx4j+FC0L2b/1viYHPPg6mvA94fO48X3W/Wwrgrjl5+1+bccnN6HwEAff+MjH/lt9/xZgALQZ9phVVHozAAAAAElFTkSuQmCC') repeat-x top #e1e2e5;font-family:"Segoe UI";font-size:12px;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;user-select:none;}select{font-size:12px;}.macintosh select{font-size:11px;text-indent:0.1em;}input[type="text"]{font-family:"Segoe UI";}input[type="text"][disabled]{background-color:transparent;}button,input[type="reset"],input[type="button"],input[type="submit"]{color:black;}.fixedWidthFont{font-family:"Lucida Console" !important;}.gwt-Label{cursor:default;}.GGHFMYIBAS{-ms-user-select:text;-moz-user-select:text;-webkit-user-select:text;user-select:text;cursor:text;}.gwt-DialogBox input[type="text"]{border:1px solid #999;height:17px;}.gwt-DialogBox .search input[type="text"]{border:none;height:100%;}iframe{border:none;}button,.GGHFMYIBPP{cursor:pointer;}.linux button,.linux .GGHFMYIBPP{cursor:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kLCRYNMHjhCP8AAAJzSURBVEjH3VW9ahtBEP5We3e7tycd2IKEWNikiTD4FYIgkFKPkDZvYFdRnSa4S+UqkMKVQPYDGIRtUjilGsXG8U8uFomEjKwgne5uJ0VOF1lItgVqkg8Ghp29+W5m5wf418HvsTMAzsg9mid5KpPJvBVC9C3L8i3LegNAzpMgK4TwLy4u6OjoiJRSNwByD4j6Fow7bGnGGFteXoZpmiAiDkDFBNGD03BP/sdhxZKaB8Et+L4vHcf5pJT6CuBF/B7WrCkbxVMp5YCIqNFoULFYJM/zaHNzk4QQXaVURyl1DeA1gEcAxCw/bADIDwmurq5oa2uLiIg8z6N8Pk/n5+d0cHBAtm2HpmmG6XT6G4BiHBW7y/malLLNOQ8dxwmHBPV6nYbY2NhI9PX1dSIi2t7eJs55BGANgDm18RzH+VAqlXStViPXdTURUavVoiAIEqeHh4eJXq1WE11KGQB4DsCeRiAWFha+VKtVury8JNd1aRK01okehuE4QSEu54lVxMMwzC4tLUEIAcb+pLLZbOL09BRRFKHdbuPk5AS+76Pb7eL4+HhSebNpjZbSWpu2bWNxcRH7+/sgIuzu7oJzjpWVFVQqFRiGgVwuh3K5DNM0sbq6+uBmygghfpydnclsNjtzXbuuG/b7/ZcAPgP4NSkCFkWREQQBOp3OTM611tBas3iM0LQUaSnlz729vSeFQmEmgp2dHQghmoPB4GaUgE2YNa+EEO8ZY4ZhGEREjOjvGhjTk+8ZY71er/cOwEcAHoBgEgGLZ8xjAM8ApOMzGlk4o5JEDuAawHcADQD9oZ1NeXged2Nq7M5dG00DCGOZ6+b7z/Eba5RW7iNq9WUAAAAASUVORK5CYII=') 9 5, pointer;}textarea{outline:none;}pre{font-family:"Lucida Console";font-size:12px;}.ace_editor{border:none !important;font-family:"Lucida Console" !important;}.ace_text-layer{font-family:"Lucida Console" !important;}.ace_breakpoint{background-position:12% center !important;background-repeat:no-repeat !important;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHFJREFUeNpifMgAB1FAXArEBlD+ZSCeAsSzQBxGqMKlUIXYwCYgDmUCEpl4FIGAHxAXgUy8BGToMuAHj0AK/zMQAZgYiAQghdeIUPeUCRoEhEAHEzScluFRtB5kGEjhXyCOhuLLSApATkoH4iAQByDAANWcFm3X7+02AAAAAElFTkSuQmCC') !important;}.ace_pending-breakpoint{background-position:12% center !important;background-repeat:no-repeat !important;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QYcEBkCntPTkgAAAG5JREFUGNON0CEOwlAUBdHz3wZwhB2gcEXQsAq2yTYwNEFhqKxtJRvAPAghpP3jbjLmThl82KHFJveIDjcoKZ5S/EePc6CZkWCLQ2BvmSawrhBXoZLAVOE9IxMscYnsdJ+RHujKT/Dj17kJ13fwF/96ErUBiikGAAAAAElFTkSuQmCC') !important;}.ace_inactive-breakpoint{background-position:12% center !important;background-repeat:no-repeat !important;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAK9JREFUeNpi/P//PwMInGVk9ANSmUDsCsTMQLwPiKcb//+/BqwApPAMA0MvEN8AYg8gZoaKOQHxJSCeAOIzAhkhQPUVQGwL1P2dAQkAbWEDUruAeBlI516QbpAubBgoZwDE50Em/gTq4AKa9pcBBwCa/JaJgUgAUngciG3wmGYApB6BrA4HMkpxeIYZ6pmVTEDJlUDGQSA+D5TwgEqCFDkBqWNAfA2oZhYjsQEOEGAAGV1ezQpBK50AAAAASUVORK5CYII=') !important;}.ace_executing-line{background-position:12% center !important;background-repeat:no-repeat !important;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAALCAYAAABGbhwYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHtJREFUeNp0UEEOgCAMW/2getT/6VV/WCmTyBCWLIyudKNG0uq0Y2aLKSfrBM6VLdYlGkReGCEBGqmuVT0gH9wufIovGEKPUxZlaPk4Fi6M6kG6TFENb4NOVp363C/8R5caXpcdkb0L1mgn/xj3G2N78CcNfWxJikeAAQDflknmlfOJswAAAABJRU5ErkJggg==') !important;}.ace_gutter-cell.ace_chunk-queued-line,.ace_gutter-cell.ace_chunk-error-line{position:relative;}.ace_chunk-queued-line:before{position:absolute;top:0;right:3px;content:"";display:block;height:100%;width:7px;z-index:-100;background-color:#18a352;opacity:0.3;}.ace_chunk-error-line:before{position:absolute;top:0;right:3px;content:"";display:block;height:100%;width:7px;z-index:-100;background-color:#c95a60;opacity:1;}.ace_chunk-executed-line:before{opacity:1;}.ace_chunk-resting-line:before{transition:opacity 500ms ease;opacity:0;}.ace_sb{z-index:6;}.gwt-MenuBar,.gwt-MenuBar-vertical{cursor:default;}.gwt-MenuBar>table{border-spacing:0;}.gwt-MenuBar .subMenuIcon{width:7px;}.gwt-MenuItem{padding:4px;white-space:nowrap;}.gwt-MenuItem.disabled{color:#888;background-image:none;}.gwt-MenuItem.disabled img{opacity:0.3;}.gwt-MenuItemSeparator .menuSeparatorInner{border-top:#bababa 1px solid;margin-top:1px;margin-bottom:2px;}.GGHFMYIBHR .gwt-MenuItem{padding-right:20px;}.GGHFMYIBFQ{cursor:pointer;}.highlight{color:#900 !important;}.gwt-PopupPanelGlass{overflow:hidden;background:url("data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH5BAEAAAIALAAAAAABAAEAAAICVAEAOw==") -0px -0px  repeat;}.cueText{color:#ccc;}.GGHFMYIBBO{color:#606060;}.GGHFMYIBJQ .GGHFMYIBIQ{position:relative;top:-32px;margin-bottom:-32px;}.GGHFMYIBJQ .GGHFMYIBHQ{font-weight:normal;font-size:11px;cursor:default;margin-bottom:10px;margin-left:-2px;padding-top:1px;}.GGHFMYIBJQ .GGHFMYIBKQ{position:relative;top:-2px;right:-12px;}.gwt-DialogBox-ModalDialog,.gwt-DecoratedPopupPanel{z-index:1000;}.gwt-SuggestBoxPopup{z-index:1000;cursor:default;}.gwt-DialogBox .dialogTopLeft{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAqtJREFUeNrEV11u1DAQnknSbtmuwj73CjxxB9TlkQeEuEARx0DqASpxDdQHjoEK4gjAGUArpMYeZvwXJ3hD17ZEpMiuk/V8/ub7ZlIkIvifV/evFz7cfiwO8urlC8wGUCtQdGFVAAtB8QFr2FUOjAvz5LOuUvDU5jgLjAkwxzOwENyPTQJA6i5LwcJpzX33+euu7/s3TdM+RcSLKi6YnT4VvLm5eb+93D2/3mw2V31/DqvTU2jbFmrbMA7exACeXe7ebbePOfgGhvsBfv7ag9YaDhW8rjD3k9N/uvvyev3o7O3ZagX7/W9QagCSRxwbkcxI/pcyQcxiIGUvYaFZr8+vupMTGJSCez69DWRPTjZi+FvwyLwkBc2cAR6esOBgGJTZ3NDu4JqAAoMsCBmQEGq4QICIyhoO2CNvrkm5YDIgv8Rr4XUNZsU+PBoAzk4fs9BqrTg4b6xiwVny/TxeocJeMMm/3KJ2ARBEQi7vQXRgTo7uDUlDl+n/OQuSglYpJlosZ0h3YuPkk/Y6sOueESwQIURlN4DwDFi/kTvxePxAvbDgDJGrAUymgO0nIALnwQSiegoMxIroCv0/AaKCBkaR+bnFQ+Mq5ZfiRQYYAWhb+qzf41/RaEU/q+GCAEIYUKw4U3SQggk8HsuBrQvg0lGjGQUQUgfIV0DygcC6wnPugbm85IowqQOxoaQBEacFSHyIEHoBOVqQylMAUwa09bkmA2LSgmmshHGF7AqC/sWCAaBHrx++qMpn+VyEaDWgbY11rZhw1IJTYtQTMKsOpL50ITBA7vTOCdZxvv16F/hyoIs/SGCaAq4BeuwB4MgwYXky6xKmZnQZjehQJQQvwtAJQx9wknPV0LCA+qgU4EMEafoA0STLQGkREuXVAVj6b0dy/+37j6M2+yPAAPMzcLzOSezHAAAAAElFTkSuQmCC') no-repeat;width:32px;height:32px;}.GGHFMYIBJQ .popupTopLeft{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAqtJREFUeNrEV11u1DAQnknSbtmuwj73CjxxB9TlkQeEuEARx0DqASpxDdQHjoEK4gjAGUArpMYeZvwXJ3hD17ZEpMiuk/V8/ub7ZlIkIvifV/evFz7cfiwO8urlC8wGUCtQdGFVAAtB8QFr2FUOjAvz5LOuUvDU5jgLjAkwxzOwENyPTQJA6i5LwcJpzX33+euu7/s3TdM+RcSLKi6YnT4VvLm5eb+93D2/3mw2V31/DqvTU2jbFmrbMA7exACeXe7ebbePOfgGhvsBfv7ag9YaDhW8rjD3k9N/uvvyev3o7O3ZagX7/W9QagCSRxwbkcxI/pcyQcxiIGUvYaFZr8+vupMTGJSCez69DWRPTjZi+FvwyLwkBc2cAR6esOBgGJTZ3NDu4JqAAoMsCBmQEGq4QICIyhoO2CNvrkm5YDIgv8Rr4XUNZsU+PBoAzk4fs9BqrTg4b6xiwVny/TxeocJeMMm/3KJ2ARBEQi7vQXRgTo7uDUlDl+n/OQuSglYpJlosZ0h3YuPkk/Y6sOueESwQIURlN4DwDFi/kTvxePxAvbDgDJGrAUymgO0nIALnwQSiegoMxIroCv0/AaKCBkaR+bnFQ+Mq5ZfiRQYYAWhb+qzf41/RaEU/q+GCAEIYUKw4U3SQggk8HsuBrQvg0lGjGQUQUgfIV0DygcC6wnPugbm85IowqQOxoaQBEacFSHyIEHoBOVqQylMAUwa09bkmA2LSgmmshHGF7AqC/sWCAaBHrx++qMpn+VyEaDWgbY11rZhw1IJTYtQTMKsOpL50ITBA7vTOCdZxvv16F/hyoIs/SGCaAq4BeuwB4MgwYXky6xKmZnQZjehQJQQvwtAJQx9wknPV0LCA+qgU4EMEafoA0STLQGkREuXVAVj6b0dy/+37j6M2+yPAAPMzcLzOSezHAAAAAElFTkSuQmCC') no-repeat;}.gwt-DialogBox .dialogTopLeftInner,.GGHFMYIBJQ .popupTopLeft,.GGHFMYIBJQ .popupTopLeftInner{width:32px;height:32px;}.gwt-DialogBox .dialogTopCenter,.GGHFMYIBJQ .popupTopCenter{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEU…
</style>​
<style id=​"vimMode">​
.normal-mode .ace_cursor{  border: 0!important;  background-color: red;  opacity: 0.5;}.ace_dialog {  position: absolute;  left: 0; right: 0;  background: white;  z-index: 15;  padding: .1em .8em;  overflow: hidden;  color: #333;}.ace_dialog-top {  border-bottom: 1px solid #eee;  top: 0;}.ace_dialog-bottom {  border-top: 1px solid #eee;  bottom: 0;}.ace_dialog input {  border: none;  outline: none;  background: transparent;  width: 20em;  color: inherit;  font-family: monospace;}
</style>​
<style>​
.GGHFMYIBAWB{background:linear-gradient(#eee, #ccc);border:1px solid #888;padding:3px;border-radius:3px;opacity:0.9;z-index:1000;}.GGHFMYIBO5B{position:absolute;margin-top:-3px;border-bottom:1px solid #9a9aba;pointer-events:all;}.GGHFMYIBP5B{position:absolute;margin-top:-3px;border-bottom:1px solid #9a9aba;pointer-events:auto;cursor:pointer;}.GGHFMYIBLPB{color:#000023;background-color:#ffffca;padding:1px;border:1px solid #ccc;box-shadow:2px 2px 4px rgba(0, 0, 0, 0.2);-webkit-box-shadow:2px 2px 4px rgba(0, 0, 0, 0.2);z-index:9001;}.GGHFMYIBKPB p{margin-top:4px;margin-bottom:4px;}.GGHFMYIBMPB{font-family:"Lucida Console";white-space:pre-wrap;}.GGHFMYIBHPB{float:left;margin-top:4px;padding-left:2px;padding-right:6px;}.GGHFMYIBIPB{float:left;margin-top:2px;padding-left:2px;padding-right:6px;}.GGHFMYIBGPB{float:left;}.GGHFMYIBJPB{float:right;padding-right:8px;color:#999;}.GGHFMYIBL3 .gwt-SplitLayoutPanel-HDragger{width:0 !important;}
</style>​
<style type=​"text/​css">​
.MathJax_Hover_Frame {border-radius: .25em; -webkit-border-radius: .25em; -moz-border-radius: .25em; -khtml-border-radius: .25em; box-shadow: 0px 0px 15px #83A; -webkit-box-shadow: 0px 0px 15px #83A; -moz-box-shadow: 0px 0px 15px #83A; -khtml-box-shadow: 0px 0px 15px #83A; border: 1px solid #A6D ! important; display: inline-block; position: absolute}
.MathJax_Menu_Button .MathJax_Hover_Arrow {position: absolute; cursor: pointer; display: inline-block; border: 2px solid #AAA; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; -khtml-border-radius: 4px; font-family: 'Courier New',Courier; font-size: 9px; color: #F0F0F0}
.MathJax_Menu_Button .MathJax_Hover_Arrow span {display: block; background-color: #AAA; border: 1px solid; border-radius: 3px; line-height: 0; padding: 4px}
.MathJax_Hover_Arrow:hover {color: white!important; border: 2px solid #CCC!important}
.MathJax_Hover_Arrow:hover span {background-color: #CCC!important}
</style>​
<style type=​"text/​css">​
#MathJax_About {position: fixed; left: 50%; width: auto; text-align: center; border: 3px outset; padding: 1em 2em; background-color: #DDDDDD; color: black; cursor: default; font-family: message-box; font-size: 120%; font-style: normal; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; z-index: 201; border-radius: 15px; -webkit-border-radius: 15px; -moz-border-radius: 15px; -khtml-border-radius: 15px; box-shadow: 0px 10px 20px #808080; -webkit-box-shadow: 0px 10px 20px #808080; -moz-box-shadow: 0px 10px 20px #808080; -khtml-box-shadow: 0px 10px 20px #808080; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
#MathJax_About.MathJax_MousePost {outline: none}
.MathJax_Menu {position: absolute; background-color: white; color: black; width: auto; padding: 2px; border: 1px solid #CCCCCC; margin: 0; cursor: default; font: menu; text-align: left; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; z-index: 201; box-shadow: 0px 10px 20px #808080; -webkit-box-shadow: 0px 10px 20px #808080; -moz-box-shadow: 0px 10px 20px #808080; -khtml-box-shadow: 0px 10px 20px #808080; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
.MathJax_MenuItem {padding: 2px 2em; background: transparent}
.MathJax_MenuArrow {position: absolute; right: .5em; padding-top: .25em; color: #666666; font-size: .75em}
.MathJax_MenuActive .MathJax_MenuArrow {color: white}
.MathJax_MenuArrow.RTL {left: .5em; right: auto}
.MathJax_MenuCheck {position: absolute; left: .7em}
.MathJax_MenuCheck.RTL {right: .7em; left: auto}
.MathJax_MenuRadioCheck {position: absolute; left: 1em}
.MathJax_MenuRadioCheck.RTL {right: 1em; left: auto}
.MathJax_MenuLabel {padding: 2px 2em 4px 1.33em; font-style: italic}
.MathJax_MenuRule {border-top: 1px solid #CCCCCC; margin: 4px 1px 0px}
.MathJax_MenuDisabled {color: GrayText}
.MathJax_MenuActive {background-color: Highlight; color: HighlightText}
.MathJax_MenuDisabled:focus, .MathJax_MenuLabel:focus {background-color: #E8E8E8}
.MathJax_ContextMenu:focus {outline: none}
.MathJax_ContextMenu .MathJax_MenuItem:focus {outline: none}
#MathJax_AboutClose {top: .2em; right: .2em}
.MathJax_Menu .MathJax_MenuClose {top: -10px; left: -10px}
.MathJax_MenuClose {position: absolute; cursor: pointer; display: inline-block; border: 2px solid #AAA; border-radius: 18px; -webkit-border-radius: 18px; -moz-border-radius: 18px; -khtml-border-radius: 18px; font-family: 'Courier New',Courier; font-size: 24px; color: #F0F0F0}
.MathJax_MenuClose span {display: block; background-color: #AAA; border: 1.5px solid; border-radius: 18px; -webkit-border-radius: 18px; -moz-border-radius: 18px; -khtml-border-radius: 18px; line-height: 0; padding: 8px 0 6px}
.MathJax_MenuClose:hover {color: white!important; border: 2px solid #CCC!important}
.MathJax_MenuClose:hover span {background-color: #CCC!important}
.MathJax_MenuClose:hover:focus {outline: none}
</style>​
<style type=​"text/​css">​.MathJax_Preview .MJXf-math {color: inherit!important}
​</style>​
<style type=​"text/​css">​
.MJX_Assistive_MathML {position: absolute!important; top: 0; left: 0; clip: rect(1px, 1px, 1px, 1px); padding: 1px 0 0 0!important; border: 0!important; height: 1px!important; width: 1px!important; overflow: hidden!important; display: block!important; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none}
.MJX_Assistive_MathML.MJX_Assistive_MathML_Block {width: 100%!important}
</style>​
<style type=​"text/​css">​
#MathJax_Zoom {position: absolute; background-color: #F0F0F0; overflow: auto; display: block; z-index: 301; padding: .5em; border: 1px solid black; margin: 0; font-weight: normal; font-style: normal; text-align: left; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; box-shadow: 5px 5px 15px #AAAAAA; -webkit-box-shadow: 5px 5px 15px #AAAAAA; -moz-box-shadow: 5px 5px 15px #AAAAAA; -khtml-box-shadow: 5px 5px 15px #AAAAAA; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
#MathJax_ZoomOverlay {position: absolute; left: 0; top: 0; z-index: 300; display: inline-block; width: 100%; height: 100%; border: 0; padding: 0; margin: 0; background-color: white; opacity: 0; filter: alpha(opacity=0)}
#MathJax_ZoomFrame {position: relative; display: inline-block; height: 0; width: 0}
#MathJax_ZoomEventTrap {position: absolute; left: 0; top: 0; z-index: 302; display: inline-block; border: 0; padding: 0; margin: 0; background-color: white; opacity: 0; filter: alpha(opacity=0)}
</style>​
<style type=​"text/​css">​
.MathJax_Preview {color: #888}
#MathJax_Message {position: fixed; left: 1px; bottom: 2px; background-color: #E6E6E6; border: 1px solid #959595; margin: 0px; padding: 2px 8px; z-index: 102; color: black; font-size: 80%; width: auto; white-space: nowrap}
#MathJax_MSIE_Frame {position: absolute; top: 0; left: 0; width: 0px; z-index: 101; border: 0px; margin: 0px; padding: 0px}
.MathJax_Error {color: #CC0000; font-style: italic}
</style>​
<style type=​"text/​css">​
.MJXp-script {font-size: .8em}
.MJXp-right {-webkit-transform-origin: right; -moz-transform-origin: right; -ms-transform-origin: right; -o-transform-origin: right; transform-origin: right}
.MJXp-bold {font-weight: bold}
.MJXp-italic {font-style: italic}
.MJXp-scr {font-family: MathJax_Script,'Times New Roman',Times,STIXGeneral,serif}
.MJXp-frak {font-family: MathJax_Fraktur,'Times New Roman',Times,STIXGeneral,serif}
.MJXp-sf {font-family: MathJax_SansSerif,'Times New Roman',Times,STIXGeneral,serif}
.MJXp-cal {font-family: MathJax_Caligraphic,'Times New Roman',Times,STIXGeneral,serif}
.MJXp-mono {font-family: MathJax_Typewriter,'Times New Roman',Times,STIXGeneral,serif}
.MJXp-largeop {font-size: 150%}
.MJXp-largeop.MJXp-int {vertical-align: -.2em}
.MJXp-math {display: inline-block; line-height: 1.2; text-indent: 0; font-family: 'Times New Roman',Times,STIXGeneral,serif; white-space: nowrap; border-collapse: collapse}
.MJXp-display {display: block; text-align: center; margin: 1em 0}
.MJXp-math span {display: inline-block}
.MJXp-box {display: block!important; text-align: center}
.MJXp-box:after {content: " "}
.MJXp-rule {display: block!important; margin-top: .1em}
.MJXp-char {display: block!important}
.MJXp-mo {margin: 0 .15em}
.MJXp-mfrac {margin: 0 .125em; vertical-align: .25em}
.MJXp-denom {display: inline-table!important; width: 100%}
.MJXp-denom > * {display: table-row!important}
.MJXp-surd {vertical-align: top}
.MJXp-surd > * {display: block!important}
.MJXp-script-box > *  {display: table!important; height: 50%}
.MJXp-script-box > * > * {display: table-cell!important; vertical-align: top}
.MJXp-script-box > *:last-child > * {vertical-align: bottom}
.MJXp-script-box > * > * > * {display: block!important}
.MJXp-mphantom {visibility: hidden}
.MJXp-munderover {display: inline-table!important}
.MJXp-over {display: inline-block!important; text-align: center}
.MJXp-over > * {display: block!important}
.MJXp-munderover > * {display: table-row!important}
.MJXp-mtable {vertical-align: .25em; margin: 0 .125em}
.MJXp-mtable > * {display: inline-table!important; vertical-align: middle}
.MJXp-mtr {display: table-row!important}
.MJXp-mtd {display: table-cell!important; text-align: center; padding: .5em 0 0 .5em}
.MJXp-mtr > .MJXp-mtd:first-child {padding-left: 0}
.MJXp-mtr:first-child > .MJXp-mtd {padding-top: 0}
.MJXp-mlabeledtr {display: table-row!important}
.MJXp-mlabeledtr > .MJXp-mtd:first-child {padding-left: 0}
.MJXp-mlabeledtr:first-child > .MJXp-mtd {padding-top: 0}
.MJXp-merror {background-color: #FFFF88; color: #CC0000; border: 1px solid #CC0000; padding: 1px 3px; font-style: normal; font-size: 90%}
.MJXp-scale0 {-webkit-transform: scaleX(.0); -moz-transform: scaleX(.0); -ms-transform: scaleX(.0); -o-transform: scaleX(.0); transform: scaleX(.0)}
.MJXp-scale1 {-webkit-transform: scaleX(.1); -moz-transform: scaleX(.1); -ms-transform: scaleX(.1); -o-transform: scaleX(.1); transform: scaleX(.1)}
.MJXp-scale2 {-webkit-transform: scaleX(.2); -moz-transform: scaleX(.2); -ms-transform: scaleX(.2); -o-transform: scaleX(.2); transform: scaleX(.2)}
.MJXp-scale3 {-webkit-transform: scaleX(.3); -moz-transform: scaleX(.3); -ms-transform: scaleX(.3); -o-transform: scaleX(.3); transform: scaleX(.3)}
.MJXp-scale4 {-webkit-transform: scaleX(.4); -moz-transform: scaleX(.4); -ms-transform: scaleX(.4); -o-transform: scaleX(.4); transform: scaleX(.4)}
.MJXp-scale5 {-webkit-transform: scaleX(.5); -moz-transform: scaleX(.5); -ms-transform: scaleX(.5); -o-transform: scaleX(.5); transform: scaleX(.5)}
.MJXp-scale6 {-webkit-transform: scaleX(.6); -moz-transform: scaleX(.6); -ms-transform: scaleX(.6); -o-transform: scaleX(.6); transform: scaleX(.6)}
.MJXp-scale7 {-webkit-transform: scaleX(.7); -moz-transform: scaleX(.7); -ms-transform: scaleX(.7); -o-transform: scaleX(.7); transform: scaleX(.7)}
.MJXp-scale8 {-webkit-transform: scaleX(.8); -moz-transform: scaleX(.8); -ms-transform: scaleX(.8); -o-transform: scaleX(.8); transform: scaleX(.8)}
.MJXp-scale9 {-webkit-transform: scaleX(.9); -moz-transform: scaleX(.9); -ms-transform: scaleX(.9); -o-transform: scaleX(.9); transform: scaleX(.9)}
.MathJax_PHTML .noError {vertical-align: ; font-size: 90%; text-align: left; color: black; padding: 1px 3px; border: 1px solid}
</style>​
<style id=​"incremental-occur-highlighting">​
.ace_occur-highlight {
    border-radius: 4px;
    background-color: rgba(87, 255, 8, 0.25);
    position: absolute;
    z-index: 4;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    box-shadow: 0 0 4px rgb(91, 255, 50);
}
.ace_dark .ace_occur-highlight {
    background-color: rgb(80, 140, 85);
    box-shadow: 0 0 4px rgb(60, 120, 70);
}
</style>​
<style id=​"incremental-search-highlighting">​
.ace_marker-layer .ace_isearch-result {  position: absolute;  z-index: 6;  -moz-box-sizing: border-box;  -webkit-box-sizing: border-box;  box-sizing: border-box;}div.ace_isearch-result {  border-radius: 4px;  background-color: rgba(255, 200, 0, 0.5);  box-shadow: 0 0 4px rgb(255, 200, 0);}.ace_dark div.ace_isearch-result {  background-color: rgb(100, 110, 160);  box-shadow: 0 0 4px rgb(80, 90, 140);}
</style>​
<style>​
.GGHFMYIBBWB,.GGHFMYIBCWB{position:absolute;background-repeat:repeat-x;background-position:left bottom;background-size:6px 2px;margin-top:-1px;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAACCAYAAAB7Xa1eAAAAFUlEQVR42mNgQAL/GTn3wzAqBwkAAA2ZCrHeXoHxAAAAAElFTkSuQmCC');}.GGHFMYIBHWB{position:absolute;background-repeat:repeat-x;background-position:left bottom;background-size:6px 2px;margin-top:-1px;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAACCAYAAAB7Xa1eAAAAFUlEQVR42mNgQALfdunuh2FUDhIAAIs/D6m976neAAAAAElFTkSuQmCC');}.GGHFMYIBEWB,.GGHFMYIBDWB,.GGHFMYIBFWB,.GGHFMYIBGWB{position:absolute;background-repeat:repeat-x;background-position:left bottom;background-size:6px 2px;margin-top:-1px;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAACCAYAAAB7Xa1eAAAAFUlEQVR42mNgQALyi97vh2FUDhIAAGbEDpu6JQu9AAAAAElFTkSuQmCC');}.GGHFMYIBERC{height:16px;overflow:hidden;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAQCAYAAADTasWKAAAAaUlEQVR42k3JUQpDIQxE0dn/ktxD/wrdR61JNIZpfK+BCofMRTyeLxbw7+E9hAV9KLsI+4mPKAuGGm8ZYka5YhJqkzpTXlgOW4s2FzFz3JxY7ixw3/Qc52LvjEtkRDByRORPnPhBa43lCxevuHRV3DSBAAAAAElFTkSuQmCC") -0px -0px  repeat-x;width:100%;font-size:11px;color:#3c474d;}.GGHFMYIBERC div{display:inline;height:16px;white-space:nowrap;}.GGHFMYIBERC .gwt-Label{position:relative;top:1px;}.GGHFMYIBERC img{position:relative;top:2px;margin-left:6px;}.GGHFMYIBERC img.GGHFMYIBDRC{top:2px;margin-left:4px;}.GGHFMYIBERC .GGHFMYIBPQC{display:block;cursor:default;padding-left:5px;padding-right:6px;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAAQCAIAAACzyjnjAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACRJREFUeNpiPHvlOgMDAxMQG2lrgCgoj9oUy9tnj3c/ewwQYABdiQhZ3+XAmgAAAABJRU5ErkJggg==');background-position:right 0;background-repeat:no-repeat;}.GGHFMYIBERC .GGHFMYIBPQC.GGHFMYIBCRC{min-width:45px;text-align:center;}.GGHFMYIBERC .GGHFMYIBPQC.GGHFMYIBBRC{background-image:none;}div.GGHFMYIBKVC{height:6px;width:100px;margin-top:4px;margin-right:3px;display:block;}div.GGHFMYIBLVC{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;text-align:right;margin-right:3px;top:1px;}img.GGHFMYIBJVC{margin:0;margin-top:-2px;}.GGHFMYIBMVC{margin-top:1px;}.GGHFMYIBK3B{overflow-y:auto;}.GGHFMYIBC3B{width:100%;height:100%;}.GGHFMYIBE3B{border-left:1px solid rgba(128, 128, 128, 0.5);cursor:col-resize;width:8px;z-index:1;}.GGHFMYIBD3B{margin:0 auto;width:100%;height:100%;}.GGHFMYIBD3B .gwt-Label{text-align:center;vertical-align:middle;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-top:20px;font-style:italic;color:#808080 !important;}.GGHFMYIBL3B{overflow-x:hidden;overflow-y:auto;padding-top:3px;padding-bottom:3px;}.GGHFMYIBF3B{padding-top:1px !important;padding-bottom:1px !important;padding-right:5px !important;padding-left:5px !important;}.GGHFMYIBA3B{border-left:2px solid #67890a;padding-left:3px !important;}.GGHFMYIBB3B{border-left:2px solid #abcdef;padding-left:3px !important;}.GGHFMYIBG3B{white-space:nowrap;font-family:sans-serif;font-size:0.9em;text-overflow:ellipsis;overflow:hidden;}.GGHFMYIBH3B{font-style:italic;}.GGHFMYIBJ3B{font-weight:bold;}.GGHFMYIBI3B{font-family:inherit;}
</style>​
<style>​
@media (-webkit-min-device-pixel-ratio: 1.5), (-moz-min-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-device-pixel-ratio: 1.5) {.GGHFMYIBBWB,.GGHFMYIBCWB{background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAECAYAAAC6Jt6KAAAAG0lEQVR42mNgwAP+M3LuR8YMhBRjFcMpQS2rATRMFWG4hTerAAAAAElFTkSuQmCC');}.GGHFMYIBHWB{background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAECAYAAAC6Jt6KAAAAHElEQVR42mNgwAO+7dLdj4wZCCnGKoZTglpWAwAFRB9RNLbb+QAAAABJRU5ErkJggg==');}.GGHFMYIBEWB,.GGHFMYIBDWB,.GGHFMYIBFWB,.GGHFMYIBGWB{background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAECAYAAAC6Jt6KAAAAHElEQVR42mNgwAPkF73fj4wZCCnGKoZTglpWAwAiQx01fDhyngAAAABJRU5ErkJggg==');}}
</style>​
<style>​
.GGHFMYIBNPB{font-weight:bold;margin-right:0.5em;}.GGHFMYIBF-C{font-family:"Lucida Console";background-color:#e0e0e0;}.GGHFMYIBG-C{background-color:#fff;}.GGHFMYIBM-C{height:100%;width:100%;cursor:default;}.GGHFMYIBM-C td:focus{outline:none;}.GGHFMYIBM-C td.GGHFMYIBL-C{width:25%;text-overflow:ellipsis;overflow-x:hidden;border:1px solid #f0f0f0;border-left:none;background:none;}.GGHFMYIBM-C td.GGHFMYIBH-C{border:1px solid #f0f0f0;border-right:none;width:20px;}.GGHFMYIBM-C td.GGHFMYIBP-C{border:1px solid #f0f0f0;white-space:nowrap;text-overflow:ellipsis;overflow-x:hidden;padding-right:20px;background-color:#fff;}.GGHFMYIBM-C td.GGHFMYIBB-C{padding-right:35px;}.GGHFMYIBM-C .GGHFMYIBC-C{border:1px solid #f0f0f0;font-size:90%;}.GGHFMYIBM-C .GGHFMYIBC-C td{padding-left:10px;padding-right:20px;border:none;white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis;}.GGHFMYIBOYC{background-color:#f0f0f0;font-weight:bold;height:20px;}.GGHFMYIBPYC{padding-left:5px;}.GGHFMYIBE-C{text-align:center;margin-top:30%;}.GGHFMYIBD-C{font-family:"Segoe UI";font-size:90%;color:#909090;}.GGHFMYIBN-C{cursor:default;}.GGHFMYIBO-C{color:#a0a0a0;}.GGHFMYIBA0C{margin:0;padding:0;}.GGHFMYIBA0C td.GGHFMYIBH-C,.GGHFMYIBA0C td.GGHFMYIBL-C,.GGHFMYIBA0C td.GGHFMYIBP-C{margin:0;padding:0;height:0;border:none;}.GGHFMYIBI-C{height:100%;}.GGHFMYIBJ-C{background-color:#e8e8ff;}.GGHFMYIBC0C{box-sizing:border-box;padding-left:15px;padding-right:15px;}.GGHFMYIBD0C{padding-bottom:12px;padding-top:3px;}.GGHFMYIBB0C{position:absolute;left:3px;top:0.5em;}.GGHFMYIBF0C{margin-top:2px;margin-left:10px;}.GGHFMYIBE0C{font-family:"Segoe UI";text-align:right;font-weight:normal;margin-right:10px;}.GGHFMYIBLXC{font-family:"Lucida Console";background-color:#e0e0e0;}.GGHFMYIBMXC{background-color:#fff;}.GGHFMYIBCYC{height:100%;width:100%;cursor:default;}.GGHFMYIBCYC td:focus{outline:none;}.GGHFMYIBCYC td.GGHFMYIBBYC{width:25%;text-overflow:ellipsis;overflow-x:hidden;border:1px solid #f0f0f0;border-left:none;background:none;}.GGHFMYIBCYC td.GGHFMYIBNXC{border:1px solid #f0f0f0;border-right:none;width:20px;}.GGHFMYIBCYC td.GGHFMYIBFYC{border:1px solid #f0f0f0;white-space:nowrap;text-overflow:ellipsis;overflow-x:hidden;padding-right:20px;background-color:#fff;}.GGHFMYIBCYC td.GGHFMYIBHXC{padding-right:35px;}.GGHFMYIBCYC .GGHFMYIBIXC{border:1px solid #f0f0f0;font-size:90%;}.GGHFMYIBCYC .GGHFMYIBIXC td{padding-left:10px;padding-right:20px;border:none;white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis;}.GGHFMYIBEXC{background-color:#f0f0f0;font-weight:bold;height:20px;}.GGHFMYIBFXC{padding-left:5px;}.GGHFMYIBKXC{text-align:center;margin-top:30%;}.GGHFMYIBJXC{font-family:"Segoe UI";font-size:90%;color:#909090;}.GGHFMYIBDYC{cursor:default;}.GGHFMYIBEYC{color:#a0a0a0;}.GGHFMYIBGYC{margin:0;padding:0;}.GGHFMYIBGYC td.GGHFMYIBNXC,.GGHFMYIBGYC td.GGHFMYIBBYC,.GGHFMYIBGYC td.GGHFMYIBFYC{margin:0;padding:0;height:0;border:none;}.GGHFMYIBOXC{height:100%;}.GGHFMYIBPXC{background-color:#e8e8ff;}
</style>​
<style>​
.GGHFMYIBHG{border-top:2px solid #6f7277;padding:3px 15px;text-align:left;color:#4b4a4a;text-shadow:#ddf 1px 1px 0;overflow:hidden;white-space:nowrap;}.GGHFMYIBIG{border-bottom:2px solid #6f7277;padding:3px 15px;text-align:left;color:#4b4a4a;text-shadow:#ddf 1px 1px 0;overflow:hidden;white-space:nowrap;}.GGHFMYIBBG{padding:2px 15px;overflow:hidden;}.GGHFMYIBFH{cursor:pointer;cursor:hand;}.GGHFMYIBFH:hover{color:#6c6b6b;}.GGHFMYIBCG{background:#fff;}.GGHFMYIBDG{border:2px solid #fff;}.GGHFMYIBBH{background:#f3f7fb;}.GGHFMYIBCH{border:2px solid #f3f7fb;}.GGHFMYIBJG{background:#eee;}.GGHFMYIBKG{border:2px solid #eee;}.GGHFMYIBMG{background:#ffc;}.GGHFMYIBNG{border:2px solid #ffc;}.GGHFMYIBDH{background:#628cd5;color:white;height:auto;overflow:auto;}.GGHFMYIBEH{border:2px solid #628cd5;}.GGHFMYIBLG{border:2px solid #d7dde8;}.GGHFMYIBKSB{font-family:"Lucida Console";background-color:#e0e0e0;}.GGHFMYIBLSB{background-color:#fff;}.GGHFMYIBBTB{height:100%;width:100%;cursor:default;}.GGHFMYIBBTB td:focus{outline:none;}.GGHFMYIBBTB td.GGHFMYIBATB{width:25%;text-overflow:ellipsis;overflow-x:hidden;border:1px solid #f0f0f0;border-left:none;background:none;}.GGHFMYIBBTB td.GGHFMYIBMSB{border:1px solid #f0f0f0;border-right:none;width:20px;}.GGHFMYIBBTB td.GGHFMYIBETB{border:1px solid #f0f0f0;white-space:nowrap;text-overflow:ellipsis;overflow-x:hidden;padding-right:20px;background-color:#fff;}.GGHFMYIBBTB td.GGHFMYIBGSB{padding-right:35px;}.GGHFMYIBBTB .GGHFMYIBHSB{border:1px solid #f0f0f0;font-size:90%;}.GGHFMYIBBTB .GGHFMYIBHSB td{padding-left:10px;padding-right:20px;border:none;white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis;}.GGHFMYIBDSB{background-color:#f0f0f0;font-weight:bold;height:20px;}.GGHFMYIBESB{padding-left:5px;}.GGHFMYIBJSB{text-align:center;margin-top:30%;}.GGHFMYIBISB{font-family:"Segoe UI";font-size:90%;color:#909090;}.GGHFMYIBCTB{cursor:default;}.GGHFMYIBDTB{color:#a0a0a0;}.GGHFMYIBFTB{margin:0;padding:0;}.GGHFMYIBFTB td.GGHFMYIBMSB,.GGHFMYIBFTB td.GGHFMYIBATB,.GGHFMYIBFTB td.GGHFMYIBETB{margin:0;padding:0;height:0;border:none;}.GGHFMYIBNSB{height:100%;}.GGHFMYIBOSB{background-color:#e8e8ff;}.GGHFMYIBGRB{background-color:#f0f0f0;font-weight:bold;height:20px;}.GGHFMYIBMRB{position:relative;top:1px;left:3px;height:14px;width:14px;}.GGHFMYIBPRB{cursor:default;}.GGHFMYIBASB{color:#a0a0a0;}.GGHFMYIBCSB{margin:0;padding:0;}td.GGHFMYIBNRB{width:25%;text-overflow:ellipsis;overflow-x:hidden;border:1px solid #f0f0f0;border-left:none;background:none;}td.GGHFMYIBLRB{border:1px solid #f0f0f0;border-right:none;width:20px;}td.GGHFMYIBBSB{border:1px solid #f0f0f0;white-space:nowrap;text-overflow:ellipsis;overflow-x:hidden;padding-right:20px;background-color:#fff;}.GGHFMYIBCSB td.GGHFMYIBLRB,.GGHFMYIBCSB td.GGHFMYIBNRB,.GGHFMYIBCSB td.GGHFMYIBBSB{margin:0;padding:0;height:0;border:none;}.GGHFMYIBHRB{padding-left:5px;}td.GGHFMYIBJRB{padding-right:35px;}.GGHFMYIBKRB{border:1px solid #f0f0f0;font-size:90%;}.GGHFMYIBKRB td{padding-left:10px;padding-right:20px;border:none;white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis;}.GGHFMYIBORB table,.GGHFMYIBORB td{border-collapse:collapse;}
</style>​
</head>​