@airtable/blocks 1.8.0 → 1.10.0-experimental-48096ae-20211116

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (304) hide show
  1. package/CHANGELOG.md +20 -1
  2. package/dist/cjs/color_utils.js +2 -1
  3. package/dist/cjs/colors.js +2 -1
  4. package/dist/cjs/error_utils.js +19 -1
  5. package/dist/cjs/event_tracker.js +2 -1
  6. package/dist/cjs/global_config.js +2 -1
  7. package/dist/cjs/index.js +2 -1
  8. package/dist/cjs/injected/airtable_interface.js +2 -1
  9. package/dist/cjs/models/abstract_model.js +2 -1
  10. package/dist/cjs/models/abstract_model_with_async_data.js +2 -1
  11. package/dist/cjs/models/base.js +18 -6
  12. package/dist/cjs/models/create_aggregators.js +2 -1
  13. package/dist/cjs/models/cursor.js +4 -1
  14. package/dist/cjs/models/field.js +148 -28
  15. package/dist/cjs/models/grouped_record_query_result.js +7 -15
  16. package/dist/cjs/models/linked_records_query_result.js +77 -28
  17. package/dist/cjs/models/models.js +2 -1
  18. package/dist/cjs/models/mutation_constants.js +5 -2
  19. package/dist/cjs/models/mutations.js +69 -177
  20. package/dist/cjs/models/object_pool.js +2 -1
  21. package/dist/cjs/models/query_manager.js +328 -0
  22. package/dist/cjs/models/record.js +310 -56
  23. package/dist/cjs/models/record_coloring.js +2 -1
  24. package/dist/cjs/models/record_query_result.js +6 -2
  25. package/dist/cjs/models/record_store.js +556 -766
  26. package/dist/cjs/models/session.js +2 -1
  27. package/dist/cjs/models/table.js +24 -14
  28. package/dist/cjs/models/table_or_view_query_result.js +482 -415
  29. package/dist/cjs/models/view.js +2 -1
  30. package/dist/cjs/models/view_data_store.js +245 -296
  31. package/dist/cjs/models/view_metadata_query_result.js +2 -1
  32. package/dist/cjs/perform_record_action.js +2 -1
  33. package/dist/cjs/private_utils.js +52 -1
  34. package/dist/cjs/sdk.js +13 -2
  35. package/dist/cjs/settings_button.js +2 -1
  36. package/dist/cjs/stats/block_stats.js +2 -1
  37. package/dist/cjs/testing/abstract_mock_airtable_interface.js +367 -0
  38. package/dist/cjs/types/aggregators.js +2 -1
  39. package/dist/cjs/types/airtable_interface.js +2 -1
  40. package/dist/cjs/types/attachment.js +2 -1
  41. package/dist/cjs/types/backend_fetch_types.js +2 -1
  42. package/dist/cjs/types/base.js +2 -1
  43. package/dist/cjs/types/block.js +2 -1
  44. package/dist/cjs/types/block_query_spec.js +86 -0
  45. package/dist/cjs/types/collaborator.js +2 -1
  46. package/dist/cjs/types/cursor.js +2 -1
  47. package/dist/cjs/types/field.js +2 -1
  48. package/dist/cjs/types/global_config.js +2 -1
  49. package/dist/cjs/types/mutations.js +3 -1
  50. package/dist/cjs/types/permission_levels.js +2 -1
  51. package/dist/cjs/types/record.js +2 -1
  52. package/dist/cjs/types/record_action_data.js +2 -1
  53. package/dist/cjs/types/stat.js +2 -1
  54. package/dist/cjs/types/table.js +2 -1
  55. package/dist/cjs/types/undo_redo.js +2 -1
  56. package/dist/cjs/types/view.js +2 -1
  57. package/dist/cjs/types/viewport.js +2 -1
  58. package/dist/cjs/ui/base_provider.js +2 -1
  59. package/dist/cjs/ui/baymax_utils.js +2 -1
  60. package/dist/cjs/ui/block_wrapper.js +2 -1
  61. package/dist/cjs/ui/box.js +2 -1
  62. package/dist/cjs/ui/button.js +2 -1
  63. package/dist/cjs/ui/cell_renderer.js +2 -1
  64. package/dist/cjs/ui/choice_token.js +2 -1
  65. package/dist/cjs/ui/collaborator_token.js +2 -1
  66. package/dist/cjs/ui/color_palette.js +2 -1
  67. package/dist/cjs/ui/color_palette_synced.js +2 -1
  68. package/dist/cjs/ui/confirmation_dialog.js +2 -1
  69. package/dist/cjs/ui/control_sizes.js +2 -1
  70. package/dist/cjs/ui/create_detect_element_resize.js +2 -1
  71. package/dist/cjs/ui/css_helpers.js +2 -1
  72. package/dist/cjs/ui/dialog.js +2 -1
  73. package/dist/cjs/ui/dialog_close_button.js +2 -1
  74. package/dist/cjs/ui/expand_record.js +2 -1
  75. package/dist/cjs/ui/expand_record_list.js +2 -1
  76. package/dist/cjs/ui/expand_record_picker_async.js +2 -1
  77. package/dist/cjs/ui/field_icon.js +2 -1
  78. package/dist/cjs/ui/field_picker.js +2 -1
  79. package/dist/cjs/ui/field_picker_synced.js +2 -1
  80. package/dist/cjs/ui/form_field.js +2 -1
  81. package/dist/cjs/ui/geometry/geometry.js +2 -1
  82. package/dist/cjs/ui/geometry/point.js +2 -1
  83. package/dist/cjs/ui/geometry/rect.js +2 -1
  84. package/dist/cjs/ui/geometry/size.js +2 -1
  85. package/dist/cjs/ui/global_alert.js +2 -1
  86. package/dist/cjs/ui/global_config_synced_component_helpers.js +2 -1
  87. package/dist/cjs/ui/heading.js +2 -1
  88. package/dist/cjs/ui/icon.js +2 -1
  89. package/dist/cjs/ui/icon_config.js +6 -3
  90. package/dist/cjs/ui/initialize_block.js +2 -1
  91. package/dist/cjs/ui/input.js +2 -1
  92. package/dist/cjs/ui/input_synced.js +2 -1
  93. package/dist/cjs/ui/key_codes.js +2 -1
  94. package/dist/cjs/ui/label.js +2 -1
  95. package/dist/cjs/ui/link.js +2 -1
  96. package/dist/cjs/ui/loader.js +2 -1
  97. package/dist/cjs/ui/modal.js +2 -1
  98. package/dist/cjs/ui/model_picker_select.js +2 -1
  99. package/dist/cjs/ui/popover.js +2 -1
  100. package/dist/cjs/ui/progress_bar.js +2 -1
  101. package/dist/cjs/ui/record_card.js +2 -1
  102. package/dist/cjs/ui/record_card_list.js +2 -1
  103. package/dist/cjs/ui/remote_utils.js +2 -1
  104. package/dist/cjs/ui/sdk_context.js +2 -1
  105. package/dist/cjs/ui/select.js +2 -1
  106. package/dist/cjs/ui/select_and_select_buttons_helpers.js +2 -1
  107. package/dist/cjs/ui/select_buttons.js +2 -1
  108. package/dist/cjs/ui/select_buttons_synced.js +2 -1
  109. package/dist/cjs/ui/select_synced.js +2 -1
  110. package/dist/cjs/ui/switch.js +2 -1
  111. package/dist/cjs/ui/switch_synced.js +2 -1
  112. package/dist/cjs/ui/synced.js +2 -1
  113. package/dist/cjs/ui/system/all_styles_set.js +2 -1
  114. package/dist/cjs/ui/system/appearance/appearance_set.js +2 -1
  115. package/dist/cjs/ui/system/appearance/background_color.js +2 -1
  116. package/dist/cjs/ui/system/appearance/border.js +2 -1
  117. package/dist/cjs/ui/system/appearance/border_radius.js +2 -1
  118. package/dist/cjs/ui/system/appearance/box_shadow.js +2 -1
  119. package/dist/cjs/ui/system/appearance/opacity.js +2 -1
  120. package/dist/cjs/ui/system/dimensions/dimensions_set.js +2 -1
  121. package/dist/cjs/ui/system/dimensions/height.js +2 -1
  122. package/dist/cjs/ui/system/dimensions/max_height.js +2 -1
  123. package/dist/cjs/ui/system/dimensions/max_width.js +2 -1
  124. package/dist/cjs/ui/system/dimensions/min_height.js +2 -1
  125. package/dist/cjs/ui/system/dimensions/min_width.js +2 -1
  126. package/dist/cjs/ui/system/dimensions/width.js +2 -1
  127. package/dist/cjs/ui/system/display.js +2 -1
  128. package/dist/cjs/ui/system/flex_container/align_content.js +2 -1
  129. package/dist/cjs/ui/system/flex_container/align_items.js +2 -1
  130. package/dist/cjs/ui/system/flex_container/flex_container_set.js +2 -1
  131. package/dist/cjs/ui/system/flex_container/flex_direction.js +2 -1
  132. package/dist/cjs/ui/system/flex_container/flex_wrap.js +2 -1
  133. package/dist/cjs/ui/system/flex_container/justify_content.js +2 -1
  134. package/dist/cjs/ui/system/flex_container/justify_items.js +2 -1
  135. package/dist/cjs/ui/system/flex_item/align_self.js +2 -1
  136. package/dist/cjs/ui/system/flex_item/flex.js +2 -1
  137. package/dist/cjs/ui/system/flex_item/flex_basis.js +2 -1
  138. package/dist/cjs/ui/system/flex_item/flex_grow.js +2 -1
  139. package/dist/cjs/ui/system/flex_item/flex_item_set.js +2 -1
  140. package/dist/cjs/ui/system/flex_item/flex_shrink.js +2 -1
  141. package/dist/cjs/ui/system/flex_item/justify_self.js +2 -1
  142. package/dist/cjs/ui/system/flex_item/order.js +2 -1
  143. package/dist/cjs/ui/system/index.js +2 -1
  144. package/dist/cjs/ui/system/overflow.js +2 -1
  145. package/dist/cjs/ui/system/position/bottom.js +2 -1
  146. package/dist/cjs/ui/system/position/left.js +2 -1
  147. package/dist/cjs/ui/system/position/position.js +2 -1
  148. package/dist/cjs/ui/system/position/position_set.js +2 -1
  149. package/dist/cjs/ui/system/position/right.js +2 -1
  150. package/dist/cjs/ui/system/position/top.js +2 -1
  151. package/dist/cjs/ui/system/position/z_index.js +2 -1
  152. package/dist/cjs/ui/system/spacing/margin.js +2 -1
  153. package/dist/cjs/ui/system/spacing/padding.js +2 -1
  154. package/dist/cjs/ui/system/spacing/spacing_set.js +2 -1
  155. package/dist/cjs/ui/system/typography/font_family.js +2 -1
  156. package/dist/cjs/ui/system/typography/font_size.js +2 -1
  157. package/dist/cjs/ui/system/typography/font_style.js +2 -1
  158. package/dist/cjs/ui/system/typography/font_weight.js +2 -1
  159. package/dist/cjs/ui/system/typography/letter_spacing.js +2 -1
  160. package/dist/cjs/ui/system/typography/line_height.js +2 -1
  161. package/dist/cjs/ui/system/typography/text_align.js +2 -1
  162. package/dist/cjs/ui/system/typography/text_color.js +2 -1
  163. package/dist/cjs/ui/system/typography/text_decoration.js +2 -1
  164. package/dist/cjs/ui/system/typography/text_transform.js +2 -1
  165. package/dist/cjs/ui/system/typography/typography_set.js +2 -1
  166. package/dist/cjs/ui/system/utils/create_responsive_prop_type.js +2 -1
  167. package/dist/cjs/ui/system/utils/create_style_prop_types.js +2 -1
  168. package/dist/cjs/ui/system/utils/csstype.js +2 -1
  169. package/dist/cjs/ui/system/utils/ensure_numbers_are_within_scale.js +2 -1
  170. package/dist/cjs/ui/system/utils/get_style_props_for_responsive_prop.js +2 -1
  171. package/dist/cjs/ui/system/utils/types.js +2 -1
  172. package/dist/cjs/ui/table_picker.js +2 -1
  173. package/dist/cjs/ui/table_picker_synced.js +2 -1
  174. package/dist/cjs/ui/text.js +2 -1
  175. package/dist/cjs/ui/text_button.js +2 -1
  176. package/dist/cjs/ui/theme/default_theme/button_variants.js +2 -1
  177. package/dist/cjs/ui/theme/default_theme/control_sizes.js +2 -1
  178. package/dist/cjs/ui/theme/default_theme/heading_styles.js +2 -1
  179. package/dist/cjs/ui/theme/default_theme/index.js +2 -1
  180. package/dist/cjs/ui/theme/default_theme/input_variants.js +2 -1
  181. package/dist/cjs/ui/theme/default_theme/link_variants.js +2 -1
  182. package/dist/cjs/ui/theme/default_theme/select_buttons_variants.js +2 -1
  183. package/dist/cjs/ui/theme/default_theme/select_variants.js +2 -1
  184. package/dist/cjs/ui/theme/default_theme/switch_variants.js +2 -1
  185. package/dist/cjs/ui/theme/default_theme/text_button_variants.js +2 -1
  186. package/dist/cjs/ui/theme/default_theme/text_styles.js +2 -1
  187. package/dist/cjs/ui/theme/default_theme/tokens.js +2 -1
  188. package/dist/cjs/ui/theme/theme_context.js +2 -1
  189. package/dist/cjs/ui/theme/use_theme.js +2 -1
  190. package/dist/cjs/ui/tooltip.js +2 -1
  191. package/dist/cjs/ui/types/aria_props.js +2 -1
  192. package/dist/cjs/ui/types/data_attributes_prop.js +2 -1
  193. package/dist/cjs/ui/types/tooltip_anchor_props.js +2 -1
  194. package/dist/cjs/ui/ui.js +2 -1
  195. package/dist/cjs/ui/unstable_standalone_ui.js +2 -1
  196. package/dist/cjs/ui/use_array_identity.js +2 -1
  197. package/dist/cjs/ui/use_base.js +2 -1
  198. package/dist/cjs/ui/use_cursor.js +2 -1
  199. package/dist/cjs/ui/use_form_field.js +2 -1
  200. package/dist/cjs/ui/use_global_config.js +3 -2
  201. package/dist/cjs/ui/use_loadable.js +2 -1
  202. package/dist/cjs/ui/use_record_action_data.js +2 -1
  203. package/dist/cjs/ui/use_records.js +7 -2
  204. package/dist/cjs/ui/use_session.js +2 -1
  205. package/dist/cjs/ui/use_settings_button.js +2 -1
  206. package/dist/cjs/ui/use_styled_system.js +2 -1
  207. package/dist/cjs/ui/use_synced.js +2 -1
  208. package/dist/cjs/ui/use_text_color_for_background_color.js +2 -1
  209. package/dist/cjs/ui/use_view_metadata.js +2 -1
  210. package/dist/cjs/ui/use_viewport.js +2 -1
  211. package/dist/cjs/ui/use_watchable.js +2 -1
  212. package/dist/cjs/ui/view_picker.js +2 -1
  213. package/dist/cjs/ui/view_picker_synced.js +2 -1
  214. package/dist/cjs/ui/viewport_constraint.js +2 -1
  215. package/dist/cjs/ui/with_hooks.js +2 -1
  216. package/dist/cjs/ui/with_styled_system.js +2 -1
  217. package/dist/cjs/undo_redo.js +2 -1
  218. package/dist/cjs/unstable_private_utils.js +2 -1
  219. package/dist/cjs/unstable_testing_utils.js +3 -2
  220. package/dist/cjs/viewport.js +2 -1
  221. package/dist/cjs/warning.js +2 -1
  222. package/dist/cjs/watchable.js +125 -72
  223. package/dist/types/src/models/base.d.ts +10 -3
  224. package/dist/types/src/models/base.d.ts.map +1 -1
  225. package/dist/types/src/models/cursor.d.ts +2 -0
  226. package/dist/types/src/models/cursor.d.ts.map +1 -1
  227. package/dist/types/src/models/field.d.ts +65 -1
  228. package/dist/types/src/models/field.d.ts.map +1 -1
  229. package/dist/types/src/models/grouped_record_query_result.d.ts +3 -3
  230. package/dist/types/src/models/grouped_record_query_result.d.ts.map +1 -1
  231. package/dist/types/src/models/linked_records_query_result.d.ts.map +1 -1
  232. package/dist/types/src/models/mutation_constants.d.ts +1 -0
  233. package/dist/types/src/models/mutation_constants.d.ts.map +1 -1
  234. package/dist/types/src/models/mutations.d.ts.map +1 -1
  235. package/dist/types/src/models/query_manager.d.ts +2 -0
  236. package/dist/types/src/models/query_manager.d.ts.map +1 -0
  237. package/dist/types/src/models/record.d.ts +12 -3
  238. package/dist/types/src/models/record.d.ts.map +1 -1
  239. package/dist/types/src/models/record_query_result.d.ts +3 -2
  240. package/dist/types/src/models/record_query_result.d.ts.map +1 -1
  241. package/dist/types/src/models/record_store.d.ts.map +1 -1
  242. package/dist/types/src/models/table.d.ts +8 -4
  243. package/dist/types/src/models/table.d.ts.map +1 -1
  244. package/dist/types/src/models/table_or_view_query_result.d.ts +3 -5
  245. package/dist/types/src/models/table_or_view_query_result.d.ts.map +1 -1
  246. package/dist/types/src/models/view_data_store.d.ts +0 -1
  247. package/dist/types/src/models/view_data_store.d.ts.map +1 -1
  248. package/dist/types/src/models/view_metadata_query_result.d.ts +1 -1
  249. package/dist/types/src/models/view_metadata_query_result.d.ts.map +1 -1
  250. package/dist/types/src/private_utils.d.ts +30 -1
  251. package/dist/types/src/private_utils.d.ts.map +1 -1
  252. package/dist/types/src/sdk.d.ts.map +1 -1
  253. package/dist/types/src/testing/{mock_airtable_interface.d.ts → abstract_mock_airtable_interface.d.ts} +20 -15
  254. package/dist/types/src/testing/abstract_mock_airtable_interface.d.ts.map +1 -0
  255. package/dist/types/src/types/airtable_interface.d.ts +48 -20
  256. package/dist/types/src/types/airtable_interface.d.ts.map +1 -1
  257. package/dist/types/src/types/block_query_spec.d.ts +139 -0
  258. package/dist/types/src/types/block_query_spec.d.ts.map +1 -0
  259. package/dist/types/src/types/field.d.ts +80 -44
  260. package/dist/types/src/types/field.d.ts.map +1 -1
  261. package/dist/types/src/types/mutations.d.ts +31 -3
  262. package/dist/types/src/types/mutations.d.ts.map +1 -1
  263. package/dist/types/src/types/table.d.ts +0 -2
  264. package/dist/types/src/types/table.d.ts.map +1 -1
  265. package/dist/types/src/types/view.d.ts +3 -8
  266. package/dist/types/src/types/view.d.ts.map +1 -1
  267. package/dist/types/src/ui/cell_renderer.d.ts +1 -1
  268. package/dist/types/src/ui/color_palette.d.ts +1 -1
  269. package/dist/types/src/ui/control_sizes.d.ts +1 -1
  270. package/dist/types/src/ui/field_icon.d.ts +1 -1
  271. package/dist/types/src/ui/heading.d.ts +1 -1
  272. package/dist/types/src/ui/icon.d.ts +1 -1
  273. package/dist/types/src/ui/icon_config.d.ts +33 -31
  274. package/dist/types/src/ui/icon_config.d.ts.map +1 -1
  275. package/dist/types/src/ui/input.d.ts +10 -10
  276. package/dist/types/src/ui/link.d.ts +1 -1
  277. package/dist/types/src/ui/link.d.ts.map +1 -1
  278. package/dist/types/src/ui/record_card.d.ts +1 -1
  279. package/dist/types/src/ui/system/utils/create_style_prop_types.d.ts +1 -1
  280. package/dist/types/src/ui/system/utils/create_style_prop_types.d.ts.map +1 -1
  281. package/dist/types/src/ui/text.d.ts +1 -1
  282. package/dist/types/src/ui/theme/default_theme/index.d.ts +1 -1
  283. package/dist/types/src/ui/theme/theme_context.d.ts +1 -1
  284. package/dist/types/src/ui/theme/use_theme.d.ts +1 -1
  285. package/dist/types/src/ui/use_global_config.d.ts +1 -1
  286. package/dist/types/src/unstable_testing_utils.d.ts +1 -1
  287. package/dist/types/src/unstable_testing_utils.d.ts.map +1 -1
  288. package/dist/types/src/watchable.d.ts.map +1 -1
  289. package/dist/types/test/airtable_interface_mocks/fixture_data.d.ts +121 -0
  290. package/dist/types/test/airtable_interface_mocks/fixture_data.d.ts.map +1 -0
  291. package/dist/types/test/airtable_interface_mocks/linked_records.d.ts +2 -2
  292. package/dist/types/test/airtable_interface_mocks/linked_records.d.ts.map +1 -1
  293. package/dist/types/test/airtable_interface_mocks/{mock_airtable_interface_internal.d.ts → mock_airtable_interface.d.ts} +26 -18
  294. package/dist/types/test/airtable_interface_mocks/mock_airtable_interface.d.ts.map +1 -0
  295. package/dist/types/test/airtable_interface_mocks/mock_base_data_stores.d.ts +51 -0
  296. package/dist/types/test/airtable_interface_mocks/mock_base_data_stores.d.ts.map +1 -0
  297. package/dist/types/test/airtable_interface_mocks/project_tracker.d.ts +2 -2
  298. package/dist/types/test/airtable_interface_mocks/project_tracker.d.ts.map +1 -1
  299. package/dist/types/test/test_helpers.d.ts +2 -0
  300. package/dist/types/test/test_helpers.d.ts.map +1 -1
  301. package/package.json +2 -1
  302. package/dist/cjs/testing/mock_airtable_interface.js +0 -317
  303. package/dist/types/src/testing/mock_airtable_interface.d.ts.map +0 -1
  304. package/dist/types/test/airtable_interface_mocks/mock_airtable_interface_internal.d.ts.map +0 -1
@@ -0,0 +1,367 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ require("core-js/modules/es.array.concat");
6
+
7
+ require("core-js/modules/es.array.iterator");
8
+
9
+ require("core-js/modules/es.object.to-string");
10
+
11
+ require("core-js/modules/es.promise");
12
+
13
+ require("core-js/modules/web.dom-collections.iterator");
14
+
15
+ Object.defineProperty(exports, "__esModule", {
16
+ value: true
17
+ });
18
+ exports.AbstractMockAirtableInterface = void 0;
19
+
20
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
21
+
22
+ require("regenerator-runtime/runtime");
23
+
24
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
25
+
26
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
27
+
28
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
29
+
30
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
31
+
32
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
33
+
34
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
35
+
36
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
37
+
38
+ var _private_utils = require("../private_utils");
39
+
40
+ var _error_utils = require("../error_utils");
41
+
42
+ // istanbul ignore file
43
+ var EventEmitter = require('events');
44
+ /** @internal */
45
+
46
+
47
+ var aggregators = {
48
+ aggregate(appInterface, summaryFunctionKey, cellValues, fieldData) {
49
+ return null;
50
+ },
51
+
52
+ aggregateToString(appInterface, summaryFunctionKey, cellValues, fieldData) {
53
+ return '';
54
+ },
55
+
56
+ getAggregatorConfig(summaryFunctionKey) {
57
+ return {
58
+ key: '',
59
+ displayName: '',
60
+ shortDisplayName: ''
61
+ };
62
+ },
63
+
64
+ getAllAvailableAggregatorKeys() {
65
+ return [];
66
+ },
67
+
68
+ getAvailableAggregatorKeysForField(fieldData) {
69
+ return [];
70
+ }
71
+
72
+ };
73
+ /** @internal */
74
+
75
+ var fieldTypeProvider = {
76
+ isComputed(fieldData) {
77
+ return false;
78
+ },
79
+
80
+ validateConfigForUpdate: () => {
81
+ return {
82
+ isValid: true
83
+ };
84
+ },
85
+ getConfig: (appInterface, fieldData, fieldNamesById) => {
86
+ return {
87
+ type: fieldData.type,
88
+ options: fieldData.typeOptions
89
+ };
90
+ },
91
+ canBePrimary: () => {
92
+ return true;
93
+ },
94
+
95
+ convertStringToCellValue(appInterface, string, fieldData) {
96
+ return '';
97
+ },
98
+
99
+ convertCellValueToString(appInterface, cellValue, fieldData) {
100
+ return '';
101
+ },
102
+
103
+ getCellRendererData(appInterface, cellValue, fieldData, shouldWrap) {
104
+ return {
105
+ cellValueHtml: "<pre>".concat(JSON.stringify(cellValue), "</pre>"),
106
+ attributes: {}
107
+ };
108
+ },
109
+
110
+ validateCellValueForUpdate(appInterface, newCellValue, currentCellValue, fieldData) {
111
+ return {
112
+ isValid: true
113
+ };
114
+ },
115
+
116
+ getUiConfig(appInterface, fieldData) {
117
+ return {
118
+ iconName: '',
119
+ desiredCellWidthForRecordCard: 0,
120
+ minimumCellWidthForRecordCard: 0
121
+ };
122
+ }
123
+
124
+ };
125
+ /** @internal */
126
+
127
+ var urlConstructor = {
128
+ getTableUrl(tableId) {
129
+ return "https://airtable.test/".concat(tableId);
130
+ },
131
+
132
+ getViewUrl(viewId, tableId) {
133
+ return "https://airtable.test/".concat(tableId, "/").concat(viewId);
134
+ },
135
+
136
+ getRecordUrl(recordId, tableId) {
137
+ return "https://airtable.test/".concat(tableId, "/").concat(recordId);
138
+ },
139
+
140
+ getAttachmentClientUrl(appInterface, attachmentId, attachmentUrl) {
141
+ return attachmentUrl;
142
+ }
143
+
144
+ };
145
+ /** @internal */
146
+
147
+ var globalConfigHelpers = {
148
+ validatePath(path, store) {
149
+ return {
150
+ isValid: true
151
+ };
152
+ },
153
+
154
+ validateAndApplyUpdates(updates, store) {
155
+ throw (0, _error_utils.spawnError)('validateAndApplyUpdates unimplemented');
156
+ }
157
+
158
+ };
159
+ /** @internal */
160
+
161
+ var idGenerator = {
162
+ generateRecordId: () => 'recGeneratedMockId',
163
+ generateFieldId: () => 'fldGeneratedMockId',
164
+ generateTableId: () => 'tblGeneratedMockId'
165
+ };
166
+ /**
167
+ * An abstract base class with a common interface exposed to both Blocks SDK's
168
+ * internal automated test suite and the blocks-testing public repo.
169
+ *
170
+ * @hidden
171
+ */
172
+
173
+ var AbstractMockAirtableInterface =
174
+ /*#__PURE__*/
175
+ function (_EventEmitter) {
176
+ (0, _inherits2.default)(AbstractMockAirtableInterface, _EventEmitter);
177
+
178
+ function AbstractMockAirtableInterface(initData) {
179
+ var _this;
180
+
181
+ (0, _classCallCheck2.default)(this, AbstractMockAirtableInterface);
182
+ _this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(AbstractMockAirtableInterface).call(this));
183
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "sdkInitData", void 0);
184
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "_initData", void 0);
185
+ _this._initData = (0, _private_utils.cloneDeep)(initData);
186
+
187
+ _this.reset();
188
+
189
+ return _this;
190
+ }
191
+ /**
192
+ * Revert the mock interface to its initial state. This includes:
193
+ *
194
+ * - removing all event listeners
195
+ * - restoring the database schema
196
+ */
197
+
198
+
199
+ (0, _createClass2.default)(AbstractMockAirtableInterface, [{
200
+ key: "reset",
201
+ value: function reset() {
202
+ this.removeAllListeners();
203
+ this.sdkInitData = (0, _private_utils.cloneDeep)(this._initData);
204
+ } // The following properties are defined using accessors in order to
205
+ // facilitate overriding in subclasses.
206
+
207
+ }, {
208
+ key: "assertAllowedSdkPackageVersion",
209
+ value: function assertAllowedSdkPackageVersion() {}
210
+ }, {
211
+ key: "applyMutationAsync",
212
+ value: function applyMutationAsync(mutation, opts) {
213
+ return Promise.resolve();
214
+ }
215
+ }, {
216
+ key: "checkPermissionsForMutation",
217
+ value: function checkPermissionsForMutation(mutation) {
218
+ return {
219
+ hasPermission: true
220
+ };
221
+ }
222
+ }, {
223
+ key: "createVisListWithRecordIds",
224
+ value: function createVisListWithRecordIds(recordIds, fieldDatas, sorts, tableId) {
225
+ return {
226
+ removeRecordIds(removedRecordIds) {},
227
+
228
+ addRecordIds(addedRecordIds) {},
229
+
230
+ getOrderedRecordIds() {
231
+ return [...recordIds];
232
+ }
233
+
234
+ };
235
+ }
236
+ }, {
237
+ key: "subscribeToModelUpdates",
238
+ value: function subscribeToModelUpdates(fn) {
239
+ this.on('modelupdates', fn);
240
+ }
241
+ }, {
242
+ key: "setActiveViewOrTable",
243
+ value: function setActiveViewOrTable(tableId, viewId) {}
244
+ }, {
245
+ key: "subscribeToQueryAndPopulateStoresAsync",
246
+ value: function subscribeToQueryAndPopulateStoresAsync(query, options) {
247
+ return _regenerator.default.async(function subscribeToQueryAndPopulateStoresAsync$(_context) {
248
+ while (1) {
249
+ switch (_context.prev = _context.next) {
250
+ case 0:
251
+ throw (0, _error_utils.spawnError)('subscribeToQueryAndPopulateStoresAsync unimplemented');
252
+
253
+ case 1:
254
+ case "end":
255
+ return _context.stop();
256
+ }
257
+ }
258
+ });
259
+ }
260
+ }, {
261
+ key: "unsubscribeFromQueryIdsAsync",
262
+ value: function unsubscribeFromQueryIdsAsync(querySpecIds) {
263
+ return _regenerator.default.async(function unsubscribeFromQueryIdsAsync$(_context2) {
264
+ while (1) {
265
+ switch (_context2.prev = _context2.next) {
266
+ case 0:
267
+ throw (0, _error_utils.spawnError)('unsubscribeFromQueryIdsAsync unimplemented');
268
+
269
+ case 1:
270
+ case "end":
271
+ return _context2.stop();
272
+ }
273
+ }
274
+ });
275
+ }
276
+ }, {
277
+ key: "getTableRecordStoreIfExists",
278
+ value: function getTableRecordStoreIfExists(tableId) {
279
+ throw (0, _error_utils.spawnError)('getTableRecordStoreIfExists unimplemented');
280
+ }
281
+ }, {
282
+ key: "getViewMetadataStoreIfExists",
283
+ value: function getViewMetadataStoreIfExists(tableId, viewId) {
284
+ throw (0, _error_utils.spawnError)('getViewMetadataStoreIfExists unimplemented');
285
+ } // TODO(jugglinmike): Implement
286
+
287
+ }, {
288
+ key: "subscribeToGlobalConfigUpdates",
289
+ value: function subscribeToGlobalConfigUpdates() {}
290
+ }, {
291
+ key: "subscribeToSettingsButtonClick",
292
+ value: function subscribeToSettingsButtonClick() {}
293
+ }, {
294
+ key: "subscribeToEnterFullScreen",
295
+ value: function subscribeToEnterFullScreen() {}
296
+ }, {
297
+ key: "subscribeToExitFullScreen",
298
+ value: function subscribeToExitFullScreen() {}
299
+ }, {
300
+ key: "subscribeToFocus",
301
+ value: function subscribeToFocus() {}
302
+ }, {
303
+ key: "triggerModelUpdates",
304
+ value: function triggerModelUpdates(changes) {
305
+ this.emit('modelupdates', {
306
+ changes
307
+ });
308
+ } // TODO(jugglinmike): Implement
309
+
310
+ }, {
311
+ key: "triggerGlobalConfigUpdates",
312
+ value: function triggerGlobalConfigUpdates() {}
313
+ }, {
314
+ key: "triggerSettingsButtonClick",
315
+ value: function triggerSettingsButtonClick() {}
316
+ }, {
317
+ key: "triggerEnterFullScreen",
318
+ value: function triggerEnterFullScreen() {}
319
+ }, {
320
+ key: "triggerExitFullScreen",
321
+ value: function triggerExitFullScreen() {}
322
+ }, {
323
+ key: "triggerFocus",
324
+ value: function triggerFocus() {}
325
+ }, {
326
+ key: "unsubscribeFromCursorData",
327
+ value: function unsubscribeFromCursorData() {}
328
+ }, {
329
+ key: "unsubscribeFromTableData",
330
+ value: function unsubscribeFromTableData() {}
331
+ }, {
332
+ key: "unsubscribeFromCellValuesInFields",
333
+ value: function unsubscribeFromCellValuesInFields() {}
334
+ }, {
335
+ key: "unsubscribeFromViewData",
336
+ value: function unsubscribeFromViewData() {}
337
+ }, {
338
+ key: "aggregators",
339
+ get: function get() {
340
+ return aggregators;
341
+ }
342
+ }, {
343
+ key: "fieldTypeProvider",
344
+ get: function get() {
345
+ return fieldTypeProvider;
346
+ }
347
+ }, {
348
+ key: "urlConstructor",
349
+ get: function get() {
350
+ return urlConstructor;
351
+ }
352
+ }, {
353
+ key: "globalConfigHelpers",
354
+ get: function get() {
355
+ return globalConfigHelpers;
356
+ }
357
+ }, {
358
+ key: "idGenerator",
359
+ get: function get() {
360
+ return idGenerator;
361
+ }
362
+ }]);
363
+ return AbstractMockAirtableInterface;
364
+ }(EventEmitter);
365
+
366
+ exports.AbstractMockAirtableInterface = AbstractMockAirtableInterface;
367
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZXN0aW5nL2Fic3RyYWN0X21vY2tfYWlydGFibGVfaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbIkV2ZW50RW1pdHRlciIsInJlcXVpcmUiLCJhZ2dyZWdhdG9ycyIsImFnZ3JlZ2F0ZSIsImFwcEludGVyZmFjZSIsInN1bW1hcnlGdW5jdGlvbktleSIsImNlbGxWYWx1ZXMiLCJmaWVsZERhdGEiLCJhZ2dyZWdhdGVUb1N0cmluZyIsImdldEFnZ3JlZ2F0b3JDb25maWciLCJrZXkiLCJkaXNwbGF5TmFtZSIsInNob3J0RGlzcGxheU5hbWUiLCJnZXRBbGxBdmFpbGFibGVBZ2dyZWdhdG9yS2V5cyIsImdldEF2YWlsYWJsZUFnZ3JlZ2F0b3JLZXlzRm9yRmllbGQiLCJmaWVsZFR5cGVQcm92aWRlciIsImlzQ29tcHV0ZWQiLCJ2YWxpZGF0ZUNvbmZpZ0ZvclVwZGF0ZSIsImlzVmFsaWQiLCJnZXRDb25maWciLCJmaWVsZE5hbWVzQnlJZCIsInR5cGUiLCJvcHRpb25zIiwidHlwZU9wdGlvbnMiLCJjYW5CZVByaW1hcnkiLCJjb252ZXJ0U3RyaW5nVG9DZWxsVmFsdWUiLCJzdHJpbmciLCJjb252ZXJ0Q2VsbFZhbHVlVG9TdHJpbmciLCJjZWxsVmFsdWUiLCJnZXRDZWxsUmVuZGVyZXJEYXRhIiwic2hvdWxkV3JhcCIsImNlbGxWYWx1ZUh0bWwiLCJKU09OIiwic3RyaW5naWZ5IiwiYXR0cmlidXRlcyIsInZhbGlkYXRlQ2VsbFZhbHVlRm9yVXBkYXRlIiwibmV3Q2VsbFZhbHVlIiwiY3VycmVudENlbGxWYWx1ZSIsImdldFVpQ29uZmlnIiwiaWNvbk5hbWUiLCJkZXNpcmVkQ2VsbFdpZHRoRm9yUmVjb3JkQ2FyZCIsIm1pbmltdW1DZWxsV2lkdGhGb3JSZWNvcmRDYXJkIiwidXJsQ29uc3RydWN0b3IiLCJnZXRUYWJsZVVybCIsInRhYmxlSWQiLCJnZXRWaWV3VXJsIiwidmlld0lkIiwiZ2V0UmVjb3JkVXJsIiwicmVjb3JkSWQiLCJnZXRBdHRhY2htZW50Q2xpZW50VXJsIiwiYXR0YWNobWVudElkIiwiYXR0YWNobWVudFVybCIsImdsb2JhbENvbmZpZ0hlbHBlcnMiLCJ2YWxpZGF0ZVBhdGgiLCJwYXRoIiwic3RvcmUiLCJ2YWxpZGF0ZUFuZEFwcGx5VXBkYXRlcyIsInVwZGF0ZXMiLCJpZEdlbmVyYXRvciIsImdlbmVyYXRlUmVjb3JkSWQiLCJnZW5lcmF0ZUZpZWxkSWQiLCJnZW5lcmF0ZVRhYmxlSWQiLCJBYnN0cmFjdE1vY2tBaXJ0YWJsZUludGVyZmFjZSIsImluaXREYXRhIiwiX2luaXREYXRhIiwicmVzZXQiLCJyZW1vdmVBbGxMaXN0ZW5lcnMiLCJzZGtJbml0RGF0YSIsIm11dGF0aW9uIiwib3B0cyIsIlByb21pc2UiLCJyZXNvbHZlIiwiaGFzUGVybWlzc2lvbiIsInJlY29yZElkcyIsImZpZWxkRGF0YXMiLCJzb3J0cyIsInJlbW92ZVJlY29yZElkcyIsInJlbW92ZWRSZWNvcmRJZHMiLCJhZGRSZWNvcmRJZHMiLCJhZGRlZFJlY29yZElkcyIsImdldE9yZGVyZWRSZWNvcmRJZHMiLCJmbiIsIm9uIiwicXVlcnkiLCJxdWVyeVNwZWNJZHMiLCJjaGFuZ2VzIiwiZW1pdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWtCQTs7QUFDQTs7QUFuQkE7QUFnQ0EsSUFBTUEsWUFBWSxHQUFHQyxPQUFPLENBQUMsUUFBRCxDQUE1QjtBQUVBOzs7QUFDQSxJQUFNQyxXQUF3QixHQUFHO0FBQzdCQyxFQUFBQSxTQUFTLENBQ0xDLFlBREssRUFFTEMsa0JBRkssRUFHTEMsVUFISyxFQUlMQyxTQUpLLEVBS0U7QUFDUCxXQUFPLElBQVA7QUFDSCxHQVI0Qjs7QUFTN0JDLEVBQUFBLGlCQUFpQixDQUNiSixZQURhLEVBRWJDLGtCQUZhLEVBR2JDLFVBSGEsRUFJYkMsU0FKYSxFQUtQO0FBQ04sV0FBTyxFQUFQO0FBQ0gsR0FoQjRCOztBQWlCN0JFLEVBQUFBLG1CQUFtQixDQUFDSixr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QVA7QUFPSDs7OzRDQUV1QlEsRSxFQUFjO0FBQ2xDLFdBQUtDLEVBQUwsQ0FBUSxjQUFSLEVBQXdCRCxFQUF4QjtBQUNIOzs7eUNBRW9CckMsTyxFQUFrQkUsTSxFQUFnQixDQUFFOzs7MkRBR3JEcUMsSyxFQUNBN0QsTzs7Ozs7b0JBRU0sNkJBQVcsc0RBQVgsQzs7Ozs7Ozs7Ozs7aURBR044RCxZOzs7OztvQkFFTSw2QkFBVyw0Q0FBWCxDOzs7Ozs7Ozs7OztnREFFa0J4QyxPLEVBQThDO0FBQ3RFLFlBQU0sNkJBQVcsMkNBQVgsQ0FBTjtBQUNIOzs7aURBQzRCQSxPLEVBQWtCRSxNLEVBQWtDO0FBQzdFLFlBQU0sNkJBQVcsNENBQVgsQ0FBTjtBQUNILEssQ0FFRDs7OztxREFDaUMsQ0FBRTs7O3FEQUNGLENBQUU7OztpREFDTixDQUFFOzs7Z0RBQ0gsQ0FBRTs7O3VDQUNYLENBQUU7Ozt3Q0FJRHVDLE8sRUFBcUM7QUFDckQsV0FBS0MsSUFBTCxDQUFVLGNBQVYsRUFBMEI7QUFBQ0QsUUFBQUE7QUFBRCxPQUExQjtBQUNILEssQ0FFRDs7OztpREFDNkIsQ0FBRTs7O2lEQUNGLENBQUU7Ozs2Q0FDTixDQUFFOzs7NENBQ0gsQ0FBRTs7O21DQUNYLENBQUU7OztnREFFVyxDQUFFOzs7K0NBQ0gsQ0FBRTs7O3dEQUNPLENBQUU7Ozs4Q0FDWixDQUFFOzs7d0JBOUZWO0FBQ2QsYUFBT25GLFdBQVA7QUFDSDs7O3dCQUV1QjtBQUNwQixhQUFPYSxpQkFBUDtBQUNIOzs7d0JBRW9CO0FBQ2pCLGFBQU8yQixjQUFQO0FBQ0g7Ozt3QkFFeUI7QUFDdEIsYUFBT1UsbUJBQVA7QUFDSDs7O3dCQUVpQjtBQUNkLGFBQU9NLFdBQVA7QUFDSDs7O0VBM0N1RDFELFkiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBpc3RhbmJ1bCBpZ25vcmUgZmlsZVxuaW1wb3J0IHtBZ2dyZWdhdG9yS2V5fSBmcm9tICcuLi90eXBlcy9hZ2dyZWdhdG9ycyc7XG5pbXBvcnQge1xuICAgIEFnZ3JlZ2F0b3JDb25maWcsXG4gICAgQWdncmVnYXRvcnMsXG4gICAgQWlydGFibGVJbnRlcmZhY2UsXG4gICAgQXBwSW50ZXJmYWNlLFxuICAgIEJsb2NrUXVlcnlTdWJzY3JpcHRpb25PcHRpb25zLFxuICAgIEZpZWxkVHlwZUNvbmZpZyxcbiAgICBGaWVsZFR5cGVQcm92aWRlcixcbiAgICBTZGtJbml0RGF0YSxcbiAgICBVcmxDb25zdHJ1Y3RvcixcbiAgICBHbG9iYWxDb25maWdIZWxwZXJzLFxuICAgIFJlY29yZFN0b3JlRm9yVGFibGUsXG4gICAgVmlld1N0b3JlLFxuICAgIElkR2VuZXJhdG9yLFxuICAgIFZpc0xpc3QsXG59IGZyb20gJy4uL3R5cGVzL2FpcnRhYmxlX2ludGVyZmFjZSc7XG5pbXBvcnQge2Nsb25lRGVlcCwgT2JqZWN0TWFwfSBmcm9tICcuLi9wcml2YXRlX3V0aWxzJztcbmltcG9ydCB7c3Bhd25FcnJvcn0gZnJvbSAnLi4vZXJyb3JfdXRpbHMnO1xuaW1wb3J0IHtGaWVsZERhdGEsIEZpZWxkSWR9IGZyb20gJy4uL3R5cGVzL2ZpZWxkJztcbmltcG9ydCB7TW9kZWxDaGFuZ2V9IGZyb20gJy4uL3R5cGVzL2Jhc2UnO1xuaW1wb3J0IHtSZWNvcmRJZH0gZnJvbSAnLi4vdHlwZXMvcmVjb3JkJztcbmltcG9ydCB7VGFibGVJZH0gZnJvbSAnLi4vdHlwZXMvdGFibGUnO1xuaW1wb3J0IHtWaWV3SWR9IGZyb20gJy4uL3R5cGVzL3ZpZXcnO1xuaW1wb3J0IHtWaWV3cG9ydFNpemVDb25zdHJhaW50fSBmcm9tICcuLi90eXBlcy92aWV3cG9ydCc7XG5pbXBvcnQge011dGF0aW9uLCBQZXJtaXNzaW9uQ2hlY2tSZXN1bHR9IGZyb20gJy4uL3R5cGVzL211dGF0aW9ucyc7XG5pbXBvcnQge05vcm1hbGl6ZWRTb3J0Q29uZmlnfSBmcm9tICcuLi9tb2RlbHMvcmVjb3JkX3F1ZXJ5X3Jlc3VsdCc7XG5pbXBvcnQge1JlcXVlc3RKc29uLCBSZXNwb25zZUpzb259IGZyb20gJy4uL3R5cGVzL2JhY2tlbmRfZmV0Y2hfdHlwZXMnO1xuaW1wb3J0IHtDdXJzb3JEYXRhfSBmcm9tICcuLi90eXBlcy9jdXJzb3InO1xuaW1wb3J0IHtSZWNvcmRBY3Rpb25EYXRhfSBmcm9tICcuLi90eXBlcy9yZWNvcmRfYWN0aW9uX2RhdGEnO1xuaW1wb3J0IHtCbG9ja1F1ZXJ5SWQsIEJsb2NrUXVlcnlTcGVjLCBRdWVyeVNwZWNzUmVzcG9uc2V9IGZyb20gJy4uL3R5cGVzL2Jsb2NrX3F1ZXJ5X3NwZWMnO1xuY29uc3QgRXZlbnRFbWl0dGVyID0gcmVxdWlyZSgnZXZlbnRzJyk7XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmNvbnN0IGFnZ3JlZ2F0b3JzOiBBZ2dyZWdhdG9ycyA9IHtcbiAgICBhZ2dyZWdhdGUoXG4gICAgICAgIGFwcEludGVyZmFjZTogQXBwSW50ZXJmYWNlLFxuICAgICAgICBzdW1tYXJ5RnVuY3Rpb25LZXk6IEFnZ3JlZ2F0b3JLZXksXG4gICAgICAgIGNlbGxWYWx1ZXM6IEFycmF5PHVua25vd24+LFxuICAgICAgICBmaWVsZERhdGE6IEZpZWxkRGF0YSxcbiAgICApOiB1bmtub3duIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSxcbiAgICBhZ2dyZWdhdGVUb1N0cmluZyhcbiAgICAgICAgYXBwSW50ZXJmYWNlOiBBcHBJbnRlcmZhY2UsXG4gICAgICAgIHN1bW1hcnlGdW5jdGlvbktleTogQWdncmVnYXRvcktleSxcbiAgICAgICAgY2VsbFZhbHVlczogQXJyYXk8dW5rbm93bj4sXG4gICAgICAgIGZpZWxkRGF0YTogRmllbGREYXRhLFxuICAgICk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9LFxuICAgIGdldEFnZ3JlZ2F0b3JDb25maWcoc3VtbWFyeUZ1bmN0aW9uS2V5OiBBZ2dyZWdhdG9yS2V5KTogQWdncmVnYXRvckNvbmZpZyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBrZXk6ICcnLFxuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICcnLFxuICAgICAgICAgICAgc2hvcnREaXNwbGF5TmFtZTogJycsXG4gICAgICAgIH07XG4gICAgfSxcbiAgICBnZXRBbGxBdmFpbGFibGVBZ2dyZWdhdG9yS2V5cygpOiBBcnJheTxBZ2dyZWdhdG9yS2V5PiB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9LFxuICAgIGdldEF2YWlsYWJsZUFnZ3JlZ2F0b3JLZXlzRm9yRmllbGQoZmllbGREYXRhOiBGaWVsZERhdGEpOiBBcnJheTxBZ2dyZWdhdG9yS2V5PiB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9LFxufTtcblxuLyoqIEBpbnRlcm5hbCAqL1xuY29uc3QgZmllbGRUeXBlUHJvdmlkZXI6IEZpZWxkVHlwZVByb3ZpZGVyID0ge1xuICAgIGlzQ29tcHV0ZWQoZmllbGREYXRhOiBGaWVsZERhdGEpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0sXG4gICAgdmFsaWRhdGVDb25maWdGb3JVcGRhdGU6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtpc1ZhbGlkOiB0cnVlfTtcbiAgICB9LFxuICAgIGdldENvbmZpZzogKFxuICAgICAgICBhcHBJbnRlcmZhY2U6IEFwcEludGVyZmFjZSxcbiAgICAgICAgZmllbGREYXRhOiBGaWVsZERhdGEsXG4gICAgICAgIGZpZWxkTmFtZXNCeUlkOiBPYmplY3RNYXA8RmllbGRJZCwgc3RyaW5nPixcbiAgICApID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHR5cGU6IGZpZWxkRGF0YS50eXBlLFxuICAgICAgICAgICAgb3B0aW9uczogZmllbGREYXRhLnR5cGVPcHRpb25zLFxuICAgICAgICB9IGFzIEZpZWxkVHlwZUNvbmZpZztcbiAgICB9LFxuICAgIGNhbkJlUHJpbWFyeTogKCkgPT4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9LFxuICAgIGNvbnZlcnRTdHJpbmdUb0NlbGxWYWx1ZShhcHBJbnRlcmZhY2U6IEFwcEludGVyZmFjZSwgc3RyaW5nOiBzdHJpbmcsIGZpZWxkRGF0YTogRmllbGREYXRhKSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9LFxuICAgIGNvbnZlcnRDZWxsVmFsdWVUb1N0cmluZyhhcHBJbnRlcmZhY2U6IEFwcEludGVyZmFjZSwgY2VsbFZhbHVlOiB1bmtub3duLCBmaWVsZERhdGE6IEZpZWxkRGF0YSkge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgfSxcbiAgICBnZXRDZWxsUmVuZGVyZXJEYXRhKFxuICAgICAgICBhcHBJbnRlcmZhY2U6IEFwcEludGVyZmFjZSxcbiAgICAgICAgY2VsbFZhbHVlOiB1bmtub3duLFxuICAgICAgICBmaWVsZERhdGE6IEZpZWxkRGF0YSxcbiAgICAgICAgc2hvdWxkV3JhcDogYm9vbGVhbixcbiAgICApIHtcbiAgICAgICAgcmV0dXJuIHtjZWxsVmFsdWVIdG1sOiBgPHByZT4ke0pTT04uc3RyaW5naWZ5KGNlbGxWYWx1ZSl9PC9wcmU+YCwgYXR0cmlidXRlczoge319O1xuICAgIH0sXG4gICAgdmFsaWRhdGVDZWxsVmFsdWVGb3JVcGRhdGUoXG4gICAgICAgIGFwcEludGVyZmFjZTogQXBwSW50ZXJmYWNlLFxuICAgICAgICBuZXdDZWxsVmFsdWU6IHVua25vd24sXG4gICAgICAgIGN1cnJlbnRDZWxsVmFsdWU6IHVua25vd24sXG4gICAgICAgIGZpZWxkRGF0YTogRmllbGREYXRhLFxuICAgICkge1xuICAgICAgICByZXR1cm4ge2lzVmFsaWQ6IHRydWV9O1xuICAgIH0sXG4gICAgZ2V0VWlDb25maWcoYXBwSW50ZXJmYWNlOiBBcHBJbnRlcmZhY2UsIGZpZWxkRGF0YTogRmllbGREYXRhKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpY29uTmFtZTogJycsXG4gICAgICAgICAgICBkZXNpcmVkQ2VsbFdpZHRoRm9yUmVjb3JkQ2FyZDogMCxcbiAgICAgICAgICAgIG1pbmltdW1DZWxsV2lkdGhGb3JSZWNvcmRDYXJkOiAwLFxuICAgICAgICB9O1xuICAgIH0sXG59O1xuXG4vKiogQGludGVybmFsICovXG5jb25zdCB1cmxDb25zdHJ1Y3RvcjogVXJsQ29uc3RydWN0b3IgPSB7XG4gICAgZ2V0VGFibGVVcmwodGFibGVJZCkge1xuICAgICAgICByZXR1cm4gYGh0dHBzOi8vYWlydGFibGUudGVzdC8ke3RhYmxlSWR9YDtcbiAgICB9LFxuICAgIGdldFZpZXdVcmwodmlld0lkLCB0YWJsZUlkKSB7XG4gICAgICAgIHJldHVybiBgaHR0cHM6Ly9haXJ0YWJsZS50ZXN0LyR7dGFibGVJZH0vJHt2aWV3SWR9YDtcbiAgICB9LFxuICAgIGdldFJlY29yZFVybChyZWNvcmRJZCwgdGFibGVJZCkge1xuICAgICAgICByZXR1cm4gYGh0dHBzOi8vYWlydGFibGUudGVzdC8ke3RhYmxlSWR9LyR7cmVjb3JkSWR9YDtcbiAgICB9LFxuICAgIGdldEF0dGFjaG1lbnRDbGllbnRVcmwoYXBwSW50ZXJmYWNlLCBhdHRhY2htZW50SWQsIGF0dGFjaG1lbnRVcmwpIHtcbiAgICAgICAgcmV0dXJuIGF0dGFjaG1lbnRVcmw7XG4gICAgfSxcbn07XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmNvbnN0IGdsb2JhbENvbmZpZ0hlbHBlcnM6IEdsb2JhbENvbmZpZ0hlbHBlcnMgPSB7XG4gICAgdmFsaWRhdGVQYXRoKHBhdGgsIHN0b3JlKSB7XG4gICAgICAgIHJldHVybiB7aXNWYWxpZDogdHJ1ZX07XG4gICAgfSxcbiAgICB2YWxpZGF0ZUFuZEFwcGx5VXBkYXRlcyh1cGRhdGVzLCBzdG9yZSkge1xuICAgICAgICB0aHJvdyBzcGF3bkVycm9yKCd2YWxpZGF0ZUFuZEFwcGx5VXBkYXRlcyB1bmltcGxlbWVudGVkJyk7XG4gICAgfSxcbn07XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmNvbnN0IGlkR2VuZXJhdG9yOiBJZEdlbmVyYXRvciA9IHtcbiAgICBnZW5lcmF0ZVJlY29yZElkOiAoKSA9PiAncmVjR2VuZXJhdGVkTW9ja0lkJyxcbiAgICBnZW5lcmF0ZUZpZWxkSWQ6ICgpID0+ICdmbGRHZW5lcmF0ZWRNb2NrSWQnLFxuICAgIGdlbmVyYXRlVGFibGVJZDogKCkgPT4gJ3RibEdlbmVyYXRlZE1vY2tJZCcsXG59O1xuXG4vKipcbiAqIEFuIGFic3RyYWN0IGJhc2UgY2xhc3Mgd2l0aCBhIGNvbW1vbiBpbnRlcmZhY2UgZXhwb3NlZCB0byBib3RoIEJsb2NrcyBTREsnc1xuICogaW50ZXJuYWwgYXV0b21hdGVkIHRlc3Qgc3VpdGUgYW5kIHRoZSBibG9ja3MtdGVzdGluZyBwdWJsaWMgcmVwby5cbiAqXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdE1vY2tBaXJ0YWJsZUludGVyZmFjZSBleHRlbmRzIEV2ZW50RW1pdHRlclxuICAgIGltcGxlbWVudHMgQWlydGFibGVJbnRlcmZhY2Uge1xuICAgIHNka0luaXREYXRhITogU2RrSW5pdERhdGE7XG5cbiAgICBwcml2YXRlIF9pbml0RGF0YTogU2RrSW5pdERhdGE7XG5cbiAgICBjb25zdHJ1Y3Rvcihpbml0RGF0YTogU2RrSW5pdERhdGEpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5faW5pdERhdGEgPSBjbG9uZURlZXAoaW5pdERhdGEpO1xuICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV2ZXJ0IHRoZSBtb2NrIGludGVyZmFjZSB0byBpdHMgaW5pdGlhbCBzdGF0ZS4gVGhpcyBpbmNsdWRlczpcbiAgICAgKlxuICAgICAqIC0gcmVtb3ZpbmcgYWxsIGV2ZW50IGxpc3RlbmVyc1xuICAgICAqIC0gcmVzdG9yaW5nIHRoZSBkYXRhYmFzZSBzY2hlbWFcbiAgICAgKi9cbiAgICByZXNldCgpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoKTtcbiAgICAgICAgdGhpcy5zZGtJbml0RGF0YSA9IGNsb25lRGVlcCh0aGlzLl9pbml0RGF0YSk7XG4gICAgfVxuXG4gICAgLy8gVGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzIGFyZSBkZWZpbmVkIHVzaW5nIGFjY2Vzc29ycyBpbiBvcmRlciB0b1xuICAgIC8vIGZhY2lsaXRhdGUgb3ZlcnJpZGluZyBpbiBzdWJjbGFzc2VzLlxuICAgIGdldCBhZ2dyZWdhdG9ycygpIHtcbiAgICAgICAgcmV0dXJuIGFnZ3JlZ2F0b3JzO1xuICAgIH1cblxuICAgIGdldCBmaWVsZFR5cGVQcm92aWRlcigpIHtcbiAgICAgICAgcmV0dXJuIGZpZWxkVHlwZVByb3ZpZGVyO1xuICAgIH1cblxuICAgIGdldCB1cmxDb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgcmV0dXJuIHVybENvbnN0cnVjdG9yO1xuICAgIH1cblxuICAgIGdldCBnbG9iYWxDb25maWdIZWxwZXJzKCkge1xuICAgICAgICByZXR1cm4gZ2xvYmFsQ29uZmlnSGVscGVycztcbiAgICB9XG5cbiAgICBnZXQgaWRHZW5lcmF0b3IoKSB7XG4gICAgICAgIHJldHVybiBpZEdlbmVyYXRvcjtcbiAgICB9XG5cbiAgICBhc3NlcnRBbGxvd2VkU2RrUGFja2FnZVZlcnNpb24oKSB7fVxuXG4gICAgYXBwbHlNdXRhdGlvbkFzeW5jKG11dGF0aW9uOiBNdXRhdGlvbiwgb3B0cz86IHtob2xkRm9yTXM/OiBudW1iZXJ9KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICB9XG5cbiAgICBjaGVja1Blcm1pc3Npb25zRm9yTXV0YXRpb24obXV0YXRpb246IE11dGF0aW9uKTogUGVybWlzc2lvbkNoZWNrUmVzdWx0IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhhc1Blcm1pc3Npb246IHRydWUsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgY3JlYXRlVmlzTGlzdFdpdGhSZWNvcmRJZHMoXG4gICAgICAgIHJlY29yZElkczogUmVhZG9ubHlBcnJheTxSZWNvcmRJZD4sXG4gICAgICAgIGZpZWxkRGF0YXM6IFJlYWRvbmx5QXJyYXk8RmllbGREYXRhPixcbiAgICAgICAgc29ydHM6IFJlYWRvbmx5QXJyYXk8Tm9ybWFsaXplZFNvcnRDb25maWc+LFxuICAgICAgICB0YWJsZUlkOiBUYWJsZUlkLFxuICAgICk6IFZpc0xpc3Qge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcmVtb3ZlUmVjb3JkSWRzKHJlbW92ZWRSZWNvcmRJZHM6IEFycmF5PFJlY29yZElkPikge30sXG4gICAgICAgICAgICBhZGRSZWNvcmRJZHMoYWRkZWRSZWNvcmRJZHM6IFJlYWRvbmx5QXJyYXk8UmVjb3JkSWQ+KSB7fSxcbiAgICAgICAgICAgIGdldE9yZGVyZWRSZWNvcmRJZHMoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFsuLi5yZWNvcmRJZHNdO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBzdWJzY3JpYmVUb01vZGVsVXBkYXRlcyhmbjogRnVuY3Rpb24pIHtcbiAgICAgICAgdGhpcy5vbignbW9kZWx1cGRhdGVzJywgZm4pO1xuICAgIH1cblxuICAgIHNldEFjdGl2ZVZpZXdPclRhYmxlKHRhYmxlSWQ6IFRhYmxlSWQsIHZpZXdJZDogVmlld0lkKSB7fVxuXG4gICAgYXN5bmMgc3Vic2NyaWJlVG9RdWVyeUFuZFBvcHVsYXRlU3RvcmVzQXN5bmMoXG4gICAgICAgIHF1ZXJ5OiBCbG9ja1F1ZXJ5U3BlYyxcbiAgICAgICAgb3B0aW9uczogQmxvY2tRdWVyeVN1YnNjcmlwdGlvbk9wdGlvbnMsXG4gICAgKTogUHJvbWlzZTxRdWVyeVNwZWNzUmVzcG9uc2U+IHtcbiAgICAgICAgdGhyb3cgc3Bhd25FcnJvcignc3Vic2NyaWJlVG9RdWVyeUFuZFBvcHVsYXRlU3RvcmVzQXN5bmMgdW5pbXBsZW1lbnRlZCcpO1xuICAgIH1cbiAgICBhc3luYyB1bnN1YnNjcmliZUZyb21RdWVyeUlkc0FzeW5jKFxuICAgICAgICBxdWVyeVNwZWNJZHM6IEFycmF5PEJsb2NrUXVlcnlJZD4sXG4gICAgKTogUHJvbWlzZTx7c3RhdHVzOiBib29sZWFufT4ge1xuICAgICAgICB0aHJvdyBzcGF3bkVycm9yKCd1bnN1YnNjcmliZUZyb21RdWVyeUlkc0FzeW5jIHVuaW1wbGVtZW50ZWQnKTtcbiAgICB9XG4gICAgZ2V0VGFibGVSZWNvcmRTdG9yZUlmRXhpc3RzKHRhYmxlSWQ6IFRhYmxlSWQpOiBSZWNvcmRTdG9yZUZvclRhYmxlIHwgbnVsbCB7XG4gICAgICAgIHRocm93IHNwYXduRXJyb3IoJ2dldFRhYmxlUmVjb3JkU3RvcmVJZkV4aXN0cyB1bmltcGxlbWVudGVkJyk7XG4gICAgfVxuICAgIGdldFZpZXdNZXRhZGF0YVN0b3JlSWZFeGlzdHModGFibGVJZDogVGFibGVJZCwgdmlld0lkOiBWaWV3SWQpOiBWaWV3U3RvcmUgfCBudWxsIHtcbiAgICAgICAgdGhyb3cgc3Bhd25FcnJvcignZ2V0Vmlld01ldGFkYXRhU3RvcmVJZkV4aXN0cyB1bmltcGxlbWVudGVkJyk7XG4gICAgfVxuXG4gICAgLy8gVE9ETyhqdWdnbGlubWlrZSk6IEltcGxlbWVudFxuICAgIHN1YnNjcmliZVRvR2xvYmFsQ29uZmlnVXBkYXRlcygpIHt9XG4gICAgc3Vic2NyaWJlVG9TZXR0aW5nc0J1dHRvbkNsaWNrKCkge31cbiAgICBzdWJzY3JpYmVUb0VudGVyRnVsbFNjcmVlbigpIHt9XG4gICAgc3Vic2NyaWJlVG9FeGl0RnVsbFNjcmVlbigpIHt9XG4gICAgc3Vic2NyaWJlVG9Gb2N1cygpIHt9XG4gICAgYWJzdHJhY3QgZmV0Y2hBbmRTdWJzY3JpYmVUb0N1cnNvckRhdGFBc3luYygpOiBQcm9taXNlPEN1cnNvckRhdGE+O1xuICAgIGFic3RyYWN0IGZldGNoRGVmYXVsdENlbGxWYWx1ZXNCeUZpZWxkSWRBc3luYygpOiBQcm9taXNlPHtba2V5OiBzdHJpbmddOiB1bmtub3dufT47XG5cbiAgICB0cmlnZ2VyTW9kZWxVcGRhdGVzKGNoYW5nZXM6IFJlYWRvbmx5QXJyYXk8TW9kZWxDaGFuZ2U+KSB7XG4gICAgICAgIHRoaXMuZW1pdCgnbW9kZWx1cGRhdGVzJywge2NoYW5nZXN9KTtcbiAgICB9XG5cbiAgICAvLyBUT0RPKGp1Z2dsaW5taWtlKTogSW1wbGVtZW50XG4gICAgdHJpZ2dlckdsb2JhbENvbmZpZ1VwZGF0ZXMoKSB7fVxuICAgIHRyaWdnZXJTZXR0aW5nc0J1dHRvbkNsaWNrKCkge31cbiAgICB0cmlnZ2VyRW50ZXJGdWxsU2NyZWVuKCkge31cbiAgICB0cmlnZ2VyRXhpdEZ1bGxTY3JlZW4oKSB7fVxuICAgIHRyaWdnZXJGb2N1cygpIHt9XG5cbiAgICB1bnN1YnNjcmliZUZyb21DdXJzb3JEYXRhKCkge31cbiAgICB1bnN1YnNjcmliZUZyb21UYWJsZURhdGEoKSB7fVxuICAgIHVuc3Vic2NyaWJlRnJvbUNlbGxWYWx1ZXNJbkZpZWxkcygpIHt9XG4gICAgdW5zdWJzY3JpYmVGcm9tVmlld0RhdGEoKSB7fVxuXG4gICAgYWJzdHJhY3QgZXhwYW5kUmVjb3JkKHRhYmxlSWQ6IHN0cmluZywgcmVjb3JkSWQ6IHN0cmluZywgcmVjb3JkSWRzOiBBcnJheTxzdHJpbmc+IHwgbnVsbCk6IHZvaWQ7XG4gICAgYWJzdHJhY3QgZXhwYW5kUmVjb3JkTGlzdChcbiAgICAgICAgdGFibGVJZDogc3RyaW5nLFxuICAgICAgICByZWNvcmRJZHM6IEFycmF5PHN0cmluZz4sXG4gICAgICAgIGZpZWxkSWRzOiBBcnJheTxzdHJpbmc+IHwgbnVsbCxcbiAgICApOiB2b2lkO1xuICAgIGFic3RyYWN0IGV4cGFuZFJlY29yZFBpY2tlckFzeW5jKFxuICAgICAgICB0YWJsZUlkOiBzdHJpbmcsXG4gICAgICAgIHJlY29yZElkczogQXJyYXk8c3RyaW5nPixcbiAgICAgICAgZmllbGRJZHM6IEFycmF5PHN0cmluZz4gfCBudWxsLFxuICAgICAgICBzaG91bGRBbGxvd0NyZWF0aW5nUmVjb3JkOiBib29sZWFuLFxuICAgICk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD47XG4gICAgYWJzdHJhY3QgcmVsb2FkRnJhbWUoKTogdm9pZDtcbiAgICBhYnN0cmFjdCBzZXRTZXR0aW5nc0J1dHRvblZpc2liaWxpdHkoKTogdm9pZDtcbiAgICBhYnN0cmFjdCBzZXRVbmRvUmVkb01vZGUoKTogdm9pZDtcbiAgICBhYnN0cmFjdCBzZXRGdWxsc2NyZWVuTWF4U2l6ZShtYXhGdWxsc2NyZWVuU2l6ZTogVmlld3BvcnRTaXplQ29uc3RyYWludCk6IHZvaWQ7XG4gICAgYWJzdHJhY3QgZW50ZXJGdWxsc2NyZWVuKCk6IHZvaWQ7XG4gICAgYWJzdHJhY3QgZXhpdEZ1bGxzY3JlZW4oKTogdm9pZDtcbiAgICBhYnN0cmFjdCBmZXRjaEFuZFN1YnNjcmliZVRvUGVyZm9ybVJlY29yZEFjdGlvbkFzeW5jKCk6IFByb21pc2U8UmVjb3JkQWN0aW9uRGF0YSB8IG51bGw+O1xuICAgIGFic3RyYWN0IHRyYWNrRXZlbnQoKTogdm9pZDtcbiAgICBhYnN0cmFjdCB0cmFja0V4cG9zdXJlKCk6IHZvaWQ7XG4gICAgYWJzdHJhY3Qgc2VuZFN0YXQoKTogdm9pZDtcbiAgICBhYnN0cmFjdCBwZXJmb3JtQmFja2VuZEZldGNoQXN5bmMocmVxdWVzdEpzb246IFJlcXVlc3RKc29uKTogUHJvbWlzZTxSZXNwb25zZUpzb24+O1xufVxuIl19
@@ -1 +1,2 @@
1
- "use strict";
1
+ "use strict";
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
@@ -16,4 +16,5 @@ exports.BlockRunContextType = BlockRunContextType;
16
16
  (function (BlockRunContextType) {
17
17
  BlockRunContextType["DASHBOARD_APP"] = "dashboardApp";
18
18
  BlockRunContextType["VIEW"] = "view";
19
- })(BlockRunContextType || (exports.BlockRunContextType = BlockRunContextType = {}));
19
+ })(BlockRunContextType || (exports.BlockRunContextType = BlockRunContextType = {}));
20
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90eXBlcy9haXJ0YWJsZV9pbnRlcmZhY2UudHMiXSwibmFtZXMiOlsiQmxvY2tSdW5Db250ZXh0VHlwZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBeUNBO0FBQ0E7O0FBQ0E7SUFDWUEsbUI7QUFLWjs7OztXQUxZQSxtQjtBQUFBQSxFQUFBQSxtQjtBQUFBQSxFQUFBQSxtQjtHQUFBQSxtQixtQ0FBQUEsbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge09iamVjdE1hcH0gZnJvbSAnLi4vcHJpdmF0ZV91dGlscyc7XG5pbXBvcnQge05vcm1hbGl6ZWRTb3J0Q29uZmlnfSBmcm9tICcuLi9tb2RlbHMvcmVjb3JkX3F1ZXJ5X3Jlc3VsdCc7XG5pbXBvcnQge0NvbG9yfSBmcm9tICcuLi9jb2xvcnMnO1xuaW1wb3J0IHtTdGF0fSBmcm9tICcuL3N0YXQnO1xuaW1wb3J0IHtBZ2dyZWdhdG9yS2V5fSBmcm9tICcuL2FnZ3JlZ2F0b3JzJztcbmltcG9ydCB7QmFzZURhdGEsIEJhc2VQZXJtaXNzaW9uRGF0YSwgTW9kZWxDaGFuZ2V9IGZyb20gJy4vYmFzZSc7XG5pbXBvcnQge0Jsb2NrSW5zdGFsbGF0aW9uSWR9IGZyb20gJy4vYmxvY2snO1xuaW1wb3J0IHtDdXJzb3JEYXRhfSBmcm9tICcuL2N1cnNvcic7XG5pbXBvcnQge0ZpZWxkRGF0YSwgRmllbGRJZCwgRmllbGRUeXBlfSBmcm9tICcuL2ZpZWxkJztcbmltcG9ydCB7UmVjb3JkQWN0aW9uRGF0YSwgUmVjb3JkQWN0aW9uRGF0YUNhbGxiYWNrfSBmcm9tICcuL3JlY29yZF9hY3Rpb25fZGF0YSc7XG5pbXBvcnQge1xuICAgIEdsb2JhbENvbmZpZ1VwZGF0ZSxcbiAgICBHbG9iYWxDb25maWdEYXRhLFxuICAgIEdsb2JhbENvbmZpZ1BhdGgsXG4gICAgR2xvYmFsQ29uZmlnUGF0aFZhbGlkYXRpb25SZXN1bHQsXG59IGZyb20gJy4vZ2xvYmFsX2NvbmZpZyc7XG5pbXBvcnQge1JlY29yZElkfSBmcm9tICcuL3JlY29yZCc7XG5pbXBvcnQge1VuZG9SZWRvTW9kZX0gZnJvbSAnLi91bmRvX3JlZG8nO1xuaW1wb3J0IHtWaWV3cG9ydFNpemVDb25zdHJhaW50fSBmcm9tICcuL3ZpZXdwb3J0JztcbmltcG9ydCB7XG4gICAgTXV0YXRpb24sXG4gICAgUGFydGlhbE11dGF0aW9uLFxuICAgIFBlcm1pc3Npb25DaGVja1Jlc3VsdCxcbiAgICBVcGRhdGVGaWVsZE9wdGlvbnNPcHRzLFxufSBmcm9tICcuL211dGF0aW9ucyc7XG5pbXBvcnQge1RhYmxlSWR9IGZyb20gJy4vdGFibGUnO1xuaW1wb3J0IHtcbiAgICBHcm91cERhdGEsXG4gICAgVmlld0NvbG9yc0J5UmVjb3JkSWREYXRhLFxuICAgIFZpZXdGaWVsZE9yZGVyRGF0YSxcbiAgICBWaWV3SWQsXG4gICAgR3JvdXBMZXZlbERhdGEsXG59IGZyb20gJy4vdmlldyc7XG5pbXBvcnQge1JlcXVlc3RKc29uLCBSZXNwb25zZUpzb259IGZyb20gJy4vYmFja2VuZF9mZXRjaF90eXBlcyc7XG5pbXBvcnQge1xuICAgIEJsb2NrUXVlcnlTcGVjLFxuICAgIEJsb2NrUXVlcnlJZCxcbiAgICBRdWVyeVNwZWNzUmVzcG9uc2UsXG4gICAgQmxvY2tRdWVyeVN1YnNjcmlwdGlvbk9uQ2hhbmdlQ2FsbGJhY2ssXG59IGZyb20gJy4vYmxvY2tfcXVlcnlfc3BlYyc7XG5cbi8vIEJsb2NrUnVuQ29udGV4dFR5cGUsIEJsb2NrSW5zdGFsbGF0aW9uUGFnZUJsb2NrUnVuQ29udGV4dCwgVmlld0Jsb2NrUnVuQ29udGV4dCwgQmxvY2tSdW5Db250ZXh0XG4vLyBtdXN0IGJlIGtlcHQgaW4gc3luYyB3aXRoIGJsb2NrX3J1bl9jb250ZXh0LnRzeCBpbiBoeXBlcmJhc2UgcmVwb1xuLyoqIEBoaWRkZW4gKi9cbmV4cG9ydCBlbnVtIEJsb2NrUnVuQ29udGV4dFR5cGUge1xuICAgIERBU0hCT0FSRF9BUFAgPSAnZGFzaGJvYXJkQXBwJyxcbiAgICBWSUVXID0gJ3ZpZXcnLFxufVxuXG4vKiogQGhpZGRlbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCbG9ja0luc3RhbGxhdGlvblBhZ2VCbG9ja1J1bkNvbnRleHQge1xuICAgIHR5cGU6IEJsb2NrUnVuQ29udGV4dFR5cGUuREFTSEJPQVJEX0FQUDtcbn1cblxuLyoqIEBoaWRkZW4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmlld0Jsb2NrUnVuQ29udGV4dCB7XG4gICAgdHlwZTogQmxvY2tSdW5Db250ZXh0VHlwZS5WSUVXO1xuICAgIHRhYmxlSWQ6IFRhYmxlSWQ7XG4gICAgdmlld0lkOiBWaWV3SWQ7XG59XG5cbi8qKiBAaGlkZGVuICovXG5leHBvcnQgdHlwZSBCbG9ja1J1bkNvbnRleHQgPSBCbG9ja0luc3RhbGxhdGlvblBhZ2VCbG9ja1J1bkNvbnRleHQgfCBWaWV3QmxvY2tSdW5Db250ZXh0O1xuXG4vKiogQGhpZGRlbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXJ0aWFsVmlld0RhdGEge1xuICAgIHZpc2libGVSZWNvcmRJZHM6IEFycmF5PHN0cmluZz47XG4gICAgZmllbGRPcmRlcjogVmlld0ZpZWxkT3JkZXJEYXRhO1xuICAgIGNvbG9yc0J5UmVjb3JkSWQ6IFZpZXdDb2xvcnNCeVJlY29yZElkRGF0YSB8IG51bGw7XG4gICAgLy8gR3JvdXBzIGNhbiBiZSB1bmRlZmluZWQgaWYgcnVubmluZyBhZ2FpbnN0IGFuIG9sZCBhaXJ0YWJsZSBjbGllbnRcbiAgICBncm91cHM/OiBBcnJheTxHcm91cERhdGE+IHwgbnVsbDtcbiAgICBncm91cExldmVscz86IEFycmF5PEdyb3VwTGV2ZWxEYXRhPiB8IG51bGw7XG59XG5cbi8vIFRPRE86IChTZWFuS2VlbmFuKSBNb3ZlIE5vcm1hbGl6ZWRTb3J0Q29uZmlnIGZyb20gcmVjb3JkX3F1ZXJ5X3Jlc3VsdCBoZXJlXG4vLyAgICAgICBvbmNlL2lmIHdlIHN1cHBvcnQgc2V0dGluZyB0aGUgc29ydCBjb25maWcgZm9yIGEgdmlld1xuLyoqIEBoaWRkZW4gKi9cbmV4cG9ydCB0eXBlIE5vcm1hbGl6ZWRHcm91cExldmVsID0gR3JvdXBMZXZlbERhdGE7XG5cbi8qKiBAaGlkZGVuICovXG5leHBvcnQgaW50ZXJmYWNlIE5vcm1hbGl6ZWRWaWV3TWV0YWRhdGEge1xuICAgIC8qKiBHcm91cCBsZXZlbHMsIGNhbiBiZSBudWxsIG9yIHVuc3BlY2lmaWVkIChudWxsIHRvIGNsZWFyLCB1bnNwZWNpZmllZCB0byBub3Qgb3ZlcndyaXRlKSAqL1xuICAgIGdyb3VwTGV2ZWxzPzogQXJyYXk8Tm9ybWFsaXplZEdyb3VwTGV2ZWw+IHwgbnVsbCB8IHVuZGVmaW5lZDtcbn1cblxuLyoqIEBoaWRkZW4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2RrSW5pdERhdGEge1xuICAgIGluaXRpYWxLdlZhbHVlc0J5S2V5OiBHbG9iYWxDb25maWdEYXRhO1xuICAgIGlzRGV2ZWxvcG1lbnRNb2RlOiBib29sZWFuO1xuICAgIGJhc2VEYXRhOiBCYXNlRGF0YTtcbiAgICBibG9ja0luc3RhbGxhdGlvbklkOiBCbG9ja0luc3RhbGxhdGlvbklkO1xuICAgIC8vIE5PVEU6IHRoZXNlIGRvbid0IHJlYWxseSBtYWtlIG11Y2ggc2Vuc2UgaW4gYmFja2VuZCBibG9ja3MuXG4gICAgLy8gVE9ETzogZmlndXJlIG91dCB3aGF0IHRvIGRvIHdpdGggdGhlbS5cbiAgICBpc0Z1bGxzY3JlZW46IGJvb2xlYW47XG4gICAgaXNGaXJzdFJ1bjogYm9vbGVhbjtcbiAgICBpbnRlbnREYXRhOiB1bmtub3duO1xuICAgIGlzVXNpbmdOZXdMb29rdXBDZWxsVmFsdWVGb3JtYXQ/OiB0cnVlIHwgdW5kZWZpbmVkO1xuICAgIHJ1bkNvbnRleHQ6IEJsb2NrUnVuQ29udGV4dDtcbn1cblxuLyoqIEBoaWRkZW4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSWRHZW5lcmF0b3Ige1xuICAgIGdlbmVyYXRlUmVjb3JkSWQoKTogc3RyaW5nO1xuICAgIGdlbmVyYXRlRmllbGRJZCgpOiBzdHJpbmc7XG4gICAgZ2VuZXJhdGVUYWJsZUlkKCk6IHN0cmluZztcbn1cblxuLyoqIEBoaWRkZW4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXJsQ29uc3RydWN0b3Ige1xuICAgIGdldFRhYmxlVXJsKHRhYmxlSWQ6IFRhYmxlSWQpOiBzdHJpbmc7XG4gICAgZ2V0Vmlld1VybCh2aWV3SWQ6IFZpZXdJZCwgdGFibGVJZDogVGFibGVJZCk6IHN0cmluZztcbiAgICBnZXRSZWNvcmRVcmwocmVjb3JkSWQ6IFJlY29yZElkLCB0YWJsZUlkOiBUYWJsZUlkKTogc3RyaW5nO1xuICAgIGdldEF0dGFjaG1lbnRDbGllbnRVcmwoXG4gICAgICAgIGFwcEludGVyZmFjZTogQXBwSW50ZXJmYWNlLFxuICAgICAgICBhdHRhY2htZW50SWQ6IHN0cmluZyxcbiAgICAgICAgYXR0YWNobWVudFVybDogc3RyaW5nLFxuICAgICk6IHN0cmluZztcbn1cblxuLyoqIEBoaWRkZW4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWdncmVnYXRvckNvbmZpZyB7XG4gICAga2V5OiBBZ2dyZWdhdG9yS2V5O1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgc2hvcnREaXNwbGF5TmFtZTogc3RyaW5nO1xufVxuXG4vKiogQGhpZGRlbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBZ2dyZWdhdG9ycyB7XG4gICAgYWdncmVnYXRlKFxuICAgICAgICBhcHBJbnRlcmZhY2U6IEFwcEludGVyZmFjZSxcbiAgICAgICAgc3VtbWFyeUZ1bmN0aW9uS2V5OiBBZ2dyZWdhdG9yS2V5LFxuICAgICAgICBjZWxsVmFsdWVzOiBBcnJheTx1bmtub3duPixcbiAgICAgICAgZmllbGREYXRhOiBGaWVsZERhdGEsXG4gICAgKTogdW5rbm93bjtcbiAgICBhZ2dyZWdhdGVUb1N0cmluZyhcbiAgICAgICAgYXBwSW50ZXJmYWNlOiBBcHBJbnRlcmZhY2UsXG4gICAgICAgIHN1bW1hcnlGdW5jdGlvbktleTogQWdncmVnYXRvcktleSxcbiAgICAgICAgY2VsbFZhbHVlczogQXJyYXk8dW5rbm93bj4sXG4gICAgICAgIGZpZWxkRGF0YTogRmllbGREYXRhLFxuICAgICk6IHN0cmluZztcbiAgICBnZXRBZ2dyZWdhdG9yQ29uZmlnKHN1bW1hcnlGdW5jdGlvbktleTogQWdncmVnYXRvcktleSk6IEFnZ3JlZ2F0b3JDb25maWc7XG4gICAgZ2V0QWxsQXZhaWxhYmxlQWdncmVnYXRvcktleXMoKTogQXJyYXk8QWdncmVnYXRvcktleT47XG4gICAgZ2V0QXZhaWxhYmxlQWdncmVnYXRvcktleXNGb3JGaWVsZChmaWVsZERhdGE6IEZpZWxkRGF0YSk6IEFycmF5PEFnZ3JlZ2F0b3JLZXk+O1xufVxuXG4vKiogQGhpZGRlbiAqL1xudHlwZSBDZWxsVmFsdWVWYWxpZGF0aW9uUmVzdWx0ID0ge2lzVmFsaWQ6IHRydWV9IHwge2lzVmFsaWQ6IGZhbHNlOyByZWFzb246IHN0cmluZ307XG4vKiogQGhpZGRlbiAqL1xudHlwZSBGaWVsZENvbmZpZ1ZhbGlkYXRpb25SZXN1bHQgPSB7aXNWYWxpZDogdHJ1ZX0gfCB7aXNWYWxpZDogZmFsc2U7IHJlYXNvbjogc3RyaW5nfTtcbi8qKiBAaGlkZGVuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkVHlwZUNvbmZpZyB7XG4gICAgdHlwZTogRmllbGRUeXBlO1xuICAgIG9wdGlvbnM/OiB7W2tleTogc3RyaW5nXTogdW5rbm93bn07XG59XG4vKiogQGhpZGRlbiAqL1xuaW50ZXJmYWNlIEZpZWxkVWlDb25maWcge1xuICAgIGljb25OYW1lOiBzdHJpbmc7XG4gICAgZGVzaXJlZENlbGxXaWR0aEZvclJlY29yZENhcmQ6IG51bWJlcjtcbiAgICBtaW5pbXVtQ2VsbFdpZHRoRm9yUmVjb3JkQ2FyZDogbnVtYmVyO1xufVxuXG4vKiogQGhpZGRlbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaWVsZFR5cGVQcm92aWRlciB7XG4gICAgaXNDb21wdXRlZChmaWVsZERhdGE6IEZpZWxkRGF0YSk6IGJvb2xlYW47XG4gICAgdmFsaWRhdGVDZWxsVmFsdWVGb3JVcGRhdGUoXG4gICAgICAgIGFwcEludGVyZmFjZTogQXBwSW50ZXJmYWNlLFxuICAgICAgICBuZXdDZWxsVmFsdWU6IHVua25vd24sXG4gICAgICAgIGN1cnJlbnRDZWxsVmFsdWU6IHVua25vd24sXG4gICAgICAgIGZpZWxkRGF0YTogRmllbGREYXRhLFxuICAgICk6IENlbGxWYWx1ZVZhbGlkYXRpb25SZXN1bHQ7XG4gICAgZ2V0Q29uZmlnKFxuICAgICAgICBhcHBJbnRlcmZhY2U6IEFwcEludGVyZmFjZSxcbiAgICAgICAgZmllbGREYXRhOiBGaWVsZERhdGEsXG4gICAgICAgIGZpZWxkTmFtZXNCeUlkOiBPYmplY3RNYXA8RmllbGRJZCwgc3RyaW5nPixcbiAgICApOiBGaWVsZFR5cGVDb25maWc7XG4gICAgdmFsaWRhdGVDb25maWdGb3JVcGRhdGUoXG4gICAgICAgIGFwcEludGVyZmFjZTogQXBwSW50ZXJmYWNlLFxuICAgICAgICBuZXdDb25maWc6IEZpZWxkVHlwZUNvbmZpZyxcbiAgICAgICAgY3VycmVudENvbmZpZzogRmllbGRUeXBlQ29uZmlnIHwgbnVsbCxcbiAgICAgICAgZmllbGREYXRhOiBGaWVsZERhdGEgfCBudWxsLFxuICAgICAgICBiaWxsaW5nUGxhbkdyb3VwaW5nOiBzdHJpbmcsXG4gICAgICAgIG9wdHM/OiBVcGRhdGVGaWVsZE9wdGlvbnNPcHRzLFxuICAgICk6IEZpZWxkQ29uZmlnVmFsaWRhdGlvblJlc3VsdDtcbiAgICBjYW5CZVByaW1hcnkoXG4gICAgICAgIGFwcEludGVyZmFjZTogQXBwSW50ZXJmYWNlLFxuICAgICAgICBjb25maWc6IEZpZWxkVHlwZUNvbmZpZyxcbiAgICAgICAgYmlsbGluZ1BsYW5Hcm91cGluZzogc3RyaW5nLFxuICAgICk6IGJvb2xlYW47XG4gICAgY29udmVydFN0cmluZ1RvQ2VsbFZhbHVlKFxuICAgICAgICBhcHBJbnRlcmZhY2U6IEFwcEludGVyZmFjZSxcbiAgICAgICAgc3RyaW5nOiBzdHJpbmcsXG4gICAgICAgIGZpZWxkRGF0YTogRmllbGREYXRhLFxuICAgICk6IHVua25vd247XG4gICAgY29udmVydENlbGxWYWx1ZVRvU3RyaW5nKFxuICAgICAgICBhcHBJbnRlcmZhY2U6IEFwcEludGVyZmFjZSxcbiAgICAgICAgY2VsbFZhbHVlOiB1bmtub3duLFxuICAgICAgICBmaWVsZERhdGE6IEZpZWxkRGF0YSxcbiAgICApOiBzdHJpbmc7XG4gICAgZ2V0Q2VsbFJlbmRlcmVyRGF0YShcbiAgICAgICAgYXBwSW50ZXJmYWNlOiBBcHBJbnRlcmZhY2UsXG4gICAgICAgIGNlbGxWYWx1ZTogdW5rbm93bixcbiAgICAgICAgZmllbGREYXRhOiBGaWVsZERhdGEsXG4gICAgICAgIHNob3VsZFdyYXA6IGJvb2xlYW4sXG4gICAgKToge2NlbGxWYWx1ZUh0bWw6IHN0cmluZzsgYXR0cmlidXRlczoge1trZXk6IHN0cmluZ106IHVua25vd259fTtcbiAgICBnZXRVaUNvbmZpZzogKGFwcEludGVyZmFjZTogQXBwSW50ZXJmYWNlLCBmaWVsZERhdGE6IEZpZWxkRGF0YSkgPT4gRmllbGRVaUNvbmZpZztcbn1cblxuLyoqIEBoaWRkZW4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2xvYmFsQ29uZmlnSGVscGVycyB7XG4gICAgdmFsaWRhdGVQYXRoKHBhdGg6IEdsb2JhbENvbmZpZ1BhdGgsIHN0b3JlOiBHbG9iYWxDb25maWdEYXRhKTogR2xvYmFsQ29uZmlnUGF0aFZhbGlkYXRpb25SZXN1bHQ7XG4gICAgdmFsaWRhdGVBbmRBcHBseVVwZGF0ZXMoXG4gICAgICAgIHVwZGF0ZXM6IFJlYWRvbmx5QXJyYXk8R2xvYmFsQ29uZmlnVXBkYXRlPixcbiAgICAgICAgc3RvcmU6IEdsb2JhbENvbmZpZ0RhdGEsXG4gICAgKToge1xuICAgICAgICBuZXdLdlN0b3JlOiBHbG9iYWxDb25maWdEYXRhO1xuICAgICAgICBjaGFuZ2VkVG9wTGV2ZWxLZXlzOiBBcnJheTxzdHJpbmc+O1xuICAgIH07XG59XG5cbi8qKlxuICogQXBwSW50ZXJmYWNlIHNob3VsZCBuZXZlciBiZSB1c2VkIGRpcmVjdGx5IGJ5IHRoZSBTREssIHNvIHdlIGRvbid0IGRlc2NyaWJlIHRoZSB0eXBlLlxuICpcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IHR5cGUgQXBwSW50ZXJmYWNlID0gdW5rbm93bjtcblxuLyoqXG4gKiBLZWVwIHRoaXMgaW4gc3luYyB3aXRoIGh5cGVyYmFzZSByZXBvJ3MgYEJsb2NrU2RrVmlzTGlzdGAgZGVmaW5pdGlvblxuICpcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWaXNMaXN0IHtcbiAgICByZW1vdmVSZWNvcmRJZHMocmVjb3JkSWRzOiBBcnJheTxSZWNvcmRJZD4pOiB2b2lkO1xuICAgIGFkZFJlY29yZElkcyhyZWNvcmRJZHM6IFJlYWRvbmx5QXJyYXk8UmVjb3JkSWQ+KTogdm9pZDtcbiAgICBnZXRPcmRlcmVkUmVjb3JkSWRzKCk6IEFycmF5PFJlY29yZElkPjtcbn1cblxuLyoqXG4gKiBPbmx5IGxvYWRzIGRhdGEgYWZ0ZXIgYSBxdWVyeSBleGVjdXRlcyB0aGUgZGF0YVxuICpcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWNvcmRTdG9yZUZvclRhYmxlIHtcbiAgICBnZXRUYWJsZUlkKCk6IFRhYmxlSWQ7XG5cbiAgICAvLyBNYXkgbm90IGJlIHJlcXVpcmVkP1xuICAgIGdldFBhcnRpYWxseUxvYWRlZFJlY29yZElkcygpOiBSZWFkb25seUFycmF5PFJlY29yZElkPjtcblxuICAgIC8vXG4gICAgLy8gUmVjb3JkIHNjb3BlZCBmdW5jdGlvbnNcbiAgICAvL1xuICAgIGlzUmVjb3JkUGFydGlhbGx5TG9hZGVkKHJlY29yZElkOiBSZWNvcmRJZCk6IGJvb2xlYW47XG4gICAgaXNSZWNvcmREZWxldGVkKHJlY29yZElkOiBSZWNvcmRJZCk6IGJvb2xlYW47XG4gICAgaXNSZWNvcmRDZWxsVmFsdWVMb2FkZWRGb3JGaWVsZElkKHJlY29yZElkOiBSZWNvcmRJZCwgZmllbGRJZDogRmllbGRJZCk6IGJvb2xlYW47XG5cbiAgICBnZXRSZWNvcmRDZWxsVmFsdWVCeUZpZWxkSWQocmVjb3JkSWQ6IFJlY29yZElkLCBmaWVsZElkOiBGaWVsZElkKTogdW5rbm93bjtcbiAgICBnZXRSZWNvcmRDb21tZW50Q291bnQocmVjb3JkSWQ6IFJlY29yZElkKTogbnVtYmVyO1xuICAgIGdldFJlY29yZENyZWF0ZWRUaW1lKHJlY29yZElkOiBSZWNvcmRJZCk6IERhdGU7XG59XG5cbi8qKlxuICogT25seSBsb2FkcyBkYXRhIGFmdGVyIGEgcXVlcnkgZXhlY3V0ZXMgdGhlIGRhdGFcbiAqXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmlld1N0b3JlIHtcbiAgICBnZXRWaWV3SWQoKTogVmlld0lkO1xuICAgIGdldFZpc2libGVSZWNvcmRJZHMoKTogUmVhZG9ubHlBcnJheTxSZWNvcmRJZD47XG4gICAgZ2V0RmllbGRPcmRlcigpOiBWaWV3RmllbGRPcmRlckRhdGE7XG4gICAgZ2V0R3JvdXBzKCk6IFJlYWRvbmx5QXJyYXk8R3JvdXBEYXRhPiB8IG51bGw7XG4gICAgZ2V0R3JvdXBMZXZlbHMoKTogUmVhZG9ubHlBcnJheTxHcm91cExldmVsRGF0YT4gfCBudWxsO1xuICAgIGdldENvbG9yRm9yUmVjb3JkSWQocmVjb3JkSWQ6IFJlY29yZElkKTogQ29sb3IgfCBudWxsO1xufVxuXG4vKiogQGhpZGRlbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCbG9ja1F1ZXJ5U3Vic2NyaXB0aW9uT3B0aW9ucyB7XG4gICAgb25DaGFuZ2VDYWxsYmFjaz86IEJsb2NrUXVlcnlTdWJzY3JpcHRpb25PbkNoYW5nZUNhbGxiYWNrO1xufVxuXG4vKipcbiAqIEFpcnRhYmxlSW50ZXJmYWNlIGlzIGRlc2lnbmVkIGFzIHRoZSBjb21tdW5pY2F0aW9uIGludGVyZmFjZSBiZXR3ZWVuIHRoZVxuICogQmxvY2sgU0RLIGFuZCBBaXJ0YWJsZS4gVGhlIG1lY2hhbmlzbSB0aHJvdWdoIHdoaWNoIHdlIGNvbW11bmljYXRlIHdpdGggQWlydGFibGVcbiAqIGRlcGVuZHMgb24gdGhlIGNvbnRleHQgaW4gd2hpY2ggdGhlIGJsb2NrIGlzIHJ1bm5pbmcgKGkuZS4gZnJvbnRlbmQgb3IgYmFja2VuZCksXG4gKiBidXQgdGhlIGludGVyZmFjZSBzaG91bGQgcmVtYWluIGNvbnNpc3RlbnQuXG4gKlxuICogQGhpZGRlblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFpcnRhYmxlSW50ZXJmYWNlIHtcbiAgICBzZGtJbml0RGF0YTogU2RrSW5pdERhdGE7XG4gICAgaWRHZW5lcmF0b3I6IElkR2VuZXJhdG9yO1xuICAgIHVybENvbnN0cnVjdG9yOiBVcmxDb25zdHJ1Y3RvcjtcbiAgICBhZ2dyZWdhdG9yczogQWdncmVnYXRvcnM7XG4gICAgZmllbGRUeXBlUHJvdmlkZXI6IEZpZWxkVHlwZVByb3ZpZGVyO1xuICAgIGdsb2JhbENvbmZpZ0hlbHBlcnM6IEdsb2JhbENvbmZpZ0hlbHBlcnM7XG5cbiAgICAvLyBTdWJzY3JpYmluZyAvIHVuc3Vic2NyaWJpbmcgZnJvbSBxdWVyaWVzXG4gICAgc3Vic2NyaWJlVG9RdWVyeUFuZFBvcHVsYXRlU3RvcmVzQXN5bmMoXG4gICAgICAgIHF1ZXJ5OiBCbG9ja1F1ZXJ5U3BlYyxcbiAgICAgICAgb3B0aW9uczogQmxvY2tRdWVyeVN1YnNjcmlwdGlvbk9wdGlvbnMsXG4gICAgKTogUHJvbWlzZTxRdWVyeVNwZWNzUmVzcG9uc2U+O1xuICAgIHVuc3Vic2NyaWJlRnJvbVF1ZXJ5SWRzQXN5bmMocXVlcnlTcGVjSWRzOiBBcnJheTxCbG9ja1F1ZXJ5SWQ+KTogUHJvbWlzZTx7c3RhdHVzOiBib29sZWFufT47XG5cbiAgICAvLyBBbGxvd3MgYWNjZXNzIHRvIHJlY29yZCBjZWxsIHZhbHVlcyB0aGF0IGhhdmUgYmVlbiBzdWJzY3JpYmVkIHVzaW5nIHF1ZXJpZXNcbiAgICBnZXRUYWJsZVJlY29yZFN0b3JlSWZFeGlzdHModGFibGVJZDogVGFibGVJZCk6IFJlY29yZFN0b3JlRm9yVGFibGUgfCBudWxsO1xuICAgIC8vIEFsbG93cyBhY2Nlc3MgdG8gdmlldyBkYXRhIHRoYXQgaGFzIGJlZW4gc3Vic2NyaWJlZCB1c2luZyBxdWVyaWVzXG4gICAgZ2V0Vmlld01ldGFkYXRhU3RvcmVJZkV4aXN0cyh0YWJsZUlkOiBUYWJsZUlkLCB2aWV3SWQ6IFZpZXdJZCk6IFZpZXdTdG9yZSB8IG51bGw7XG5cbiAgICBhc3NlcnRBbGxvd2VkU2RrUGFja2FnZVZlcnNpb246IChwYWNrYWdlTmFtZTogc3RyaW5nLCBwYWNrYWdlVmVyc2lvbjogc3RyaW5nKSA9PiB2b2lkO1xuICAgIGZldGNoRGVmYXVsdENlbGxWYWx1ZXNCeUZpZWxkSWRBc3luYyhcbiAgICAgICAgdGFibGVJZDogc3RyaW5nLFxuICAgICAgICB2aWV3SWQ6IHN0cmluZyB8IG51bGwsXG4gICAgKTogUHJvbWlzZTx7W2tleTogc3RyaW5nXTogdW5rbm93bn0+O1xuXG4gICAgYXBwbHlNdXRhdGlvbkFzeW5jKG11dGF0aW9uOiBNdXRhdGlvbiwgb3B0cz86IHtob2xkRm9yTXM/OiBudW1iZXJ9KTogUHJvbWlzZTx2b2lkPjtcbiAgICBjaGVja1Blcm1pc3Npb25zRm9yTXV0YXRpb24oXG4gICAgICAgIG11dGF0aW9uOiBQYXJ0aWFsTXV0YXRpb24sXG4gICAgICAgIGJhc2VQZXJtaXNzaW9uRGF0YTogQmFzZVBlcm1pc3Npb25EYXRhLFxuICAgICk6IFBlcm1pc3Npb25DaGVja1Jlc3VsdDtcblxuICAgIC8vIGZyb250ZW5kIG9ubHk6XG4gICAgc3Vic2NyaWJlVG9Nb2RlbFVwZGF0ZXMoY2FsbGJhY2s6IChkYXRhOiB7Y2hhbmdlczogUmVhZG9ubHlBcnJheTxNb2RlbENoYW5nZT59KSA9PiB2b2lkKTogdm9pZDtcbiAgICBzdWJzY3JpYmVUb0dsb2JhbENvbmZpZ1VwZGF0ZXMoXG4gICAgICAgIGNhbGxiYWNrOiAoZGF0YToge3VwZGF0ZXM6IFJlYWRvbmx5QXJyYXk8R2xvYmFsQ29uZmlnVXBkYXRlPn0pID0+IHZvaWQsXG4gICAgKTogdm9pZDtcbiAgICBzdWJzY3JpYmVUb1NldHRpbmdzQnV0dG9uQ2xpY2soY2FsbGJhY2s6ICgpID0+IHZvaWQpOiB2b2lkO1xuICAgIHN1YnNjcmliZVRvRW50ZXJGdWxsU2NyZWVuKGNhbGxiYWNrOiAoKSA9PiB2b2lkKTogdm9pZDtcbiAgICBzdWJzY3JpYmVUb0V4aXRGdWxsU2NyZWVuKGNhbGxiYWNrOiAoKSA9PiB2b2lkKTogdm9pZDtcbiAgICBzdWJzY3JpYmVUb0ZvY3VzKGNhbGxiYWNrOiAoKSA9PiB2b2lkKTogdm9pZDtcbiAgICBmZXRjaEFuZFN1YnNjcmliZVRvQ3Vyc29yRGF0YUFzeW5jKCk6IFByb21pc2U8Q3Vyc29yRGF0YT47XG4gICAgdW5zdWJzY3JpYmVGcm9tQ3Vyc29yRGF0YSgpOiB2b2lkO1xuICAgIGV4cGFuZFJlY29yZCh0YWJsZUlkOiBzdHJpbmcsIHJlY29yZElkOiBzdHJpbmcsIHJlY29yZElkczogQXJyYXk8c3RyaW5nPiB8IG51bGwpOiB2b2lkO1xuICAgIGV4cGFuZFJlY29yZExpc3QoXG4gICAgICAgIHRhYmxlSWQ6IHN0cmluZyxcbiAgICAgICAgcmVjb3JkSWRzOiBBcnJheTxzdHJpbmc+LFxuICAgICAgICBmaWVsZElkczogQXJyYXk8c3RyaW5nPiB8IG51bGwsXG4gICAgKTogdm9pZDtcbiAgICBleHBhbmRSZWNvcmRQaWNrZXJBc3luYyhcbiAgICAgICAgdGFibGVJZDogc3RyaW5nLFxuICAgICAgICByZWNvcmRJZHM6IEFycmF5PHN0cmluZz4sXG4gICAgICAgIGZpZWxkSWRzOiBBcnJheTxzdHJpbmc+IHwgbnVsbCxcbiAgICAgICAgc2hvdWxkQWxsb3dDcmVhdGluZ1JlY29yZDogYm9vbGVhbixcbiAgICApOiBQcm9taXNlPHN0cmluZyB8IG51bGw+O1xuICAgIHJlbG9hZEZyYW1lKCk6IHZvaWQ7XG4gICAgc2V0U2V0dGluZ3NCdXR0b25WaXNpYmlsaXR5KGlzVmlzaWJsZTogYm9vbGVhbik6IHZvaWQ7XG4gICAgc2V0VW5kb1JlZG9Nb2RlKG1vZGU6IFVuZG9SZWRvTW9kZSk6IHZvaWQ7XG4gICAgc2V0RnVsbHNjcmVlbk1heFNpemUobWF4RnVsbHNjcmVlblNpemU6IFZpZXdwb3J0U2l6ZUNvbnN0cmFpbnQpOiB2b2lkO1xuICAgIGVudGVyRnVsbHNjcmVlbigpOiB2b2lkO1xuICAgIGV4aXRGdWxsc2NyZWVuKCk6IHZvaWQ7XG4gICAgY3JlYXRlVmlzTGlzdFdpdGhSZWNvcmRJZHMoXG4gICAgICAgIHJlY29yZElkczogUmVhZG9ubHlBcnJheTxSZWNvcmRJZD4sXG4gICAgICAgIGZpZWxkRGF0YXM6IFJlYWRvbmx5QXJyYXk8RmllbGREYXRhPixcbiAgICAgICAgc29ydHM6IFJlYWRvbmx5QXJyYXk8Tm9ybWFsaXplZFNvcnRDb25maWc+LFxuICAgICAgICB0YWJsZUlkOiBUYWJsZUlkLFxuICAgICk6IFZpc0xpc3Q7XG4gICAgc2V0QWN0aXZlVmlld09yVGFibGUodGFibGVJZDogVGFibGVJZCwgdmlld0lkPzogVmlld0lkKTogdm9pZDtcbiAgICBmZXRjaEFuZFN1YnNjcmliZVRvUGVyZm9ybVJlY29yZEFjdGlvbkFzeW5jKFxuICAgICAgICBjYWxsYmFjazogUmVjb3JkQWN0aW9uRGF0YUNhbGxiYWNrLFxuICAgICk6IFByb21pc2U8UmVjb3JkQWN0aW9uRGF0YSB8IG51bGw+O1xuICAgIHBlcmZvcm1CYWNrZW5kRmV0Y2hBc3luYyhyZXF1ZXN0SnNvbjogUmVxdWVzdEpzb24pOiBQcm9taXNlPFJlc3BvbnNlSnNvbj47XG5cbiAgICAvKipcbiAgICAgKiBpbnRlcm5hbCB1dGlsc1xuICAgICAqL1xuICAgIHRyYWNrRXZlbnQoZXZlbnRTY2hlbWFOYW1lOiBzdHJpbmcsIGV2ZW50RGF0YToge1trZXk6IHN0cmluZ106IHVua25vd259KTogdm9pZDtcbiAgICB0cmFja0V4cG9zdXJlKGZlYXR1cmVOYW1lOiBzdHJpbmcpOiB2b2lkO1xuICAgIHNlbmRTdGF0KHN0YXQ6IFN0YXQpOiB2b2lkO1xufVxuIl19
@@ -1 +1,2 @@
1
- "use strict";
1
+ "use strict";
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
@@ -1 +1,2 @@
1
- "use strict";
1
+ "use strict";
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
@@ -1 +1,2 @@
1
- "use strict";
1
+ "use strict";
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
@@ -1 +1,2 @@
1
- "use strict";
1
+ "use strict";
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.BlockQuerySubscriptionChangeType = exports.BlockFieldSelectionSpecType = exports.BlockQuerySourceType = void 0;
7
+
8
+ /**
9
+ * Specification for data needed by both the Blocks SDK and the blocks iframe
10
+ * that spans across a few repos and run environments:
11
+ * +--------------------+--------------------+--------------------+
12
+ * | airtable.com | blocks iframe | blocks sdk |
13
+ * +--------------------+--------------------+--------------------+
14
+ * | repo: hyperbase | repo: hyperbase | repo: blocks-sdk |
15
+ * | run: airtable.com | run: iframe | run: iframe |
16
+ * +--------------------+--------------------+--------------------+
17
+ *
18
+ * A BlockQuerySpec has a required `source` and one or more `selection`s.
19
+ * The `source` is a top-level concept that defines where the data comes
20
+ * from, while the `selection`s define desired properties from the data.
21
+ * In other words, think of the data as a tree, the `source` defines the
22
+ * root, and the `selection`s define the branches and leaves.
23
+ *
24
+ * Note that instead of a sub-object `source`, we use `source`-prefixed
25
+ * properties for the same effect. This works around a TypeScript limitation
26
+ * of not being able to discriminate between the unions for BlockQuerySpec.
27
+ *
28
+ * The specification will be used for two parts of the data lifecycle:
29
+ * 1. An initial response, via BlockQuerySpecResponseForAirtableInterface
30
+ * 2. Subsequent updates to keep the date updated, via BlockQueryUpdate
31
+ *
32
+ * NOTE: Keep this in sync with the hyperbase repo's block_query_spec.tsx file!
33
+ *
34
+ * @hidden
35
+ */
36
+
37
+ /** @hidden */
38
+
39
+ /** @hidden */
40
+
41
+ /** @hidden */
42
+ var BlockQuerySourceType;
43
+ /** @hidden */
44
+
45
+ exports.BlockQuerySourceType = BlockQuerySourceType;
46
+
47
+ (function (BlockQuerySourceType) {
48
+ BlockQuerySourceType["TABLE"] = "table";
49
+ BlockQuerySourceType["VIEW"] = "view";
50
+ })(BlockQuerySourceType || (exports.BlockQuerySourceType = BlockQuerySourceType = {}));
51
+
52
+ /**
53
+ * The different ways fields can be queried
54
+ *
55
+ * @hidden
56
+ */
57
+ var BlockFieldSelectionSpecType;
58
+ /**
59
+ * Allows querying for all fields, or a specified set of fields. In the latter
60
+ * case, we also allow specifying properties of a record like commentCount and
61
+ * recordCreatedTime that don't have fieldIds (ALL_FIELDS implies including all
62
+ * of these properties).
63
+ *
64
+ * @hidden
65
+ */
66
+
67
+ exports.BlockFieldSelectionSpecType = BlockFieldSelectionSpecType;
68
+
69
+ (function (BlockFieldSelectionSpecType) {
70
+ BlockFieldSelectionSpecType["SPECIFIED_FIELDS"] = "specifiedFields";
71
+ BlockFieldSelectionSpecType["ALL_FIELDS_FROM_TABLE"] = "allFieldsFromTable";
72
+ })(BlockFieldSelectionSpecType || (exports.BlockFieldSelectionSpecType = BlockFieldSelectionSpecType = {}));
73
+
74
+ /** @hidden */
75
+ var BlockQuerySubscriptionChangeType;
76
+ /** @hidden */
77
+
78
+ exports.BlockQuerySubscriptionChangeType = BlockQuerySubscriptionChangeType;
79
+
80
+ (function (BlockQuerySubscriptionChangeType) {
81
+ BlockQuerySubscriptionChangeType["ADDED_RECORD_IDS"] = "addedRecordIds";
82
+ BlockQuerySubscriptionChangeType["REMOVED_RECORD_IDS"] = "removedRecordIds";
83
+ BlockQuerySubscriptionChangeType["MODIFIED_CELL_VALUES_FOR_TABLE"] = "modifiedCellValuesForTable";
84
+ BlockQuerySubscriptionChangeType["CHANGED_COLORS_BY_RECORD_ID_FOR_VIEW"] = "changedColorsByRecordIdForView";
85
+ })(BlockQuerySubscriptionChangeType || (exports.BlockQuerySubscriptionChangeType = BlockQuerySubscriptionChangeType = {}));
86
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90eXBlcy9ibG9ja19xdWVyeV9zcGVjLnRzIl0sIm5hbWVzIjpbIkJsb2NrUXVlcnlTb3VyY2VUeXBlIiwiQmxvY2tGaWVsZFNlbGVjdGlvblNwZWNUeXBlIiwiQmxvY2tRdWVyeVN1YnNjcmlwdGlvbkNoYW5nZVR5cGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFNQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE2QkE7O0FBTUE7O0FBUUE7SUFDWUEsb0I7QUFLWjs7OztXQUxZQSxvQjtBQUFBQSxFQUFBQSxvQjtBQUFBQSxFQUFBQSxvQjtHQUFBQSxvQixvQ0FBQUEsb0I7O0FBY1o7Ozs7O0lBS1lDLDJCO0FBS1o7Ozs7Ozs7Ozs7O1dBTFlBLDJCO0FBQUFBLEVBQUFBLDJCO0FBQUFBLEVBQUFBLDJCO0dBQUFBLDJCLDJDQUFBQSwyQjs7QUErRFo7SUFDWUMsZ0M7QUFPWjs7OztXQVBZQSxnQztBQUFBQSxFQUFBQSxnQztBQUFBQSxFQUFBQSxnQztBQUFBQSxFQUFBQSxnQztBQUFBQSxFQUFBQSxnQztHQUFBQSxnQyxnREFBQUEsZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge09iamVjdE1hcH0gZnJvbSAnLi4vcHJpdmF0ZV91dGlscyc7XG5pbXBvcnQge1RhYmxlSWR9IGZyb20gJy4vdGFibGUnO1xuaW1wb3J0IHtWaWV3SWR9IGZyb20gJy4vdmlldyc7XG5pbXBvcnQge1JlY29yZElkfSBmcm9tICcuL3JlY29yZCc7XG5pbXBvcnQge0ZpZWxkSWR9IGZyb20gJy4vZmllbGQnO1xuXG4vKipcbiAqIFNwZWNpZmljYXRpb24gZm9yIGRhdGEgbmVlZGVkIGJ5IGJvdGggdGhlIEJsb2NrcyBTREsgYW5kIHRoZSBibG9ja3MgaWZyYW1lXG4gKiB0aGF0IHNwYW5zIGFjcm9zcyBhIGZldyByZXBvcyBhbmQgcnVuIGVudmlyb25tZW50czpcbiAqICstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLStcbiAqIHwgYWlydGFibGUuY29tICAgICAgIHwgYmxvY2tzIGlmcmFtZSAgICAgIHwgYmxvY2tzIHNkayAgICAgICAgIHxcbiAqICstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLStcbiAqIHwgcmVwbzogaHlwZXJiYXNlICAgIHwgcmVwbzogaHlwZXJiYXNlICAgIHwgcmVwbzogYmxvY2tzLXNkayAgIHxcbiAqIHwgcnVuOiBhaXJ0YWJsZS5jb20gIHwgcnVuOiBpZnJhbWUgICAgICAgIHwgcnVuOiBpZnJhbWUgICAgICAgIHxcbiAqICstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLStcbiAqXG4gKiBBIEJsb2NrUXVlcnlTcGVjIGhhcyBhIHJlcXVpcmVkIGBzb3VyY2VgIGFuZCBvbmUgb3IgbW9yZSBgc2VsZWN0aW9uYHMuXG4gKiBUaGUgYHNvdXJjZWAgaXMgYSB0b3AtbGV2ZWwgY29uY2VwdCB0aGF0IGRlZmluZXMgd2hlcmUgdGhlIGRhdGEgY29tZXNcbiAqIGZyb20sIHdoaWxlIHRoZSBgc2VsZWN0aW9uYHMgZGVmaW5lIGRlc2lyZWQgcHJvcGVydGllcyBmcm9tIHRoZSBkYXRhLlxuICogSW4gb3RoZXIgd29yZHMsIHRoaW5rIG9mIHRoZSBkYXRhIGFzIGEgdHJlZSwgdGhlIGBzb3VyY2VgIGRlZmluZXMgdGhlXG4gKiByb290LCBhbmQgdGhlIGBzZWxlY3Rpb25gcyBkZWZpbmUgdGhlIGJyYW5jaGVzIGFuZCBsZWF2ZXMuXG4gKlxuICogTm90ZSB0aGF0IGluc3RlYWQgb2YgYSBzdWItb2JqZWN0IGBzb3VyY2VgLCB3ZSB1c2UgYHNvdXJjZWAtcHJlZml4ZWRcbiAqIHByb3BlcnRpZXMgZm9yIHRoZSBzYW1lIGVmZmVjdC4gVGhpcyB3b3JrcyBhcm91bmQgYSBUeXBlU2NyaXB0IGxpbWl0YXRpb25cbiAqIG9mIG5vdCBiZWluZyBhYmxlIHRvIGRpc2NyaW1pbmF0ZSBiZXR3ZWVuIHRoZSB1bmlvbnMgZm9yIEJsb2NrUXVlcnlTcGVjLlxuICpcbiAqIFRoZSBzcGVjaWZpY2F0aW9uIHdpbGwgYmUgdXNlZCBmb3IgdHdvIHBhcnRzIG9mIHRoZSBkYXRhIGxpZmVjeWNsZTpcbiAqIDEuIEFuIGluaXRpYWwgcmVzcG9uc2UsIHZpYSBCbG9ja1F1ZXJ5U3BlY1Jlc3BvbnNlRm9yQWlydGFibGVJbnRlcmZhY2VcbiAqIDIuIFN1YnNlcXVlbnQgdXBkYXRlcyB0byBrZWVwIHRoZSBkYXRlIHVwZGF0ZWQsIHZpYSBCbG9ja1F1ZXJ5VXBkYXRlXG4gKlxuICogTk9URTogS2VlcCB0aGlzIGluIHN5bmMgd2l0aCB0aGUgaHlwZXJiYXNlIHJlcG8ncyBibG9ja19xdWVyeV9zcGVjLnRzeCBmaWxlIVxuICpcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IHR5cGUgQmxvY2tRdWVyeVNwZWMgPSBCbG9ja1RhYmxlUXVlcnlTcGVjIHwgQmxvY2tWaWV3UXVlcnlTcGVjO1xuLyoqIEBoaWRkZW4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmxvY2tUYWJsZVF1ZXJ5U3BlYyB7XG4gICAgc291cmNlVHlwZTogQmxvY2tRdWVyeVNvdXJjZVR5cGUuVEFCTEU7XG4gICAgc291cmNlVGFibGVJZDogVGFibGVJZDtcbiAgICByZWNvcmRTZWxlY3Rpb246IEJsb2NrUmVjb3JkU2VsZWN0aW9uU3BlYztcbn1cbi8qKiBAaGlkZGVuICovXG5leHBvcnQgaW50ZXJmYWNlIEJsb2NrVmlld1F1ZXJ5U3BlYyB7XG4gICAgc291cmNlVHlwZTogQmxvY2tRdWVyeVNvdXJjZVR5cGUuVklFVztcbiAgICBzb3VyY2VUYWJsZUlkOiBUYWJsZUlkO1xuICAgIHNvdXJjZVZpZXdJZDogVmlld0lkO1xuICAgIHJlY29yZFNlbGVjdGlvbj86IEJsb2NrUmVjb3JkU2VsZWN0aW9uU3BlYztcbiAgICB2aWV3TWV0YWRhdGFTZWxlY3Rpb24/OiBCbG9ja1ZpZXdNZXRhZGF0YVNlbGVjdGlvblNwZWM7XG59XG4vKiogQGhpZGRlbiAqL1xuZXhwb3J0IGVudW0gQmxvY2tRdWVyeVNvdXJjZVR5cGUge1xuICAgIFRBQkxFID0gJ3RhYmxlJyxcbiAgICBWSUVXID0gJ3ZpZXcnLFxufVxuXG4vKiogQGhpZGRlbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCbG9ja1JlY29yZFNlbGVjdGlvblNwZWMge1xuICAgIHJlYWRvbmx5IGZpZWxkU2VsZWN0aW9uOiBCbG9ja0ZpZWxkU2VsZWN0aW9uU3BlYztcbiAgICAvKiogT3B0aW9uYWxseSBmaWx0ZXIgZG93biB0byBtb3JlIHNwZWNpZmljIHJlY29yZElkcyBmcm9tIHRoZSBzb3VyY2UgKi9cbiAgICByZWFkb25seSByZWNvcmRJZHM/OiBBcnJheTxSZWNvcmRJZD47XG4gICAgLy8gTk9URTogcGxlYXNlIGVuc3VyZSB0aGF0IGNhbm9uaWNhbF9ibG9ja19xdWVyeV9zcGVjJ3NcbiAgICAvLyBjYW5vbmljYWxpemVSZWNvcmRRdWVyeSBpcyB1cGRhdGVkIHdoZW4gbmV3IGZpZWxkcyBhcmUgYWRkZWQgaGVyZVxufVxuXG4vKipcbiAqIFRoZSBkaWZmZXJlbnQgd2F5cyBmaWVsZHMgY2FuIGJlIHF1ZXJpZWRcbiAqXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCBlbnVtIEJsb2NrRmllbGRTZWxlY3Rpb25TcGVjVHlwZSB7XG4gICAgU1BFQ0lGSUVEX0ZJRUxEUyA9ICdzcGVjaWZpZWRGaWVsZHMnLFxuICAgIEFMTF9GSUVMRFNfRlJPTV9UQUJMRSA9ICdhbGxGaWVsZHNGcm9tVGFibGUnLFxufVxuXG4vKipcbiAqIEFsbG93cyBxdWVyeWluZyBmb3IgYWxsIGZpZWxkcywgb3IgYSBzcGVjaWZpZWQgc2V0IG9mIGZpZWxkcy4gSW4gdGhlIGxhdHRlclxuICogY2FzZSwgd2UgYWxzbyBhbGxvdyBzcGVjaWZ5aW5nIHByb3BlcnRpZXMgb2YgYSByZWNvcmQgbGlrZSBjb21tZW50Q291bnQgYW5kXG4gKiByZWNvcmRDcmVhdGVkVGltZSB0aGF0IGRvbid0IGhhdmUgZmllbGRJZHMgKEFMTF9GSUVMRFMgaW1wbGllcyBpbmNsdWRpbmcgYWxsXG4gKiBvZiB0aGVzZSBwcm9wZXJ0aWVzKS5cbiAqXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCB0eXBlIEJsb2NrRmllbGRTZWxlY3Rpb25TcGVjID1cbiAgICB8IHtcbiAgICAgICAgICByZWFkb25seSB0eXBlOiBCbG9ja0ZpZWxkU2VsZWN0aW9uU3BlY1R5cGUuU1BFQ0lGSUVEX0ZJRUxEUztcbiAgICAgICAgICByZWFkb25seSBmaWVsZElkczogQXJyYXk8RmllbGRJZD47XG4gICAgICAgICAgLy8gU2VjdGlvbiBmb3IgZmllbGRzIG5vdCBpZGVudGlmaWVkIGJ5IGZpZWxkSWRzLlxuICAgICAgICAgIHJlYWRvbmx5IHNob3VsZEluY2x1ZGVDb21tZW50Q291bnQ/OiBib29sZWFuO1xuICAgICAgICAgIHJlYWRvbmx5IHNob3VsZEluY2x1ZGVSZWNvcmRDcmVhdGVkVGltZT86IGJvb2xlYW47XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgICAgcmVhZG9ubHkgdHlwZTogQmxvY2tGaWVsZFNlbGVjdGlvblNwZWNUeXBlLkFMTF9GSUVMRFNfRlJPTV9UQUJMRTtcbiAgICAgIH07XG5cbi8qKiBAaGlkZGVuICovXG5leHBvcnQgaW50ZXJmYWNlIEJsb2NrVmlld01ldGFkYXRhU2VsZWN0aW9uU3BlYyB7XG4gICAgLy8gVW5kZWZpbmVkIG1lYW5zIGRlZmF1bHQgZmFsc2UsIHdoaWNoIGlzIGltcG9ydGFudCB3aGVuIGFkZGluZyBuZXcgb3B0c1xuICAgIC8vIGJ1dCBvbGQgU0RLcyBkb24ndCBwcm92aWRlIHRoZW0uXG4gICAgLy8gVGhlc2UgYXJlIGV4dHJlbWVseSBncmFudWxhciwgYnV0IHRoZSBzZXJ2ZXIgY2FuIGFsd2F5cyBzZW5kIG1vcmUgZGF0YVxuICAgIC8vIHRoYW4gc3RyaWN0bHkgc3Vic2NyaWJlZCB0by5cbiAgICByZWFkb25seSBzaG91bGRJbmNsdWRlVmlzaWJsZVJlY29yZElkcz86IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgc2hvdWxkSW5jbHVkZUZpZWxkT3JkZXI/OiBib29sZWFuO1xuICAgIHJlYWRvbmx5IHNob3VsZEluY2x1ZGVHcm91cHM/OiBib29sZWFuO1xuICAgIHJlYWRvbmx5IHNob3VsZEluY2x1ZGVHcm91cGluZ0xldmVscz86IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgc2hvdWxkSW5jbHVkZUNvbG9yc0ZvclJlY29yZElkPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXNwb25zZSByZWNpZXZlZCBmcm9tIGFuIGV4ZWN1dGVkIHF1ZXJ5LlxuICpcbiAqIEBoaWRkZW5cbiAqL1xuZXhwb3J0IHR5cGUgUXVlcnlTcGVjc1Jlc3BvbnNlID1cbiAgICB8IHtcbiAgICAgICAgICByZWFkb25seSBzdWNjZXNzOiB0cnVlO1xuICAgICAgICAgIHJlYWRvbmx5IGJsb2NrUXVlcnlJZDogQmxvY2tRdWVyeUlkO1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICAgIHJlYWRvbmx5IHN1Y2Nlc3M6IGZhbHNlO1xuICAgICAgfTtcblxuLyoqXG4gKiBBbiBpZCByZXR1cm5lZCBmcm9tIGFpcnRhYmxlIGZvciBhbiBhY3RpdmUgYW5kIGV4ZWN1dGluZyBxdWVyeS4gSWYgdHdvIHF1ZXJpZXMgc2VudFxuICogdG8gYWlydGFibGUgcmV0dXJuIHRoZSBzYW1lIHF1ZXJ5SWQgdGhpcyBtZWFucyB0aGUgcXVlcmllcyBhcmUgc2VtYW50aWNhbGx5IHRoZSBzYW1lLlxuICogSXQgaXMgaG93ZXZlciBwb3NzaWJsZSBmb3IgdHdvIGNhbm9uaWNhbGx5IGlkZW50aWNhbCBxdWVyaWVzIHRvIGJlIHRyYWNrZWQgdmlhIHR3b1xuICogc2VwYXJhdGUgYmxvY2tRdWVyeUlkcyAoaW4gdGhlIGNhc2UgcmVhbHRpbWUgc3Vic2NyaXB0aW9ucyBhcmUgbWFkZSB3aXRoIGRpZmZlcmVudFxuICogY2FsbGJhY2tzKS5cbiAqXG4gKiBAaGlkZGVuXG4gKi9cbmV4cG9ydCB0eXBlIEJsb2NrUXVlcnlJZCA9IHN0cmluZztcblxuLyoqIEBoaWRkZW4gKi9cbmV4cG9ydCBlbnVtIEJsb2NrUXVlcnlTdWJzY3JpcHRpb25DaGFuZ2VUeXBlIHtcbiAgICBBRERFRF9SRUNPUkRfSURTID0gJ2FkZGVkUmVjb3JkSWRzJyxcbiAgICBSRU1PVkVEX1JFQ09SRF9JRFMgPSAncmVtb3ZlZFJlY29yZElkcycsXG4gICAgTU9ESUZJRURfQ0VMTF9WQUxVRVNfRk9SX1RBQkxFID0gJ21vZGlmaWVkQ2VsbFZhbHVlc0ZvclRhYmxlJyxcbiAgICBDSEFOR0VEX0NPTE9SU19CWV9SRUNPUkRfSURfRk9SX1ZJRVcgPSAnY2hhbmdlZENvbG9yc0J5UmVjb3JkSWRGb3JWaWV3Jyxcbn1cblxuLyoqIEBoaWRkZW4gKi9cbmV4cG9ydCB0eXBlIEJsb2NrUXVlcnlTdWJzY3JpcHRpb25DaGFuZ2UgPVxuICAgIHwge1xuICAgICAgICAgIC8vIFRoaXMgcmVwcmVzZW50cyByZW1vdmVkIG9yIGFkZGVkIHJlY29yZHMgX2luIHRoZSBzY29wZSBvZiB0aGUgcXVlcnlfXG4gICAgICAgICAgLy8gU28gZm9yIGEgdmlldyBmaWx0ZXJlZCBxdWVyeSwgYSBSRU1PVkVEX1JFQ09SRF9JRFMgbWVhbnMgdGhlIHJlY29yZFxuICAgICAgICAgIC8vIGV4aXRlZCB0aGUgdmlldywgb3Igd2FzIGZpbHRlcmVkIG91dC5cbiAgICAgICAgICB0eXBlOlxuICAgICAgICAgICAgICB8IEJsb2NrUXVlcnlTdWJzY3JpcHRpb25DaGFuZ2VUeXBlLkFEREVEX1JFQ09SRF9JRFNcbiAgICAgICAgICAgICAgfCBCbG9ja1F1ZXJ5U3Vic2NyaXB0aW9uQ2hhbmdlVHlwZS5SRU1PVkVEX1JFQ09SRF9JRFM7XG4gICAgICAgICAgdGFibGVJZDogVGFibGVJZDtcbiAgICAgICAgICByZWNvcmRJZHM6IEFycmF5PFJlY29yZElkPjtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgICAvLyBUaGlzIGp1c3QgdHJhY2tzIHdoaWNoIGZpZWxkcyBjaGFuZ2VkIGZvciB3aGljaCByZWNvcmRzIC0gcmVhZGluZyB0aGUgdmFsdWVcbiAgICAgICAgICAvLyBpcyByZXF1aXJlZCB0byBkZXRlcm1pbmUgd2hhdCB0aGUgbmV3IHZhbHVlIGlzIChwb3RlbnRpYWxseSBpbmNsdWRpbmcgXCJkZWxldGVkXCIpXG4gICAgICAgICAgdHlwZTogQmxvY2tRdWVyeVN1YnNjcmlwdGlvbkNoYW5nZVR5cGUuTU9ESUZJRURfQ0VMTF9WQUxVRVNfRk9SX1RBQkxFO1xuICAgICAgICAgIHRhYmxlSWQ6IFRhYmxlSWQ7XG4gICAgICAgICAgZmllbGRJZHNCeVJlY29yZElkOiBPYmplY3RNYXA8UmVjb3JkSWQsIEFycmF5PEZpZWxkSWQ+PjtcbiAgICAgICAgICBmaWVsZElkczogQXJyYXk8RmllbGRJZD47XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgICAgdHlwZTogQmxvY2tRdWVyeVN1YnNjcmlwdGlvbkNoYW5nZVR5cGUuQ0hBTkdFRF9DT0xPUlNfQllfUkVDT1JEX0lEX0ZPUl9WSUVXO1xuICAgICAgICAgIHRhYmxlSWQ6IFRhYmxlSWQ7XG4gICAgICAgICAgdmlld0lkOiBWaWV3SWQ7XG4gICAgICAgICAgcmVjb3JkSWRzOiBBcnJheTxSZWNvcmRJZD47XG4gICAgICB9O1xuXG4vKiogQGhpZGRlbiAqL1xuZXhwb3J0IHR5cGUgQmxvY2tRdWVyeVN1YnNjcmlwdGlvbk9uQ2hhbmdlQ2FsbGJhY2sgPSAoXG4gICAgY2hhbmdlczogQXJyYXk8QmxvY2tRdWVyeVN1YnNjcmlwdGlvbkNoYW5nZT4sXG4pID0+IHZvaWQ7XG4iXX0=
@@ -1 +1,2 @@
1
- "use strict";
1
+ "use strict";
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
@@ -1 +1,2 @@
1
- "use strict";
1
+ "use strict";
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=