j1-template 2022.5.0.rc1 → 2022.5.0.rc4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (378) hide show
  1. checksums.yaml +4 -4
  2. data/assets/data/banner.html +24 -1
  3. data/assets/themes/j1/adapter/js/masterslider.js +22 -5
  4. data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +56 -0
  5. data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +1 -1
  6. data/lib/j1/version.rb +1 -1
  7. data/lib/starter_web/Gemfile +270 -270
  8. data/lib/starter_web/_config.yml +19 -9
  9. data/lib/starter_web/_data/blocks/banner.yml +17 -0
  10. data/lib/starter_web/_data/modules/defaults/masterslider.yml +1 -1
  11. data/lib/starter_web/_data/modules/justifiedGallery.yml +82 -0
  12. data/lib/starter_web/_data/modules/masterslider.yml +5 -9
  13. data/lib/starter_web/_data/modules/navigator_menu.yml +208 -168
  14. data/lib/starter_web/_includes/attributes.asciidoc +18 -14
  15. data/lib/starter_web/_includes/tables/template_variables.asciidoc +1 -1
  16. data/lib/starter_web/_plugins/asciidoctor-extensions/lightbox-block.rb +4 -4
  17. data/lib/starter_web/assets/images/pages/features/blog-post-navigator-1280x1000.jpg +0 -0
  18. data/lib/starter_web/assets/images/pages/features/bootswatch-themes-1280x800.png +0 -0
  19. data/lib/starter_web/assets/images/pages/features/clipboard-1280x600.jpg +0 -0
  20. data/lib/starter_web/assets/images/pages/features/comments-1280x600.jpg +0 -0
  21. data/lib/starter_web/assets/images/pages/features/cookie-consent-1280x800.jpg +0 -0
  22. data/lib/starter_web/assets/images/pages/features/desktop-web-navigation-1280x1000.jpg +0 -0
  23. data/lib/starter_web/assets/images/pages/features/example-content-1280x800.jpg +0 -0
  24. data/lib/starter_web/assets/images/pages/features/example-content-present-videos-1280x800.jpg +0 -0
  25. data/lib/starter_web/assets/images/pages/features/fab-1280x500.jpg +0 -0
  26. data/lib/starter_web/assets/images/pages/features/full-text-search-1280x800.jpg +0 -0
  27. data/lib/starter_web/assets/images/pages/features/global-mobile-traffic-1920x1080.png +0 -0
  28. data/lib/starter_web/assets/images/pages/features/google-lighthouse-1080x300.png +0 -0
  29. data/lib/starter_web/assets/images/pages/features/intro-panel-1280x800.jpg +0 -0
  30. data/lib/starter_web/assets/images/pages/features/master-header-1280x600.jpg +0 -0
  31. data/lib/starter_web/assets/images/pages/features/mobile-navigation-600x800.png +0 -0
  32. data/lib/starter_web/assets/images/pages/features/native-speakers-by-language.png +0 -0
  33. data/lib/starter_web/assets/images/pages/features/nav-module-1280x300.jpg +0 -0
  34. data/lib/starter_web/assets/images/pages/features/nbi-barchart-1280x800.jpg +0 -0
  35. data/lib/starter_web/assets/images/pages/features/teaser-banner-1280x600.jpg +0 -0
  36. data/lib/starter_web/assets/images/pages/features/translator-1280x800.jpg +0 -0
  37. data/lib/starter_web/assets/images/sticker/600x600/sticker-new-version.png +0 -0
  38. data/lib/starter_web/assets/images/sticker/scalable/readme +0 -0
  39. data/lib/starter_web/package.json +6 -6
  40. data/lib/starter_web/pages/public/_jupyter/docs/_includes/attributes.asciidoc +67 -0
  41. data/lib/starter_web/pages/public/_jupyter/docs/_includes/documents/j1_docs_example_static.asciidoc +232 -0
  42. data/lib/starter_web/pages/public/_jupyter/docs/binderhub.adoc +631 -0
  43. data/lib/starter_web/pages/public/_jupyter/docs/j1-nbinteract.adoc +638 -0
  44. data/lib/starter_web/pages/public/_jupyter/docs/jupyterhub.adoc +248 -0
  45. data/lib/starter_web/pages/public/_jupyter/docs/nbinteract-widget-manual.adoc +928 -0
  46. data/lib/starter_web/pages/public/_jupyter/examples/distributed/j1-circular-times-table.adoc +139 -0
  47. data/lib/starter_web/pages/public/_jupyter/examples/distributed/j1-common-used-widgets.adoc +229 -0
  48. data/lib/starter_web/pages/public/_jupyter/examples/distributed/j1-odes-in-python.adoc +112 -0
  49. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-altair/j1-altair-visualisations.adoc +142 -0
  50. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-bokeh/j1-bokeh-visualisations.adoc +171 -0
  51. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-bokeh/j1-bqplot-eamples.adoc +111 -0
  52. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1-plotly/j1-plotly-visualisations.adoc +94 -0
  53. data/lib/starter_web/pages/public/_jupyter/examples/localized/j1_climate-change-forecast.adoc +106 -0
  54. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_altair_interactive-checkpoint.ipynb +16260 -0
  55. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_bgplot_line_plot-checkpoint.ipynb +247 -0
  56. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_circular_times_table-Copy1-checkpoint.ipynb +12382 -0
  57. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_circular_times_table-checkpoint.ipynb +12387 -0
  58. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_circular_times_table-short-checkpoint.ipynb +12170 -0
  59. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_climate_change_forecast-checkpoint.ipynb +1058 -0
  60. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_docs_example_dynamic-checkpoint.ipynb +14478 -0
  61. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_interactive_widgets-Copy1-checkpoint.ipynb +379 -0
  62. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_interactive_widgets-checkpoint.ipynb +442 -0
  63. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets-checkpoint.ipynb +523 -0
  64. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets.line_charts-checkpoint.ipynb +84 -0
  65. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets.questions-checkpoint.ipynb +194 -0
  66. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_chart-checkpoint.ipynb +89 -0
  67. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_charts-Copy1-checkpoint.ipynb +164 -0
  68. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_charts-checkpoint.ipynb +173 -0
  69. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_bar_charts.1-checkpoint.ipynb +256 -0
  70. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_barcharts-checkpoint.ipynb +126 -0
  71. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_hist_chart-checkpoint.ipynb +87 -0
  72. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_line_chart-checkpoint.ipynb +90 -0
  73. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_line_charts-checkpoint.ipynb +87 -0
  74. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_question_multiple_choice-checkpoint.ipynb +64 -0
  75. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_question_short_answer-checkpoint.ipynb +122 -0
  76. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_questions-checkpoint.ipynb +181 -0
  77. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_scatter_chart-checkpoint.ipynb +89 -0
  78. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_scatter_charts-checkpoint.ipynb +175 -0
  79. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_nbi_widgets_scatter_drag_chart-checkpoint.ipynb +87 -0
  80. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_ode_selected-checkpoint.ipynb +14478 -0
  81. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/.ipynb_checkpoints/j1_odes_in_python-checkpoint.ipynb +15227 -0
  82. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/factor_by_factor.mp4 +0 -0
  83. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_circular_times_table.ipynb +12382 -0
  84. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_climate_change_forecast.ipynb +1058 -0
  85. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_docs_example_dynamic.ipynb +14478 -0
  86. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_interactive_widgets.ipynb +442 -0
  87. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets.ipynb +523 -0
  88. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_bar_chart.ipynb +89 -0
  89. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_hist_chart.ipynb +87 -0
  90. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_line_chart.ipynb +90 -0
  91. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_question_multiple_choice.ipynb +64 -0
  92. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_question_short_answer.ipynb +122 -0
  93. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_scatter_chart.ipynb +89 -0
  94. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_nbi_widgets_scatter_drag_chart.ipynb +87 -0
  95. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/j1_odes_in_python.ipynb +15227 -0
  96. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/line_by_line.mp4 +0 -0
  97. data/lib/starter_web/pages/public/_jupyter/notebooks/j1/point_by_point.mp4 +0 -0
  98. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/.ipynb_checkpoints/j1_altair_interactive-checkpoint.ipynb +16296 -0
  99. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/.ipynb_checkpoints/j1_altair_non_interactive-checkpoint.ipynb +15385 -0
  100. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/j1_altair_interactive.ipynb +16296 -0
  101. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-altair-tutorial/j1_altair_non_interactive.ipynb +15385 -0
  102. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/00 - Introduction and Setup-checkpoint.ipynb +717 -0
  103. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/01 - Basic Plotting-checkpoint.ipynb +1381 -0
  104. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/02 - Styling and Theming-checkpoint.ipynb +1440 -0
  105. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/03 - Data Sources and Transformations-checkpoint.ipynb +927 -0
  106. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/04 - Adding Annotations-checkpoint.ipynb +1105 -0
  107. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/05 - Presentation Layouts-checkpoint.ipynb +578 -0
  108. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/06 - Linking and Interactions-checkpoint.ipynb +1196 -0
  109. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/07 - Bar and Categorical Data Plots-checkpoint.ipynb +1681 -0
  110. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/08 - Graph and Network Plots-checkpoint.ipynb +680 -0
  111. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/09 - Geographic Plots-checkpoint.ipynb +693 -0
  112. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/10 - Exporting and Embedding-checkpoint.ipynb +751 -0
  113. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/11 - Running Bokeh Applications-checkpoint.ipynb +770 -0
  114. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/bokeh_tut_00_introduction_and_setup-checkpoint.ipynb +666 -0
  115. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_01_basic_plotting-checkpoint.ipynb +1365 -0
  116. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_02_styling_and_theming-checkpoint.ipynb +1405 -0
  117. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_03_data_sources_and_transformations-checkpoint.ipynb +856 -0
  118. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_04_adding_annotations-checkpoint.ipynb +1167 -0
  119. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_05_presentation_layouts-checkpoint.ipynb +601 -0
  120. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_06_linking_and_interactions-checkpoint.ipynb +1356 -0
  121. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_07_bar_and_categorical_data_plots-checkpoint.ipynb +1742 -0
  122. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_08_graph_and_network_plots-checkpoint.ipynb +625 -0
  123. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_09_geographic_plots-checkpoint.ipynb +685 -0
  124. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_10_exporting_and_embedding-checkpoint.ipynb +726 -0
  125. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_10_exporting_and_embedding-checkpoint.org +726 -0
  126. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_10_exporting_and_embedding.new-checkpoint.ipynb +560 -0
  127. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/.ipynb_checkpoints/j1_bokeh_11_running_bokeh_applications-checkpoint.ipynb +716 -0
  128. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_01_basic_plotting.ipynb +1365 -0
  129. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_02_styling_and_theming.ipynb +1405 -0
  130. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_03_data_sources_and_transformations.ipynb +856 -0
  131. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_04_adding_annotations.ipynb +1167 -0
  132. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_05_presentation_layouts.ipynb +601 -0
  133. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_06_linking_and_interactions.ipynb +1356 -0
  134. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_07_bar_and_categorical_data_plots.ipynb +1742 -0
  135. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_08_graph_and_network_plots.ipynb +625 -0
  136. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bokeh-tutorial/j1_bokeh_09_geographic_plots.ipynb +685 -0
  137. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/.ipynb_checkpoints/j1_mathplot_vs_bqplot-checkpoint.ipynb +336 -0
  138. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/advanced/Feature_Vector_Distribution-Iris-Digits.ipynb +433 -0
  139. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/j1_bgplot_line_plot.ipynb +244 -0
  140. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/j1_circular_times_table-short.ipynb +12170 -0
  141. data/lib/starter_web/pages/public/_jupyter/notebooks/j1-bqplot/j1_mathplot_vs_bqplot.ipynb +336 -0
  142. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/.ipynb_checkpoints/Index-checkpoint.ipynb +163 -0
  143. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/.ipynb_checkpoints/Tutorials-checkpoint.ipynb +51 -0
  144. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Advanced Plotting.ipynb +289 -0
  145. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Animations.ipynb +266 -0
  146. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Axis Properties.ipynb +396 -0
  147. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Advanced Plotting/Plotting Dates.ipynb +318 -0
  148. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Equity Index Performance/Time Series.ipynb +158 -0
  149. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Equity Index Performance/spx_prices.csv +6799 -0
  150. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Feature_Vector_Distribution-Iris-Digits.ipynb +470 -0
  151. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Index.ipynb +49 -0
  152. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Logs Analytics/Logs Dashboard.ipynb +378 -0
  153. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Mobile Patent Suits.ipynb +123 -0
  154. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Neural Network.ipynb +177 -0
  155. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Outlier Detection.ipynb +311 -0
  156. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/Bubble Chart.ipynb +255 -0
  157. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/Choropleth.ipynb +275 -0
  158. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/nations.json +1 -0
  159. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Applications/Wealth Of Nations/world_map_codes.csv +234 -0
  160. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/.ipynb_checkpoints/Basic Plotting-checkpoint.ipynb +186 -0
  161. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/.ipynb_checkpoints/Pyplot-checkpoint.ipynb +794 -0
  162. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/.ipynb_checkpoints/Untitled-checkpoint.ipynb +323 -0
  163. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/Basic Plotting.ipynb +261 -0
  164. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Basic Plotting/Pyplot.ipynb +1489 -0
  165. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Index.ipynb +163 -0
  166. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Interactions/Interaction Layer.ipynb +966 -0
  167. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Interactions/Mark Interactions.ipynb +476 -0
  168. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Interactions/Selectors.ipynb +427 -0
  169. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Introduction.ipynb +528 -0
  170. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Bars.ipynb +480 -0
  171. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Bins.ipynb +217 -0
  172. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Boxplot.ipynb +253 -0
  173. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Candles.ipynb +225 -0
  174. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/FlexLine.ipynb +123 -0
  175. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Graph.ipynb +357 -0
  176. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/GridHeatMap.ipynb +422 -0
  177. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/HeatMap.ipynb +157 -0
  178. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Hist.ipynb +176 -0
  179. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Image.ipynb +195 -0
  180. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Label.ipynb +189 -0
  181. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Lines.ipynb +565 -0
  182. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Map.ipynb +182 -0
  183. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Market Map.ipynb +315 -0
  184. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Pie.ipynb +465 -0
  185. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Object Model/Scatter.ipynb +835 -0
  186. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Bars.ipynb +362 -0
  187. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Bins.ipynb +252 -0
  188. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Boxplot.ipynb +273 -0
  189. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Candles.ipynb +242 -0
  190. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/GridHeatMap.ipynb +417 -0
  191. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/HeatMap.ipynb +155 -0
  192. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Hist.ipynb +238 -0
  193. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Image.ipynb +152 -0
  194. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Label.ipynb +206 -0
  195. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Lines.ipynb +474 -0
  196. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Map.ipynb +181 -0
  197. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Pie.ipynb +310 -0
  198. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Marks/Pyplot/Scatter.ipynb +702 -0
  199. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Scales/Color Scales.ipynb +495 -0
  200. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Feature_Vector_Distribution-Iris-Digits-checkpoint.ipynb +433 -0
  201. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Linking Plots With Widgets-checkpoint.ipynb +326 -0
  202. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Updating Plots-Copy1-checkpoint.ipynb +177 -0
  203. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/.ipynb_checkpoints/Updating Plots-checkpoint.ipynb +177 -0
  204. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Brush Interval Selector.ipynb +154 -0
  205. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Fast Interval Selector.ipynb +152 -0
  206. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Gaussian Density Widget.ipynb +128 -0
  207. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Gaussian Density.ipynb +113 -0
  208. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Linking Plots With Widgets.ipynb +326 -0
  209. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Object Model.ipynb +179 -0
  210. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Pyplot.ipynb +174 -0
  211. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials/Updating Plots.ipynb +177 -0
  212. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/Tutorials.ipynb +51 -0
  213. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/country_codes.csv +213 -0
  214. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/gdp_per_capita.csv +56 -0
  215. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/state_codes.csv +52 -0
  216. data/lib/starter_web/pages/public/_jupyter/notebooks/martin_renou_bqplot/data_files/trees.jpg +0 -0
  217. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_examples_central_limit_theorem-checkpoint.ipynb +247 -0
  218. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_examples_variability_of_the_sample_mean-checkpoint.ipynb +323 -0
  219. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_graphing-checkpoint.ipynb +387 -0
  220. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_interactive_questions-checkpoint.ipynb +185 -0
  221. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_layout-checkpoint.ipynb +384 -0
  222. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_tutorial_interact-checkpoint.ipynb +254 -0
  223. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_tutorial_monty_hall-checkpoint.ipynb +732 -0
  224. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_central_limit_theorem.ipynb +247 -0
  225. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_correlation.ipynb +651 -0
  226. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_empirical_distributions.ipynb +773 -0
  227. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_linear_regression.ipynb +111 -0
  228. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_probability_distribution_plots.ipynb +199 -0
  229. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_sampling_from_a_population.ipynb +421 -0
  230. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_examples_variability_of_the_sample_mean.ipynb +323 -0
  231. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_recipes_graphing.ipynb +387 -0
  232. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_recipes_interactive_questions.ipynb +185 -0
  233. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_recipes_layout.ipynb +384 -0
  234. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_tutorial_interact.ipynb +254 -0
  235. data/lib/starter_web/pages/public/_jupyter/notebooks/nbi-docs/nbi_docs_tutorial_monty_hall.ipynb +732 -0
  236. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Advanced Plotting.html +373 -0
  237. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Animations.html +361 -0
  238. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Axis Properties.html +569 -0
  239. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Bars.html +487 -0
  240. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Basic Plotting.html +341 -0
  241. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Bins.html +259 -0
  242. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Boxplot.html +277 -0
  243. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Brush Interval Selector.html +182 -0
  244. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Bubble Chart.html +299 -0
  245. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Candles.html +252 -0
  246. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Choropleth.html +318 -0
  247. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Color Scales.html +514 -0
  248. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Fast Interval Selector.html +182 -0
  249. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Feature_Vector_Distribution-Iris-Digits.html +479 -0
  250. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/FlexLine.html +128 -0
  251. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Gaussian Density Widget.html +152 -0
  252. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Gaussian Density.html +137 -0
  253. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Graph.html +484 -0
  254. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/GridHeatMap.html +483 -0
  255. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/HeatMap.html +170 -0
  256. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Hist.html +349 -0
  257. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Image.html +177 -0
  258. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Index.html +29 -0
  259. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Interaction Layer.html +1372 -0
  260. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Introduction.html +749 -0
  261. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Label.html +268 -0
  262. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Lines.html +704 -0
  263. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Linking Plots With Widgets.html +389 -0
  264. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Logs Dashboard.html +455 -0
  265. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Map.html +229 -0
  266. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Mark Interactions.html +613 -0
  267. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Market Map.html +413 -0
  268. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Mobile Patent Suits.html +131 -0
  269. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Neural Network.html +190 -0
  270. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Object Model.html +193 -0
  271. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Outlier Detection.html +363 -0
  272. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Pie.html +367 -0
  273. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Plotting Dates.html +337 -0
  274. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Pyplot.html +196 -0
  275. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Scatter.html +948 -0
  276. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Selectors.html +489 -0
  277. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Time Series.html +173 -0
  278. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Tutorials.html +40 -0
  279. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/Updating Plots.html +228 -0
  280. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_altair_interactive.html +2216 -0
  281. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_altair_non_interactive.html +1170 -0
  282. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bgplot_line_plot.html +318 -0
  283. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_01_basic_plotting.html +1479 -0
  284. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_02_styling_and_theming.html +1524 -0
  285. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_03_data_sources_and_transformations.html +983 -0
  286. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_04_adding_annotations.html +1280 -0
  287. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_05_presentation_layouts.html +660 -0
  288. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_06_linking_and_interactions.html +1563 -0
  289. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_07_bar_and_categorical_data_plots.html +1888 -0
  290. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_08_graph_and_network_plots.html +689 -0
  291. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_bokeh_09_geographic_plots.html +767 -0
  292. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_circular_times_table-short.html +475 -0
  293. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_circular_times_table.html +747 -0
  294. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_climate_change_forecast.html +1250 -0
  295. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_docs_example_dynamic.html +186 -0
  296. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_interactive_widgets.html +512 -0
  297. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_mathplot_vs_bqplot.html +407 -0
  298. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets.html +629 -0
  299. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_bar_chart.html +95 -0
  300. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_hist_chart.html +93 -0
  301. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_line_chart.html +96 -0
  302. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_question_multiple_choice.html +70 -0
  303. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_question_short_answer.html +156 -0
  304. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_scatter_chart.html +95 -0
  305. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_nbi_widgets_scatter_drag_chart.html +93 -0
  306. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/j1_odes_in_python.html +955 -0
  307. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_central_limit_theorem.html +290 -0
  308. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_correlation.html +818 -0
  309. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_empirical_distributions.html +351 -0
  310. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_linear_regression.html +106 -0
  311. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_probability_distribution_plots.html +228 -0
  312. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_sampling_from_a_population.html +518 -0
  313. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_examples_variability_of_the_sample_mean.html +372 -0
  314. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_recipes_graphing.html +473 -0
  315. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_recipes_interactive_questions.html +242 -0
  316. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_recipes_layout.html +496 -0
  317. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_tutorial_interact.html +329 -0
  318. data/lib/starter_web/pages/public/_jupyter/notebooks/textbooks/nbi_docs_tutorial_monty_hall.html +866 -0
  319. data/lib/starter_web/pages/public/_jupyter/where_to_go.adoc +270 -0
  320. data/lib/starter_web/pages/public/features/general.adoc +74 -33
  321. data/lib/starter_web/pages/public/features/template.adoc +159 -68
  322. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_interactive_widgets.html +512 -512
  323. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets.html +629 -629
  324. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_bar_chart.html +95 -95
  325. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_hist_chart.html +93 -93
  326. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_line_chart.html +96 -96
  327. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_question_multiple_choice.html +70 -70
  328. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_question_short_answer.html +156 -156
  329. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_scatter_chart.html +95 -95
  330. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_scatter_drag_chart.html +93 -93
  331. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_odes_in_python.html +955 -955
  332. data/lib/starter_web/pages/public/learn/_roundtrip/100_present_images.adoc +313 -0
  333. data/lib/starter_web/pages/public/learn/_roundtrip/100_present_videos.adoc +281 -0
  334. data/lib/starter_web/pages/public/learn/_roundtrip/200_typography.adoc +253 -0
  335. data/lib/starter_web/pages/public/learn/_roundtrip/300_icon_fonts.adoc +579 -0
  336. data/lib/starter_web/pages/public/learn/_roundtrip/400_asciidoc_extensions.adoc +718 -0
  337. data/lib/starter_web/pages/public/learn/_roundtrip/410_bs_modals_extentions.adoc +91 -0
  338. data/lib/starter_web/pages/public/learn/_roundtrip/420_responsive_tables_extensions.adoc +420 -0
  339. data/lib/starter_web/pages/public/learn/_roundtrip/500_themes.adoc +250 -0
  340. data/lib/starter_web/pages/public/learn/_roundtrip/600_quicksearch.adoc +425 -0
  341. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/attributes.asciidoc +118 -0
  342. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/100_gistblock.asciidoc +28 -0
  343. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_bottom_info.asciidoc +14 -0
  344. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_bottom_left_warning.asciidoc +11 -0
  345. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_bottom_right_danger.asciidoc +11 -0
  346. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_central_success.asciidoc +11 -0
  347. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_full_height_left_info.asciidoc +11 -0
  348. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_full_height_right_success.asciidoc +11 -0
  349. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_table_bs_modal_examples.asciidoc +47 -0
  350. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_top_info.asciidoc +11 -0
  351. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_top_left_info.asciidoc +11 -0
  352. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_top_right_success.asciidoc +11 -0
  353. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/419_advanced_modals_demo.asciidoc +337 -0
  354. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/tables/bs_modal_examples.asciidoc +47 -0
  355. data/lib/starter_web/pages/public/learn/_roundtrip/_includes/google-ad.js +130 -0
  356. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +6 -5
  357. data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +1 -2
  358. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +4 -2
  359. data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +1 -1
  360. data/lib/starter_web/pages/public/learn/roundtrip/_includes/attributes.asciidoc +1 -1
  361. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  362. data/lib/starter_web/utilsrv/package.json +1 -1
  363. metadata +384 -17
  364. data/lib/starter_web/_includes/_attributes.asciidoc +0 -575
  365. data/lib/starter_web/assets/images/pages/features/bootswatch-themes-1080x800.jpg +0 -0
  366. data/lib/starter_web/assets/images/pages/features/comments-1080x600.jpg +0 -0
  367. data/lib/starter_web/assets/images/pages/features/cookie-consent-1080x800.jpg +0 -0
  368. data/lib/starter_web/assets/images/pages/features/example-content-present-videos-1080x800.jpg +0 -0
  369. data/lib/starter_web/assets/images/pages/features/fab-1080x500.jpg +0 -0
  370. data/lib/starter_web/assets/images/pages/features/full-text-search-1080x800.jpg +0 -0
  371. data/lib/starter_web/assets/images/pages/features/global-mobile-traffic-1920x1080.jpg +0 -0
  372. data/lib/starter_web/assets/images/pages/features/google-lighthouse-1080x300.jpg +0 -0
  373. data/lib/starter_web/assets/images/pages/features/intro-panel-1080x800.jpg +0 -0
  374. data/lib/starter_web/assets/images/pages/features/mobile-navigation-600x800.jpg +0 -0
  375. data/lib/starter_web/assets/images/pages/features/native-speakers-by-language.jpg +0 -0
  376. data/lib/starter_web/assets/images/pages/features/nav-module-1080x300.jpg +0 -0
  377. data/lib/starter_web/assets/images/pages/features/teaser-banner-1080x600.jpg +0 -0
  378. data/lib/starter_web/assets/images/pages/features/translator-1080x800.jpg +0 -0
@@ -0,0 +1,856 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "metadata": {},
6
+ "source": [
7
+ "## 3. Data Sources and Transformations\n",
8
+ "\n",
9
+ "We've seen how Bokeh can work well with Python lists, NumPy arrays, Pandas series, etc. At lower levels, these inputs are converted to a Bokeh `ColumnDataSource`. This data type is the central data source object used throughout Bokeh. Although Bokeh often creates them for us transparently, there are times when it is useful to create them explicitly.\n",
10
+ "\n",
11
+ "In later sections we will see features like hover tooltips, computed transforms, and CustomJS interactions that make use of the `ColumnDataSource`, so let's take a quick look now. "
12
+ ]
13
+ },
14
+ {
15
+ "cell_type": "code",
16
+ "execution_count": 1,
17
+ "metadata": {},
18
+ "outputs": [],
19
+ "source": [
20
+ "from bokeh.io import output_notebook, show\n",
21
+ "from bokeh.plotting import figure\n",
22
+ "\n",
23
+ "import numpy as np"
24
+ ]
25
+ },
26
+ {
27
+ "cell_type": "code",
28
+ "execution_count": 2,
29
+ "metadata": {},
30
+ "outputs": [
31
+ {
32
+ "data": {
33
+ "text/html": [
34
+ "<div class=\"bk-root\">\n",
35
+ " <a href=\"https://bokeh.org\" target=\"_blank\" class=\"bk-logo bk-logo-small bk-logo-notebook\"></a>\n",
36
+ " <span id=\"1002\">Loading BokehJS ...</span>\n",
37
+ " </div>\n"
38
+ ]
39
+ },
40
+ "metadata": {},
41
+ "output_type": "display_data"
42
+ },
43
+ {
44
+ "data": {
45
+ "application/javascript": [
46
+ "(function(root) {\n",
47
+ " function now() {\n",
48
+ " return new Date();\n",
49
+ " }\n",
50
+ "\n",
51
+ " const force = true;\n",
52
+ "\n",
53
+ " if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n",
54
+ " root._bokeh_onload_callbacks = [];\n",
55
+ " root._bokeh_is_loading = undefined;\n",
56
+ " }\n",
57
+ "\n",
58
+ "const JS_MIME_TYPE = 'application/javascript';\n",
59
+ " const HTML_MIME_TYPE = 'text/html';\n",
60
+ " const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n",
61
+ " const CLASS_NAME = 'output_bokeh rendered_html';\n",
62
+ "\n",
63
+ " /**\n",
64
+ " * Render data to the DOM node\n",
65
+ " */\n",
66
+ " function render(props, node) {\n",
67
+ " const script = document.createElement(\"script\");\n",
68
+ " node.appendChild(script);\n",
69
+ " }\n",
70
+ "\n",
71
+ " /**\n",
72
+ " * Handle when an output is cleared or removed\n",
73
+ " */\n",
74
+ " function handleClearOutput(event, handle) {\n",
75
+ " const cell = handle.cell;\n",
76
+ "\n",
77
+ " const id = cell.output_area._bokeh_element_id;\n",
78
+ " const server_id = cell.output_area._bokeh_server_id;\n",
79
+ " // Clean up Bokeh references\n",
80
+ " if (id != null && id in Bokeh.index) {\n",
81
+ " Bokeh.index[id].model.document.clear();\n",
82
+ " delete Bokeh.index[id];\n",
83
+ " }\n",
84
+ "\n",
85
+ " if (server_id !== undefined) {\n",
86
+ " // Clean up Bokeh references\n",
87
+ " const cmd_clean = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n",
88
+ " cell.notebook.kernel.execute(cmd_clean, {\n",
89
+ " iopub: {\n",
90
+ " output: function(msg) {\n",
91
+ " const id = msg.content.text.trim();\n",
92
+ " if (id in Bokeh.index) {\n",
93
+ " Bokeh.index[id].model.document.clear();\n",
94
+ " delete Bokeh.index[id];\n",
95
+ " }\n",
96
+ " }\n",
97
+ " }\n",
98
+ " });\n",
99
+ " // Destroy server and session\n",
100
+ " const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n",
101
+ " cell.notebook.kernel.execute(cmd_destroy);\n",
102
+ " }\n",
103
+ " }\n",
104
+ "\n",
105
+ " /**\n",
106
+ " * Handle when a new output is added\n",
107
+ " */\n",
108
+ " function handleAddOutput(event, handle) {\n",
109
+ " const output_area = handle.output_area;\n",
110
+ " const output = handle.output;\n",
111
+ "\n",
112
+ " // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n",
113
+ " if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n",
114
+ " return\n",
115
+ " }\n",
116
+ "\n",
117
+ " const toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n",
118
+ "\n",
119
+ " if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n",
120
+ " toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n",
121
+ " // store reference to embed id on output_area\n",
122
+ " output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n",
123
+ " }\n",
124
+ " if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n",
125
+ " const bk_div = document.createElement(\"div\");\n",
126
+ " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n",
127
+ " const script_attrs = bk_div.children[0].attributes;\n",
128
+ " for (let i = 0; i < script_attrs.length; i++) {\n",
129
+ " toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n",
130
+ " toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\n",
131
+ " }\n",
132
+ " // store reference to server id on output_area\n",
133
+ " output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n",
134
+ " }\n",
135
+ " }\n",
136
+ "\n",
137
+ " function register_renderer(events, OutputArea) {\n",
138
+ "\n",
139
+ " function append_mime(data, metadata, element) {\n",
140
+ " // create a DOM node to render to\n",
141
+ " const toinsert = this.create_output_subarea(\n",
142
+ " metadata,\n",
143
+ " CLASS_NAME,\n",
144
+ " EXEC_MIME_TYPE\n",
145
+ " );\n",
146
+ " this.keyboard_manager.register_events(toinsert);\n",
147
+ " // Render to node\n",
148
+ " const props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n",
149
+ " render(props, toinsert[toinsert.length - 1]);\n",
150
+ " element.append(toinsert);\n",
151
+ " return toinsert\n",
152
+ " }\n",
153
+ "\n",
154
+ " /* Handle when an output is cleared or removed */\n",
155
+ " events.on('clear_output.CodeCell', handleClearOutput);\n",
156
+ " events.on('delete.Cell', handleClearOutput);\n",
157
+ "\n",
158
+ " /* Handle when a new output is added */\n",
159
+ " events.on('output_added.OutputArea', handleAddOutput);\n",
160
+ "\n",
161
+ " /**\n",
162
+ " * Register the mime type and append_mime function with output_area\n",
163
+ " */\n",
164
+ " OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n",
165
+ " /* Is output safe? */\n",
166
+ " safe: true,\n",
167
+ " /* Index of renderer in `output_area.display_order` */\n",
168
+ " index: 0\n",
169
+ " });\n",
170
+ " }\n",
171
+ "\n",
172
+ " // register the mime type if in Jupyter Notebook environment and previously unregistered\n",
173
+ " if (root.Jupyter !== undefined) {\n",
174
+ " const events = require('base/js/events');\n",
175
+ " const OutputArea = require('notebook/js/outputarea').OutputArea;\n",
176
+ "\n",
177
+ " if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n",
178
+ " register_renderer(events, OutputArea);\n",
179
+ " }\n",
180
+ " }\n",
181
+ " if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n",
182
+ " root._bokeh_timeout = Date.now() + 5000;\n",
183
+ " root._bokeh_failed_load = false;\n",
184
+ " }\n",
185
+ "\n",
186
+ " const NB_LOAD_WARNING = {'data': {'text/html':\n",
187
+ " \"<div style='background-color: #fdd'>\\n\"+\n",
188
+ " \"<p>\\n\"+\n",
189
+ " \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n",
190
+ " \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n",
191
+ " \"</p>\\n\"+\n",
192
+ " \"<ul>\\n\"+\n",
193
+ " \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n",
194
+ " \"<li>use INLINE resources instead, as so:</li>\\n\"+\n",
195
+ " \"</ul>\\n\"+\n",
196
+ " \"<code>\\n\"+\n",
197
+ " \"from bokeh.resources import INLINE\\n\"+\n",
198
+ " \"output_notebook(resources=INLINE)\\n\"+\n",
199
+ " \"</code>\\n\"+\n",
200
+ " \"</div>\"}};\n",
201
+ "\n",
202
+ " function display_loaded() {\n",
203
+ " const el = document.getElementById(\"1002\");\n",
204
+ " if (el != null) {\n",
205
+ " el.textContent = \"BokehJS is loading...\";\n",
206
+ " }\n",
207
+ " if (root.Bokeh !== undefined) {\n",
208
+ " if (el != null) {\n",
209
+ " el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n",
210
+ " }\n",
211
+ " } else if (Date.now() < root._bokeh_timeout) {\n",
212
+ " setTimeout(display_loaded, 100)\n",
213
+ " }\n",
214
+ " }\n",
215
+ "\n",
216
+ " function run_callbacks() {\n",
217
+ " try {\n",
218
+ " root._bokeh_onload_callbacks.forEach(function(callback) {\n",
219
+ " if (callback != null)\n",
220
+ " callback();\n",
221
+ " });\n",
222
+ " } finally {\n",
223
+ " delete root._bokeh_onload_callbacks\n",
224
+ " }\n",
225
+ " console.debug(\"Bokeh: all callbacks have finished\");\n",
226
+ " }\n",
227
+ "\n",
228
+ " function load_libs(css_urls, js_urls, callback) {\n",
229
+ " if (css_urls == null) css_urls = [];\n",
230
+ " if (js_urls == null) js_urls = [];\n",
231
+ "\n",
232
+ " root._bokeh_onload_callbacks.push(callback);\n",
233
+ " if (root._bokeh_is_loading > 0) {\n",
234
+ " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n",
235
+ " return null;\n",
236
+ " }\n",
237
+ " if (js_urls == null || js_urls.length === 0) {\n",
238
+ " run_callbacks();\n",
239
+ " return null;\n",
240
+ " }\n",
241
+ " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n",
242
+ " root._bokeh_is_loading = css_urls.length + js_urls.length;\n",
243
+ "\n",
244
+ " function on_load() {\n",
245
+ " root._bokeh_is_loading--;\n",
246
+ " if (root._bokeh_is_loading === 0) {\n",
247
+ " console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n",
248
+ " run_callbacks()\n",
249
+ " }\n",
250
+ " }\n",
251
+ "\n",
252
+ " function on_error(url) {\n",
253
+ " console.error(\"failed to load \" + url);\n",
254
+ " }\n",
255
+ "\n",
256
+ " for (let i = 0; i < css_urls.length; i++) {\n",
257
+ " const url = css_urls[i];\n",
258
+ " const element = document.createElement(\"link\");\n",
259
+ " element.onload = on_load;\n",
260
+ " element.onerror = on_error.bind(null, url);\n",
261
+ " element.rel = \"stylesheet\";\n",
262
+ " element.type = \"text/css\";\n",
263
+ " element.href = url;\n",
264
+ " console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n",
265
+ " document.body.appendChild(element);\n",
266
+ " }\n",
267
+ "\n",
268
+ " for (let i = 0; i < js_urls.length; i++) {\n",
269
+ " const url = js_urls[i];\n",
270
+ " const element = document.createElement('script');\n",
271
+ " element.onload = on_load;\n",
272
+ " element.onerror = on_error.bind(null, url);\n",
273
+ " element.async = false;\n",
274
+ " element.src = url;\n",
275
+ " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n",
276
+ " document.head.appendChild(element);\n",
277
+ " }\n",
278
+ " };\n",
279
+ "\n",
280
+ " function inject_raw_css(css) {\n",
281
+ " const element = document.createElement(\"style\");\n",
282
+ " element.appendChild(document.createTextNode(css));\n",
283
+ " document.body.appendChild(element);\n",
284
+ " }\n",
285
+ "\n",
286
+ " const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-2.4.3.min.js\"];\n",
287
+ " const css_urls = [];\n",
288
+ "\n",
289
+ " const inline_js = [ function(Bokeh) {\n",
290
+ " Bokeh.set_log_level(\"info\");\n",
291
+ " },\n",
292
+ "function(Bokeh) {\n",
293
+ " }\n",
294
+ " ];\n",
295
+ "\n",
296
+ " function run_inline_js() {\n",
297
+ " if (root.Bokeh !== undefined || force === true) {\n",
298
+ " for (let i = 0; i < inline_js.length; i++) {\n",
299
+ " inline_js[i].call(root, root.Bokeh);\n",
300
+ " }\n",
301
+ "if (force === true) {\n",
302
+ " display_loaded();\n",
303
+ " }} else if (Date.now() < root._bokeh_timeout) {\n",
304
+ " setTimeout(run_inline_js, 100);\n",
305
+ " } else if (!root._bokeh_failed_load) {\n",
306
+ " console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n",
307
+ " root._bokeh_failed_load = true;\n",
308
+ " } else if (force !== true) {\n",
309
+ " const cell = $(document.getElementById(\"1002\")).parents('.cell').data().cell;\n",
310
+ " cell.output_area.append_execute_result(NB_LOAD_WARNING)\n",
311
+ " }\n",
312
+ " }\n",
313
+ "\n",
314
+ " if (root._bokeh_is_loading === 0) {\n",
315
+ " console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n",
316
+ " run_inline_js();\n",
317
+ " } else {\n",
318
+ " load_libs(css_urls, js_urls, function() {\n",
319
+ " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n",
320
+ " run_inline_js();\n",
321
+ " });\n",
322
+ " }\n",
323
+ "}(window));"
324
+ ],
325
+ "application/vnd.bokehjs_load.v0+json": "(function(root) {\n function now() {\n return new Date();\n }\n\n const force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n\n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const NB_LOAD_WARNING = {'data': {'text/html':\n \"<div style='background-color: #fdd'>\\n\"+\n \"<p>\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"</p>\\n\"+\n \"<ul>\\n\"+\n \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n \"<li>use INLINE resources instead, as so:</li>\\n\"+\n \"</ul>\\n\"+\n \"<code>\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"</code>\\n\"+\n \"</div>\"}};\n\n function display_loaded() {\n const el = document.getElementById(\"1002\");\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-2.4.3.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\nif (force === true) {\n display_loaded();\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(\"1002\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));"
326
+ },
327
+ "metadata": {},
328
+ "output_type": "display_data"
329
+ }
330
+ ],
331
+ "source": [
332
+ "#nbi:hide_out\n",
333
+ "# Make all outputs INLINE for default (why a hell this is needed !!!)\n",
334
+ "output_notebook()"
335
+ ]
336
+ },
337
+ {
338
+ "cell_type": "markdown",
339
+ "metadata": {},
340
+ "source": [
341
+ "### Creating with Python Dicts\n",
342
+ "\n",
343
+ "The `ColumnDataSource` can be imported from `bokeh.models`:"
344
+ ]
345
+ },
346
+ {
347
+ "cell_type": "code",
348
+ "execution_count": 3,
349
+ "metadata": {},
350
+ "outputs": [],
351
+ "source": [
352
+ "from bokeh.models import ColumnDataSource"
353
+ ]
354
+ },
355
+ {
356
+ "cell_type": "markdown",
357
+ "metadata": {},
358
+ "source": [
359
+ "The `ColumnDataSource` is a mapping of column names (strings) to sequences of values. Here is a simple example. The mapping is provided by passing a Python `dict` with string keys and simple Python lists as values. The values could also be NumPy arrays, or Pandas sequences.\n",
360
+ "\n",
361
+ "***NOTE: ALL the columns in a `ColumnDataSource` must always be the SAME length.***\n"
362
+ ]
363
+ },
364
+ {
365
+ "cell_type": "code",
366
+ "execution_count": 4,
367
+ "metadata": {},
368
+ "outputs": [],
369
+ "source": [
370
+ "source = ColumnDataSource(data={\n",
371
+ " 'x' : [1, 2, 3, 4, 5],\n",
372
+ " 'y' : [3, 7, 8, 5, 1],\n",
373
+ "})"
374
+ ]
375
+ },
376
+ {
377
+ "cell_type": "markdown",
378
+ "metadata": {},
379
+ "source": [
380
+ "Up until now we have called functions like `p.circle` by passing in literal lists or arrays of data directly, when we do this, Bokeh creates a `ColumnDataSource` for us, automatically. But it is possible to specify a `ColumnDataSource` explicitly by passing it as the `source` argument to a glyph method. Whenever we do this, if we want a property (like `\"x\"` or `\"y\"` or `\"fill_color\"`) to have a sequence of values, we pass the ***name of the column*** that we would like to use for a property:"
381
+ ]
382
+ },
383
+ {
384
+ "cell_type": "code",
385
+ "execution_count": 5,
386
+ "metadata": {},
387
+ "outputs": [
388
+ {
389
+ "data": {
390
+ "text/html": [
391
+ "\n",
392
+ " <div class=\"bk-root\" id=\"20fdbc09-9517-4e64-ae3b-d5c007baac4a\" data-root-id=\"1004\"></div>\n"
393
+ ]
394
+ },
395
+ "metadata": {},
396
+ "output_type": "display_data"
397
+ },
398
+ {
399
+ "data": {
400
+ "application/javascript": [
401
+ "(function(root) {\n",
402
+ " function embed_document(root) {\n",
403
+ " const docs_json = {\"f2ff1428-11dc-45c8-a6f2-79485ce1fb06\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1013\"}],\"center\":[{\"id\":\"1016\"},{\"id\":\"1020\"}],\"height\":400,\"left\":[{\"id\":\"1017\"}],\"renderers\":[{\"id\":\"1039\"}],\"title\":{\"id\":\"1041\"},\"toolbar\":{\"id\":\"1028\"},\"width\":800,\"x_range\":{\"id\":\"1005\"},\"x_scale\":{\"id\":\"1009\"},\"y_range\":{\"id\":\"1007\"},\"y_scale\":{\"id\":\"1011\"}},\"id\":\"1004\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1047\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"source\":{\"id\":\"1003\"}},\"id\":\"1040\",\"type\":\"CDSView\"},{\"attributes\":{\"data\":{\"x\":[1,2,3,4,5],\"y\":[3,7,8,5,1]},\"selected\":{\"id\":\"1050\"},\"selection_policy\":{\"id\":\"1049\"}},\"id\":\"1003\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"value\":20},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1036\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1005\",\"type\":\"DataRange1d\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1003\"},\"glyph\":{\"id\":\"1036\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1038\"},\"nonselection_glyph\":{\"id\":\"1037\"},\"view\":{\"id\":\"1040\"}},\"id\":\"1039\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1007\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1009\",\"type\":\"LinearScale\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.2},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"value\":20},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1038\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1021\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1025\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1022\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1027\"}},\"id\":\"1023\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1024\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1049\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1014\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1011\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1026\",\"type\":\"HelpTool\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1047\"},\"group\":null,\"major_label_policy\":{\"id\":\"1048\"},\"ticker\":{\"id\":\"1014\"}},\"id\":\"1013\",\"type\":\"LinearAxis\"},{\"attributes\":{\"tools\":[{\"id\":\"1021\"},{\"id\":\"1022\"},{\"id\":\"1023\"},{\"id\":\"1024\"},{\"id\":\"1025\"},{\"id\":\"1026\"}]},\"id\":\"1028\",\"type\":\"Toolbar\"},{\"attributes\":{\"axis\":{\"id\":\"1013\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1016\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1048\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1050\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1018\",\"type\":\"BasicTicker\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1044\"},\"group\":null,\"major_label_policy\":{\"id\":\"1045\"},\"ticker\":{\"id\":\"1018\"}},\"id\":\"1017\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1045\",\"type\":\"AllLabels\"},{\"attributes\":{\"axis\":{\"id\":\"1017\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1020\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1044\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1027\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.1},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"value\":20},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1037\",\"type\":\"Circle\"},{\"attributes\":{\"coordinates\":null,\"group\":null},\"id\":\"1041\",\"type\":\"Title\"}],\"root_ids\":[\"1004\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.3\"}};\n",
404
+ " const render_items = [{\"docid\":\"f2ff1428-11dc-45c8-a6f2-79485ce1fb06\",\"root_ids\":[\"1004\"],\"roots\":{\"1004\":\"20fdbc09-9517-4e64-ae3b-d5c007baac4a\"}}];\n",
405
+ " root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
406
+ " }\n",
407
+ " if (root.Bokeh !== undefined) {\n",
408
+ " embed_document(root);\n",
409
+ " } else {\n",
410
+ " let attempts = 0;\n",
411
+ " const timer = setInterval(function(root) {\n",
412
+ " if (root.Bokeh !== undefined) {\n",
413
+ " clearInterval(timer);\n",
414
+ " embed_document(root);\n",
415
+ " } else {\n",
416
+ " attempts++;\n",
417
+ " if (attempts > 100) {\n",
418
+ " clearInterval(timer);\n",
419
+ " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
420
+ " }\n",
421
+ " }\n",
422
+ " }, 10, root)\n",
423
+ " }\n",
424
+ "})(window);"
425
+ ],
426
+ "application/vnd.bokehjs_exec.v0+json": ""
427
+ },
428
+ "metadata": {
429
+ "application/vnd.bokehjs_exec.v0+json": {
430
+ "id": "1004"
431
+ }
432
+ },
433
+ "output_type": "display_data"
434
+ }
435
+ ],
436
+ "source": [
437
+ "# create a new plot using figure\n",
438
+ "p = figure(\n",
439
+ " plot_height=400,\n",
440
+ " plot_width=800,\n",
441
+ ")\n",
442
+ "\n",
443
+ "p.circle(\n",
444
+ " 'x',\n",
445
+ " 'y',\n",
446
+ " size=20,\n",
447
+ " source=source\n",
448
+ ")\n",
449
+ "\n",
450
+ "# show the results\n",
451
+ "show(p)"
452
+ ]
453
+ },
454
+ {
455
+ "cell_type": "markdown",
456
+ "metadata": {},
457
+ "source": [
458
+ "### Creating with Pandas DataFrames\n",
459
+ "\n",
460
+ "It's also simple to create `ColumnDataSource` objects directly from Pandas data frames. To do this, just pass the data frame to `ColumnDataSource` when you create it:"
461
+ ]
462
+ },
463
+ {
464
+ "cell_type": "code",
465
+ "execution_count": 6,
466
+ "metadata": {},
467
+ "outputs": [],
468
+ "source": [
469
+ "from bokeh.sampledata.iris import flowers as df\n",
470
+ "\n",
471
+ "source = ColumnDataSource(df)"
472
+ ]
473
+ },
474
+ {
475
+ "cell_type": "markdown",
476
+ "metadata": {},
477
+ "source": [
478
+ "Now we can use it as we did above by passing the column names to glyph methods:"
479
+ ]
480
+ },
481
+ {
482
+ "cell_type": "code",
483
+ "execution_count": 7,
484
+ "metadata": {},
485
+ "outputs": [
486
+ {
487
+ "data": {
488
+ "text/html": [
489
+ "\n",
490
+ " <div class=\"bk-root\" id=\"46abed4b-adeb-422d-8f25-c9019c7880ef\" data-root-id=\"1108\"></div>\n"
491
+ ]
492
+ },
493
+ "metadata": {},
494
+ "output_type": "display_data"
495
+ },
496
+ {
497
+ "data": {
498
+ "application/javascript": [
499
+ "(function(root) {\n",
500
+ " function embed_document(root) {\n",
501
+ " const docs_json = {\"8abbd304-b134-4bc2-ae99-4847ce308aad\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1117\"}],\"center\":[{\"id\":\"1120\"},{\"id\":\"1124\"}],\"height\":400,\"left\":[{\"id\":\"1121\"}],\"renderers\":[{\"id\":\"1143\"}],\"title\":{\"id\":\"1156\"},\"toolbar\":{\"id\":\"1132\"},\"width\":800,\"x_range\":{\"id\":\"1109\"},\"x_scale\":{\"id\":\"1113\"},\"y_range\":{\"id\":\"1111\"},\"y_scale\":{\"id\":\"1115\"}},\"id\":\"1108\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1111\",\"type\":\"DataRange1d\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.2},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"petal_length\"},\"y\":{\"field\":\"petal_width\"}},\"id\":\"1142\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1109\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1125\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1129\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1126\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"source\":{\"id\":\"1107\"}},\"id\":\"1144\",\"type\":\"CDSView\"},{\"attributes\":{\"overlay\":{\"id\":\"1131\"}},\"id\":\"1127\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.1},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"petal_length\"},\"y\":{\"field\":\"petal_width\"}},\"id\":\"1141\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1128\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1118\",\"type\":\"BasicTicker\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1107\"},\"glyph\":{\"id\":\"1140\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1142\"},\"nonselection_glyph\":{\"id\":\"1141\"},\"view\":{\"id\":\"1144\"}},\"id\":\"1143\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data\":{\"index\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149],\"petal_length\":{\"__ndarray__\":\"ZmZmZmZm9j9mZmZmZmb2P83MzMzMzPQ/AAAAAAAA+D9mZmZmZmb2PzMzMzMzM/s/ZmZmZmZm9j8AAAAAAAD4P2ZmZmZmZvY/AAAAAAAA+D8AAAAAAAD4P5qZmZmZmfk/ZmZmZmZm9j+amZmZmZnxPzMzMzMzM/M/AAAAAAAA+D/NzMzMzMz0P2ZmZmZmZvY/MzMzMzMz+z8AAAAAAAD4PzMzMzMzM/s/AAAAAAAA+D8AAAAAAADwPzMzMzMzM/s/ZmZmZmZm/j+amZmZmZn5P5qZmZmZmfk/AAAAAAAA+D9mZmZmZmb2P5qZmZmZmfk/mpmZmZmZ+T8AAAAAAAD4PwAAAAAAAPg/ZmZmZmZm9j8AAAAAAAD4PzMzMzMzM/M/zczMzMzM9D9mZmZmZmb2P83MzMzMzPQ/AAAAAAAA+D/NzMzMzMz0P83MzMzMzPQ/zczMzMzM9D+amZmZmZn5P2ZmZmZmZv4/ZmZmZmZm9j+amZmZmZn5P2ZmZmZmZvY/AAAAAAAA+D9mZmZmZmb2P83MzMzMzBJAAAAAAAAAEkCamZmZmZkTQAAAAAAAABBAZmZmZmZmEkAAAAAAAAASQM3MzMzMzBJAZmZmZmZmCkBmZmZmZmYSQDMzMzMzMw9AAAAAAAAADEDNzMzMzMwQQAAAAAAAABBAzczMzMzMEkDNzMzMzMwMQJqZmZmZmRFAAAAAAAAAEkBmZmZmZmYQQAAAAAAAABJAMzMzMzMzD0AzMzMzMzMTQAAAAAAAABBAmpmZmZmZE0DNzMzMzMwSQDMzMzMzMxFAmpmZmZmZEUAzMzMzMzMTQAAAAAAAABRAAAAAAAAAEkAAAAAAAAAMQGZmZmZmZg5AmpmZmZmZDUAzMzMzMzMPQGZmZmZmZhRAAAAAAAAAEkAAAAAAAAASQM3MzMzMzBJAmpmZmZmZEUBmZmZmZmYQQAAAAAAAABBAmpmZmZmZEUBmZmZmZmYSQAAAAAAAABBAZmZmZmZmCkDNzMzMzMwQQM3MzMzMzBBAzczMzMzMEEAzMzMzMzMRQAAAAAAAAAhAZmZmZmZmEEAAAAAAAAAYQGZmZmZmZhRAmpmZmZmZF0BmZmZmZmYWQDMzMzMzMxdAZmZmZmZmGkAAAAAAAAASQDMzMzMzMxlAMzMzMzMzF0BmZmZmZmYYQGZmZmZmZhRAMzMzMzMzFUAAAAAAAAAWQAAAAAAAABRAZmZmZmZmFEAzMzMzMzMVQAAAAAAAABZAzczMzMzMGkCamZmZmZkbQAAAAAAAABRAzczMzMzMFkCamZmZmZkTQM3MzMzMzBpAmpmZmZmZE0DNzMzMzMwWQAAAAAAAABhAMzMzMzMzE0CamZmZmZkTQGZmZmZmZhZAMzMzMzMzF0BmZmZmZmYYQJqZmZmZmRlAZmZmZmZmFkBmZmZmZmYUQGZmZmZmZhZAZmZmZmZmGEBmZmZmZmYWQAAAAAAAABZAMzMzMzMzE0CamZmZmZkVQGZmZmZmZhZAZmZmZmZmFEBmZmZmZmYUQJqZmZmZmRdAzczMzMzMFkDNzMzMzMwUQAAAAAAAABRAzczMzMzMFECamZmZmZkVQGZmZmZmZhRA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[150]},\"petal_width\":{\"__ndarray__\":\"mpmZmZmZyT+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZnJP5qZmZmZmdk/MzMzMzMz0z+amZmZmZnJP5qZmZmZmck/mpmZmZmZuT+amZmZmZnJP5qZmZmZmck/mpmZmZmZuT+amZmZmZm5P5qZmZmZmck/mpmZmZmZ2T+amZmZmZnZPzMzMzMzM9M/MzMzMzMz0z8zMzMzMzPTP5qZmZmZmck/mpmZmZmZ2T+amZmZmZnJPwAAAAAAAOA/mpmZmZmZyT+amZmZmZnJP5qZmZmZmdk/mpmZmZmZyT+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZnZP5qZmZmZmbk/mpmZmZmZyT+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZm5P5qZmZmZmck/mpmZmZmZyT8zMzMzMzPTPzMzMzMzM9M/mpmZmZmZyT8zMzMzMzPjP5qZmZmZmdk/MzMzMzMz0z+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZnJP2ZmZmZmZvY/AAAAAAAA+D8AAAAAAAD4P83MzMzMzPQ/AAAAAAAA+D/NzMzMzMz0P5qZmZmZmfk/AAAAAAAA8D/NzMzMzMz0P2ZmZmZmZvY/AAAAAAAA8D8AAAAAAAD4PwAAAAAAAPA/ZmZmZmZm9j/NzMzMzMz0P2ZmZmZmZvY/AAAAAAAA+D8AAAAAAADwPwAAAAAAAPg/mpmZmZmZ8T/NzMzMzMz8P83MzMzMzPQ/AAAAAAAA+D8zMzMzMzPzP83MzMzMzPQ/ZmZmZmZm9j9mZmZmZmb2PzMzMzMzM/s/AAAAAAAA+D8AAAAAAADwP5qZmZmZmfE/AAAAAAAA8D8zMzMzMzPzP5qZmZmZmfk/AAAAAAAA+D+amZmZmZn5PwAAAAAAAPg/zczMzMzM9D/NzMzMzMz0P83MzMzMzPQ/MzMzMzMz8z9mZmZmZmb2PzMzMzMzM/M/AAAAAAAA8D/NzMzMzMz0PzMzMzMzM/M/zczMzMzM9D/NzMzMzMz0P5qZmZmZmfE/zczMzMzM9D8AAAAAAAAEQGZmZmZmZv4/zczMzMzMAEDNzMzMzMz8P5qZmZmZmQFAzczMzMzMAEAzMzMzMzP7P83MzMzMzPw/zczMzMzM/D8AAAAAAAAEQAAAAAAAAABAZmZmZmZm/j/NzMzMzMwAQAAAAAAAAABAMzMzMzMzA0BmZmZmZmYCQM3MzMzMzPw/mpmZmZmZAUBmZmZmZmYCQAAAAAAAAPg/ZmZmZmZmAkAAAAAAAAAAQAAAAAAAAABAzczMzMzM/D/NzMzMzMwAQM3MzMzMzPw/zczMzMzM/D/NzMzMzMz8P83MzMzMzABAmpmZmZmZ+T9mZmZmZmb+PwAAAAAAAABAmpmZmZmZAUAAAAAAAAD4P2ZmZmZmZvY/ZmZmZmZmAkAzMzMzMzMDQM3MzMzMzPw/zczMzMzM/D/NzMzMzMwAQDMzMzMzMwNAZmZmZmZmAkBmZmZmZmb+P2ZmZmZmZgJAAAAAAAAABEBmZmZmZmYCQGZmZmZmZv4/AAAAAAAAAEBmZmZmZmYCQM3MzMzMzPw/\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[150]},\"sepal_length\":{\"__ndarray__\":\"ZmZmZmZmFECamZmZmZkTQM3MzMzMzBJAZmZmZmZmEkAAAAAAAAAUQJqZmZmZmRVAZmZmZmZmEkAAAAAAAAAUQJqZmZmZmRFAmpmZmZmZE0CamZmZmZkVQDMzMzMzMxNAMzMzMzMzE0AzMzMzMzMRQDMzMzMzMxdAzczMzMzMFkCamZmZmZkVQGZmZmZmZhRAzczMzMzMFkBmZmZmZmYUQJqZmZmZmRVAZmZmZmZmFEBmZmZmZmYSQGZmZmZmZhRAMzMzMzMzE0AAAAAAAAAUQAAAAAAAABRAzczMzMzMFEDNzMzMzMwUQM3MzMzMzBJAMzMzMzMzE0CamZmZmZkVQM3MzMzMzBRAAAAAAAAAFkCamZmZmZkTQAAAAAAAABRAAAAAAAAAFkCamZmZmZkTQJqZmZmZmRFAZmZmZmZmFEAAAAAAAAAUQAAAAAAAABJAmpmZmZmZEUAAAAAAAAAUQGZmZmZmZhRAMzMzMzMzE0BmZmZmZmYUQGZmZmZmZhJAMzMzMzMzFUAAAAAAAAAUQAAAAAAAABxAmpmZmZmZGUCamZmZmZkbQAAAAAAAABZAAAAAAAAAGkDNzMzMzMwWQDMzMzMzMxlAmpmZmZmZE0BmZmZmZmYaQM3MzMzMzBRAAAAAAAAAFECamZmZmZkXQAAAAAAAABhAZmZmZmZmGEBmZmZmZmYWQM3MzMzMzBpAZmZmZmZmFkAzMzMzMzMXQM3MzMzMzBhAZmZmZmZmFkCamZmZmZkXQGZmZmZmZhhAMzMzMzMzGUBmZmZmZmYYQJqZmZmZmRlAZmZmZmZmGkAzMzMzMzMbQM3MzMzMzBpAAAAAAAAAGEDNzMzMzMwWQAAAAAAAABZAAAAAAAAAFkAzMzMzMzMXQAAAAAAAABhAmpmZmZmZFUAAAAAAAAAYQM3MzMzMzBpAMzMzMzMzGUBmZmZmZmYWQAAAAAAAABZAAAAAAAAAFkBmZmZmZmYYQDMzMzMzMxdAAAAAAAAAFEBmZmZmZmYWQM3MzMzMzBZAzczMzMzMFkDNzMzMzMwYQGZmZmZmZhRAzczMzMzMFkAzMzMzMzMZQDMzMzMzMxdAZmZmZmZmHEAzMzMzMzMZQAAAAAAAABpAZmZmZmZmHkCamZmZmZkTQDMzMzMzMx1AzczMzMzMGkDNzMzMzMwcQAAAAAAAABpAmpmZmZmZGUAzMzMzMzMbQM3MzMzMzBZAMzMzMzMzF0CamZmZmZkZQAAAAAAAABpAzczMzMzMHkDNzMzMzMweQAAAAAAAABhAmpmZmZmZG0BmZmZmZmYWQM3MzMzMzB5AMzMzMzMzGUDNzMzMzMwaQM3MzMzMzBxAzczMzMzMGEBmZmZmZmYYQJqZmZmZmRlAzczMzMzMHECamZmZmZkdQJqZmZmZmR9AmpmZmZmZGUAzMzMzMzMZQGZmZmZmZhhAzczMzMzMHkAzMzMzMzMZQJqZmZmZmRlAAAAAAAAAGECamZmZmZkbQM3MzMzMzBpAmpmZmZmZG0AzMzMzMzMXQDMzMzMzMxtAzczMzMzMGkDNzMzMzMwaQDMzMzMzMxlAAAAAAAAAGkDNzMzMzMwYQJqZmZmZmRdA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[150]},\"sepal_width\":{\"__ndarray__\":\"AAAAAAAADEAAAAAAAAAIQJqZmZmZmQlAzczMzMzMCEDNzMzMzMwMQDMzMzMzMw9AMzMzMzMzC0AzMzMzMzMLQDMzMzMzMwdAzczMzMzMCECamZmZmZkNQDMzMzMzMwtAAAAAAAAACEAAAAAAAAAIQAAAAAAAABBAmpmZmZmZEUAzMzMzMzMPQAAAAAAAAAxAZmZmZmZmDkBmZmZmZmYOQDMzMzMzMwtAmpmZmZmZDUDNzMzMzMwMQGZmZmZmZgpAMzMzMzMzC0AAAAAAAAAIQDMzMzMzMwtAAAAAAAAADEAzMzMzMzMLQJqZmZmZmQlAzczMzMzMCEAzMzMzMzMLQGZmZmZmZhBAzczMzMzMEEDNzMzMzMwIQJqZmZmZmQlAAAAAAAAADEDNzMzMzMwMQAAAAAAAAAhAMzMzMzMzC0AAAAAAAAAMQGZmZmZmZgJAmpmZmZmZCUAAAAAAAAAMQGZmZmZmZg5AAAAAAAAACEBmZmZmZmYOQJqZmZmZmQlAmpmZmZmZDUBmZmZmZmYKQJqZmZmZmQlAmpmZmZmZCUDNzMzMzMwIQGZmZmZmZgJAZmZmZmZmBkBmZmZmZmYGQGZmZmZmZgpAMzMzMzMzA0AzMzMzMzMHQJqZmZmZmQVAAAAAAAAAAEAAAAAAAAAIQJqZmZmZmQFAMzMzMzMzB0AzMzMzMzMHQM3MzMzMzAhAAAAAAAAACECamZmZmZkFQJqZmZmZmQFAAAAAAAAABECamZmZmZkJQGZmZmZmZgZAAAAAAAAABEBmZmZmZmYGQDMzMzMzMwdAAAAAAAAACEBmZmZmZmYGQAAAAAAAAAhAMzMzMzMzB0DNzMzMzMwEQDMzMzMzMwNAMzMzMzMzA0CamZmZmZkFQJqZmZmZmQVAAAAAAAAACEAzMzMzMzMLQM3MzMzMzAhAZmZmZmZmAkAAAAAAAAAIQAAAAAAAAARAzczMzMzMBEAAAAAAAAAIQM3MzMzMzARAZmZmZmZmAkCamZmZmZkFQAAAAAAAAAhAMzMzMzMzB0AzMzMzMzMHQAAAAAAAAARAZmZmZmZmBkBmZmZmZmYKQJqZmZmZmQVAAAAAAAAACEAzMzMzMzMHQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAEQDMzMzMzMwdAAAAAAAAABEDNzMzMzMwMQJqZmZmZmQlAmpmZmZmZBUAAAAAAAAAIQAAAAAAAAARAZmZmZmZmBkCamZmZmZkJQAAAAAAAAAhAZmZmZmZmDkDNzMzMzMwEQJqZmZmZmQFAmpmZmZmZCUBmZmZmZmYGQGZmZmZmZgZAmpmZmZmZBUBmZmZmZmYKQJqZmZmZmQlAZmZmZmZmBkAAAAAAAAAIQGZmZmZmZgZAAAAAAAAACEBmZmZmZmYGQGZmZmZmZg5AZmZmZmZmBkBmZmZmZmYGQM3MzMzMzARAAAAAAAAACEAzMzMzMzMLQM3MzMzMzAhAAAAAAAAACEDNzMzMzMwIQM3MzMzMzAhAzczMzMzMCECamZmZmZkFQJqZmZmZmQlAZmZmZmZmCkAAAAAAAAAIQAAAAAAAAARAAAAAAAAACEAzMzMzMzMLQAAAAAAAAAhA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[150]},\"species\":[\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\"]},\"selected\":{\"id\":\"1165\"},\"selection_policy\":{\"id\":\"1164\"}},\"id\":\"1107\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1113\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1115\",\"type\":\"LinearScale\"},{\"attributes\":{\"coordinates\":null,\"group\":null},\"id\":\"1156\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1130\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1159\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1162\"},\"group\":null,\"major_label_policy\":{\"id\":\"1163\"},\"ticker\":{\"id\":\"1118\"}},\"id\":\"1117\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1162\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"tools\":[{\"id\":\"1125\"},{\"id\":\"1126\"},{\"id\":\"1127\"},{\"id\":\"1128\"},{\"id\":\"1129\"},{\"id\":\"1130\"}]},\"id\":\"1132\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1160\",\"type\":\"AllLabels\"},{\"attributes\":{\"axis\":{\"id\":\"1117\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1120\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1163\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1122\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1164\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1131\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1159\"},\"group\":null,\"major_label_policy\":{\"id\":\"1160\"},\"ticker\":{\"id\":\"1122\"}},\"id\":\"1121\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1165\",\"type\":\"Selection\"},{\"attributes\":{\"axis\":{\"id\":\"1121\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1124\",\"type\":\"Grid\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"petal_length\"},\"y\":{\"field\":\"petal_width\"}},\"id\":\"1140\",\"type\":\"Circle\"}],\"root_ids\":[\"1108\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.3\"}};\n",
502
+ " const render_items = [{\"docid\":\"8abbd304-b134-4bc2-ae99-4847ce308aad\",\"root_ids\":[\"1108\"],\"roots\":{\"1108\":\"46abed4b-adeb-422d-8f25-c9019c7880ef\"}}];\n",
503
+ " root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
504
+ " }\n",
505
+ " if (root.Bokeh !== undefined) {\n",
506
+ " embed_document(root);\n",
507
+ " } else {\n",
508
+ " let attempts = 0;\n",
509
+ " const timer = setInterval(function(root) {\n",
510
+ " if (root.Bokeh !== undefined) {\n",
511
+ " clearInterval(timer);\n",
512
+ " embed_document(root);\n",
513
+ " } else {\n",
514
+ " attempts++;\n",
515
+ " if (attempts > 100) {\n",
516
+ " clearInterval(timer);\n",
517
+ " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
518
+ " }\n",
519
+ " }\n",
520
+ " }, 10, root)\n",
521
+ " }\n",
522
+ "})(window);"
523
+ ],
524
+ "application/vnd.bokehjs_exec.v0+json": ""
525
+ },
526
+ "metadata": {
527
+ "application/vnd.bokehjs_exec.v0+json": {
528
+ "id": "1108"
529
+ }
530
+ },
531
+ "output_type": "display_data"
532
+ }
533
+ ],
534
+ "source": [
535
+ "# create a new plot using figure\n",
536
+ "p = figure(\n",
537
+ " plot_height=400,\n",
538
+ " plot_width=800,\n",
539
+ ")\n",
540
+ "\n",
541
+ "p.circle(\n",
542
+ " 'petal_length',\n",
543
+ " 'petal_width',\n",
544
+ " source=source)\n",
545
+ "\n",
546
+ "# show the results\n",
547
+ "show(p)"
548
+ ]
549
+ },
550
+ {
551
+ "cell_type": "markdown",
552
+ "metadata": {},
553
+ "source": [
554
+ "### Automatic Conversion\n",
555
+ "\n",
556
+ "If you do not need to share data sources, it may be convenient to pass dicts, Pandas `DataFrame` or `GroupBy` objects directly to glhyph methods, without explicitly creating a `ColumnDataSource`. In this case, a `ColumnDataSource` will be created automatically."
557
+ ]
558
+ },
559
+ {
560
+ "cell_type": "code",
561
+ "execution_count": 8,
562
+ "metadata": {},
563
+ "outputs": [
564
+ {
565
+ "data": {
566
+ "text/html": [
567
+ "\n",
568
+ " <div class=\"bk-root\" id=\"02e7d99b-93f1-450e-acf2-922cd99f9f65\" data-root-id=\"1222\"></div>\n"
569
+ ]
570
+ },
571
+ "metadata": {},
572
+ "output_type": "display_data"
573
+ },
574
+ {
575
+ "data": {
576
+ "application/javascript": [
577
+ "(function(root) {\n",
578
+ " function embed_document(root) {\n",
579
+ " const docs_json = {\"1741e253-9ab8-4ec2-a876-3d5f73e6f0be\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1231\"}],\"center\":[{\"id\":\"1234\"},{\"id\":\"1238\"}],\"height\":400,\"left\":[{\"id\":\"1235\"}],\"renderers\":[{\"id\":\"1258\"}],\"title\":{\"id\":\"1282\"},\"toolbar\":{\"id\":\"1246\"},\"width\":800,\"x_range\":{\"id\":\"1223\"},\"x_scale\":{\"id\":\"1227\"},\"y_range\":{\"id\":\"1225\"},\"y_scale\":{\"id\":\"1229\"}},\"id\":\"1222\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1243\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1242\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1288\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"coordinates\":null,\"group\":null},\"id\":\"1282\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1286\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1244\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1285\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1232\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1289\",\"type\":\"AllLabels\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1253\"},\"glyph\":{\"id\":\"1255\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1257\"},\"nonselection_glyph\":{\"id\":\"1256\"},\"view\":{\"id\":\"1259\"}},\"id\":\"1258\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1227\",\"type\":\"LinearScale\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1288\"},\"group\":null,\"major_label_policy\":{\"id\":\"1289\"},\"ticker\":{\"id\":\"1232\"}},\"id\":\"1231\",\"type\":\"LinearAxis\"},{\"attributes\":{\"source\":{\"id\":\"1253\"}},\"id\":\"1259\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1229\",\"type\":\"LinearScale\"},{\"attributes\":{\"tools\":[{\"id\":\"1239\"},{\"id\":\"1240\"},{\"id\":\"1241\"},{\"id\":\"1242\"},{\"id\":\"1243\"},{\"id\":\"1244\"}]},\"id\":\"1246\",\"type\":\"Toolbar\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.1},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"petal_length\"},\"y\":{\"field\":\"petal_width\"}},\"id\":\"1256\",\"type\":\"Circle\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1245\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1285\"},\"group\":null,\"major_label_policy\":{\"id\":\"1286\"},\"ticker\":{\"id\":\"1236\"}},\"id\":\"1235\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis\":{\"id\":\"1231\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1234\",\"type\":\"Grid\"},{\"attributes\":{\"overlay\":{\"id\":\"1245\"}},\"id\":\"1241\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.2},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"petal_length\"},\"y\":{\"field\":\"petal_width\"}},\"id\":\"1257\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1236\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1240\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"axis\":{\"id\":\"1235\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1238\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1291\",\"type\":\"Selection\"},{\"attributes\":{\"data\":{\"index\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149],\"petal_length\":{\"__ndarray__\":\"ZmZmZmZm9j9mZmZmZmb2P83MzMzMzPQ/AAAAAAAA+D9mZmZmZmb2PzMzMzMzM/s/ZmZmZmZm9j8AAAAAAAD4P2ZmZmZmZvY/AAAAAAAA+D8AAAAAAAD4P5qZmZmZmfk/ZmZmZmZm9j+amZmZmZnxPzMzMzMzM/M/AAAAAAAA+D/NzMzMzMz0P2ZmZmZmZvY/MzMzMzMz+z8AAAAAAAD4PzMzMzMzM/s/AAAAAAAA+D8AAAAAAADwPzMzMzMzM/s/ZmZmZmZm/j+amZmZmZn5P5qZmZmZmfk/AAAAAAAA+D9mZmZmZmb2P5qZmZmZmfk/mpmZmZmZ+T8AAAAAAAD4PwAAAAAAAPg/ZmZmZmZm9j8AAAAAAAD4PzMzMzMzM/M/zczMzMzM9D9mZmZmZmb2P83MzMzMzPQ/AAAAAAAA+D/NzMzMzMz0P83MzMzMzPQ/zczMzMzM9D+amZmZmZn5P2ZmZmZmZv4/ZmZmZmZm9j+amZmZmZn5P2ZmZmZmZvY/AAAAAAAA+D9mZmZmZmb2P83MzMzMzBJAAAAAAAAAEkCamZmZmZkTQAAAAAAAABBAZmZmZmZmEkAAAAAAAAASQM3MzMzMzBJAZmZmZmZmCkBmZmZmZmYSQDMzMzMzMw9AAAAAAAAADEDNzMzMzMwQQAAAAAAAABBAzczMzMzMEkDNzMzMzMwMQJqZmZmZmRFAAAAAAAAAEkBmZmZmZmYQQAAAAAAAABJAMzMzMzMzD0AzMzMzMzMTQAAAAAAAABBAmpmZmZmZE0DNzMzMzMwSQDMzMzMzMxFAmpmZmZmZEUAzMzMzMzMTQAAAAAAAABRAAAAAAAAAEkAAAAAAAAAMQGZmZmZmZg5AmpmZmZmZDUAzMzMzMzMPQGZmZmZmZhRAAAAAAAAAEkAAAAAAAAASQM3MzMzMzBJAmpmZmZmZEUBmZmZmZmYQQAAAAAAAABBAmpmZmZmZEUBmZmZmZmYSQAAAAAAAABBAZmZmZmZmCkDNzMzMzMwQQM3MzMzMzBBAzczMzMzMEEAzMzMzMzMRQAAAAAAAAAhAZmZmZmZmEEAAAAAAAAAYQGZmZmZmZhRAmpmZmZmZF0BmZmZmZmYWQDMzMzMzMxdAZmZmZmZmGkAAAAAAAAASQDMzMzMzMxlAMzMzMzMzF0BmZmZmZmYYQGZmZmZmZhRAMzMzMzMzFUAAAAAAAAAWQAAAAAAAABRAZmZmZmZmFEAzMzMzMzMVQAAAAAAAABZAzczMzMzMGkCamZmZmZkbQAAAAAAAABRAzczMzMzMFkCamZmZmZkTQM3MzMzMzBpAmpmZmZmZE0DNzMzMzMwWQAAAAAAAABhAMzMzMzMzE0CamZmZmZkTQGZmZmZmZhZAMzMzMzMzF0BmZmZmZmYYQJqZmZmZmRlAZmZmZmZmFkBmZmZmZmYUQGZmZmZmZhZAZmZmZmZmGEBmZmZmZmYWQAAAAAAAABZAMzMzMzMzE0CamZmZmZkVQGZmZmZmZhZAZmZmZmZmFEBmZmZmZmYUQJqZmZmZmRdAzczMzMzMFkDNzMzMzMwUQAAAAAAAABRAzczMzMzMFECamZmZmZkVQGZmZmZmZhRA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[150]},\"petal_width\":{\"__ndarray__\":\"mpmZmZmZyT+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZnJP5qZmZmZmdk/MzMzMzMz0z+amZmZmZnJP5qZmZmZmck/mpmZmZmZuT+amZmZmZnJP5qZmZmZmck/mpmZmZmZuT+amZmZmZm5P5qZmZmZmck/mpmZmZmZ2T+amZmZmZnZPzMzMzMzM9M/MzMzMzMz0z8zMzMzMzPTP5qZmZmZmck/mpmZmZmZ2T+amZmZmZnJPwAAAAAAAOA/mpmZmZmZyT+amZmZmZnJP5qZmZmZmdk/mpmZmZmZyT+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZnZP5qZmZmZmbk/mpmZmZmZyT+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZm5P5qZmZmZmck/mpmZmZmZyT8zMzMzMzPTPzMzMzMzM9M/mpmZmZmZyT8zMzMzMzPjP5qZmZmZmdk/MzMzMzMz0z+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZnJP2ZmZmZmZvY/AAAAAAAA+D8AAAAAAAD4P83MzMzMzPQ/AAAAAAAA+D/NzMzMzMz0P5qZmZmZmfk/AAAAAAAA8D/NzMzMzMz0P2ZmZmZmZvY/AAAAAAAA8D8AAAAAAAD4PwAAAAAAAPA/ZmZmZmZm9j/NzMzMzMz0P2ZmZmZmZvY/AAAAAAAA+D8AAAAAAADwPwAAAAAAAPg/mpmZmZmZ8T/NzMzMzMz8P83MzMzMzPQ/AAAAAAAA+D8zMzMzMzPzP83MzMzMzPQ/ZmZmZmZm9j9mZmZmZmb2PzMzMzMzM/s/AAAAAAAA+D8AAAAAAADwP5qZmZmZmfE/AAAAAAAA8D8zMzMzMzPzP5qZmZmZmfk/AAAAAAAA+D+amZmZmZn5PwAAAAAAAPg/zczMzMzM9D/NzMzMzMz0P83MzMzMzPQ/MzMzMzMz8z9mZmZmZmb2PzMzMzMzM/M/AAAAAAAA8D/NzMzMzMz0PzMzMzMzM/M/zczMzMzM9D/NzMzMzMz0P5qZmZmZmfE/zczMzMzM9D8AAAAAAAAEQGZmZmZmZv4/zczMzMzMAEDNzMzMzMz8P5qZmZmZmQFAzczMzMzMAEAzMzMzMzP7P83MzMzMzPw/zczMzMzM/D8AAAAAAAAEQAAAAAAAAABAZmZmZmZm/j/NzMzMzMwAQAAAAAAAAABAMzMzMzMzA0BmZmZmZmYCQM3MzMzMzPw/mpmZmZmZAUBmZmZmZmYCQAAAAAAAAPg/ZmZmZmZmAkAAAAAAAAAAQAAAAAAAAABAzczMzMzM/D/NzMzMzMwAQM3MzMzMzPw/zczMzMzM/D/NzMzMzMz8P83MzMzMzABAmpmZmZmZ+T9mZmZmZmb+PwAAAAAAAABAmpmZmZmZAUAAAAAAAAD4P2ZmZmZmZvY/ZmZmZmZmAkAzMzMzMzMDQM3MzMzMzPw/zczMzMzM/D/NzMzMzMwAQDMzMzMzMwNAZmZmZmZmAkBmZmZmZmb+P2ZmZmZmZgJAAAAAAAAABEBmZmZmZmYCQGZmZmZmZv4/AAAAAAAAAEBmZmZmZmYCQM3MzMzMzPw/\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[150]},\"sepal_length\":{\"__ndarray__\":\"ZmZmZmZmFECamZmZmZkTQM3MzMzMzBJAZmZmZmZmEkAAAAAAAAAUQJqZmZmZmRVAZmZmZmZmEkAAAAAAAAAUQJqZmZmZmRFAmpmZmZmZE0CamZmZmZkVQDMzMzMzMxNAMzMzMzMzE0AzMzMzMzMRQDMzMzMzMxdAzczMzMzMFkCamZmZmZkVQGZmZmZmZhRAzczMzMzMFkBmZmZmZmYUQJqZmZmZmRVAZmZmZmZmFEBmZmZmZmYSQGZmZmZmZhRAMzMzMzMzE0AAAAAAAAAUQAAAAAAAABRAzczMzMzMFEDNzMzMzMwUQM3MzMzMzBJAMzMzMzMzE0CamZmZmZkVQM3MzMzMzBRAAAAAAAAAFkCamZmZmZkTQAAAAAAAABRAAAAAAAAAFkCamZmZmZkTQJqZmZmZmRFAZmZmZmZmFEAAAAAAAAAUQAAAAAAAABJAmpmZmZmZEUAAAAAAAAAUQGZmZmZmZhRAMzMzMzMzE0BmZmZmZmYUQGZmZmZmZhJAMzMzMzMzFUAAAAAAAAAUQAAAAAAAABxAmpmZmZmZGUCamZmZmZkbQAAAAAAAABZAAAAAAAAAGkDNzMzMzMwWQDMzMzMzMxlAmpmZmZmZE0BmZmZmZmYaQM3MzMzMzBRAAAAAAAAAFECamZmZmZkXQAAAAAAAABhAZmZmZmZmGEBmZmZmZmYWQM3MzMzMzBpAZmZmZmZmFkAzMzMzMzMXQM3MzMzMzBhAZmZmZmZmFkCamZmZmZkXQGZmZmZmZhhAMzMzMzMzGUBmZmZmZmYYQJqZmZmZmRlAZmZmZmZmGkAzMzMzMzMbQM3MzMzMzBpAAAAAAAAAGEDNzMzMzMwWQAAAAAAAABZAAAAAAAAAFkAzMzMzMzMXQAAAAAAAABhAmpmZmZmZFUAAAAAAAAAYQM3MzMzMzBpAMzMzMzMzGUBmZmZmZmYWQAAAAAAAABZAAAAAAAAAFkBmZmZmZmYYQDMzMzMzMxdAAAAAAAAAFEBmZmZmZmYWQM3MzMzMzBZAzczMzMzMFkDNzMzMzMwYQGZmZmZmZhRAzczMzMzMFkAzMzMzMzMZQDMzMzMzMxdAZmZmZmZmHEAzMzMzMzMZQAAAAAAAABpAZmZmZmZmHkCamZmZmZkTQDMzMzMzMx1AzczMzMzMGkDNzMzMzMwcQAAAAAAAABpAmpmZmZmZGUAzMzMzMzMbQM3MzMzMzBZAMzMzMzMzF0CamZmZmZkZQAAAAAAAABpAzczMzMzMHkDNzMzMzMweQAAAAAAAABhAmpmZmZmZG0BmZmZmZmYWQM3MzMzMzB5AMzMzMzMzGUDNzMzMzMwaQM3MzMzMzBxAzczMzMzMGEBmZmZmZmYYQJqZmZmZmRlAzczMzMzMHECamZmZmZkdQJqZmZmZmR9AmpmZmZmZGUAzMzMzMzMZQGZmZmZmZhhAzczMzMzMHkAzMzMzMzMZQJqZmZmZmRlAAAAAAAAAGECamZmZmZkbQM3MzMzMzBpAmpmZmZmZG0AzMzMzMzMXQDMzMzMzMxtAzczMzMzMGkDNzMzMzMwaQDMzMzMzMxlAAAAAAAAAGkDNzMzMzMwYQJqZmZmZmRdA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[150]},\"sepal_width\":{\"__ndarray__\":\"AAAAAAAADEAAAAAAAAAIQJqZmZmZmQlAzczMzMzMCEDNzMzMzMwMQDMzMzMzMw9AMzMzMzMzC0AzMzMzMzMLQDMzMzMzMwdAzczMzMzMCECamZmZmZkNQDMzMzMzMwtAAAAAAAAACEAAAAAAAAAIQAAAAAAAABBAmpmZmZmZEUAzMzMzMzMPQAAAAAAAAAxAZmZmZmZmDkBmZmZmZmYOQDMzMzMzMwtAmpmZmZmZDUDNzMzMzMwMQGZmZmZmZgpAMzMzMzMzC0AAAAAAAAAIQDMzMzMzMwtAAAAAAAAADEAzMzMzMzMLQJqZmZmZmQlAzczMzMzMCEAzMzMzMzMLQGZmZmZmZhBAzczMzMzMEEDNzMzMzMwIQJqZmZmZmQlAAAAAAAAADEDNzMzMzMwMQAAAAAAAAAhAMzMzMzMzC0AAAAAAAAAMQGZmZmZmZgJAmpmZmZmZCUAAAAAAAAAMQGZmZmZmZg5AAAAAAAAACEBmZmZmZmYOQJqZmZmZmQlAmpmZmZmZDUBmZmZmZmYKQJqZmZmZmQlAmpmZmZmZCUDNzMzMzMwIQGZmZmZmZgJAZmZmZmZmBkBmZmZmZmYGQGZmZmZmZgpAMzMzMzMzA0AzMzMzMzMHQJqZmZmZmQVAAAAAAAAAAEAAAAAAAAAIQJqZmZmZmQFAMzMzMzMzB0AzMzMzMzMHQM3MzMzMzAhAAAAAAAAACECamZmZmZkFQJqZmZmZmQFAAAAAAAAABECamZmZmZkJQGZmZmZmZgZAAAAAAAAABEBmZmZmZmYGQDMzMzMzMwdAAAAAAAAACEBmZmZmZmYGQAAAAAAAAAhAMzMzMzMzB0DNzMzMzMwEQDMzMzMzMwNAMzMzMzMzA0CamZmZmZkFQJqZmZmZmQVAAAAAAAAACEAzMzMzMzMLQM3MzMzMzAhAZmZmZmZmAkAAAAAAAAAIQAAAAAAAAARAzczMzMzMBEAAAAAAAAAIQM3MzMzMzARAZmZmZmZmAkCamZmZmZkFQAAAAAAAAAhAMzMzMzMzB0AzMzMzMzMHQAAAAAAAAARAZmZmZmZmBkBmZmZmZmYKQJqZmZmZmQVAAAAAAAAACEAzMzMzMzMHQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAEQDMzMzMzMwdAAAAAAAAABEDNzMzMzMwMQJqZmZmZmQlAmpmZmZmZBUAAAAAAAAAIQAAAAAAAAARAZmZmZmZmBkCamZmZmZkJQAAAAAAAAAhAZmZmZmZmDkDNzMzMzMwEQJqZmZmZmQFAmpmZmZmZCUBmZmZmZmYGQGZmZmZmZgZAmpmZmZmZBUBmZmZmZmYKQJqZmZmZmQlAZmZmZmZmBkAAAAAAAAAIQGZmZmZmZgZAAAAAAAAACEBmZmZmZmYGQGZmZmZmZg5AZmZmZmZmBkBmZmZmZmYGQM3MzMzMzARAAAAAAAAACEAzMzMzMzMLQM3MzMzMzAhAAAAAAAAACEDNzMzMzMwIQM3MzMzMzAhAzczMzMzMCECamZmZmZkFQJqZmZmZmQlAZmZmZmZmCkAAAAAAAAAIQAAAAAAAAARAAAAAAAAACEAzMzMzMzMLQAAAAAAAAAhA\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[150]},\"species\":[\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\"]},\"selected\":{\"id\":\"1291\"},\"selection_policy\":{\"id\":\"1290\"}},\"id\":\"1253\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1223\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1225\",\"type\":\"DataRange1d\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"petal_length\"},\"y\":{\"field\":\"petal_width\"}},\"id\":\"1255\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1290\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1239\",\"type\":\"PanTool\"}],\"root_ids\":[\"1222\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.3\"}};\n",
580
+ " const render_items = [{\"docid\":\"1741e253-9ab8-4ec2-a876-3d5f73e6f0be\",\"root_ids\":[\"1222\"],\"roots\":{\"1222\":\"02e7d99b-93f1-450e-acf2-922cd99f9f65\"}}];\n",
581
+ " root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
582
+ " }\n",
583
+ " if (root.Bokeh !== undefined) {\n",
584
+ " embed_document(root);\n",
585
+ " } else {\n",
586
+ " let attempts = 0;\n",
587
+ " const timer = setInterval(function(root) {\n",
588
+ " if (root.Bokeh !== undefined) {\n",
589
+ " clearInterval(timer);\n",
590
+ " embed_document(root);\n",
591
+ " } else {\n",
592
+ " attempts++;\n",
593
+ " if (attempts > 100) {\n",
594
+ " clearInterval(timer);\n",
595
+ " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
596
+ " }\n",
597
+ " }\n",
598
+ " }, 10, root)\n",
599
+ " }\n",
600
+ "})(window);"
601
+ ],
602
+ "application/vnd.bokehjs_exec.v0+json": ""
603
+ },
604
+ "metadata": {
605
+ "application/vnd.bokehjs_exec.v0+json": {
606
+ "id": "1222"
607
+ }
608
+ },
609
+ "output_type": "display_data"
610
+ }
611
+ ],
612
+ "source": [
613
+ "from bokeh.sampledata.iris import flowers as df\n",
614
+ "\n",
615
+ "# create a new plot using figure\n",
616
+ "p = figure(\n",
617
+ " plot_height=400,\n",
618
+ " plot_width=800,\n",
619
+ ")\n",
620
+ "\n",
621
+ "p.circle('petal_length', 'petal_width', source=df)\n",
622
+ "\n",
623
+ "# show the results\n",
624
+ "show(p)"
625
+ ]
626
+ },
627
+ {
628
+ "cell_type": "markdown",
629
+ "metadata": {},
630
+ "source": [
631
+ "### Transformations\n",
632
+ "\n",
633
+ "In addition to being configured with names of columns from data sources, glyph properties may also be configured with transform objects that represent transformations of columns. These live in the `bokeh.transform` module. It is important to note that when doing using these objects, the tranformations occur *in the browser, not in Python*. \n",
634
+ "\n",
635
+ "The first transform we look at is the `cumsum` transform, which can generate a new sequence of values from a data source column by cumulatively summing the values in the column. This can be usefull for pie or donut type charts as seen below."
636
+ ]
637
+ },
638
+ {
639
+ "cell_type": "code",
640
+ "execution_count": 9,
641
+ "metadata": {},
642
+ "outputs": [
643
+ {
644
+ "data": {
645
+ "text/html": [
646
+ "\n",
647
+ " <div class=\"bk-root\" id=\"e0749731-6e34-4e85-b63a-96e7a7297a05\" data-root-id=\"1348\"></div>\n"
648
+ ]
649
+ },
650
+ "metadata": {},
651
+ "output_type": "display_data"
652
+ },
653
+ {
654
+ "data": {
655
+ "application/javascript": [
656
+ "(function(root) {\n",
657
+ " function embed_document(root) {\n",
658
+ " const docs_json = {\"1be8c005-896e-4d37-90f0-5750b4f25588\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1359\"}],\"center\":[{\"id\":\"1362\"},{\"id\":\"1366\"},{\"id\":\"1388\"}],\"height\":400,\"left\":[{\"id\":\"1363\"}],\"renderers\":[{\"id\":\"1377\"}],\"title\":{\"id\":\"1349\"},\"toolbar\":{\"id\":\"1368\"},\"toolbar_location\":null,\"width\":800,\"x_range\":{\"id\":\"1351\"},\"x_scale\":{\"id\":\"1355\"},\"y_range\":{\"id\":\"1353\"},\"y_scale\":{\"id\":\"1357\"}},\"id\":\"1348\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1357\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1351\",\"type\":\"DataRange1d\"},{\"attributes\":{\"end_angle\":{\"expr\":{\"id\":\"1371\"}},\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"field\":\"color\"},\"hatch_alpha\":{\"value\":0.1},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"white\"},\"radius\":{\"value\":0.4},\"start_angle\":{\"expr\":{\"id\":\"1370\"}},\"x\":{\"value\":0},\"y\":{\"value\":1}},\"id\":\"1375\",\"type\":\"Wedge\"},{\"attributes\":{},\"id\":\"1385\",\"type\":\"AllLabels\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1384\"},\"group\":null,\"major_label_policy\":{\"id\":\"1385\"},\"ticker\":{\"id\":\"1360\"},\"visible\":false},\"id\":\"1359\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1387\",\"type\":\"Selection\"},{\"attributes\":{\"axis\":{\"id\":\"1359\"},\"coordinates\":null,\"grid_line_color\":null,\"group\":null,\"ticker\":null},\"id\":\"1362\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1364\",\"type\":\"BasicTicker\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1381\"},\"group\":null,\"major_label_policy\":{\"id\":\"1382\"},\"ticker\":{\"id\":\"1364\"},\"visible\":false},\"id\":\"1363\",\"type\":\"LinearAxis\"},{\"attributes\":{\"callback\":null,\"tooltips\":\"@country: @value\"},\"id\":\"1367\",\"type\":\"HoverTool\"},{\"attributes\":{\"label\":{\"field\":\"country\"},\"renderers\":[{\"id\":\"1377\"}]},\"id\":\"1389\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"1386\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"axis\":{\"id\":\"1363\"},\"coordinates\":null,\"dimension\":1,\"grid_line_color\":null,\"group\":null,\"ticker\":null},\"id\":\"1366\",\"type\":\"Grid\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Pie Chart\"},\"id\":\"1349\",\"type\":\"Title\"},{\"attributes\":{\"source\":{\"id\":\"1372\"}},\"id\":\"1378\",\"type\":\"CDSView\"},{\"attributes\":{\"end_angle\":{\"expr\":{\"id\":\"1371\"}},\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"field\":\"color\"},\"hatch_alpha\":{\"value\":0.2},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"white\"},\"radius\":{\"value\":0.4},\"start_angle\":{\"expr\":{\"id\":\"1370\"}},\"x\":{\"value\":0},\"y\":{\"value\":1}},\"id\":\"1376\",\"type\":\"Wedge\"},{\"attributes\":{},\"id\":\"1353\",\"type\":\"DataRange1d\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1372\"},\"glyph\":{\"id\":\"1374\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1376\"},\"nonselection_glyph\":{\"id\":\"1375\"},\"view\":{\"id\":\"1378\"}},\"id\":\"1377\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data\":{\"angle\":{\"__ndarray__\":\"eQLEMwAC9z+3V8R09kHrP+QcmNXVFeo/hZ74ygF34j8vDs2tzcrZP1vToA6tntg/iJh0b4xy1z93BYbhOoTUPzmtw/IJwtI/0I8to/kr0j/Qjy2j+SvSP/xUAQTZ/9A/\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[12]},\"color\":[\"#3182bd\",\"#6baed6\",\"#9ecae1\",\"#c6dbef\",\"#e6550d\",\"#fd8d3c\",\"#fdae6b\",\"#fdd0a2\",\"#31a354\",\"#74c476\",\"#a1d99b\",\"#c7e9c0\"],\"country\":[\"United States\",\"United Kingdom\",\"Japan\",\"China\",\"Germany\",\"India\",\"Italy\",\"Australia\",\"Brazil\",\"France\",\"Taiwan\",\"Spain\"],\"index\":[0,1,2,3,4,5,6,7,8,9,10,11],\"value\":[157,93,89,63,44,42,40,35,32,31,31,29]},\"selected\":{\"id\":\"1387\"},\"selection_policy\":{\"id\":\"1386\"}},\"id\":\"1372\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1384\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"tools\":[{\"id\":\"1367\"}]},\"id\":\"1368\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1382\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1381\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"end_angle\":{\"expr\":{\"id\":\"1371\"}},\"fill_color\":{\"field\":\"color\"},\"line_color\":{\"value\":\"white\"},\"radius\":{\"value\":0.4},\"start_angle\":{\"expr\":{\"id\":\"1370\"}},\"x\":{\"value\":0},\"y\":{\"value\":1}},\"id\":\"1374\",\"type\":\"Wedge\"},{\"attributes\":{\"field\":\"angle\"},\"id\":\"1371\",\"type\":\"CumSum\"},{\"attributes\":{\"field\":\"angle\",\"include_zero\":true},\"id\":\"1370\",\"type\":\"CumSum\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"items\":[{\"id\":\"1389\"}]},\"id\":\"1388\",\"type\":\"Legend\"},{\"attributes\":{},\"id\":\"1360\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1355\",\"type\":\"LinearScale\"}],\"root_ids\":[\"1348\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.3\"}};\n",
659
+ " const render_items = [{\"docid\":\"1be8c005-896e-4d37-90f0-5750b4f25588\",\"root_ids\":[\"1348\"],\"roots\":{\"1348\":\"e0749731-6e34-4e85-b63a-96e7a7297a05\"}}];\n",
660
+ " root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
661
+ " }\n",
662
+ " if (root.Bokeh !== undefined) {\n",
663
+ " embed_document(root);\n",
664
+ " } else {\n",
665
+ " let attempts = 0;\n",
666
+ " const timer = setInterval(function(root) {\n",
667
+ " if (root.Bokeh !== undefined) {\n",
668
+ " clearInterval(timer);\n",
669
+ " embed_document(root);\n",
670
+ " } else {\n",
671
+ " attempts++;\n",
672
+ " if (attempts > 100) {\n",
673
+ " clearInterval(timer);\n",
674
+ " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
675
+ " }\n",
676
+ " }\n",
677
+ " }, 10, root)\n",
678
+ " }\n",
679
+ "})(window);"
680
+ ],
681
+ "application/vnd.bokehjs_exec.v0+json": ""
682
+ },
683
+ "metadata": {
684
+ "application/vnd.bokehjs_exec.v0+json": {
685
+ "id": "1348"
686
+ }
687
+ },
688
+ "output_type": "display_data"
689
+ }
690
+ ],
691
+ "source": [
692
+ "from math import pi\n",
693
+ "import pandas as pd\n",
694
+ "from bokeh.palettes import Category20c\n",
695
+ "from bokeh.transform import cumsum\n",
696
+ "\n",
697
+ "x = { 'United States': 157, 'United Kingdom': 93, 'Japan': 89, 'China': 63,\n",
698
+ " 'Germany': 44, 'India': 42, 'Italy': 40, 'Australia': 35, 'Brazil': 32,\n",
699
+ " 'France': 31, 'Taiwan': 31, 'Spain': 29 }\n",
700
+ "\n",
701
+ "data = pd.Series(x).reset_index(name='value').rename(columns={'index':'country'})\n",
702
+ "data['color'] = Category20c[len(x)]\n",
703
+ "\n",
704
+ "# represent each value as an angle = value / total * 2pi\n",
705
+ "data['angle'] = data['value']/data['value'].sum() * 2*pi\n",
706
+ "\n",
707
+ "# create a new plot using figure\n",
708
+ "p = figure(\n",
709
+ " plot_height=400,\n",
710
+ " plot_width=800,\n",
711
+ " title=\"Pie Chart\",\n",
712
+ " toolbar_location=None,\n",
713
+ " tools=\"hover\",\n",
714
+ " tooltips=\"@country: @value\"\n",
715
+ ")\n",
716
+ "\n",
717
+ "p.wedge(\n",
718
+ " x=0,\n",
719
+ " y=1,\n",
720
+ " radius=0.4, \n",
721
+ " # use cumsum to cumulatively sum the values for start and end angles\n",
722
+ " start_angle=cumsum(\n",
723
+ " 'angle',\n",
724
+ " include_zero=True\n",
725
+ " ), \n",
726
+ " end_angle=cumsum('angle'),\n",
727
+ " line_color=\"white\",\n",
728
+ " fill_color='color',\n",
729
+ " legend_field='country',\n",
730
+ " source=data\n",
731
+ ")\n",
732
+ "\n",
733
+ "p.axis.axis_label=None\n",
734
+ "p.axis.visible=False\n",
735
+ "p.grid.grid_line_color = None\n",
736
+ "\n",
737
+ "# show the results\n",
738
+ "show(p)"
739
+ ]
740
+ },
741
+ {
742
+ "cell_type": "markdown",
743
+ "metadata": {},
744
+ "source": [
745
+ "The next transform we look at is the `linear_cmap` transform, which can generate a new sequence of colors by applying a linear colormapping to a data source column. "
746
+ ]
747
+ },
748
+ {
749
+ "cell_type": "code",
750
+ "execution_count": 10,
751
+ "metadata": {},
752
+ "outputs": [
753
+ {
754
+ "data": {
755
+ "text/html": [
756
+ "\n",
757
+ " <div class=\"bk-root\" id=\"69f39ce5-24bc-464d-bb9b-b343b420b71f\" data-root-id=\"1477\"></div>\n"
758
+ ]
759
+ },
760
+ "metadata": {},
761
+ "output_type": "display_data"
762
+ },
763
+ {
764
+ "data": {
765
+ "application/javascript": [
766
+ "(function(root) {\n",
767
+ " function embed_document(root) {\n",
768
+ " const docs_json = {\"8349961f-9b8f-4a61-a734-c64f1e18aaca\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1486\"}],\"center\":[{\"id\":\"1489\"},{\"id\":\"1493\"}],\"height\":400,\"left\":[{\"id\":\"1490\"}],\"renderers\":[{\"id\":\"1514\"}],\"title\":{\"id\":\"1558\"},\"toolbar\":{\"id\":\"1501\"},\"width\":800,\"x_range\":{\"id\":\"1478\"},\"x_scale\":{\"id\":\"1482\"},\"y_range\":{\"id\":\"1480\"},\"y_scale\":{\"id\":\"1484\"}},\"id\":\"1477\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1499\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1484\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1562\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1487\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1561\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"axis\":{\"id\":\"1486\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1489\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1564\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1491\",\"type\":\"BasicTicker\"},{\"attributes\":{\"source\":{\"id\":\"1509\"}},\"id\":\"1515\",\"type\":\"CDSView\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1561\"},\"group\":null,\"major_label_policy\":{\"id\":\"1562\"},\"ticker\":{\"id\":\"1491\"}},\"id\":\"1490\",\"type\":\"LinearAxis\"},{\"attributes\":{\"high\":100,\"low\":0,\"palette\":[\"#440154\",\"#440255\",\"#440357\",\"#450558\",\"#45065A\",\"#45085B\",\"#46095C\",\"#460B5E\",\"#460C5F\",\"#460E61\",\"#470F62\",\"#471163\",\"#471265\",\"#471466\",\"#471567\",\"#471669\",\"#47186A\",\"#48196B\",\"#481A6C\",\"#481C6E\",\"#481D6F\",\"#481E70\",\"#482071\",\"#482172\",\"#482273\",\"#482374\",\"#472575\",\"#472676\",\"#472777\",\"#472878\",\"#472A79\",\"#472B7A\",\"#472C7B\",\"#462D7C\",\"#462F7C\",\"#46307D\",\"#46317E\",\"#45327F\",\"#45347F\",\"#453580\",\"#453681\",\"#443781\",\"#443982\",\"#433A83\",\"#433B83\",\"#433C84\",\"#423D84\",\"#423E85\",\"#424085\",\"#414186\",\"#414286\",\"#404387\",\"#404487\",\"#3F4587\",\"#3F4788\",\"#3E4888\",\"#3E4989\",\"#3D4A89\",\"#3D4B89\",\"#3D4C89\",\"#3C4D8A\",\"#3C4E8A\",\"#3B508A\",\"#3B518A\",\"#3A528B\",\"#3A538B\",\"#39548B\",\"#39558B\",\"#38568B\",\"#38578C\",\"#37588C\",\"#37598C\",\"#365A8C\",\"#365B8C\",\"#355C8C\",\"#355D8C\",\"#345E8D\",\"#345F8D\",\"#33608D\",\"#33618D\",\"#32628D\",\"#32638D\",\"#31648D\",\"#31658D\",\"#31668D\",\"#30678D\",\"#30688D\",\"#2F698D\",\"#2F6A8D\",\"#2E6B8E\",\"#2E6C8E\",\"#2E6D8E\",\"#2D6E8E\",\"#2D6F8E\",\"#2C708E\",\"#2C718E\",\"#2C728E\",\"#2B738E\",\"#2B748E\",\"#2A758E\",\"#2A768E\",\"#2A778E\",\"#29788E\",\"#29798E\",\"#287A8E\",\"#287A8E\",\"#287B8E\",\"#277C8E\",\"#277D8E\",\"#277E8E\",\"#267F8E\",\"#26808E\",\"#26818E\",\"#25828E\",\"#25838D\",\"#24848D\",\"#24858D\",\"#24868D\",\"#23878D\",\"#23888D\",\"#23898D\",\"#22898D\",\"#228A8D\",\"#228B8D\",\"#218C8D\",\"#218D8C\",\"#218E8C\",\"#208F8C\",\"#20908C\",\"#20918C\",\"#1F928C\",\"#1F938B\",\"#1F948B\",\"#1F958B\",\"#1F968B\",\"#1E978A\",\"#1E988A\",\"#1E998A\",\"#1E998A\",\"#1E9A89\",\"#1E9B89\",\"#1E9C89\",\"#1E9D88\",\"#1E9E88\",\"#1E9F88\",\"#1EA087\",\"#1FA187\",\"#1FA286\",\"#1FA386\",\"#20A485\",\"#20A585\",\"#21A685\",\"#21A784\",\"#22A784\",\"#23A883\",\"#23A982\",\"#24AA82\",\"#25AB81\",\"#26AC81\",\"#27AD80\",\"#28AE7F\",\"#29AF7F\",\"#2AB07E\",\"#2BB17D\",\"#2CB17D\",\"#2EB27C\",\"#2FB37B\",\"#30B47A\",\"#32B57A\",\"#33B679\",\"#35B778\",\"#36B877\",\"#38B976\",\"#39B976\",\"#3BBA75\",\"#3DBB74\",\"#3EBC73\",\"#40BD72\",\"#42BE71\",\"#44BE70\",\"#45BF6F\",\"#47C06E\",\"#49C16D\",\"#4BC26C\",\"#4DC26B\",\"#4FC369\",\"#51C468\",\"#53C567\",\"#55C666\",\"#57C665\",\"#59C764\",\"#5BC862\",\"#5EC961\",\"#60C960\",\"#62CA5F\",\"#64CB5D\",\"#67CC5C\",\"#69CC5B\",\"#6BCD59\",\"#6DCE58\",\"#70CE56\",\"#72CF55\",\"#74D054\",\"#77D052\",\"#79D151\",\"#7CD24F\",\"#7ED24E\",\"#81D34C\",\"#83D34B\",\"#86D449\",\"#88D547\",\"#8BD546\",\"#8DD644\",\"#90D643\",\"#92D741\",\"#95D73F\",\"#97D83E\",\"#9AD83C\",\"#9DD93A\",\"#9FD938\",\"#A2DA37\",\"#A5DA35\",\"#A7DB33\",\"#AADB32\",\"#ADDC30\",\"#AFDC2E\",\"#B2DD2C\",\"#B5DD2B\",\"#B7DD29\",\"#BADE27\",\"#BDDE26\",\"#BFDF24\",\"#C2DF22\",\"#C5DF21\",\"#C7E01F\",\"#CAE01E\",\"#CDE01D\",\"#CFE11C\",\"#D2E11B\",\"#D4E11A\",\"#D7E219\",\"#DAE218\",\"#DCE218\",\"#DFE318\",\"#E1E318\",\"#E4E318\",\"#E7E419\",\"#E9E419\",\"#ECE41A\",\"#EEE51B\",\"#F1E51C\",\"#F3E51E\",\"#F6E61F\",\"#F8E621\",\"#FAE622\",\"#FDE724\"]},\"id\":\"1508\",\"type\":\"LinearColorMapper\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1564\"},\"group\":null,\"major_label_policy\":{\"id\":\"1565\"},\"ticker\":{\"id\":\"1487\"}},\"id\":\"1486\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis\":{\"id\":\"1490\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1493\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1480\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1482\",\"type\":\"LinearScale\"},{\"attributes\":{\"data\":{\"r\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[4000]},\"x\":{\"__ndarray__\":\"wGMAhR6DQkBHNNXnzeFTQGHeXsGNuFdA40EGgpX3L0C3nsHWgZpWQGKy6UsjDC5A/OlPtbraV0BjIls5ZCoyQANR7telwEhA+CL/G83fUEDibU99lrlAQB/OjUu3ikpAqj7KpyxWUUAbWNp9WsRXQPSRrHMCgyhA5agQxJsgMkDD7hWePTo0QCGqs7cl6ExA2o1J5a24R0DO5GFjSlssQFKpsA+oVFdAIL3f8/ezTkBgOo6cOUA6QCvFm5CyZzpAQaBH1BCvU0DFuizBLQJAQAYxEgsFzlFAHcvoDLnVQkCv/2Czy2ZIQA6wTlrl1P8/ts/kanfEIUAUOPUIlwBUQNRJGqEYSlJAn7RQ34z7VkBzzwX1i8ZXQDLtfh72CUpA/bDLA5jtREAA7ZHa7V5SQI7tbWuOZD1AU645quWlTEAMkaEcgrJGQNUZGB4k3UlA4BsvWzOrzT9+IRHbr9tNQP3F4rR0Uy1AfxjxM3J+V0BBQAP9d9NGQO6Ezsgfk1JAYp0C1IApT0BCEUpVRIE2QFqAdVOZcvk/9E3bb92XNEAAG3IMpCxUQAdaD+rlTFJAWARKvKVIVEDTS8wLhcpYQNPISbwcsQdAj7leBJQ7NUD3RNqJEVhTQOU7AOHKRk1AOqKdVhtXUkCqqBw9kowWQAI04ZeVd0dAaIytjhg1O0AOzuYO8tBJQP9ySo5wiENAO1ehKjZsPEBYpO5mjA1RQHz2XEJl8VZA/K40ZH2VVUBlilsq95hWQPEJ5DnnrURAfajHgNstSEC3obenZhM+QHqImGvgfSxAsQoV4ovIVED08BQ/5/sxQFdi3lo+QEBABtCffRaMREC76azT9eBKQFSwtyirO0FARbAEvLo6U0CqCIfHKY5HQGSHrobjzjtAwROvl5rBSECg9OV9t7hNQNzVb6WXuEpANnAI8KzCVUCXtY6xonpDQLRPrQ8T0hpA6rlbdgblTEAcar1DzkdYQKNBhC4duzdANEkbLUQ5MUA/0Q4DEzNUQEnZyuhy6ExA7DqjJWl8EUACfoxKAgshQNDmNKRAgCZAjYg1OF3wMEDZtdq9mJRGQApbDRPO809ABCO0Bzo49D/XPTHDW71HQIvGgcVvQVVA1vsSC5g0MEAX58HKjgBTQNko/9GyclVAL8sp4pIqUkBAZMLQIGJNQLHJ3aSUQVFAGI41cpVNNECyJbczUhtXQLgtEObM8VFAWRiAVQlsUkCdwQSKqGhQQCYuvWxl7VZAiOR/ih3MSECc/JiSbJwbQHhLMmNhv+w/8U5U5Q9OSECBzc98Q94FQGkZHRNDZldAzTWR8CsfAkDQrMd9gsFMQCfE4ZMmXkBAtER94Z+eMEAUnl/wNOtXQLTZi+fyRFVA3CXv2/uSV0AsirNWlNw8QINelLkRtFZAZCpCetk0R0BWAH2z9DhRQHMBKhf69klA+ZtyNuWTV0Dn5r8+AyFRQAyCa8p+OEdAUgWH73G0UEAIA4aLN7VQQA4vkziKej1Akp1h/EmWU0CgFd1ARTUoQKSFXF5cZTRAzBqtWc63UUDtvY8TihRRQGR6KeAE71NAXdv719ELNEC7jU4EvCFOQFgTy9IWWP4/zKVTEk4ISUCMi3lPX1csQIyg5mblM0VAP0rdzkDEU0AaCoQ8r99LQIj/+NptbhZAH1v3CPpSWED9V2mMPpImQKcjFsYE71FAjWFVWknQV0B54GkqWitSQJja1KrQwjRAyS60o4moRkBi4vrJl8AuQJr4TvDnfDhAgcmChQSMIUAtoih6Qc1HQNgiXP9N8VBAEtUofe78VUCyMrdyXzE4QKBOQ0OpYVhAfgUe5F9wQEDBsTYRmOQ7QNUZ0zRXv09AZt0XbVA6VED7hs65S7NEQJxUHvQ86U1Ap0vcnAwhNUDhoMx7DWA8QO4tGyE3kDtAa2vNHwEhVECGX47xkxpGQCCkct3ADTtAvLIkhlmlUEAaC+fDyBdSQLHjGZ1GLUtAhPbL7DxpMEAQeTm590dSQECzziZv9FVArMjBkFg5TEAMWlviL7wKQMqnh/5j2zxAHa/2IpYnS0DR3+nGsR01QNmTPdEY4w5AZN6qqDU/VkDe9crgjZQsQD2oZ298rD1AkIRqTr+yVUCZpUGi4H4EQFrRr8CsjlNAttDzPM52TkBEJ2I3TiJQQLno/AVdo1BAmAO2L+TPUEA26bA8eVEOQHBATlprqDdAcudkhK4hRkAU0PGK3Vw6QPq3TNgDSFFAPKVi4x/MWEBOGdmdx5BKQOCQRmcOmxJA7D0Jht/Z/j8/iTsSa0VWQATsMzRU1ktAJqjjZRNUMEAAPr2L2YVYQLKma/kvIUlAPD8tGWLjVEBh7u9fKX8nQK6Q/8JMQVJAdYBaqvAWREDF+nQJWx0cQNRmtOxG/+Q/vqd2LPU+LEAYOnA1z4NXQPoLPkpM6SFAqqKrHcTrQEBPY6YAaB5LQBi5VCEzplFAM8cF+Ij/TUAAWboFCBJEQJpryHrw31hAASXpnSsHMkB4Qn0so05MQOM629WpI0hAcJy6YSqhHUCD/dBIb0VYQCz4wj84eTVArrGSrJ7XNUB64ONN5zVEQPHY+8+nOlhAhuQNScOPUkDQSpE8yTJRQKGAYIyvOkNA2y0yCbyxNEDOIrTUH6tSQJpzdE/UV05AS7+AwCUGSEAwPM6ww3g2QGPn+iPr2iFAv42VyX5NUkDL2wVSIGBQQASgRSMIcD1A/AWB08G6RkBz6ltsifVWQPLWmUt0ATRAAKMdbd1fWECmrplI/MhWQD4vFwDZNfw/hr3P32TfVUAW1mDqM2NGQJ7ghjT6d0xAsTnFGRz5RkAUWLVkdwZPQEAJT0h6wNY/wZTy0fu/JkC21+5jZjk+QDhncfTmU0hAM1rZPv2yWEA0XORgLUD8PyV8W6lVgEZAMFkIHVo0UkA734sW4wBWQN+zR6TUMkZAJ4eLWmEHOEBs1jhgazc1QKM+wUDU0VdAvGepCszrREDLMwYtBA8qQNOXNJXfmFJACPBb3XpSUkCgjIs4f1pFQLTcnBAuSiVAxbqRfHCnM0AzrIJlZBVVQDzgs+VNekxAVquvXTJ+K0AyIsS1bONMQOm1g40ZT1VALc+kMbp8P0A4EVO/yZ9BQHmX1dyUAk5AfCbYt/ZnKEBlqQkGNcFRQFCyOe8H7lNApVSm1Qe/T0Be8XUN1SZLQLfAiUEhKyZA/0v0mJfYWEAan3WQTMlMQNeuiqLgw01A5v/oihEQJ0AnJ9fdDn9TQFUocjrDXzlADHYRBF1MQkA4GIehJEpKQFhhgQKQKlVA8cvpbswuF0BUhok/4DsQQJtcb8GkK1BAKfzuokn5QEB7JaqbUWFVQLonXmg1zUVAovlFTw3KUEAsBRqtstg8QPuPGlertlFA/bdGdsgPJUDOkKYLzR0YQAfSARdTe1FARcn4DrrfSUBlOETSMoFQQMXDJZzC9VhAK+E8A7kySkBYuUN6IohNQAWwxhDCN0ZAKgnvXQdQQkDpNkUYtoRIQHabzR621kVA3K31h3qsVUDun6jCU8VJQAFJzDD0kUFA0Ii7fd+ENUCAG9cOUjcpQCW3P6QvGVdAidb9jp/7VkANceSUwVxYQH2Tc8knmzZAADKuEmulV0BZ+46gEq5YQHKgwWJiWixAG63AT1VoRUC/UV2JP8AwQLIN56Bh3D5AFNMthGTIVEA/jHyzUIlYQGgdljzqHRZA42bqBzF6U0Di8UrvwORCQLyEwS/q3yJAiPCsJXnn/D8ubjybpPNKQAbbjGXPh1hA80u0PVdcNkCeDgQ3HGpQQA/0K1FB4FhAO8v8qvTlREB3mgJ7nzxHQNONp/PUbVNAhrZZ6BRLVUDZhRiXQp9SQN2eUyQhVldAIPj0OA1mF0Az5pQ4oJ4iQGC6j4/WSVFAZ1lOL0mcT0BZ/W/KB4tUQA5oxLjIXVJAhJ0hXh6/VECIcr+LcA0gQAANCyNC609AWJ355jvUUkCsiFGX5b5SQIQaqWnUDlRA1GcMxL7OVUBOvBruQ7tRQJ8HCXAn7kVAflt0d1jNVkDUV9VFsHo0QB+9uHxZAUVAFlQs/UE7VEBwTSPlu6QdQESY0IcxcVdAFINaZG4IT0A3saUa7INRQP11Xv3+yEBAWvmM0bywT0C7IqO+XbpWQAUAwvHpLURAqQfNtfNuOED8zrKOKg09QBJc6a1QlVdAvU2YGVi0HUBkXrqsQFVFQNIzuHSas1NAmkJvUWeJUEDtHMHucipSQKLTWO+yI1JA9jvXJtf+SUAyDJNcQ41YQIZccbot2iVABUHjcxJUT0DMJpM5jo9TQN5hdhHgkkVAhCpQkzk5PEDxrUE4PEZRQMS7MgTmTjVAuLGa3c8TMUB2sgxy/BJTQHTaWmZYnFhAUoBIvIq4PUCeaRmDkv9EQEc0MhuXQkRAzvsi8zHXRECIbV0cQQoDQJsiF/AeM0NA7sjqJTZWUkDiNgbtf1JKQDbFGu+7l0BAJNnhF4FXWEAsXL8su44uQPg3f4/NA1VAhOl0pY4ZUUDH16hOZponQDolfKu0ZzlArxS/zzKJSEAkZi4H3CxXQN/JWrJYp0BAB6bib/GQWEABpLGw71Q9QMgQOfOKZDhAJsqTSvYZREBRyyWQpIZYQHltyUaiCTFAiHetPVprQkD4XY4ZM95TQLc3JRmX5kBAonB6gYMrN0Bu4PuHRU1VQFPCDGYukVhAZmPsJ90lT0DsSSMqSlVYQEA/pvt05lRAE+Q5OC7KUUB+2fDpIRBWQFXbQL642AFACit95J6EV0A+Wuyf+wJWQO0mQiTZjlZAxOlq4KuuUkCH0dBfpYJHQAjUCEA16VZAaM9lZms/VkC2OrjIfVFBQGOfgfvHlU9ATEUlO0Yu7D8TDoSIEJ9VQJRY0uqfRFVAKpnF18MrU0Adi7ckUtMgQE+d75wajlhAqfCG6NW/VkCss8DCRygGQBoHNyjbtRZAWhLW7M0gQUCweW/0gWwoQJ8EpYMWvUNArkCAWpD7TkBtndy4J64yQGNFVRtBFj1ASWSYQz6STUAeWzSVSmRYQMD01kkQM1RA6xnHIUvEUUAvMkdgpm1JQJUxIdJfqSVASvdFZhWuJ0DoDGbb1fNEQENdRd+YESNAjBum03y/U0AzEhLuVrknQOwfcxdKtwJA06j27YPRS0AB2KW4a5NOQJpPDhd6hVdA2tI7iizxF0BgAuIGX4RWQHUvscgiZTNAUuzFNJXzSkBWqqcMUp0yQKIKC5P7G0dAskfF0jjjTUDaHTIvFxFTQLoaTNFVfldAkpwiBsz2VEDS2GOn13RSQJ28U1L5F1hASBJHOBG0SUCDPM37GUNQQNPIc5mdhQBA8pBKtxmNH0CcEqYYhCkZQNLvWuVYWFRAPL9ji1oRWEBXwdl7GjNOQAQNPjA021RA+f+x9pz0UUA+qZpMnFZHQJYV7VSnVCdAPfJiwFZqVEApyPxY3BRYQEG/Y5yT5D9AwPcWp7pwqD8r1l5pa7dVQKWsichYqEZAzBA9DgEDUkAEfZ/RxEkhQFiOOY5Orv0/oHLDv6tPNUDZIHqU7TdNQAXONsQ+BkFAcdBaThdEKUB3X4W3AQNVQCuFYqOWAFNA9tbEiE0IJ0D/Y+9LpnhNQHCpxRu5QU9Ay0kxbDNPUkAJc4Srj19RQJdMXs1zrzJAqgyZ6rBZTUD4ZDkznnLxP/erw6Akrj9AHmZtxEF+REBzPBfiMHFMQOgJrblYNkxAyyLRnuwCSkDGdqQTUjA2QGjWQNyfbjVAgo7hMSanRkC/CHWfnKVVQA6N7WG6XD9AjArJXvSqVkButxLrbaBYQKFdfVgbyVJA4rAZR0aKLUAwxdUkVY5NQPqVmEULvxRAk+H36C0+S0DiXW5MHOkWQNHNDEyhUjpAFgHYQXQlTUBxmjJJghoiQPhA+686D09AUYeTirYpUUCE9/ndnp9EQDcFB//HsSFADFV4aA/zM0AJLWIRPDdLQJ32ZkFU9iNAcrQfwQ8YSEDGvAuzmBxVQAa0EC777gxA1Io/nwNUTEAxNi0LYRQsQNu/TjtvdVFAHiIKnmKoPEBd3xuwBLpRQGY/ByOsHTRANMNcbtXYREAnjNl2dQBIQPW8sN41mFNAMMH5HH54N0A1SNrPtEYzQNrUF+fimFBA2yoL5cksN0BWI0ogDDIjQLlMtxxNNVNADpn3ZpIJU0DTE98uS04/QAfAhg3ykUxAbqQtfjShMkBQk0R9wIFWQH+KtOL8FlVA/6aq9qCiTEC2iocWHc9NQJDZh3wilDNAxKZG5wydEEBD/9oHwPtWQDELAmZhYzRAc09UnPV6TUABA3f4lnVQQFv5IxLG5lRAaKtyrbp6NkAKQp4v974xQPkW46B5wVNAH+NH7QyZUED7EaAAfVhGQIEOzDWollZAraQkv+MlMEDdubKRgCZTQEPd+7nb9FJA9MrQVQudTUCoS7K2amMbQP83slkZ8UpAaTbYJejoVUBED7wXHP1SQPix4ikoYCtA+QdB0jYHRkC41g1lO1xIQFXkC/g3ulZATf3ZHyetUkCGkuMu/xRBQNyBEJyTeldATIrvVLY7SkCqGtC14h1AQLjXaI8xsj1AXTfNkCokVkD+a0eMpm0lQM/RcDfHDk9A+D44EnCgJUANVvX1zP5LQFC82MheGklAi/KHSndaV0DlQGmAvhocQLqRkcg7EUtAtC3Vjsc5PUAKiZBx6HxRQI4oEPEIcDtAVcx3iw2yBkDgihGAHhTnP+3l76B/ky5AEyy4HQhTOkARnckBYrtOQMj9hzKiZixAx+3XIdA8P0D6aPBHMx1JQDAgk4JCWkBAjAM2QYYsG0C9XRZew18vQJyu/aPHSklA+psSHDw3Q0Ah01M1krw0QBrkiOuGmlRAx8YBeMB9OECQ8/Ffi5VPQMj1gMJMTlBAnS0laofjVkBk+j2ykxNSQGZ9qysrwTNA2OWMiM9kWEB7sEYmb/4/QNhWL/J8801ArMjJDuIkMkDXU3hP7Lo0QELHFX7bxlZAyAr02/NVU0BipUiZuF1TQK6H97pW4lRAQZq/XTXwOEBFWo7WaXsiQDNIL4EE4FdAc1iIeezOQUDCRB1quFlMQMEIUi//8FNAk41FJexjUEC9BmhqqENHQLiB9Ikjc0NAAipXdDZGVEAiDjqfltIRQLrs88IT2E9AGeBcBUWzNEA/RQw+x4UwQE8QIaQY60hAoa3v0j5gREC/07VQKVBDQKaoyXOzbVRAiFH7xNLRSUBJwPPt6Bs+QFXazSvET1RAqu0+JBIqMEDi+3Qzu/1AQC+1jDp09khA3aV4s71tQED6RVBmQxcqQOkU+2BJcDNA0ZoyDaQeSEBolNnYvZFKQFImf5rFNFZAk+zCs86LDUCTAkdHwi5NQAr/tJVRuzRAX8DqUV5JUUDwgtM1RJtCQMVi6xZSg1RAnhoDdpUzQUDG5ZOJeKhWQDsTPb+YWARAdGQSVa9yOUCaT9VkAXNUQFa4XA0qeDZAE0giDBdjUkD91CLYyvRJQK0hifru90ZAMODMEGLJVUDpzaFVf9ZDQKrBd7WueVVA9jGhmciWNkDNGAGNAIwnQKKDFVl9NUdAlrxwYKgfUkB0Hv8aLgAeQKpM1yHX1ThA4gxtjedNU0ADy3rwhL86QNEW0w+ekEpAKyF7MnwVUkAQjVyz9ntJQGpZsEilOkZAXr05OPSeUUAwDfeLkOsrQHfPtFnnC1JAGjrBhkTYUUCQQyizy1s+QBKpcxVqri9AgKTg7HpCQ0BPOIANc2RWQO6ljR4kAVBAkmW4FBQsU0DNCqGXW59VQAz72RUgslJAwFdTbecWTEC6xFsYJHRSQL0Jzs6HfFRAmOZqWzvVU0CgmcnlW/r/P+cPmlrUpkZAYCGZ831jVEDuIxI4s7pMQPrfieAlWFVA2rtVh+ZtUUCZ6nmdGX4tQGDkW+AUrElAhAHXoCfCMUD6GW5jQulEQBQukCbu6eo/n+eGXdJhMkD+6GSlKilWQGUUC9baGjNAskTTfCdfU0DymeRu5Tw7QPIS21aJRBZAmx9jsz0ULkDe4ljW7UYhQMYz8wABT1ZAzB2ewOWoTEDKVUqxOs4xQN4OvldrvFRAIDnIUrQ+VEAk1/6HsRQSQMvqrRs6zVVA2SAAISk7QUAgOPy06+RVQHpwma08PlZAYHOOYbgVTEAM4CEJZYIxQAaheowzXFhA1hRPvsT8WEBnnGYdCVAqQBIDQQwZ2zVAFvOdCvI1T0C8CdtOWZ1EQDg29MtdjixAUhkEQK0gR0BZuCVGPB9OQPwELWwZGFdAtNh49AOeVECibZ/GeBgzQP5AVlJOU1dANgXDnZRzPkDJ+gCn4Z9WQMXmJabgbVhADvMOQV0zHkCxl7J5a/AfQPqrzEEnDDpA3F49q+chS0DJVlhf9Q4vQOfDo1AUp1hAxudq9aVqSUBLeFWnoE1RQJNRbqhGkDNAm+3ki9vOUEBUkMWkC79WQOxK5SExF0xAet2bJ7AgQkBnUeQiPVBUQOdBH8XncEtALl/nWb+aREAAnEL7WRBQQNvukSw1+FJAjMTJOELLUkAfiGyDazUYQBBqAj47GNA/W9rLMLJ2J0AG6kGhHN5DQFTRZ22pGVZAsvtxdiHxVEDfQlMEQy1MQE8AZ0uJHVJAV8l8+V8dRUDQrvY0hpVOQGiwQk3eIURApnAG5Ow4NEBjp/+weDJRQCYuVFgg90ZAZYduRbhwHUBELn9gJJlYQJXVPpSS3ktAAVvvYQQrVkC/Xgr32gNSQOtbK459FkdAJoCTnv2ROUCJHJO8F2lGQOs3/AFW2UBAH0zuhvO+VkB/SgJg7rFYQKamknQmqSBA3slx+b9zU0Cxal8aDH5KQA8tEf4cTFVAWzZspfUJOkAhUEGDr+hUQOMS7JVqsEFAF4Vs7+BDVEDiZR/VkLhBQDroK5tRbv8/J3GEXenmT0A/pBhGjiBGQNcHH45oslhAqZy4XuC+REA+bkR9JGtOQC4X+HiISk9ALXh+s9JDUUAoLp9cXGghQKs8v4SzZUdAf9OV7hQbVEDUencFksQeQFVuauiPqFRA5FtITjfcPkAimdKOFhdIQP7+rv9tZitAtdJ/BjmaVEAEl5BNPwhRQMNh5xiYmVJAlUbsAHrgTkB9F8j4ukJUQGvp5hW/OlJADW0YAeR6WEDddSbSzAxXQNnKGeHSVVhAGEeALZH5O0BiwX+aIaZPQMlCfrlGBVhAe6Wl9Oq5R0Cn9MSG5K42QFmMuY0z11NA8V+vL6GfV0BOVsT/7vg9QCVnnhG1wlRAyayXWH1DO0B/yZOoJjpWQKd/VKMh4VFAzdkgkAo1QkCGwJcUr81PQEZlxQNPwldAl+/ipA9IDEC5Db8HZfdYQHYaijQ6e0tAGiFWSG3gV0AIansM4QhRQKtgDTZqi0NAoWnbhrO5OkBrcYEp74oCQAz5hIu4hwhAJs6ZaSzSVEB47yV5pI0aQNPsJHbOalVAHH1nUEY5VEBe2hv8bQo1QGFHGtdjbEtAlQVJCKcgNEABlL3pwhU7QADGcmxGh1VA8lDn0xHkU0BMl2ZvcnBSQPAaJrwkSTJABtOTi5yrR0By2FJuGjNFQC+x76FXIFVAjoLLzRlbUkARWWVM0TE8QBJC6UFqSkdA4RFN4NMtOECSfN77Bg1YQMKgxDRBNwdAZ94nFwcMSkBRxcF379tDQITI+Rc7XVNApM4LyHgX/z8mWHPNM1BSQIzBNAmijk5AfpKEbVfyMUCKBZirEp8tQAGs9SGwLUJAMAHkRM79IkCZdGdZG8gwQDTehuC+0vI/6Pmr66lTQ0DVg7e+L41DQBxt4ADZhytAkqrUyGhHUEAUHhNoRO1VQLJDxHfZJElAXMYb8D3FLEDffK9x2ZUnQLl2P3XU01BAjWryf18MTkAD7jG1hns4QGR8/XJme1BAsvr5KL8g+T/AkxL1HTzzP2+ozzm9bkBAzd+NZ4VjOUDGYJJr9XMfQALbF46fQDxA/SagAu/dUkCvMqTQsCJRQCoAtElIN0VA2Pa/Dn3MUEAm9z7ouURPQPN73NqHA1ZA5tbx33mgUECybupsY+9YQI9ONofk7DFAAmSFq8LuUUD8PfOjDOc8QDIuqBSuqT1Ayh0uO+58PkAaZawKr1tCQFFQG/TVR0dAw94DvNt8UUDq+GGbFexSQJ8YLgZuqUdAkNMK8qkn1D+mR0zWQFAtQI+05HG7zC9AMci+TCYXLkB4d6cjP+lQQFiQYFNQTlBA0MCn5MFeREALDeNhcxxPQGUUryP5tkpAq/f7h9+uUECAJGYztQoGQJufJVca5FFAmk7kUsY2VUB43fnBoag7QMWSV9HamlZAXui2CScPUEB18kZUAZBMQLDJvUIP309ALyyWrS4eOkDR/GP+RvlUQMOtsjBDYlJACJ7BCUbQVUCC1Qlfjj5YQDP03FC+hkRASxvURLvnTkBai05Kt0REQFzZ91UpYyZAwKZ+HZH5VEB0F+q7it1TQNvAZBTxxFFAE8V1JrFXUECYARVq9d0fQOYsJuLPOTtAGn5DVj6eFkAE3tBHo1Y8QLwXgPpY8lNAtdIcVyDhUkAy3dcXoq8VQM2dQWVje1JARYTzxKxJJEDPNYH/RCpWQMT6mY/ZFVVAUAXIxrW3TkC19X61Ic1XQFj8DqHnDkNA+NTsNUKlQUCYpq1GuVRLQGTkKGK8AzRAseS31gwXUUAMXB300uNKQFzeIYPRrDtAdHD9+YtNMECdh3IquD47QK6GMXUkBlJA8D9rD9Jq7T9X/zClNl5YQAWsH73czUZA1fmiRwGRUkA6XfLMObQsQGv7iirf2UpAYr2p5l959z8WrP3nVFMkQPERWN2G3k9AaQlSTWNhSkAawcTyX1VUQLRrgWOlZvI//GDYH1CjNUDwhe53xI1UQApv+tpsOClA6DrUCIZ9RUCP2MXytNRQQDTafWI16DxAzJOLIpnEVUABcZHl5ilQQIzcskWR1khAEHGjDQF7VEACMkyfCUxLQIVNGN/7hkxAotCmlBPnUUB9stgH8oNLQLEvrJOSu0dAl5kRGfOyN0BBEpaMEc9WQLYcWqXv4FhAEsBKGJxdKEBq+rHTCMdAQNK5XjpVUztAVu917j0cRkBtRDcOpE5RQM97VakoeVZABrU3F+BrLUBEVt4sdOxKQGtlPG3sQ01A5ZoDcdkCQkALp7PsQOFEQEbyY2C67FRAwl6HBnI4RECN1/per1RUQC/4azs/0EZA8+zj6wPHUEAW12iwigFNQICivu8CbkxA5mNUdDUMO0D/nsABJYBYQK0fi2riC0RAMe66noQVRED0q2dn2W1SQDdDt+wEbjdA7dVvoXoyRkDzUukT+QZNQL2n4niI+0hAdhkk5FEATUBW7s3p5FpYQBbXEirQ00lA2BfN6Lc+VECUzc2Ftg89QPiB8ibvR1RA/iO0IDyHWECSymYP9FxFQIX/+aCnzE1AYw/lrkoBQ0CoXsJXWVRLQEyIeA3wEkdAjYKwGCjOQkDFUccmAc5QQFwFffZwX0tArgLc3xhVUEACp4ckUKM1QBU5AvNNJFNAMMIgg+N6N0A+JZlCfbkeQPyvc5t/AC5ALqTSnkopOkBe0dmw1iFCQIU+0915f1dA6W1cIgGOU0BydiNrO7tOQPzAthbGNEVAkLyjxJJ1UkAZ+SrB9WozQFkK++udsCdAKYabMG3IVEAiKLeEJJlYQFvMASZW80RAhrTKKlEsV0CmbvFmA/ZXQG/YdZEMWkdANmU+wLVpL0AZynwg1q9VQJo41eZ4Tk5AJQY7oCH/NUCMpguEydg5QHj+qGemoVBA7K6eIIzrUkAIhcyFojZAQKna3rUUzU5A3O7tj4p/R0AyKWod8dVYQAB+TfB3p0xAsAVyr4fYSkAfQol5QnU+QFnNWQ0rGk1AH5grCrRJTUAAvaPYqluKP8i0ON6f7hdAdXNv+IKuVEB3uxnvSXFLQPyHAw4mYztAIyOPfekTS0Aw3OAe0UUvQPKphqvlIkxAfDSE4z1IWEA9+IaND+pJQJ7WXWzhOk5AsWl1KaUSVEC9cmq+ZNFAQHZf2cETrlFAqiKGsQLvVUAFTET8M45FQJ2EC2ROV0hA8OSWImoBAEDRgTNnK8dUQBfMc7B9AkxAt6czhcHgMkAPj3JltyYVQLtE94QjeFRAPzuVYZyIQEDYK8YU18kqQMCknM4cuDFAGr/YvGFEQ0CQgjkmLvlVQO6WrnD8Ai1AL7j08DyvWEAmnTSoYWlVQCfdzGuctUpA47Uu7NCzQ0D16Tawy90HQKcnf5XGM1NAO+S/L0qJN0Bp+D2YXMhSQIDuw8VUwU1AfPZje/3HVkBD2NG6t+pCQOST/p2JQVRAZNW7q2i7FECQuo5zq/9OQDVVwLYN9UtAFrCvIrFwWEAk5Z4AYEEhQI37JGv+YlFAyUT5QemoQEBfNiQLAkUzQKnAmpbpXVZAowNgiXtnOED2ac2cyopTQH5zusmXFCpASYSrzwmtU0D535Y/dG8jQB3IxC8CbFNAIllPeQaAH0CckCkSBIFDQLhItM2jhDZAHephWN+tWEDAqXFZ+IFKQLn6v43GiUZAjQx5L1hTQ0A7KXwNvSdEQCXytxYbVDNArUnFh+dmU0DIV7pjUwRAQFtq71NnZ0NAdSMFNNi/RkBM7Q9vbJ5XQB3mNLJp6kZA+/4AMRoqO0DAFD21NttXQGLFvSgsQkJA5A3jzxfK6T/YGm8vMRNYQNzXH253+0JAt/aQDXUjNUDZF20UlgREQAJsjvH+DTVAmQxIcFEQRUBFvthy2ftXQMbgxLBORklAn5yx2eJrU0CIuy8YzmQRQFq34I/hJlVAFMAYeEpzJ0A6aEw8mUs5QOIQZZlC0VVATrMOTLh9JUD3agB5KTZHQE1n79T/+EJAf0OaTxvjV0Cleem2EUJSQNUtQas6HEtAXcVvQiIcQ0DJRkRIf1hSQFZQy2jYW1JASruQdiSWJ0CC4YnatRlNQCPMDbYfiUBAnvwYWqVVRUA1yaMNMb1HQMURkRn/d1hADSdoObJZUUCCcbSldyNBQGOlWxn2YExA538PCuRcTEB9dS0eSghBQGrlZOgMkkJAfMe1NlWsVED+2xAQRNkcQI1Co62H6UxAndSrhhnRVkD2FPdCBlcfQANnSPV9VD9ASxxopkwGPkDAjAlzbOBXQHrvZc+CLVVAvjVBbpAqVECXzASupk9BQOou0cx+OldAHG00Vs8SP0DC/F5W5BJEQMkm176rzytA4OFpgx8DV0BnTsw28nJUQJ9wRnAUFktAXAH4gkGsVkA9Kc9h46cvQJOfTXx9NlhA6ktxbcuZUUCAZzV+eVjFP/b3cw1I91hAS2JdWow1VUBWfnY2D+9UQE3aPSZHK1hAkjNRnIcDWECgwjNFcfQ3QH46Cg6Se1BAagB8VOFLL0DWZ2J4/ZEwQHh1eqJqKFJAWBVROB6xQ0DsC/cLEStVQLJHmIqTn1hAWymCOFMRR0DuI0Vz4WpXQBox/dCFAkFA0LDYqo6fP0BFiNmgorouQHmrDmdUsjxAzJYX3K6qDUDkR1HkuAlMQM1to1mqfU1A/CRXIufxNECuv8fznTEkQPkZi3wjXlhArguYOdqxUkAGSkURhScdQCScpTsCvE9Avy6UvtadP0CzmeN3PtY0QBiUnuluz+4/phH2DOOqUUDbdQ7dH+lSQCNcK5hqk1dA+Id3J6VdV0C8P6uFqrlUQIohgTRKTklAO8Sa9+7wT0A2w8W+Ia5WQEzBRvJ48BNA9SNgWAWYLUAOSp3gFuhFQKfMDbCmAVVA+yFKPdiyOkA2c9yhmhxWQHEvF6uEnAdAsFXXXBQGI0BuY+qtFcg2QBRhit7xr1JA4Qo+HGIyRkB/NU6WjcQ6QGBCThZxYldAbwEmbCgHQECGYVK3JxZSQI4LbKq9fyZAQ6ilqoheR0A/gou48b1QQM4MXY2EwjxA5CyQlpPkUkCgN8EyFiZQQHjQC/Hp0EtAWoaGFYHYPEDfXCLIBxtPQDSFpuF/wjhAX/WVsADVV0CpIR+e3PJOQFMz1sV57FNANcnEV3dQA0CcFhPRhgpQQNm2o69EK1VARFddOgAAOUAqcELSt5tWQP2ZZLkyJD5Ay0bYuGT7V0Do3jsl6e9SQD4dQwDmWRBAHoVwPr9oQ0C9wj6+2qA8QN3sAaJdwVBAiaPSiwgaTEBlUuRUEUQzQIWAXiPXs1ZAWFEuE+AWUUAsi6ouWkROQDG9WzrE1k9AVAvA7Wi/MEASPzYpUGgmQF8/6UiHukxABbLnVjBIUkAF7ljafKw2QOmw/gqFeBhAw+fC2azrT0Dij/rHpYFSQCMPiSAQmDxAaPRrtB5TKkC5A2b8SnNRQGWKz/qjJFhAYdRXja0XWEC8WK/aKsRRQC+KhoTx2FVA1q9VycjpPUCk9QPzvVdVQFAzlX2lNFhAO4WVoqQ/UUCVP1iZUKJXQOiVyKo0+DFAynEfRBBdPEBETmuMEEFFQOT7ecrX3Pw/tM1Kt7xkO0AlEEpVZL8+QKt2lyx7CRNAZTNopLMhSkDD1Y0fPhxUQEBODfv7NVRAXP7H6J7MSEDrK6MStEJOQJI9zf60VjlA8QWLikxJRECBuqs6/XdSQMK8NIPZszBAEp82/ts4TEBzzUc+NdI8QG4GNX8GiSRAY8hMUqE0WEAspLQglAtCQFd1O8tfJ0BA9yt0PaL4HEC3LbRgVExAQH2eyzZnbk1AI9CR7IAfVkCS4t/lpmz7P1+mLKPxIVdAhDkVYHqsVkBqKGWOzmMgQMK1O8rIh1dAVLjUNT6yQEClCW5/JtVDQI9k7eBnhEdA0Ne2RjWHSECombVcPa4gQIZSdmLy0EZAzUEe3Ig9V0B6rVrAWbRVQMGtIK3YwFhAw0Lc0UkHV0BnSY//61xWQBLSOyUf1VhA9Tge3l6JU0Cbk6aFTcVLQI71KSNcJzxAsdv3RqisQkBK6eqIUQ9WQC4suwBjAFVA32FNeBPVNkBdvjjlPpA2QPQMpes1ijFAD4E2TdAmU0Dg49nJAnJUQAYmDj/MljZAkIbLjFLaVUAQg+gNaOtBQFN8SJqPGUJA+Ql3Wk/AUUDOGTns7w9RQPDGnl9S6kpATyWy63KpO0Cjl/emPDVWQEYWTHulyjFALwLRrp2pVUDJ4wYLFKtQQPr56kSmIkhAZuprDvtnSEDJ/0dZnS8/QFSTLMVyDVhAwQZ9tQKkUECLFIxxQ65AQOa0Y/TOXj5AB8fyNlJAPEDERuRIxQZFQJ6PM6xpDFdAtdEpNGRqUkBJj1b5fr8gQPOOxoHg4VZAAnO1MZX7UEBrICiiHZJKQGw6KrqxTFVA6tsb5St+VkBK4fKhRQdRQKXBwOeQv1hAIFjb0weoUkBAe8j/7vJVQIROpTqY7yNATIYoj6rGS0BYPdfn7YxKQLcyG9CMqypAEd0DgpPbVkCdmRzPaH5SQCy233kl3DtA0KbVXmSaQkDa0PJ/OPxGQCjxQA5XhDxABSURINmQV0D3ykhd79o+QNZP61d75jpA0yyPA+xQMEAAj2xRi9ThP8nnoYm1cTRAMigr7PhmTUComGMIbbQwQDldGYEHqlRAxYFIQ5yaNkBXVn3KAmlMQNxz/lMcHw1AX5qdM9YbS0BP9dXy0kdRQEQO125jxwRA/h9Mg0QVVUDS8z6iXMVTQJxGmvXOuUZAqY7EvXLiNkAAgoyxavVUQPi2pC9bZFRAVGFoOpKeTUBLu1pvzlVXQM5Jsd3Ru0pA2eT7cJyQSECvodDxoH87QPLi47fvGVdASFy8HnkoQUCQnjdbr7pYQIySpJTUUjhAF+1w4bC1R0CC6X7NMp1SQJYRBab3alRAOLCs2ywpVEC2fsc9bfY9QOgPsXhzZwxA1S3REuDbTkBj5uoJMB1OQFg5lUWTTSdAQ6Brbl7xQED5YrIs+vpKQE28PFV0jlBAmZEsND5UVEBqZzbzYxVQQLL+5wKRb0NAEqKjcjo6V0Ce9AxwydpXQA8cg9iGNk9Aho+EdpuvJkDWu2WAGmFAQBKG8RK8QFBAPsMbHUFPSUCbOkgldzFLQCxkbQmsfkdAUQn7rH7mFUAtQWAAhcs3QLBOzeFRO0lAciOMBRdB8j/M2dDiFbMiQK4EV96ZSkxAm0yB3H/FQUBu03BRmz1BQBc6ivBpikhAh0jqhrfIQkC0sYveOhJYQPCSxKtOjw9AwLMkCbSlVUAsJnFA8Y1EQK6tDLyOjlhAGqRu7rcY/j9E7Nvfr9sUQK4sMzgpXEFA/VtkC1jnEEBSASbLcw1WQDQmAaYxSEdAhIXRAeG0+T/aOXgAZy9SQMBY3xOFXkhAuY1z/qgAC0CjO3qTr9FWQE07/JN3TFFAE5IH251SREDF3LtCivU/QEzi5kQj20BAVI/pj9vWFkBBf9h0I/8lQDAtoeDOtEZA7pQW7V7KREDDAE3LY0tTQPPpKdo6IitAaIqv4ckZN0BGg8QekCJSQC7tRfCJDBhASbb3r/CQVEDaGwZGJRIhQEKZcpTnYTxAyrCYgHj5WEAuyuyu9Q5WQNrhZz0xUCJAEOUDqHrbVkA/Kiqj/2M+QGd+FPh6AlJAwYH8kOq9NEDF8yNAog4zQFisD8Jf2lNAzq+CV1p1TUDLzKjjD5pVQNdHEQDd0k1AyW3fEtuNVEB/aPfs3QQvQH15YJniDCtAkbIF6OgtSUCmEboizc8yQBUyfk3QYVhAUtlJiV9/LUB5sJmGX7lAQH6pQ3bqdB5AA1/0P0F0UUAGBvs9Y3NPQATXqJJOIRdAsshSvkT9LEAHW810KR1FQCBBN8nEzTFA8pACybxcVEAI6cLprzJTQC5+XwZN+C5AxFy7OcakMkAYgdFlZpXQP6CGGf6XTBlAuE/MZAEiPkCcx+OzC/skQBgRCf/DOFhAemSohuSCTkCU4BH6cF87QLSpq0D9LQxA1JSIyvozUUCIfnBpBapNQCN9rgpLokBAMwP7crLAU0BDhQh4PuBQQCx9Ll280UZAhSX2kNgjQ0Cketv6DNZRQIbLt1+ysDRAWc1hLFcWVEBQUqfzXfNGQHoj47XI+05AxYwgEzDBSkANbkhDtysiQM8DFtTZSEpAfnlVQjhzR0A2uQZZTvcvQLRQx00DsURAfyruJMWPWEDL+3t/nClYQHmG47LKtFVAlY4uUROgQkAa7SaTSXpUQIzXbqLV9E1ACyK+f8A/HECoGopU/TowQBquo5XOn1hAdoRfybvSSkAABPPDtMw/QL6wGfZR5UhAOrX+t7f5TkCpK2PYC5pMQPz/w7F+pkpAGyju/pRTUEDUNfXvX2pTQKRCmvx9I01AysJayxrGP0Bo3unW7LhEQFfwV7FDGypA0RYaOPOkSEDxHW8c4hdBQF6rwVcFwVVAOfV+Ye+bVEAURE3YdN5UQEXDyVScE1hA3qVKudr8UEBetfmkCw5JQEZd4bVbg1dAvhzh3xMmVUA45bPGYjZOQGVdtiTxXEVAF9zpn9VUMUDyuTmo9mc+QEkBg5R1d1ZAAZTp30GNLED9lFp4dQ5FQNjrM0zpI1RAizET4fmJL0BOYzPnlssuQKpwP4qa9FJAsTg8rWv/VUCxGYpQttU7QOIUJic9hEZAz0EH124NSEBY8mnKppJOQGQ05n3mGUhAArfYwv+jAUCHbbVT+n9FQHPVXxa2PlhAvPNehvEcUEAuaPNeSfdQQPgqEjFG4S9AwEOsLZy+VUC+Th2MBOM3QAnXtF/ZT01AbIKfgHCzSUAU+3bUM8ZEQLt/jeeDH1JA1Eww8EHAKED8pMiXF+1FQC263d7HnFBAvVPri2l7REB1Dn/rLbouQF6MHG3oREBAaxfuPkqtUUA4aklAPDZVQOlAYOKl9VBAJILttu4EJUAr7sbvVKpBQKnStARW4DlA6GQjg4CYOEDpnYBC/K5TQINwBqsYXk1AT+mI8x2MR0Ab/GZUb0sTQEhl5NvEzT5A4oBmMsrrRkBzbTiln/hOQAVl7gO3HlhA/kHAjHWWUUCvegmJuoNKQL+A37xeHDtAWi3cpvAjRUAjwhQ2/l5KQEkk69UlZkhAI7BpZ/vvQEDzkzQV4TNQQK044NYtIVRAoIvU2mhPVkAyk2sk1KkYQJHnPaLR/lVAZADzSUBIQEBQinaFz/w+QAz+J/s47jFAOR4FPd1gM0AYsGTS67ZFQOAsNaPjhdA/8yVczulCTUAR439DIQdAQD5K0LxOHVBAoC2Yn28AVEA5DqO6yXpVQKewQbEbvlZAgFTtRE9MVEDgrth12fZPQDyin3P46ec/i3jYYUFXMkA9A0zhUnU9QPkyTz3fok9AF4kuHUiJV0BmihHco04qQJ1ILvK3+0hAvSjUyn1yTUB/gpDMP0xGQEeAdv/GkApA5N/i7O0aKUB86wHhNAI/QDMUgkevGlZAZODj3ya8HEAiTb+NGY83QJp2w5PlJBBAu/0zfkwwQUCKu/qLEmdGQCD3sOGdneA/MF7rSJxbQECpKM5Ag7ojQFohp2NX9jFAqVNhxbcFSEBbV3KucbNCQPQ/UaTmkitAN32ryoqnSEB9OnGjh5c9QGZcdkOok1BAmu68mX2JTUDNkYrwTxhUQFr6i2uEWlRAslj5TrkMQkC7NbyYBuFXQJD/eHG8tThAcfaCpO3CLkAzKYRrAdVCQPp6pe3ywjdAyFmrn+CIRkDLAatsUWlQQJMJ7DNUtFFAIlgo8CTsRkBuQlVtiI9UQIpwBGlXvFNA9YwMwVwoVUBZ/s6cDR9OQBFarXa16lhAmFWaia1cIUA/MrVbMhxRQNOhMVdtFlhAp7vLCkg7RECzlDCcLb05QMul3VFcxlFA6YeNavcrT0BGf6vwzqdXQGar3Oe+2VdA8nCqhbT5OkArJNlK7OcCQGzaJQddthxAFTOENNfCSUAE3kSEKcdJQPO5ioghY1dA9B79DPM3VUCtZvjgJ2pIQBtFSLXVTzdAMMYRa1z8VEAQEYf0OqpAQHhWc8rbNj5AAH/rQJ1MPEDVMIyYTsIzQB7+GuBsZUhA2sSRCrsdJEC/G4MCG91DQLx0nDgSyEZATpJw/7u9DEBbaR2xxhFYQAw6ZsUiYSxASllprzpWNECEV///+JdUQL4MDGwyCjBAwIlVpX5sUUBP4ArKSmFWQKJiUBDJHjdAzxNWqCy/DkA4FvPmZAfxP8RQSEUxZD9Ar5lXYQNtS0CwaFYrBNQWQECLf7w9BS1A4GDMBlMDUUBkgCmyPphXQP9wa1EbJSFATubbXG4mWEAbc9g6/a1EQApixqee3lNAUgd6G2SqQUCs8xLUoQ85QB9DLSuTz1ZA6/sARidtH0DPzGHyIXNEQOup0Rm2bUhAYg0A/HBWRUBOVJH10aZDQBJlLeiRgFBAoAtc4TbvI0Bzt0F7E2RNQJDRTrE1jkVAmhMVK+kSTEDHToeVZsVXQOb5R0GgmERAi/jo4VupNkD/az9MCqNYQH3Fa4CwLkVAz8Y3/pHaQEBJrGeMpoBJQB/ZPY1gRT5AHBb14dprTEC9yQtxGANDQPh6l6ZqoUNATgjTOxreU0B13B2T3SY3QDCpVLFOB0pAObVSTYH3UUDDibm4+MtMQDez5fbXsVFAYlHcU91vV0By+le8uHcVQKpRmQKpnkpAc1k1zKTVUECIcjssvv5PQDztPjZnAkRAkLqtRRMbWECh37JBY409QLNAD1FNg1FAqu2SCq2nV0ASRZeel4A+QA5VEFVW9jVA0L0MlkVkIEADvhzNmbQkQJgUXkLuAz1AK7x7ZKxhVUDrrWSerJNFQNy2CSkdKQJA1PNZFHCFMUAaT1RvxupWQF3ap/0+3lNAOkyme5ccTUCQBXbisyBVQOZZVNdht0lA1b1BdL+MOUBYG/ACE80NQL4MzmNLsElAqq7OUi3MWEC2Pld0bXVDQJOUTDenu1ZABYeF9YSvPUBVR3HZAeU8QNIB5lOo+U9AYYQczLLPQ0ABHQ9X+klSQGAj5/q+WEtA9CP1rzlyMEAxNwhjCopQQFeT5vR5CkxAdaLSkfhmQUBp0e04jS5UQCmBxl3gKUhAmYYd6KXGTkAOuezKLjNJQGrjnjJOoDtAG7w3ptMgMECmQ/UNUCVRQGrFYYk+4jlAOLXJTfIxU0AiT4tTYtBPQFil+DvxhSxAV3vz0FF2P0D4J6Cwe1hYQHKbEXOmnCpAr3tNFKvCUkD5BsyQV9pNQJs4XOTotT1AkV/gHcp0QEAgw/LUmcPvPwMEn0HGkkBAlNwUhPHoVUBKCQzc42s+QI/Fp7M8Z1VARNZMjZ4BLUCnR705aG43QDrJNzL7OFFAH2Z4VK6PR0DzPqmaZvlBQBro89Gq00xAHADLYRR9SkBTG76LT91UQN+IVfa6zUZAQgsgPW1zT0Ap3MCqDzBXQMBlMhmMkxFAviWqGLcYPkDMdJVausX8PyK+TzSzE1JAp8QjNaM4RUCTis51fo1EQMdcqC9lEkhAY+/azv3WVkAikf44W6MGQIhbcZM6jFFAZ4Rn3CgxOEABBmfYeUcrQDpgw84KW0VABe7mV67uUkB2hiwa0/VGQKQbfnuJHlJALG+VnE+ERUCG79lcpTxJQHB2pNwpm0dA2SbEfSQwUEAZ/DIOJN5HQCnnQk8mOlRAPv6B7U24QkC9tJExcPwzQExB/cete0RAsoA25zNORUCM3j+bar1WQMuEAvkQ/1BAXVlbTrliUEAN7YucmJpYQNJDouIxtlVA3Q7Fw6u2VUAFdkNM6SRVQJE4Jgy3dVFArxc0o0P7VED6GbhJWLRCQCED5aUn2ldAq/gFp4zJQ0Dgy+yzgPFVQDHE35eQ/FdAObg+B4qkAkDXYrjgdEBTQAG4w8FGJFNAAvcCVEWvI0Co7sUg/HodQBWV2qL2+TBAb+R35RDDNUC+H6WotP1BQNEAc9x/EUdAGENyBbHgG0CE0A91fCVTQFAuC3A/OSVAXXzqFuhVRkA8b3ATeAZJQIr8ZSFFd0dAg4eFZLbaOUDcCGGUvnhTQGwIyVREekJAc5bAM0hKVkDuHAaoi14jQDIACUuOnjFAq68Bp5lzUUBtexKvwIA0QKnEFoKB40JA0j+LQhmGU0B/NJGUwRxPQL0didCXakJALdvHb2HbUEBbG4q+ghVOQPwi9k6AFURAGPJah6MnUkCAaOEit59WQCGyGOQ4OVFAoIqFbCqeWEDmevNpLknwP0lqE0OeG1VA7nkiuVJ7WEAfizVDjV46QK2bbYTV2VRAMAvQNy/FT0AZ7CzGitJAQPxQtAuEUlhAl5oAd5tXNkDUqK597HFDQEYAEPZykzFAOwe8EnWsE0DQ647W55JSQAs83Vnr3U1ATIMX2geuU0AjMhD1RJ9HQJFE8wpCaCxA/r0QuPq6TEDKBnDespBIQITcQXrCg+U/QZZUeyAnUUAtyMHdJU9KQCrs73kTv0tAcPB+xyzaRECy2PtsteVYQH2mhaPZp1FAOLmeoghUVECnYt0Y4XFSQKWzbwksH1VA+Vil84/LA0AKh1uujbJSQD21MTQhfkJAKvRDsK6DS0CdoTmIST85QGEXVX4MuiVAp5h+odfIT0B4bBWRNI0fQCBwFLujEVdAERahSt9fO0BCCIR6+bg5QENTzhMuA0tACb+HZN6JREAyTAFlgmRKQEmn0RDDLTBAWkkE6CVCVkC2dZ2nSSZVQKLO0lj+JkRAIsNQwEw1VED0/co2Q75GQPF2TFMZlkBAPvzw8mnzUEDvzMwqC5dSQN0Hl4UyHSdAuUE2KC5YPEA+ZRtcCnlMQMYWpBN1mkBAkBdARSOkVUCzPwmcHl9TQL7P2sJDDE1AcgFTSUkjHEC7db7LmFhRQNDSA++VCOc/sgVFS578VUDCVoehwJ0wQDKhPfFrtlVAFWaUfb7vNUAnkc4sjrVXQIbdW1WsikFAN8Vmv0PbOkABSOA+3s1PQGqr6z3jyQNAMvj4APFYN0C9cJJJJRVSQO1qziHjMkFAhetWE5YaOkBPDXM2D8E5QDzUap3psPA/oW70+2VZQkCZmdoTuw4PQCQe0JAyeRBAf5kyn+b2U0CZ9OrwlBJXQAGyH+GCQABA1wbK0Ym1GUD72CoRsWdVQAhqzNk++VVAmkl2dcCmVUBE6WuohopYQGW0BCPJl0tAlG3XLtHqPEC+nkdVWVREQM2xKxU5kVFAI7pIKm4RIUAk8whUnThBQG3cSIMMNk9AkCq7E3Jx/z/w+TKKUv5QQJXSXyJtmUVAEO50hB6eLUAdKDcQ53swQGyQnTJah0pApZ2aRB42MkD4YwMXQhFXQLsMUgMa71ZApTHteoYPOUCB+XpNqgFGQOiuuvM2P1BA4cq5gzPRV0CjAGycnMghQNKNWK5SyU9AbmKy2xOsCEDTe0MVQf5JQNEns85ErEJAieH0URD8UkCryXLVol47QG2msdwyQDRAKiii346fVkB889KBmzsyQF5X4zkLFz1AW8AQTIqoUED6KzbrwCxFQCB05q7S+FdAyXOsxqc8R0DOTzHtGuJSQILvSJcJKFVAk275bYxSR0BPdd77mpkuQML4fbxqgE9AixRWD2pTIUBqH/Uxh5NCQP6PJgAx0VRA242FOH0RVUCMaqQ2VyBRQNHI3CK39SNAipC77P7AUEAYhLRgCMw7QF4Xfp6AqFNAB1npTXMnQEACV296uUQ6QK7m/+vpqz9AtMUHNW+cNUA5DDPp/mY+QIcbccnDk1VAmqwKx939R0DeL0Ponqs9QD7gZWqnjjdAsqYryMALSEBT93UezXNVQP15xocsNU9A4vXfbGIvGkCW44YRqShRQB3BkIvKllVAWEhxL4G/S0CS7Nvx3htLQNhWhh+UAD1Ahb4nqUAjUUDaVRSoCn5OQAYjtSRvEldAsPQkTMxGKUD/J+evLeI9QLX+F62JCFJAeOxm6hZqT0B3YhjtC2syQDuddxQE2QhAPBDKMmA5HUA40I9Th9hSQCI46F0l5TBAfk6pO+9lQEAOf4a+tvxBQGCMEuarllRAQGd92UO4V0B+HItkl09NQILNc/Ryh1NADoZN5r/tOEDx+3VQEcVLQET9ZGajnFNAbW1P5QWdUkB9jiquuMxDQE5Xee7aJ1ZAirdsYDBUUkCxm3u/T6pGQKjQF0N9pjpAO2TwV2aqVEDGaeMeBDpCQPE5/5tsuktArmbxAHPNTEBDPRH7uDxUQDHpGIXc5khAOpx60vLgVEDYAvyar7RVQAPI1d+6QENA/7bHrV9eTUDvrjf0NKQgQGGrGlf/GFhAcLTQrjeVxj/A1F2MTqg0QFlN2Z7MrkBAWrGQCexsVUDVALj4WnBXQH5D+SoTLExAe9BhXZWmUUCJmJmFH6w0QNRf4Y0O+FVAol59fAH9VkDg7TUTfUNLQJTkpBG34zhArVtaW+C7U0DU2NgK2VZHQM3Wh3PEtkhARH5gnEgLBUDZ4WpJydZYQF/Jt9WPCUxA3Tl5hH2/VkBfaKczZipJQKANXpeGnERAPUA+loO7VUBOF691xjJKQFiiENqFYUdA7TKtRbyYCkDXdd395wI0QCBqtCDim0tAi233vtzqTkCCNttu8KlVQMgTLkQpAlRANAU7B5vCQ0CN+lyh9lZNQFJ7wKr1KlJAMovr/CuNMUAOE94IQZdCQCsuPaF/jjhAUWSr7EZgTkCKNI0+dwczQH4JWGVSYlZAKRG6j7XBUUBcaMAuqEk3QGU9ot9RzFFAVnYbkaYhJUDMga6LGONUQOoHoTeZBlFAJCSHghWUFkCH079l32BLQD4WDEHHCEdADV+i7bakBkCpmT3JRvxSQEoJFzjyzVJAthHbfCsmWEDqznmEO2ZLQG+Bfzo3glZAD7YTV4JBREAsE7LF0+BRQH8AEu1q+1VApueVu5L0UUAsKy+LGKJTQFGi+xcr7VhAWI4Rg5J5QEDwgrjTIk9UQOQYxp9uP0BA3NZwnpmrE0DqH5ULAVI5QHEm7V3GhVVAd3sdM+EoMEBGYIbG7E03QPkapq8R3z5ABDNK+JOTG0AafRWkCPAuQN3RgSsRm0NAvEsw9G6NQECtEvnmtppMQM/MnzLiKkZAzwPrWKnLL0AXZu/4vWkoQLWqWxFvv0BA3yLT+df/NUCuYdjXYhhVQDo/sJKLWkdAFKCIkghjRkD4ITJcBStJQGqPDW830ThAkFpMApCIUUChCfAeTTM6QCcOCqG0x0NAFL0o1rdoQkDzra0zvChFQBF6rBRYhERAM3VOcRt2U0Df3kFb//dXQFbSDxT8OFhAo3O4S7acVEAqYTxv3RMvQJZUqOnVbTlAUpUveKbKQkBwIEvZN49EQEz3PjCcL0ZA/093pWsBQECT5ELlfTRLQEXUt7ZKy0lAnQpnDvG1UkB78MlSgthTQKrCCzg0U/0/uEo3Kf4/QkASAVmmfxJSQPxoUbcvok9ApCi6m0lHUEDEp8htYLhNQFUOLuUmMypAAc0hMTATU0AaqhhBjbgeQIjYAnXYb/E//N3LkuI4N0AiiSyKCt5WQJbk6W3EhVNAFJTSk+qS5D8Js6D8PUhHQNt/8gjLGERAZMaNBg9QJkAts3ydsE1OQJmh5J6RHDlAIftB8o9bQEDztqpfdtRCQDBf5iF7tDFABc5hO2O0MkBLN/xG6mRTQP972s4ucURAyzuytE3sPECuYeCgWGEnQP9uw0h3b0RAXdUlnSEcIkBMvYIq/EtBQO07L3JzJjpAmime9/b1DUBmp/fkIYQaQNJZZOz73CVAIwYbd4x4R0BmpcR5jqD9P3JlkHkNalJAgb3mI4ZBK0AZ3T5YZLwQQF8N/aGjUTRA/I57TbQ3NkBE45FLd2w8QMjmWCQzxVRA0NN8lMzSSEC+IE3wusYiQEMYwrecbD1AT10uLDrFVEDfyEXEyuNRQLdZRYXcBUtANnnbSLnyREDrcs7vJV5KQJ9fCNbrvVJAlPCQtJ2kUUCWUNcJ4u8TQOgLaioy9CJAXk/PZa3ZTkDc7hGqx3s+QHeLSmMldFVAoptpVVW4P0AK1F0XQns+QMYylaDRDy5ALeCwmfEiJUAYTewuP/tUQFbWu9nski5AnXbliiHhVUCLmmqY12knQLjqqKYJ5TpAJvZVi2ZGQUDZZXTkQgMTQB1auybmHzBAxKN7aSEAO0AWF+ZYIitXQI8sG4FV/VFA6lmn4ZrdRUAoO3LGUQZWQP7WE5CwhFZA95wTD97XVUClNAiih30CQBNegEYyIVJAy1vdZLkUOkDM5U7smQtYQAJCwEfhvFZAITkwGTaGVUDSprc5ea5YQFGgajF870ZAjI3u3pPsQUDewLXNFoZWQFNJh0f0jFZAiBZtAFUTR0C80CFd0kAVQM2K5DzIJkRAn/kEVoACG0CaEy9Ort9RQPjxemwsXk5A4A2nw02uJ0A3U58Hf/VIQLd1Jet+YS9A8L2KcBDG9j/owQfgORdBQOmxDoipE1RAjCiuvBL+VkB5dYk0GS9IQPeHBf4i/EdAFPSwIv68UkCcfFMj0L5YQNaZN96EXkxAafGoXsWKUUBshRHUoEZBQG6a8nz2QQNAi/2QzgHGN0CfZ87CKFdKQOSBe5yiWTRA/zRuKnWBR0ApK+1/dqFTQM2+K+KzlElAu4i310HtVkB144wlEL1OQNv4GMwx80VAWfsl+UXOUkASRuNSpw5OQGbwjTkDCxBAMy5CX9N6TkBwFMVjOHs8QJ76pUNj7fM/pHMNz3KgV0Aph90q1itXQLm0yZ9CagdASdppVvvTRUD5AivzezlSQPcPqKfnwFhAhR2J1FuCSEDbKlaFoLFQQA8JdnP9gFBA5oWMzRgWRkD/tmle1r9GQJLwXSNMRj1A9uFr1T8ZMUDlfTRldaNBQC2nFkhmazVAomjkoTgiUUDlgyiFPPhWQD5OBAWm8ipAUj9KRhp5REBRUaLNY31IQLp0PNXGszVAJVRjK0Y+VEDojPijh75KQJO/QpTx9FRA69gIU+nRVEDOyLDNRrlGQOrLp61vHyhA1BbwyD7tPkBFAQ+IUZkvQKzpG7oQq1dAbUuFcDNDUUC7JVNYwyVAQIZ1tABmBT1A4aNJgvtYU0BbiTltOdtWQDBcklwnUFZA/8wLDWanPkAc0b9K5WEBQGo4Ev/NridAxTJy0KirQ0DyGob6KW1XQJJt/gKoWEBAzI/q//3fQEDy2fm9d+lYQMNFj7Y2IFhAV/6e4crOQkDjnSXHn9RWQNQhb8GpxVhAOz3f3KuoPUBUoBsjOE42QLL+7PSy5UNAWYJwuvSiO0BtyZMis0lVQJcC/8B/T0JAb9CcQBl/UkAg/FyJxuhVQOeqMF9gt0ZAny+H2bSOR0D7717fY+NOQKXyJ63nqUlAS1vrqdkTQ0C9gTuz7IoeQM5TDu2vrxdAAUyLpUyuU0CotxAUk2MjQCTHTC8jSUhA5JkWlar3UkDFxFA+GcRDQMAjpLM+hRJATFIaWSbEVEBMUZmCOJ8xQPM9IiSVED5ACKEnYH39P0DyCtjYc14UQB0P4uecMTBAzpnOkg3hQ0B5BGqSnN1WQOJsLvaJ1FBAkz/CZAzoUUBcFH+g5lAwQA6L7tMsOkxAUAKaUKjPLUAsy+g7RiosQDB/6lksokpADGCaTxt5NkCV6iTGqTUKQJqEAtt4bUVAhvYDY5WI8j+w8oB0ykxAQIQzP/Mv70BAwmCkWh2+RUAKk5iMIs8JQG7y9xupoUFASnGrCk15UEAa7s2aUO5QQCUyllkr/RJAtSxUzi86MEBghOFXW/ogQJhs9NJK90dAXiEe4Tt4SUCBllB1BoFYQKLUZSXR6DVAa+LrMg9FUEAjhb/3Ev9UQGuylXdt/VdAmaCx9HCXIkBiRazK2XBLQKiOfOPE9E9AdsNwDC6VVkC7Ke/MCMpRQFi/wQJ2I0NAjd0PW8y4UED5d71rzMkzQEYuw0waFUxAlgnkOCtLSEBzCM3JuMtMQFgwscVz9ydA3FQA7gm5QkAwwNE8hQZUQBb/UkVs+EdA257SkVAnVkBbFTPJJ1FWQMXQBwJVGVFAbVbIbe98UEBhFPNiTtRVQMUlP9LrYlBAlZ+qLbfUIkBlShgwJaBUQJsolxJ7MVhAcwmBOT4FUUCDSTXb56pWQB/yVEsRelhAKWOD59l/KUDKd+hUOGRWQN+poX8i405AQOiQODJ1U0AI8Ej/GT1HQC3o1zi2HCFAoxcLBfmiVkBUdEUpDNgsQAn/cvOn+kVA23k50+xeMEBet9OSCWdLQLRKCGFAsylA3/JT75njNUCeICFKVkwSQPaBjoIzx0VA+HD5I/kEQ0BsCeD0Xw5XQBi89UkOQNE/gpIbH7GiOUD5tY83NhVUQE7kz+lERQFA6tSxjFV3QkDv4xBJV9JXQEQiW9ScT0lAHv3r/nwmD0Bn/GlWC35EQGgsz7Q9ClRAKdiVveJ2UUCFptij2SY/QARr8dZr7VJAtZdo0kLeNUD/JrNRKS9SQJdXjqjyO0JALB25Qe2CN0DGrkPtKUFVQDFa0qDzJUtALYl+5e8yWEBWra3a6YdSQL54lIPm0SJANbEcjEs2SUCpEACb3AIjQHxGVBWyYxBA6SClMLJjTkD8DuZCeHBYQKveoPlilERAgrKOkLh7R0AXArVisItAQNrdoJalUSdAd9iD5oVVNEBwpa1vChhLQNN9Okg3bk9AynJu4R5/UkDcczw75dRXQDtuGQfCDAJAtjC14xRORUBWaQqWFxRRQAKq3PhLf0xAUpcs/Kj3QEBLK8zzyn9OQPUGnQIgCz1AFm1jkXHASEAZHf/hRChTQJkiMgOVlExAV0WdK3NKFEASMrKgWl1PQCy44lKdRlBACafS1rH8D0DdBfpcDZdTQOXy5ToE/E5Aff0n+9YeTEDt2PLe1PwNQJQC2JdOmFBAhoOCiXzGU0Cmihsc5swzQNPJqMWZhTpAdSadMF4VREB6LG6OM11KQBIYkR/rdVJAPreiBQejDEC3t+B40G9PQGDDXnOhC1VAfvQD9He7UECo9+EsqXVWQMzBKozB2ERAfX3EeL8wUEAwvg+6EFQ3QBoPf2QvPx1AoRVhLyxMOEC4J8pZlOxVQOYa5iOADkpAresd9sQ/IUAnaJPlLl5YQDYXY4u95UdA2xpCfyZEQEAMKKVQuRI3QPWqKBMx60JA1KKFfUSpOkChV3UMpW9QQEKVKqZu3lVAR2SwW6TkVEBMT5+HISUPQJycFn/84EVAZvDWm63mL0C6cGL/FJlSQMxcWWD58xZA2WLKZOvgUUC0fchRDjwSQO6jhmsV7VZAo2bvPh4pIkBUgFaDikxAQPs8HiAWe1BAzhcQOPTORkB8zOJi8AzgP/4LdhhKV1FAtfQ30HUZVUCq3kGGFA1VQJtwRxpiIkRAPMKoDT1H7D8HFCA+IycuQKxUe1o+sUlAerhiR1ytVkCup2Ju7lMyQC86CD4yfFJAKP80gTnHVECpMzE+paBJQP0Z7vXav1ZADvK6t8b9G0AxSTu1aTBGQHm4uLu87TxATjCZXAvRQUAlRy7AjwQyQPrEGq3Wa1NA4C2eMbQUVUBH+EqMt9kxQNIZmDEg8TBAcwwTFT2YVEBc1uizQUJXQHcHGP4T4TBAeN0R4MiFF0Ag1BteN94rQOKbwi4WNFRA7oFMNbGST0Ai8o10W1dPQLJVex1Q+VdAeIrngUHOJ0B0yFzv1MpWQPQO2JMdLxVAtEfAKVVpWECBJtU9fy9IQKz5hYNF+1VAcGaYerDgKED4phiN2BpXQFKwPLNZ/C5AIUSbty1yNEAhQy/uDo0vQKBF/x1VpDBAYq46RFdHO0A1EPDRQrA/QMLdgj9eOR1AlMzEI0r7SEAjWQG/7WNXQCYjWWGDkj5AcNVgEoqGO0Dt7r+UIs4AQG6gn/FgPC1AWSyn4r+fMEB4OHW1sARRQB3qwQ6PO1BADPI3U1i7PUCw11L2l+5FQHLkEqlANTpAgZpIkLzqU0DWFSm8uRZVQN+ovQWr8zZAgOBkM1VsSUA7sM938j0+QCGl8TCY50hASfneuzDhOUAzsWM377hYQE/Cf+NlfVFA2I3Ymz7YEUB9lqerhspPQLePUCjo5RdAVB1l78vUN0Ds0MI1DcY3QCSz2GSfdTNAJOWoKipf/D9knUUIVPolQFLWyJ7c6lRAaIgUYKOkG0AlfkZG/OlYQGIXx79FLz9AhVatxdFHVUCs1TFNustKQC1yqGj9VCpA9lsLxfVARUCAC5IpRGBVQKesU8+vkE1Ab+b+eqjGWECdlU+5TxxCQB6WBKgbZz5AX1cLK8toVkBhROHXIOhQQP0naIAC80hA65sJ2L6FRUCU/K9ccqdBQNGA0Idca0dAAXlLRD6lVkAqK9WP99smQCDFSKHrGVJAEdD0ksfqEUDYuvEAOU0sQH8KOGbYoFZA2i2p298dRECFgX/O7g0DQIUcdozJzkNAZBR03C/qUkDippkT9PU3QEP2CUF16k9AhrX+R66KM0BYwtC7grslQCMaAHLYzDVAz8ViNnCcVUDs98Xn1UjtPyoM0DfYLi5AWbEBuVH8OEBhlU2hd9pCQN5qnAijg0hAUo9lbghmOEB6R0HP5N5AQAkFF54rPkdAS6Clh+x3OkD9LBdMdjRKQCJTcG59hkVAZKP4hbMuUUDFZjmXNNJOQK9SAcYEJERAW+7CuNrzWECnbcLRNYZWQI3p1KE8HVBA0oC2TrKHLED8Vjb70GNCQO1t9PPnBlNAimYouS778j/YuDKCZ9g9QFaXpHbZ41FAW/jKhUdMNUDR0ISr+U9SQO0rBGMYU01AQqxlldrFTECOZJyP0SpKQJ6OQZz/lj1AixuTSNxnUUDx1Pfmq/ZSQCgNQGJPlVJA/NOZSML/O0AnA+D0KhhBQJkSfnGus0xAMcQ1BM9yMkBe6gxENLo1QOXmzw60ZiNAjIwlij1QR0DBrLA7APYwQDHsLEhXx0tAAgwfOtIEHEBy/FI0s6c/QHR7nljTzlJAnUKaLbckWEAvEfMvdAJHQJMpeT1WAkhAXLtpsJi4IUD+uhJTZHdRQFwQsq1kGUhA4VPpCeWkSkAoWxKkozxKQKEAmjRt41VACK4DrbtBMUDxOCf4l7pBQEX7K1gYelNAzYye2RqWLEDKfo/YMC1HQCl2diIxVVhAtcA4Xny9V0CyqjgCc30VQF0j/kB9lk1AkImDJCtHGkAsNDuofQYlQN/oYKjTX1VAKBDh9UtyV0B9dh5tkRgtQHEzOPPNd1VAc84iLnD+V0DuV1T5gxs1QM1NzMgpeSdASTLfd7gwM0DBFu3sX29XQBzV0KPKtldAxpZ+FxKcIUA2cBqO+MlYQGtQxNAjLDpAO6DetzWIQ0ACGp3++OpSQGfk04dLhTpA5WEOqnIPSkDF0FhL8upHQLEDtlQ+ZFBAqmj4MpgLWEAUGJvMaW4yQIhRuA9XXh5A2868He7ZRUD7TcNlJWlPQAR1/2FUWVBAZod+YlU/T0DeFeEz9nkdQNA63h7nSkFAjubszG1NI0BGcq8uYXhDQKpPby3DJvY/x+AjSYsbI0A+3YCF49tKQOtDUzNpsVVA1N6U/H3/NkBxzhdGyrtNQNOJoes0rylAnVPJSWcNV0BG3h4NjoRUQLh3a9xFHkdAut6vXPy1U0C3eyS3hD9JQLk6909Q0TlA/E7ekdsVTEA7pn08BtdSQKHTIwZlplRAiQBDHOglGECKcvjg9j1EQFmjbbOFpEdAcjrZu0pyQEBBZNcJYtJTQGz1cZIxnitAGU+TFt+eSUA7C/K6QHpTQLP5X78TfgVAiHnKEjioRUC4M676aUNQQH9y/Woiv1FAHTiEcQF2LkC/KhHUqM45QGcc+NXj+iVAFOQguzgFHUBydtqBc2tJQGd4lhNN8j9Aytx7fXg/VUDBeolrizRYQKz2HEgS0kRAWFLzIc8pHEA+NNWniMdIQAMKcZM1wlNA+UtcXBRrTEBOKz77HxZBQA9yHmaucVVA9tj5WsijT0B9XMzHS2JDQHL993WrQVNAt3tYj4mGKkAIle7LUafTP0K9ahWJdEhAMnKX1hJnSEDV4xSnk2RYQPC3JduH8zVAnRs2bjDUTUBhHdwOLtxYQF9Crv5iAVNAGlxiohHsTED3niyB/4VNQMa1IBHL+kZAnE6JVf/f6j8WYT+KLixIQBQzA1eFlOI/RFh38ewAQkA0lYa8S2VQQEbx/k8UjiRANvPK6g+fWEASuLkcxPA1QA468mg8A1RAyojg/C/PRUD9RzHYQ1FQQAVgCdUbxC1AgPvQUTytMEBALytY8TZAQApGbw/VL1RAR7J9Bh0yKkA5wfD/ropFQDsdgi5rhVdAhLnOIc/+SUDZb9RICytDQLnFeDj8D1RARbt9pGMAKkAx1+RNVUBSQHcKoHvPWjtAzOByioy5RkBaOzzWtGNEQCV1+DHmj1hAM0HIIFU2P0BZ6uSp+Do3QHTENdbda1RAa62/wgG3V0B67LvaAH0yQERTDcCu0RpAqOaViLMyVEC9xcz5lWBQQOYcLr5By0xARqs6bLbqQUCt3k6RHE4VQLoQn5Uj6lRANP6vYkMKUUDSguOp2KZOQDI/MHgd3ShAQplIVaBFR0BO35rNBS1WQKWjVzgspktACuUWBS2NR0Ar/cyd+JdIQFk6IYTyhVZAfDfVypOINECzf7CiBzlQQJ2stv2TnEtAEO4zFpAKUkCUCsZqn8tSQBZLX8//U1dAX03eCTslKkB9npbBNt8mQC6xnOiBAVhAHrwHtYCNTEBEgQPLvHBSQIpJDpo8V0NAWuLRFLa/UEAS4D1VWxtSQHmgzUlK5x9Ao5uaFn0DUkAyYdABDfpQQN9tznVxLERAEpaVttw5VECIC2+DvYBGQByxGqttzuw/QeUBkh2dU0C1f1THRVpRQAaRDbaV7iBAqDFjMSuqS0CsL3a90bglQH7S7tETrDtAh+Nmykb7VkDeMrdY3QNXQMv3sxqaRUBApa2o0noNVUBWL9MRPp0+QGxnv2GrMExARxVMl4rsSkAuxFk7qqc9QHwIOWQPcEtAP8/AP8WUIECRFUedgWUVQBBBE77DPhlAMnqJ3f5DK0CBPby2oPwoQHjHUBJhxUlATxRanP7XNkBatKb3v0BNQHSS5eUgciRAPqtCUHSeKUBjRnTdJ85UQD3e44R4G1BAkbq9wv71EUDBBaRD9ZBKQGGs0JOuC0dAuDYYXKpQSkCcP9AGBXNFQCrGQBzESVdAWcBRFw1IMkBK6Id1+g5UQH8XPw58JERAS9W3a5sSMUBAUE6DLqJFQJLTJ3tA0VNAxoHuX/BKREBnhoCc8gg9QCz8hzkXM1JA6bdEcA4BU0B4dy0PgoUxQMUvi5RvMCNAFyMIhnonVEBBtc5uO4VRQFaV+PWx+FVAcw1LxxPJUED0UnvZTQtNQEA51aARWlhAZX76WpWGVUAmItNri6VUQEyWSdYRklNA0XC2vDIQVEDN1OcE/z9BQBIwBbgz9klADEHsS/nYOEAjosoexP1QQCXfWYj8J1ZA1HXB6toBMUCM2vlOxRVRQHU7UKagHyFAfuO4UpFOU0CoIgbiSl5SQEqLEd9T+TNAJnC01OPELkCkuXKidO9JQKCMTEygd7g/17uDW7B6Q0DEQ0ZU+qZOQLHG5frGIVVAmxKPTUO0P0CsiCpVYpxDQC9QlHVGvjdAp+RVFuWUIEArzDZUoTVUQEdikbo7uVFA4tI7O3D+SkCOziV3oiBYQIg5YSwfFUdAqOMot7BLUUCQpsj4veI6QA1clzg3Qk1AE1GoBX/JQkAQVPMwxbRQQFaFXhzk9lFAZUCjq/+jREBm9HqrIGY3QLTHfy8m10pA6N46lVt4JEDO9fY4K7BAQOYtifpw005AY3NdvrztTUArAmklbYM6QF7tpeP7HUVAk1JHWQviMEBgUupiQUdRQOFrtYaialJA+vVig0izTEC/ea/6PfowQO3RZzxNEFNA8Oaf25a2BEC8Xm2RhuREQCd7AbyaVD9A0LyPYNhJIkBZoA/tJ08+QJQOF1lUDUNAsYZigXXiN0AWbgYnA8RTQLroXK9bp0RAbKN6Xc2UK0Cd0eKbcTc0QHcgN0wTG1hAAB6G4WKnoD9JU1NiRlkkQGKMaeXz9U9AC0Z6T1SGRkDxTZdBfsNCQB59gUTRqFhAxKFGJ/gFT0BSWjNPc4lDQNM55Lv8lTlAm9Wcg/4+Q0CmlT6d9oBRQOUCHEVwEThAP3lRPuwiOECgUJg0DzBTQDvUgqwDvFJAqfWoBvtkIUD4y1BycMJRQMoF03Xi5k5AN373ew9oQEAyuHWGSf5VQDACLOuSUFdAdkk1u71CIEATUBv2e39BQAK3TDnRuxNA8kkTd69WS0DEnksdRZYqQDfj3U6GnlZAT5dvvMaWSUCerQTKybVQQGzyAQWTvldARghs465KOUCmQPxH1xVMQBLDaf5Ai0hAzSQ8pKvaVkCIaUPJND5SQNO4uMZgxTBAhpijNJDoUkBAHbEF6IxVQIJwwxB5L1JA4WLOckX2T0ASx0fRyZpIQAcFVVQiplNAtnzTf3EUQ0Ac4BNGpoM2QMhvel7AqEJAWYUpeMr9UEDMH1Hy/ClRQO//P75i6zFAJteV/2SIHkC1ktlIzmBQQFfWTUMSwVRAFI1Wdlu3CkACqJxdlp8hQJnR0uCWl1FACX8ZQX/BQEDmU7h9GeZRQHq5FQfqZlFAYgUvEJJ4QUAXYo0Mujw+QAhWEHxv51dAzm/iSOTcR0C5W/vvqT1IQE+jz7sSe0BAjgWabmYWTkAP1Sr7EllWQLo5LpoxgFFAwxQf54gmREBSzkIYn8VQQFjyFW30xTNAr0cwW/hyTUATk/RiWnhAQCaGcd91VkBAv1VDsIqwTkC96l7lHXtAQJgRX89/bCNA7kJC4WhmWEC4EKdrA1MbQAkmNg0TRVNA1QzgbwUcVEBmtIxz4iNEQMuQcCwa3zlAfLr8qI8lRkChVbZNO5cyQOq3xNrBgUtAE4tzglpeTEAkNock0jAQQKfYKA7J5yFAxTpLvixmSUCkXE8mkMsOQJQ/KI5ir0ZA+nsvxtb2VUCgZka6jjNVQGKs9zv2Xh1ASqmCAPBEL0BSC4DZnFlGQMDyKJW/OkhAKs6/KBhrNEA3ocxnde1SQB9bYzpycFZAZ7h2SLBOGEBfGDTSTmJSQE3j2gPfv1ZAssJVhSXlA0C7WkvDYIESQBzZbedVTVJARjJIAg50VEBS5DF5DDA6QE8lyv9F5lZA0NgPHoNAL0C9AXquxu4yQB3mQkCkZDdAIrq2tgvTU0DJNrrp3cohQEhtkQ/P61RAX3Q8867AV0CyW1rgJgFLQMxmxFBArVVAMFx3Na43Q0A8lUtTORBPQPCNY+kVEVFAqbo5CqmIPUCcXQGoqSJRQG/EI8yXw0tA+Nt1+FnVFUBsMYQOxN5QQB2HjuevmUlAs6g7PB0zUUD9r/T9h3slQFx5q5FHRxZAyjX++vTYQUDlnEGbxtwwQIZ2EkyNz0xAKTCxKMbKUkAB3s37nlpRQMH61frkkUVASGrzlLJTUUD6plfwGjhTQFUmCfjmFlRAhceyo+CeJUCERwwZ8MQvQFI50zjaNkJAOADKIFkcGUAcJWrAi34vQJkv9fDJLFdALPEPNB+DLEDGf/rr59RCQC3T1G0AoVFAIgL0uRj5TUBJA5hC0dxXQBHeUbwX9ktAn0M5JLUsWEB40w5wK0UAQK91v8UZXFJAGn7cWXOTUUA6g+t86LBWQJ6JjtnOPUdA2PXEUc3wUkDZUW9kvBtTQERvPjWiSldAnoSXdbztQUDqsN9+7ZxVQF07OVwSHwRALYbiL5cmV0Bfj9Qk0kRWQCxnxqs3zztASdgSpIStI0C6p4Xj6GBIQJUeSXf5Oj5A3DB3WwJUQECeoUbOpBM3QCfvf4cbNFJAoYY2u+f/UUBcGgZdWg1WQPmQr4m/E0tADSSXhrF2S0BAkQCvFt9YQFCPb54Ke1FAAnIzTEimUEA6gY8FqAUlQDiFW+h5KFJAA35vYP6XQkBO2Gp7NRVHQMmFJgkHlk9ATHaJsW6jRUBUGprl1q5MQCUcG34oe0FAgbzmAnK8UUCydqrSKR5XQBj5fZO1PVVAOZldPOGBOEChQD9y7A05QMpef4X1TFNAIsNmJLK2VUBuOzjgqJBSQIRqYdZPSDZAwL2uMOdiUUA41VeVE/lYQK0159hplUlAQFKCLpTLVUDiCaXwJ341QGptLxySqkpAc7jUOuT5OkCs8N7ViJBSQLrtRjJdAENADBFrCh9FR0DWkPmmsH9TQME77dQSBDdAOdumYVCOR0Ay/ay0THNLQJVcopXahlBAwd+42DUdVkCc1bPdT6olQBV7lg3KTihASzgBbcwUMkAtiBNav4BMQB5TITi4exNAHC/v72aPIECzFrIPP/5PQGuX9u1iBFFARH2EwdaTWEC+2Sb9/zJTQE0d7WYYtlhAhzUtkcZTQECE9daR5lVQQEp7328X0DBAqT9e1rv/N0B1bplZzDhQQAwhOJfvRVhA5UVWsyPXVUBXlr2w3p0uQODO0ti5BSBAMHMcrklrTEBIgr719NrQP2p2dz/qBRlAnZqVRZPuUkB/MCMCBgxXQH4aBxwfsk9ALJdvZuY1JUB5h7kXBr1FQJQsBANfO0NAQkcOhODsP0AvguAtQktCQPqVYNNSM0ZAvsFCXSRGSkDttE5andtRQFDu13xk1jVA3r5Pdc3OP0Bdb2KZkoI5QAYiw5BuoRZADWv1Kp/8VkBGoD8YU6YgQGOfPGtVtlVAwunfxwkgVEBETW+rKuNLQPemvjSjnlFA2ravv8toQkDP/yJQ7KZKQF13oj7tXFJA4WLMysYxUEAaVIjaDNdBQJa2ZuTEPS1AtFWBkFr/SUCMTwFmuE9BQPwItjsbbExAF7OX97cFUkBspiDf3/4xQGEx4MUOLktANETD3sAfHEDonpfYPF9AQKQ6KNreM1dAAcasJauMPUBXoc9KhNJHQK5QiAwBEEtAYvYX4Ta8TED5BITkpww+QCyEHXPSV1JAfBjfZfZMU0CrHOuXLT1HQEVj9P3zASRAbsSmIg7WT0A4xa45pyRRQMKYD27rVi9AmGBySl7DRUD5dCH2HrNPQC9VLvjBWFZA8DZB/A3GTEBppSbmaUJTQD+jf1ScCVBA4Q5RcAhNOEDZv97ykL5TQABQIIOcfYA/i1IYcLNURECAmpm7sSY7QHJbUKd5o0VA+8u5FnDtTkD3EQ9WP2NAQIK5ws5/Vj1A05ZYbdV1SkCE9Z5B92NRQJHw1JdERVRAS69KWyd6V0BS4nl019gIQP5ypWqwKkdAxErnKkwxPUA7lx2+2+BXQJDVWP1IME5AuRcvZJWoVUCW72pdSoRHQDol6VQgOkpAor+0LW//GEA4p9HHmNFOQDBnXFjMzVhAcguomwf0SkC0PAqwEPNUQLYiQ4ZAaFJAsbcmTvE5RkAQIF/I5aZVQLFp7rHYwlBAQr/xFreuRkDc0t0WmQtRQHzdyiPwThlAzTqA07wdH0CsugljSa9YQNYkVPPDDi5ARwZMvCdKWEAQ8k79pXZGQM2g18rAxydABJQbM8oGVkCz/OvjVnE2QAxcKjlqp0FAAN3R1OG1PED2am1Rc2BAQKXDCU66Ak1AU+ETMJXaVkAqHFTn3hBVQHd3r2AawzxA/GQyNId1MUABbbjI/YwwQNqffmfEy0lAdTpPJP3hVkB44oDLe65OQMaXVLMaF0tAmcZBqYLjPUBGYKy//zY5QKCbnmqK5E5AY7v1o3JKSEDAEHtwfI4xQMDLKJMSBzZAW6h41EjKOEBK/9GDFLxUQO5AVjR16/I/RLTDM7kLI0BOdytIo/EaQDJuZUoc/0BA46xpCPOeSkDY6vAqLQdVQE6oOKZARwFADZZUi8SSIkBovPIpmsVQQCg5aUHivx9AsIYFEhqOEUAFoRExdfxTQDA+/MFu3EZAFrCCBH67QkBFKvACfDkhQAw/wJISx1hAQ7ThIvojTEAwRSZUUVVGQKw0tSEmITZAmflzwQYzS0CeVKgrwZg5QCEGq2prsEJAFCVTgwzTLkD+4DKnYhNEQD5lqvm+xjxA54IhWD8UQ0BBg7m63C5WQKtgGP5IOlhAgSO91cwtNUBs40UjadRTQBRBRdZ/KjRA6eUP2lN/V0CFebzi3D1MQN0biH/ShEdAWws4xdTCVkBf8CLp96ZXQE94lToUySdAUMholAJy4T/QRUiZL4RXQPtbEgZNIldAkBdRcVSlRUCwwJgRi+gyQGvdXo4TJjBAQndDNVy8TUC+jUsre3BVQD2SsE8K3RZA8UQ2W5xgVEDaBNvpZ4Y7QEZ/M3/O/TBA0asGKvBiVUBLidZerzgDQBlQ6dXUoVZATkrkeACeP0BKLd/ZFKxVQLANMYC9XTlAb1Nh28xPFkDehPFjrkpAQJwC2fGddg1AlYz+uEirQEDCbxpgo6JSQN3eMroPPk9A/VlKXZB4L0CCrDnxdVAsQHEgl0rGa1JA03EOFlLtTkDgYUHtlHUpQBi7++B4sk9AOmOjkPCoDEBSqakZ6EMpQI0ogq0M0UdAPdZeCewfO0CxjdVRpApVQNYQH+UJkFZAXOMj0hvvJkBNs00zyPJXQKjORIUNM1hA2MinAu0cU0CDP/fxKklWQCAMw3iln0ZAqw6jYucSTEAorF6o4htUQHUCal0oMVZAdY+egtHCUEAruCTt9hhPQMEkR4y6Th9AL8tyL5hAU0A+DRP7k9ImQGkY6IICkz9A6xDi/0uNUkBwPzjeZcs6QHO+3Qdk0DlA7HsBs3O5WEC5qdz7OH5MQFG/ursJA1dAEzvtR09NUkC4HHX/XwkwQGUJruf9P0NAoYiMT1QaNkAtXzaVNMlLQKvSWahoKUhA/c+EpKOXDkCHZ9CtYVJBQF2y35zTazFAisW18in2UEDmhmeuOSIaQKwxD/cOGVNAukYl8Pp4TUC8TswEyP0gQORCz0y05jVATEqLPyq5WECzXMNx67pKQA6hZRD6SEJAKBSa/Ki5VkCLoE/lFPY9QJOY5whh4kVA5e+GIsjBVEBN1PiTLnslQNfkyP8XClNA1KpVCZDNSEA4PdNx0vFPQKiHynqJk0ZAa5+ewCJMSUCDO0bkOsU3QBiKzHafXyRAMRTlEU3KTUDE9XQzIfkrQC1xim/reT9A8t7ZXx3bSUDmDgmmo5VUQGqMKurW11FAZItXXM9xP0ANDa3vVVBYQKmVLeB6D1NAGEJY/DbWV0BHGzGjpLRFQEcwXc0FOSZAnYRJ8OtwU0BaHxnRPas7QDjxyMqZC1VAezkJ7H+PSEAbmG2tC+5CQGLwSAsUKhhAFbZJCxxQV0CIRl8hKEVGQBZonMl9d1dAnJTusXcMQkC1Scz8q5lYQOf58Nw5NEhAxJAtUU2FTkDSven6yQBYQPTuuS0StjdAxk1UseCLTEDSe4lCIxIxQDJYTZvWqUdAhbxz/vGOS0AB5PzYzpIKQMeTLgcH7E1AWgqnyZ7gV0C9ZdPE+tcCQN2XJUqhJEVA4huB/GyAVUB15fi5s7dKQAy1tKHxT1JAX5SRcYPZTED01jjHuRxQQLTod6ClVxRAV+zH7kxRVkDrcyDDy9YmQKgn2tA9H1FANDcfyrITGUBOeMnBa/BRQMJXl/pBuzJA+sdKrag/SkAGIFyoV8NMQO8VtK7Tbj9AlmLNtakBUUDVG+wy44pYQAziCb49a1hAHvmpmBwQKkBMCvjZzfpPQD5swWiRED9AgJoWsRhlQ0CkA5U05FkyQNHQt074OVhA+Sp8mUr8RUCZEq88AP00QOhAuGWkjEhAxKJxyS7LVkDm84y7zYIkQEboJXM2CTNAnTEBaPagVEBYPareunE9QJdMwSAfAFdA4hmbAP5BFkD4Upc8L/oBQMaQv90ISVNAQkySMX60VkD+rrn/GwI6QNnxRgfI40tA1Jy6rrMlN0BdRuW4J3YrQMs+8fBsSStAGvNC1TU5PUBMrE+0yX9UQAZZr15Ec1hAn0x1TH+KMUCbtNXFlwhJQPJCIsKgEFVAKd0DQBnQO0D8p5c/A+HjP3A+uly4/kNAQvdlzq5WRkClujiedJ4qQJrEQZESmEJAioLTTXfESUBrnZV2/RhQQM85+QKg71BAGPAl2nAIVkA1PyavuQpTQASL9hg2wVhAmPrtA24CWEDKdajiYqtVQFaEsDvM2xVAQGUth91bMEBO23SPTg0sQOTIMq/gkFBA/VsxvTjvUEDgBF5VeYzxP263Fg1PMiNAgJPj3A9O3j+D4uCekTc7QA7b04CFGB1AcEfQj1gAR0CQ1D1Ef2UmQEyEzQnr/1BA7KJGVbgjKUCwkLXMtV1UQFLmLxqR6VhAHBTknXfhV0CQovGzr1JWQC9B/+2JlzhAoO2Kt6rbwj8bwfKtn2ZTQPCt4TkfiVRAL8cIVghFTkDmBQV5v0lLQIkFFLzXMyJA9gvcFQ20UEAyf14IUyhWQEZqTvppZU9Ay5sMOvW5VkB6s+wtPVRYQKQ9kSxN10FADKrWloPmQED8KEqczmwzQKsLfVcZrFJAVkbEa91ZTUBXaSzA0B5GQEPafP8yCFVAwj5/YCBhTUCyMxE/2KlPQKSpl5VSgDNAgf+tNI2cI0D5rZY+KYZQQLCsUA78DTNA+5ouQhAXN0BCm9tXCf42QPP8cTg/D1hAoyVyse8BO0AJRWeoqBFWQEpiB8qrXlhAqIkyRtfSU0BI1ZBepopJQPx5+ZICgFZAGYecV+a6VkAKhqEyJrtCQNWJNlbSOyVAPXmUYz92QkCfTwAS8KdWQIJOS5FSrClAkILix5RFN0BiD61JgDUJQOlT7QZ7x1FAR2m5Vo8pQ0AgzB2oGMjCP3+p32P6i0JAuVTrUbALRECw2/WCmy8zQOXppOwWCENAlMytbdP5V0AuFS6vWadPQGWjx7NwtxJATtRgwhi5VUBCvmW+EFZHQGFgjzcz9RJAlZ8UsihFNUA2CUM4SdoCQGRA1yUnEO0/WS7N6mTsOkDtpHr9n5tEQCvGlzngXlBAR7h9acb3SkBbbrqOIeZXQFcaUdtPyFJAfc2vsqWtU0Cot6tditdJQHWw2LpXwlRAWFr3/ElCPEBv/lH+sdICQNa7xR3mN0VA+yAfWZW2OkCnQVxr0BhVQKuN4T5KEghAwff+g6RvVUAW/MEg2RNTQGOTXtLz2kVAhYugtCKTUkCvKTKs9E1RQGyLgJN5SE1A4E49Vw9TUkAMUTueO4A/QOeIfBjqkFZAnrJg1q4yVkAKOMTAKKlSQHmBL35dM1BAerLQoSdHKUDol+Qm9OT4P+Wve3l5hEtA5eFIEp/8SEA6m+XbV5E+QMSjtwRoJFJAL51g0LqTTEC+tm+1Z+4nQFCXP/j8a1JAZ8VIqJq/U0ANQMwjjW5IQO7zaj213FNAEf+PC1seUkC0ZpJp3T9LQELO9AAsJFFAeGmdVqmDVUCQiK6HfIY5QIbZu8RdLEdA6rXzC1MyUkB+qHT0n6xOQAgnAdHYrktA/H+38VfrHEDe64mixqlKQHqbbiQu70hAQFw9EsPZVEAdoLPMmZJUQJizmB42LVNAtB1QwNW2P0AwK/khpPtXQKhDQZQ4CSpA0yMpNZI/VkD6IGOzsbVUQCLZfUKdlVNA+PCY+t4fVkAvzUROFKg+QN5kGQUFxUZAQADX3jf8U0CxfdNTtphOQOYzzXxVfydAbSHBRkLCVkDQdiQRgZ9QQBbmbtApJEZAksku+A3XHUCIROTXA91CQMaFQW4x6TNA3nuAykDJVkAERw9ILLJRQFto48aljkxAA5RwEggrOUBqIuKT6PExQPVyQW+C51FAzRo4wYp0V0DGhgaKgbJJQCLdtKC/Q1hAH14x+ivAWEB32IBtpmtXQNssMa+IATFAwx03CrF9MkCbwLqxZ5FUQBfC4hyeFjRAZoclmn2+MED2wN1Ff0dSQNBOXHXxnFZAUSIWmabKS0BE5xxO6x8wQA29pH9TL0JAfhZahxQ2V0Cr5LFEoGxCQPViPEX9KQ1AVSnntU/KS0C9Ek8YgPkoQLmqH/HCvUxAoOv3IjzdUEAMZXmEJGpSQD+BU1CkOVNAqPSH5/zUUEDGmlSov8IzQCjsdCNBh1RAe/kUN6J+MUCop2ecGYFDQAb8oNneXU9AsAa5SEmMSkDSUG2Jl7odQDoPN1EqogZAcBSsp1v5GEASQMk+OApMQEVltL+mNVdAbz3ktUAvUkB4TUZssiZKQAcPZNaZNy9A3Oxha1lNM0DDQ68SYQkpQH/G5f5MTVdAjbVRBih/U0BIUWPull1AQFHhJR1S4VBAPCILYfIrQkCOOVEX/O1WQBKrEaW0o09Ao+fPxGyFUEDLM78KKRcwQGcl6AlMAy5AfTtI+r7eUUDyJnptKz9YQLX4+d6I8QxALpD1OMOAI0BvQ52vLxw0QHlK1/MC+FJAE8OI/OxsUEB+w//4qldYQJUec3JW81RA82QlS7J7NEBXcoIxpSs1QNXZrjORMk1AgHScwks9VUAMtM7I3+hJQNGTUCjI805AYLOwqpLGUkAKmSrlEKtEQLin2+Y+QU9A1lxXg89YVUApVQabn/NVQBFWF/q4hlNAKCGIKx9lNUD1Gw+XEpU4QNivecOXdlBAf/lsDy3XV0DcguVtLddMQKQCuhvhcEVAgqMbv1XcOUA+DSpXVrZBQKpIWVeO5E9AT3v6STa8LEAu1mdAE7RQQKci3zP/UlRAFUj33kIKS0DE8DsAR01PQKxhHbwmaENAPZp/tfmJUkDL81gcrHNQQKi1GBKokU1AQgr+zmpfV0C6L4n1ljUTQBHdoWlJLlFA/TVFvk/QUECypkMA478sQPf7XsFtDVFA+F2UG7bRO0DcrKmsTnhRQK6zMoJJFS1AlXyutsJ4O0DG7+Xr+pEYQFVV2/lNQEtA5pQhmrLrVEA6OVX7C+5SQPtfRBjQQVFAY8R+XomWSEDFsVoC67lBQFged7lyJEdAuz7QVugrS0AHaML0/TJAQPx7bjshV0VALbYPGihZS0A2JheAYhNRQHqTVKia/VVAku/X0/FzUUBICIQYiNVRQFzlxmi/WDpAVOFdRsX/HEBhAjXj2Z5UQA8fyz8j0lBAStgXFVpMVEA7EL6+3V9RQJwhV/GVeUhA/IT8yRwFR0DA3DwNgI5BQJZLTvWk4kJAFrcjR/xgUkBqjCC8pEQnQMAA6q1FHSVAUMcCsLWBTUAuKSkoNepYQOH2MrH930JAIjwAfIRKN0BKkiaEXTsSQFQo33jQa1RAHmI43jFpQUBYumU15DFQQJD/eX8dNEJAsrULPjP0REASBoTFFZhCQD6JMjkGFipAZnmDd1nQGUCIAWEik2BVQIXJ/c3tLy5A3KvdnfATP0BddEOLI8tTQP5Rk511qBpAGTyiFWMZUkDBBgKf5vklQLBrBmGDzhRA+h89U/GUCkAH3klhIR1JQCh+vOZMnuE/cenRb/t2OUDpqxgwhz9UQMAXO54GrTpASbNYu9GMMkB2pbMRWUpEQPIEBg1tU1dAdECW8I8YT0ATz9D0Jf1TQG5iWAMB9TNA9Uj+wEGICkBpbnxy4MRJQItKHoD6tExA2IgUeiNOPUAqcRruhwwTQNf8ztvwqlFAJ1lr6qPOMUDYO8IhrolGQDpOIAxK6VdAZThaWyBGOkAG0Nizk8I3QB1RvwrA31VAGizXE85vSkCDyQdm/bo9QEIwqSVWrFJAk57zbJCFQkA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[4000]},\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[4000]}},\"selected\":{\"id\":\"1567\"},\"selection_policy\":{\"id\":\"1566\"}},\"id\":\"1509\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1478\",\"type\":\"DataRange1d\"},{\"attributes\":{\"coordinates\":null,\"group\":null},\"id\":\"1558\",\"type\":\"Title\"},{\"attributes\":{\"tools\":[{\"id\":\"1494\"},{\"id\":\"1495\"},{\"id\":\"1496\"},{\"id\":\"1497\"},{\"id\":\"1498\"},{\"id\":\"1499\"}]},\"id\":\"1501\",\"type\":\"Toolbar\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.6},\"fill_color\":{\"field\":\"x\",\"transform\":{\"id\":\"1508\"}},\"hatch_color\":{\"field\":\"x\",\"transform\":{\"id\":\"1508\"}},\"line_color\":{\"field\":\"x\",\"transform\":{\"id\":\"1508\"}},\"radius\":{\"field\":\"r\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1511\",\"type\":\"Circle\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1500\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1494\",\"type\":\"PanTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"field\":\"x\",\"transform\":{\"id\":\"1508\"}},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"field\":\"x\",\"transform\":{\"id\":\"1508\"}},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"field\":\"x\",\"transform\":{\"id\":\"1508\"}},\"radius\":{\"field\":\"r\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1513\",\"type\":\"Circle\"},{\"attributes\":{\"overlay\":{\"id\":\"1500\"}},\"id\":\"1496\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1509\"},\"glyph\":{\"id\":\"1511\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1513\"},\"nonselection_glyph\":{\"id\":\"1512\"},\"view\":{\"id\":\"1515\"}},\"id\":\"1514\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1498\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1567\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1495\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1565\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1566\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1497\",\"type\":\"SaveTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"field\":\"x\",\"transform\":{\"id\":\"1508\"}},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"field\":\"x\",\"transform\":{\"id\":\"1508\"}},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"field\":\"x\",\"transform\":{\"id\":\"1508\"}},\"radius\":{\"field\":\"r\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1512\",\"type\":\"Circle\"}],\"root_ids\":[\"1477\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.3\"}};\n",
769
+ " const render_items = [{\"docid\":\"8349961f-9b8f-4a61-a734-c64f1e18aaca\",\"root_ids\":[\"1477\"],\"roots\":{\"1477\":\"69f39ce5-24bc-464d-bb9b-b343b420b71f\"}}];\n",
770
+ " root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
771
+ " }\n",
772
+ " if (root.Bokeh !== undefined) {\n",
773
+ " embed_document(root);\n",
774
+ " } else {\n",
775
+ " let attempts = 0;\n",
776
+ " const timer = setInterval(function(root) {\n",
777
+ " if (root.Bokeh !== undefined) {\n",
778
+ " clearInterval(timer);\n",
779
+ " embed_document(root);\n",
780
+ " } else {\n",
781
+ " attempts++;\n",
782
+ " if (attempts > 100) {\n",
783
+ " clearInterval(timer);\n",
784
+ " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
785
+ " }\n",
786
+ " }\n",
787
+ " }, 10, root)\n",
788
+ " }\n",
789
+ "})(window);"
790
+ ],
791
+ "application/vnd.bokehjs_exec.v0+json": ""
792
+ },
793
+ "metadata": {
794
+ "application/vnd.bokehjs_exec.v0+json": {
795
+ "id": "1477"
796
+ }
797
+ },
798
+ "output_type": "display_data"
799
+ }
800
+ ],
801
+ "source": [
802
+ "from bokeh.transform import linear_cmap\n",
803
+ "\n",
804
+ "N = 4000\n",
805
+ "data = dict(x=np.random.random(size=N) * 100,\n",
806
+ " y=np.random.random(size=N) * 100,\n",
807
+ " r=np.random.random(size=N) * 1.5)\n",
808
+ "\n",
809
+ "# create a new plot using figure\n",
810
+ "p = figure(\n",
811
+ " plot_height=400,\n",
812
+ " plot_width=800,\n",
813
+ ")\n",
814
+ "\n",
815
+ "p.circle(\n",
816
+ " 'x',\n",
817
+ " 'y',\n",
818
+ " radius='r',\n",
819
+ " source=data,\n",
820
+ " fill_alpha=0.6, \n",
821
+ " # color map based on the x-coordinate\n",
822
+ " color=linear_cmap(\n",
823
+ " 'x',\n",
824
+ " 'Viridis256',\n",
825
+ " 0,\n",
826
+ " 100\n",
827
+ " )\n",
828
+ ")\n",
829
+ "\n",
830
+ "# show the results\n",
831
+ "show(p) "
832
+ ]
833
+ }
834
+ ],
835
+ "metadata": {
836
+ "kernelspec": {
837
+ "display_name": "Python 3",
838
+ "language": "python",
839
+ "name": "python3"
840
+ },
841
+ "language_info": {
842
+ "codemirror_mode": {
843
+ "name": "ipython",
844
+ "version": 3
845
+ },
846
+ "file_extension": ".py",
847
+ "mimetype": "text/x-python",
848
+ "name": "python",
849
+ "nbconvert_exporter": "python",
850
+ "pygments_lexer": "ipython3",
851
+ "version": "3.7.9"
852
+ }
853
+ },
854
+ "nbformat": 4,
855
+ "nbformat_minor": 4
856
+ }