@rocketshow/designer 1.40.0 → 1.44.0

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 (191) hide show
  1. package/fesm2022/rocketshow-designer.mjs +1389 -1148
  2. package/fesm2022/rocketshow-designer.mjs.map +1 -1
  3. package/index.d.ts +1676 -5
  4. package/package.json +2 -4
  5. package/rocketshow-designer-1.44.0.tgz +0 -0
  6. package/esm2022/lib/array-sort-pipe.mjs +0 -30
  7. package/esm2022/lib/designer.component.mjs +0 -672
  8. package/esm2022/lib/designer.module.mjs +0 -186
  9. package/esm2022/lib/designer.service.mjs +0 -14
  10. package/esm2022/lib/dropzone/dropzone.component.mjs +0 -93
  11. package/esm2022/lib/effect/effect-curve/effect-curve.component.mjs +0 -577
  12. package/esm2022/lib/effect/effect-pan-tilt/effect-pan-tilt.component.mjs +0 -36
  13. package/esm2022/lib/effect/effect.component.mjs +0 -174
  14. package/esm2022/lib/error-dialog/error-dialog.component.mjs +0 -75
  15. package/esm2022/lib/fixture/fixture-capability/fixture-capability-channel/fixture-capability-channel.component.mjs +0 -370
  16. package/esm2022/lib/fixture/fixture-capability/fixture-capability-color/fixture-capability-color.component.mjs +0 -147
  17. package/esm2022/lib/fixture/fixture-capability/fixture-capability-color-wheel/fixture-capability-color-wheel.component.mjs +0 -213
  18. package/esm2022/lib/fixture/fixture-capability/fixture-capability-dimmer/fixture-capability-dimmer.component.mjs +0 -78
  19. package/esm2022/lib/fixture/fixture-capability/fixture-capability-pan-tilt/fixture-capability-pan-tilt.component.mjs +0 -119
  20. package/esm2022/lib/fixture/fixture-capability/fixture-capability.component.mjs +0 -191
  21. package/esm2022/lib/fixture/fixture-channel/fixture-channel.component.mjs +0 -162
  22. package/esm2022/lib/fixture/fixture-settings/fixture-settings-position/fixture-settings-position.component.mjs +0 -365
  23. package/esm2022/lib/fixture/fixture-settings/fixture-settings-stage/fixture-settings-stage.component.mjs +0 -151
  24. package/esm2022/lib/fixture/fixture-settings/fixture-settings.component.mjs +0 -46
  25. package/esm2022/lib/fixture/fixture.component.mjs +0 -148
  26. package/esm2022/lib/fixture-pool/fixture-pool-create-from-file/fixture-pool-create-from-file.component.mjs +0 -145
  27. package/esm2022/lib/fixture-pool/fixture-pool.component.mjs +0 -641
  28. package/esm2022/lib/intro/intro.component.mjs +0 -95
  29. package/esm2022/lib/master-dimmer/master-dimmer.component.mjs +0 -66
  30. package/esm2022/lib/models/cached-fixture-capability.mjs +0 -9
  31. package/esm2022/lib/models/cached-fixture-channel.mjs +0 -7
  32. package/esm2022/lib/models/cached-fixture.mjs +0 -6
  33. package/esm2022/lib/models/color.mjs +0 -8
  34. package/esm2022/lib/models/composition.mjs +0 -46
  35. package/esm2022/lib/models/effect-curve-profile-channel.mjs +0 -15
  36. package/esm2022/lib/models/effect-curve.mjs +0 -69
  37. package/esm2022/lib/models/effect-pan-tilt.mjs +0 -19
  38. package/esm2022/lib/models/effect.mjs +0 -12
  39. package/esm2022/lib/models/fixture-capability-value.mjs +0 -15
  40. package/esm2022/lib/models/fixture-capability.mjs +0 -127
  41. package/esm2022/lib/models/fixture-channel-value.mjs +0 -11
  42. package/esm2022/lib/models/fixture-channel.mjs +0 -24
  43. package/esm2022/lib/models/fixture-matrix-pixel-group-constraints.mjs +0 -27
  44. package/esm2022/lib/models/fixture-matrix-pixel-group.mjs +0 -12
  45. package/esm2022/lib/models/fixture-matrix.mjs +0 -25
  46. package/esm2022/lib/models/fixture-mode-channel.mjs +0 -26
  47. package/esm2022/lib/models/fixture-mode.mjs +0 -17
  48. package/esm2022/lib/models/fixture-physical.mjs +0 -14
  49. package/esm2022/lib/models/fixture-profile.mjs +0 -85
  50. package/esm2022/lib/models/fixture-wheel-slot.mjs +0 -26
  51. package/esm2022/lib/models/fixture-wheel.mjs +0 -15
  52. package/esm2022/lib/models/fixture.mjs +0 -40
  53. package/esm2022/lib/models/preset-fixture.mjs +0 -10
  54. package/esm2022/lib/models/preset-region-scene.mjs +0 -8
  55. package/esm2022/lib/models/preset.mjs +0 -65
  56. package/esm2022/lib/models/project.mjs +0 -78
  57. package/esm2022/lib/models/scene-playback-region.mjs +0 -11
  58. package/esm2022/lib/models/scene.mjs +0 -27
  59. package/esm2022/lib/preset/preset-settings/preset-settings.component.mjs +0 -194
  60. package/esm2022/lib/preset/preset.component.mjs +0 -131
  61. package/esm2022/lib/preview/models/color-changer-3d.mjs +0 -52
  62. package/esm2022/lib/preview/models/fixture-3d.mjs +0 -260
  63. package/esm2022/lib/preview/models/moving-head-3d.mjs +0 -115
  64. package/esm2022/lib/preview/preview.component.mjs +0 -216
  65. package/esm2022/lib/project/project-browser/project-browser.component.mjs +0 -143
  66. package/esm2022/lib/project/project-import/project-import.component.mjs +0 -107
  67. package/esm2022/lib/project/project-save/project-save.component.mjs +0 -178
  68. package/esm2022/lib/project/project-share/project-share.component.mjs +0 -71
  69. package/esm2022/lib/scene/scene-settings/scene-settings.component.mjs +0 -146
  70. package/esm2022/lib/scene/scene.component.mjs +0 -110
  71. package/esm2022/lib/services/animation.service.mjs +0 -16
  72. package/esm2022/lib/services/config.service.mjs +0 -28
  73. package/esm2022/lib/services/effect.service.mjs +0 -14
  74. package/esm2022/lib/services/error-dialog.service.mjs +0 -39
  75. package/esm2022/lib/services/fixture-pool.service.mjs +0 -30
  76. package/esm2022/lib/services/fixture.service.mjs +0 -699
  77. package/esm2022/lib/services/hotkey-target-exclude.service.mjs +0 -24
  78. package/esm2022/lib/services/intro.service.mjs +0 -140
  79. package/esm2022/lib/services/preset.service.mjs +0 -450
  80. package/esm2022/lib/services/preview-mesh.service.mjs +0 -57
  81. package/esm2022/lib/services/preview.service.mjs +0 -481
  82. package/esm2022/lib/services/project-load.service.mjs +0 -206
  83. package/esm2022/lib/services/project.service.mjs +0 -93
  84. package/esm2022/lib/services/scene.service.mjs +0 -164
  85. package/esm2022/lib/services/timeline.service.mjs +0 -726
  86. package/esm2022/lib/services/user-ensure-login.service.mjs +0 -38
  87. package/esm2022/lib/services/user.service.mjs +0 -89
  88. package/esm2022/lib/services/uuid.service.mjs +0 -23
  89. package/esm2022/lib/services/warning-dialog.service.mjs +0 -38
  90. package/esm2022/lib/timeline/composition-settings/composition-settings.component.mjs +0 -304
  91. package/esm2022/lib/timeline/timeline-grid/timeline-grid.component.mjs +0 -216
  92. package/esm2022/lib/timeline/timeline.component.mjs +0 -418
  93. package/esm2022/lib/user/user-login/user-login.component.mjs +0 -144
  94. package/esm2022/lib/user/user-register/user-register.component.mjs +0 -220
  95. package/esm2022/lib/wait-dialog/wait-dialog.component.mjs +0 -26
  96. package/esm2022/lib/warning-dialog/warning-dialog.component.mjs +0 -68
  97. package/esm2022/public_api.mjs +0 -7
  98. package/esm2022/rocketshow-designer.mjs +0 -5
  99. package/lib/array-sort-pipe.d.ts +0 -7
  100. package/lib/designer.component.d.ts +0 -73
  101. package/lib/designer.module.d.ts +0 -57
  102. package/lib/designer.service.d.ts +0 -6
  103. package/lib/dropzone/dropzone.component.d.ts +0 -24
  104. package/lib/effect/effect-curve/effect-curve.component.d.ts +0 -59
  105. package/lib/effect/effect-pan-tilt/effect-pan-tilt.component.d.ts +0 -15
  106. package/lib/effect/effect.component.d.ts +0 -22
  107. package/lib/error-dialog/error-dialog.component.d.ts +0 -17
  108. package/lib/fixture/fixture-capability/fixture-capability-channel/fixture-capability-channel.component.d.ts +0 -41
  109. package/lib/fixture/fixture-capability/fixture-capability-color/fixture-capability-color.component.d.ts +0 -26
  110. package/lib/fixture/fixture-capability/fixture-capability-color-wheel/fixture-capability-color-wheel.component.d.ts +0 -34
  111. package/lib/fixture/fixture-capability/fixture-capability-dimmer/fixture-capability-dimmer.component.d.ts +0 -15
  112. package/lib/fixture/fixture-capability/fixture-capability-pan-tilt/fixture-capability-pan-tilt.component.d.ts +0 -18
  113. package/lib/fixture/fixture-capability/fixture-capability.component.d.ts +0 -31
  114. package/lib/fixture/fixture-channel/fixture-channel.component.d.ts +0 -25
  115. package/lib/fixture/fixture-settings/fixture-settings-position/fixture-settings-position.component.d.ts +0 -32
  116. package/lib/fixture/fixture-settings/fixture-settings-stage/fixture-settings-stage.component.d.ts +0 -14
  117. package/lib/fixture/fixture-settings/fixture-settings.component.d.ts +0 -14
  118. package/lib/fixture/fixture.component.d.ts +0 -25
  119. package/lib/fixture-pool/fixture-pool-create-from-file/fixture-pool-create-from-file.component.d.ts +0 -28
  120. package/lib/fixture-pool/fixture-pool.component.d.ts +0 -62
  121. package/lib/intro/intro.component.d.ts +0 -11
  122. package/lib/master-dimmer/master-dimmer.component.d.ts +0 -15
  123. package/lib/models/cached-fixture-capability.d.ts +0 -11
  124. package/lib/models/cached-fixture-channel.d.ts +0 -11
  125. package/lib/models/cached-fixture.d.ts +0 -11
  126. package/lib/models/color.d.ts +0 -6
  127. package/lib/models/composition.d.ts +0 -19
  128. package/lib/models/effect-curve-profile-channel.d.ts +0 -5
  129. package/lib/models/effect-curve.d.ts +0 -15
  130. package/lib/models/effect-pan-tilt.d.ts +0 -6
  131. package/lib/models/effect.d.ts +0 -6
  132. package/lib/models/fixture-capability-value.d.ts +0 -10
  133. package/lib/models/fixture-capability.d.ts +0 -117
  134. package/lib/models/fixture-channel-value.d.ts +0 -6
  135. package/lib/models/fixture-channel.d.ts +0 -9
  136. package/lib/models/fixture-matrix-pixel-group-constraints.d.ts +0 -8
  137. package/lib/models/fixture-matrix-pixel-group.d.ts +0 -6
  138. package/lib/models/fixture-matrix.d.ts +0 -6
  139. package/lib/models/fixture-mode-channel.d.ts +0 -8
  140. package/lib/models/fixture-mode.d.ts +0 -8
  141. package/lib/models/fixture-physical.d.ts +0 -4
  142. package/lib/models/fixture-profile.d.ts +0 -39
  143. package/lib/models/fixture-wheel-slot.d.ts +0 -17
  144. package/lib/models/fixture-wheel.d.ts +0 -5
  145. package/lib/models/fixture.d.ts +0 -23
  146. package/lib/models/preset-fixture.d.ts +0 -5
  147. package/lib/models/preset-region-scene.d.ts +0 -9
  148. package/lib/models/preset.d.ts +0 -20
  149. package/lib/models/project.d.ts +0 -31
  150. package/lib/models/scene-playback-region.d.ts +0 -6
  151. package/lib/models/scene.d.ts +0 -11
  152. package/lib/preset/preset-settings/preset-settings.component.d.ts +0 -22
  153. package/lib/preset/preset.component.d.ts +0 -25
  154. package/lib/preview/models/color-changer-3d.d.ts +0 -16
  155. package/lib/preview/models/fixture-3d.d.ts +0 -38
  156. package/lib/preview/models/moving-head-3d.d.ts +0 -23
  157. package/lib/preview/preview.component.d.ts +0 -38
  158. package/lib/project/project-browser/project-browser.component.d.ts +0 -27
  159. package/lib/project/project-import/project-import.component.d.ts +0 -23
  160. package/lib/project/project-save/project-save.component.d.ts +0 -28
  161. package/lib/project/project-share/project-share.component.d.ts +0 -16
  162. package/lib/scene/scene-settings/scene-settings.component.d.ts +0 -20
  163. package/lib/scene/scene.component.d.ts +0 -22
  164. package/lib/services/animation.service.d.ts +0 -7
  165. package/lib/services/config.service.d.ts +0 -20
  166. package/lib/services/effect.service.d.ts +0 -8
  167. package/lib/services/error-dialog.service.d.ts +0 -12
  168. package/lib/services/fixture-pool.service.d.ts +0 -10
  169. package/lib/services/fixture.service.d.ts +0 -70
  170. package/lib/services/hotkey-target-exclude.service.d.ts +0 -7
  171. package/lib/services/intro.service.d.ts +0 -21
  172. package/lib/services/preset.service.d.ts +0 -64
  173. package/lib/services/preview-mesh.service.d.ts +0 -14
  174. package/lib/services/preview.service.d.ts +0 -42
  175. package/lib/services/project-load.service.d.ts +0 -36
  176. package/lib/services/project.service.d.ts +0 -26
  177. package/lib/services/scene.service.d.ts +0 -30
  178. package/lib/services/timeline.service.d.ts +0 -70
  179. package/lib/services/user-ensure-login.service.d.ts +0 -14
  180. package/lib/services/user.service.d.ts +0 -22
  181. package/lib/services/uuid.service.d.ts +0 -7
  182. package/lib/services/warning-dialog.service.d.ts +0 -12
  183. package/lib/timeline/composition-settings/composition-settings.component.d.ts +0 -48
  184. package/lib/timeline/timeline-grid/timeline-grid.component.d.ts +0 -22
  185. package/lib/timeline/timeline.component.d.ts +0 -50
  186. package/lib/user/user-login/user-login.component.d.ts +0 -21
  187. package/lib/user/user-register/user-register.component.d.ts +0 -26
  188. package/lib/wait-dialog/wait-dialog.component.d.ts +0 -8
  189. package/lib/warning-dialog/warning-dialog.component.d.ts +0 -16
  190. package/public_api.d.ts +0 -3
  191. package/rocketshow-designer-1.40.0.tgz +0 -0
@@ -1,216 +0,0 @@
1
- import { Component, HostListener } from '@angular/core';
2
- import { BsModalRef } from 'ngx-bootstrap/modal';
3
- import { TimelineService } from '../../services/timeline.service';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "ngx-bootstrap/modal";
6
- import * as i2 from "../../services/timeline.service";
7
- import * as i3 from "@angular/common";
8
- import * as i4 from "@angular/forms";
9
- import * as i5 from "@ngx-translate/core";
10
- function TimelineGridComponent_div_20_Template(rf, ctx) { if (rf & 1) {
11
- const _r1 = i0.ɵɵgetCurrentView();
12
- i0.ɵɵelementStart(0, "div", 5)(1, "label", 6);
13
- i0.ɵɵtext(2);
14
- i0.ɵɵpipe(3, "translate");
15
- i0.ɵɵelementEnd();
16
- i0.ɵɵelementStart(4, "div", 7)(5, "input", 18);
17
- i0.ɵɵlistener("ngModelChange", function TimelineGridComponent_div_20_Template_input_ngModelChange_5_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.beatsPerMinute = $event); });
18
- i0.ɵɵelementEnd()()();
19
- } if (rf & 2) {
20
- const ctx_r1 = i0.ɵɵnextContext();
21
- i0.ɵɵadvance(2);
22
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "designer.timeline.beats-per-minute"));
23
- i0.ɵɵadvance(3);
24
- i0.ɵɵproperty("ngModel", ctx_r1.beatsPerMinute);
25
- } }
26
- function TimelineGridComponent_div_21_Template(rf, ctx) { if (rf & 1) {
27
- const _r3 = i0.ɵɵgetCurrentView();
28
- i0.ɵɵelementStart(0, "div", 5)(1, "label", 6);
29
- i0.ɵɵtext(2);
30
- i0.ɵɵpipe(3, "translate");
31
- i0.ɵɵelementEnd();
32
- i0.ɵɵelementStart(4, "div", 7)(5, "input", 19);
33
- i0.ɵɵlistener("ngModelChange", function TimelineGridComponent_div_21_Template_input_ngModelChange_5_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.timeSignatureUpper = $event); });
34
- i0.ɵɵelementEnd();
35
- i0.ɵɵelementStart(6, "div", 20)(7, "div", 21);
36
- i0.ɵɵtext(8, "/");
37
- i0.ɵɵelementEnd()();
38
- i0.ɵɵelementStart(9, "input", 22);
39
- i0.ɵɵlistener("ngModelChange", function TimelineGridComponent_div_21_Template_input_ngModelChange_9_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.timeSignatureLower = $event); });
40
- i0.ɵɵelementEnd()()();
41
- } if (rf & 2) {
42
- const ctx_r1 = i0.ɵɵnextContext();
43
- i0.ɵɵadvance(2);
44
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 3, "designer.timeline.time-signature"));
45
- i0.ɵɵadvance(3);
46
- i0.ɵɵproperty("ngModel", ctx_r1.timeSignatureUpper);
47
- i0.ɵɵadvance(4);
48
- i0.ɵɵproperty("ngModel", ctx_r1.timeSignatureLower);
49
- } }
50
- function TimelineGridComponent_div_22_Template(rf, ctx) { if (rf & 1) {
51
- const _r4 = i0.ɵɵgetCurrentView();
52
- i0.ɵɵelementStart(0, "div", 5)(1, "label", 6);
53
- i0.ɵɵtext(2);
54
- i0.ɵɵpipe(3, "translate");
55
- i0.ɵɵelementEnd();
56
- i0.ɵɵelementStart(4, "div", 7)(5, "select", 8);
57
- i0.ɵɵlistener("ngModelChange", function TimelineGridComponent_div_22_Template_select_ngModelChange_5_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.gridResolution = $event); });
58
- i0.ɵɵelementStart(6, "option", 23);
59
- i0.ɵɵtext(7, "1/1");
60
- i0.ɵɵelementEnd();
61
- i0.ɵɵelementStart(8, "option", 24);
62
- i0.ɵɵtext(9, "1/2");
63
- i0.ɵɵelementEnd();
64
- i0.ɵɵelementStart(10, "option", 25);
65
- i0.ɵɵtext(11, "1/4");
66
- i0.ɵɵelementEnd();
67
- i0.ɵɵelementStart(12, "option", 26);
68
- i0.ɵɵtext(13, "1/8");
69
- i0.ɵɵelementEnd();
70
- i0.ɵɵelementStart(14, "option", 27);
71
- i0.ɵɵtext(15, "1/16");
72
- i0.ɵɵelementEnd();
73
- i0.ɵɵelementStart(16, "option", 28);
74
- i0.ɵɵtext(17, "1/32");
75
- i0.ɵɵelementEnd();
76
- i0.ɵɵelementStart(18, "option", 29);
77
- i0.ɵɵtext(19, "1/64");
78
- i0.ɵɵelementEnd()()()();
79
- } if (rf & 2) {
80
- const ctx_r1 = i0.ɵɵnextContext();
81
- i0.ɵɵadvance(2);
82
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "designer.timeline.grid-resolution"));
83
- i0.ɵɵadvance(3);
84
- i0.ɵɵproperty("ngModel", ctx_r1.gridResolution);
85
- } }
86
- function TimelineGridComponent_div_23_Template(rf, ctx) { if (rf & 1) {
87
- const _r5 = i0.ɵɵgetCurrentView();
88
- i0.ɵɵelementStart(0, "div", 5)(1, "label", 6);
89
- i0.ɵɵtext(2);
90
- i0.ɵɵpipe(3, "translate");
91
- i0.ɵɵelementEnd();
92
- i0.ɵɵelementStart(4, "div", 7)(5, "input", 18);
93
- i0.ɵɵlistener("ngModelChange", function TimelineGridComponent_div_23_Template_input_ngModelChange_5_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.gridOffsetMillis = $event); });
94
- i0.ɵɵelementEnd()()();
95
- } if (rf & 2) {
96
- const ctx_r1 = i0.ɵɵnextContext();
97
- i0.ɵɵadvance(2);
98
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "designer.timeline.grid-offset"));
99
- i0.ɵɵadvance(3);
100
- i0.ɵɵproperty("ngModel", ctx_r1.gridOffsetMillis);
101
- } }
102
- export class TimelineGridComponent {
103
- constructor(bsModalRef, timelineService) {
104
- this.bsModalRef = bsModalRef;
105
- this.timelineService = timelineService;
106
- this.gridType = timelineService.selectedComposition.gridType;
107
- this.beatsPerMinute = timelineService.selectedComposition.beatsPerMinute;
108
- this.timeSignatureUpper = timelineService.selectedComposition.timeSignatureUpper;
109
- this.timeSignatureLower = timelineService.selectedComposition.timeSignatureLower;
110
- this.snapToGrid = timelineService.selectedComposition.snapToGrid;
111
- this.gridOffsetMillis = timelineService.selectedComposition.gridOffsetMillis;
112
- this.gridResolution = timelineService.selectedComposition.gridResolution;
113
- }
114
- ngOnInit() { }
115
- ok() {
116
- this.timelineService.selectedComposition.gridType = this.gridType;
117
- this.timelineService.selectedComposition.beatsPerMinute = this.beatsPerMinute;
118
- this.timelineService.selectedComposition.timeSignatureUpper = this.timeSignatureUpper;
119
- this.timelineService.selectedComposition.timeSignatureLower = this.timeSignatureLower;
120
- this.timelineService.selectedComposition.snapToGrid = this.snapToGrid;
121
- this.timelineService.selectedComposition.gridOffsetMillis = this.gridOffsetMillis;
122
- this.timelineService.selectedComposition.gridResolution = this.gridResolution;
123
- this.timelineService.updateGrid();
124
- this.bsModalRef.hide();
125
- }
126
- cancel() {
127
- this.bsModalRef.hide();
128
- }
129
- handleKeyboardEvent(event) {
130
- this.ok();
131
- }
132
- static { this.ɵfac = function TimelineGridComponent_Factory(t) { return new (t || TimelineGridComponent)(i0.ɵɵdirectiveInject(i1.BsModalRef), i0.ɵɵdirectiveInject(i2.TimelineService)); }; }
133
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TimelineGridComponent, selectors: [["lib-app-timeline-grid"]], hostBindings: function TimelineGridComponent_HostBindings(rf, ctx) { if (rf & 1) {
134
- i0.ɵɵlistener("keydown.enter", function TimelineGridComponent_keydown_enter_HostBindingHandler($event) { return ctx.handleKeyboardEvent($event); }, false, i0.ɵɵresolveDocument);
135
- } }, decls: 39, vars: 27, consts: [[1, "modal-header"], [1, "modal-title", "pull-left"], ["type", "button", "aria-label", "Close", 1, "close", "pull-right", 3, "click"], ["aria-hidden", "true"], [1, "modal-body"], [1, "form-group", "row"], [1, "col-lg-4", "col-form-label"], [1, "col-lg-8"], [1, "custom-select", 3, "ngModelChange", "ngModel"], ["value", "time"], ["value", "musical"], ["class", "form-group row", 4, "ngIf"], [1, "form-check"], ["type", "checkbox", "id", "snapToGrid", 1, "form-check-input", 3, "ngModelChange", "ngModel"], ["for", "snapToGrid", 1, "form-check-label"], [1, "modal-footer"], ["href", "#", "role", "button", 1, "mr-3", "my-auto", 3, "click"], ["type", "button", 1, "btn", "btn-primary", 3, "click"], ["type", "text", 1, "form-control", 3, "ngModelChange", "ngModel"], ["type", "text", 1, "form-control", 2, "float", "left", "width", "40px", 3, "ngModelChange", "ngModel"], [1, "d-flex", "px-2", "h-100", 2, "float", "left"], [1, "m-auto"], ["type", "text", 1, "form-control", 2, "width", "40px", 3, "ngModelChange", "ngModel"], ["value", "1"], ["value", "2"], ["value", "4"], ["value", "8"], ["value", "16"], ["value", "32"], ["value", "64"]], template: function TimelineGridComponent_Template(rf, ctx) { if (rf & 1) {
136
- i0.ɵɵelementStart(0, "div", 0)(1, "h4", 1);
137
- i0.ɵɵtext(2);
138
- i0.ɵɵpipe(3, "translate");
139
- i0.ɵɵelementEnd();
140
- i0.ɵɵelementStart(4, "button", 2);
141
- i0.ɵɵlistener("click", function TimelineGridComponent_Template_button_click_4_listener() { return ctx.bsModalRef.hide(); });
142
- i0.ɵɵelementStart(5, "span", 3);
143
- i0.ɵɵtext(6, "\u00D7");
144
- i0.ɵɵelementEnd()()();
145
- i0.ɵɵelementStart(7, "div", 4)(8, "div", 5)(9, "label", 6);
146
- i0.ɵɵtext(10);
147
- i0.ɵɵpipe(11, "translate");
148
- i0.ɵɵelementEnd();
149
- i0.ɵɵelementStart(12, "div", 7)(13, "select", 8);
150
- i0.ɵɵlistener("ngModelChange", function TimelineGridComponent_Template_select_ngModelChange_13_listener($event) { return ctx.gridType = $event; });
151
- i0.ɵɵelementStart(14, "option", 9);
152
- i0.ɵɵtext(15);
153
- i0.ɵɵpipe(16, "translate");
154
- i0.ɵɵelementEnd();
155
- i0.ɵɵelementStart(17, "option", 10);
156
- i0.ɵɵtext(18);
157
- i0.ɵɵpipe(19, "translate");
158
- i0.ɵɵelementEnd()()()();
159
- i0.ɵɵtemplate(20, TimelineGridComponent_div_20_Template, 6, 4, "div", 11)(21, TimelineGridComponent_div_21_Template, 10, 5, "div", 11)(22, TimelineGridComponent_div_22_Template, 20, 4, "div", 11)(23, TimelineGridComponent_div_23_Template, 6, 4, "div", 11);
160
- i0.ɵɵelementStart(24, "div", 5);
161
- i0.ɵɵelement(25, "label", 6);
162
- i0.ɵɵelementStart(26, "div", 7)(27, "div", 12)(28, "input", 13);
163
- i0.ɵɵlistener("ngModelChange", function TimelineGridComponent_Template_input_ngModelChange_28_listener($event) { return ctx.snapToGrid = $event; });
164
- i0.ɵɵelementEnd();
165
- i0.ɵɵelementStart(29, "label", 14);
166
- i0.ɵɵtext(30);
167
- i0.ɵɵpipe(31, "translate");
168
- i0.ɵɵelementEnd()()()()();
169
- i0.ɵɵelementStart(32, "div", 15)(33, "a", 16);
170
- i0.ɵɵlistener("click", function TimelineGridComponent_Template_a_click_33_listener() { ctx.cancel(); return false; });
171
- i0.ɵɵtext(34);
172
- i0.ɵɵpipe(35, "translate");
173
- i0.ɵɵelementEnd();
174
- i0.ɵɵelementStart(36, "button", 17);
175
- i0.ɵɵlistener("click", function TimelineGridComponent_Template_button_click_36_listener() { return ctx.ok(); });
176
- i0.ɵɵtext(37);
177
- i0.ɵɵpipe(38, "translate");
178
- i0.ɵɵelementEnd()();
179
- } if (rf & 2) {
180
- i0.ɵɵadvance(2);
181
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 13, "designer.timeline.grid"));
182
- i0.ɵɵadvance(8);
183
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(11, 15, "designer.timeline.grid-type"));
184
- i0.ɵɵadvance(3);
185
- i0.ɵɵproperty("ngModel", ctx.gridType);
186
- i0.ɵɵadvance(2);
187
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(16, 17, "designer.timeline.grid-type-time-based"));
188
- i0.ɵɵadvance(3);
189
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(19, 19, "designer.timeline.grid-type-musical"));
190
- i0.ɵɵadvance(2);
191
- i0.ɵɵproperty("ngIf", ctx.gridType == "musical");
192
- i0.ɵɵadvance();
193
- i0.ɵɵproperty("ngIf", ctx.gridType == "musical");
194
- i0.ɵɵadvance();
195
- i0.ɵɵproperty("ngIf", ctx.gridType == "musical");
196
- i0.ɵɵadvance();
197
- i0.ɵɵproperty("ngIf", ctx.gridType == "musical");
198
- i0.ɵɵadvance(5);
199
- i0.ɵɵproperty("ngModel", ctx.snapToGrid);
200
- i0.ɵɵadvance(2);
201
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(31, 21, "designer.timeline.snap-to-grid"), " ");
202
- i0.ɵɵadvance(4);
203
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(35, 23, "designer.misc.cancel"), " ");
204
- i0.ɵɵadvance(3);
205
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(38, 25, "designer.misc.ok"));
206
- } }, dependencies: [i3.NgIf, i4.NgSelectOption, i4.ɵNgSelectMultipleOption, i4.DefaultValueAccessor, i4.CheckboxControlValueAccessor, i4.SelectControlValueAccessor, i4.NgControlStatus, i4.NgModel, i5.TranslatePipe] }); }
207
- }
208
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimelineGridComponent, [{
209
- type: Component,
210
- args: [{ selector: 'lib-app-timeline-grid', template: "<div class=\"modal-header\">\n <h4 class=\"modal-title pull-left\">{{ 'designer.timeline.grid' | translate }}</h4>\n <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"bsModalRef.hide()\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n</div>\n<div class=\"modal-body\">\n <div class=\"form-group row\">\n <label class=\"col-lg-4 col-form-label\">{{ 'designer.timeline.grid-type' | translate }}</label>\n <div class=\"col-lg-8\">\n <select class=\"custom-select\" [ngModel]=\"gridType\" (ngModelChange)=\"gridType = $event\">\n <option value=\"time\">{{ 'designer.timeline.grid-type-time-based' | translate }}</option>\n <option value=\"musical\">{{ 'designer.timeline.grid-type-musical' | translate }}</option>\n </select>\n </div>\n </div>\n\n <div *ngIf=\"gridType == 'musical'\" class=\"form-group row\">\n <label class=\"col-lg-4 col-form-label\">{{ 'designer.timeline.beats-per-minute' | translate }}</label>\n <div class=\"col-lg-8\">\n <input type=\"text\" class=\"form-control\" [ngModel]=\"beatsPerMinute\" (ngModelChange)=\"beatsPerMinute = $event\" />\n </div>\n </div>\n\n <div *ngIf=\"gridType == 'musical'\" class=\"form-group row\">\n <label class=\"col-lg-4 col-form-label\">{{ 'designer.timeline.time-signature' | translate }}</label>\n <div class=\"col-lg-8\">\n <input\n type=\"text\"\n class=\"form-control\"\n [ngModel]=\"timeSignatureUpper\"\n (ngModelChange)=\"timeSignatureUpper = $event\"\n style=\"float: left; width: 40px\"\n />\n <div class=\"d-flex px-2 h-100\" style=\"float: left\">\n <div class=\"m-auto\">/</div>\n </div>\n <input\n type=\"text\"\n class=\"form-control\"\n [ngModel]=\"timeSignatureLower\"\n (ngModelChange)=\"timeSignatureLower = $event\"\n style=\"width: 40px\"\n />\n </div>\n </div>\n\n <div *ngIf=\"gridType == 'musical'\" class=\"form-group row\">\n <label class=\"col-lg-4 col-form-label\">{{ 'designer.timeline.grid-resolution' | translate }}</label>\n <div class=\"col-lg-8\">\n <select class=\"custom-select\" [ngModel]=\"gridResolution\" (ngModelChange)=\"gridResolution = $event\">\n <option value=\"1\">1/1</option>\n <option value=\"2\">1/2</option>\n <option value=\"4\">1/4</option>\n <option value=\"8\">1/8</option>\n <option value=\"16\">1/16</option>\n <option value=\"32\">1/32</option>\n <option value=\"64\">1/64</option>\n </select>\n </div>\n </div>\n\n <div *ngIf=\"gridType == 'musical'\" class=\"form-group row\">\n <label class=\"col-lg-4 col-form-label\">{{ 'designer.timeline.grid-offset' | translate }}</label>\n <div class=\"col-lg-8\">\n <input type=\"text\" class=\"form-control\" [ngModel]=\"gridOffsetMillis\" (ngModelChange)=\"gridOffsetMillis = $event\" />\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-lg-4 col-form-label\"></label>\n <div class=\"col-lg-8\">\n <div class=\"form-check\">\n <input type=\"checkbox\" [ngModel]=\"snapToGrid\" (ngModelChange)=\"snapToGrid = $event\" class=\"form-check-input\" id=\"snapToGrid\" />\n\n <label class=\"form-check-label\" for=\"snapToGrid\">\n {{ 'designer.timeline.snap-to-grid' | translate }}\n </label>\n </div>\n </div>\n </div>\n</div>\n<div class=\"modal-footer\">\n <a class=\"mr-3 my-auto\" href=\"#\" role=\"button\" (click)=\"cancel(); (false)\">\n {{ 'designer.misc.cancel' | translate }}\n </a>\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"ok()\">{{ 'designer.misc.ok' | translate }}</button>\n</div>\n" }]
211
- }], () => [{ type: i1.BsModalRef }, { type: i2.TimelineService }], { handleKeyboardEvent: [{
212
- type: HostListener,
213
- args: ['document:keydown.enter', ['$event']]
214
- }] }); })();
215
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TimelineGridComponent, { className: "TimelineGridComponent" }); })();
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUtZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ25lci9zcmMvbGliL3RpbWVsaW5lL3RpbWVsaW5lLWdyaWQvdGltZWxpbmUtZ3JpZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ25lci9zcmMvbGliL3RpbWVsaW5lL3RpbWVsaW5lLWdyaWQvdGltZWxpbmUtZ3JpZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7SUNnQjlELEFBREYsOEJBQTBELGVBQ2pCO0lBQUEsWUFBc0Q7O0lBQUEsaUJBQVE7SUFFbkcsQUFERiw4QkFBc0IsZ0JBQzJGO0lBQTVDLDBPQUF5QztJQUVoSCxBQURFLEFBREUsaUJBQStHLEVBQzNHLEVBQ0Y7OztJQUptQyxlQUFzRDtJQUF0RCxnRkFBc0Q7SUFFbkQsZUFBMEI7SUFBMUIsK0NBQTBCOzs7O0lBS3BFLEFBREYsOEJBQTBELGVBQ2pCO0lBQUEsWUFBb0Q7O0lBQUEsaUJBQVE7SUFFakcsQUFERiw4QkFBc0IsZ0JBT2xCO0lBRkEsOE9BQTZDO0lBSi9DLGlCQU1FO0lBRUEsQUFERiwrQkFBbUQsY0FDN0I7SUFBQSxpQkFBQztJQUN2QixBQUR1QixpQkFBTSxFQUN2QjtJQUNOLGlDQU1FO0lBRkEsOE9BQTZDO0lBSW5ELEFBREUsQUFQRSxpQkFNRSxFQUNFLEVBQ0Y7OztJQXBCbUMsZUFBb0Q7SUFBcEQsOEVBQW9EO0lBS3ZGLGVBQThCO0lBQTlCLG1EQUE4QjtJQVU5QixlQUE4QjtJQUE5QixtREFBOEI7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RDtZQUExRCxzRkFBMEQ7WUFDdkQsZUFBdUQ7WUFBdkQsbUZBQXVEO1lBSy9FLGVBQTJCO1lBQTNCLGdEQUEyQjtZQU8zQixjQUEyQjtZQUEzQixnREFBMkI7WUF1QjNCLGNBQTJCO1lBQTNCLGdEQUEyQjtZQWUzQixjQUEyQjtZQUEzQixnREFBMkI7WUFXSixlQUFzQjtZQUF0Qix3Q0FBc0I7WUFHM0MsZUFDRjtZQURFLHlGQUNGO1lBT0osZUFDRjtZQURFLCtFQUNGO1lBQzZELGVBQW9DO1lBQXBDLGdFQUFvQzs7O2lGRDdFdEYscUJBQXFCO2NBTGpDLFNBQVM7MkJBQ0UsdUJBQXVCO3lFQTJDakMsbUJBQW1CO2tCQURsQixZQUFZO21CQUFDLHdCQUF3QixFQUFFLENBQUMsUUFBUSxDQUFDOztrRkF0Q3ZDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJzTW9kYWxSZWYgfSBmcm9tICduZ3gtYm9vdHN0cmFwL21vZGFsJztcbmltcG9ydCB7IFRpbWVsaW5lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RpbWVsaW5lLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYXBwLXRpbWVsaW5lLWdyaWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGltZWxpbmUtZ3JpZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RpbWVsaW5lLWdyaWQuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUaW1lbGluZUdyaWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgZ3JpZFR5cGU6IHN0cmluZztcbiAgcHVibGljIGJlYXRzUGVyTWludXRlOiBudW1iZXI7XG4gIHB1YmxpYyB0aW1lU2lnbmF0dXJlVXBwZXI6IG51bWJlcjtcbiAgcHVibGljIHRpbWVTaWduYXR1cmVMb3dlcjogbnVtYmVyO1xuICBwdWJsaWMgc25hcFRvR3JpZDogYm9vbGVhbjtcbiAgcHVibGljIGdyaWRPZmZzZXRNaWxsaXM6IG51bWJlcjtcbiAgcHVibGljIGdyaWRSZXNvbHV0aW9uOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGJzTW9kYWxSZWY6IEJzTW9kYWxSZWYsIHB1YmxpYyB0aW1lbGluZVNlcnZpY2U6IFRpbWVsaW5lU2VydmljZSkge1xuICAgIHRoaXMuZ3JpZFR5cGUgPSB0aW1lbGluZVNlcnZpY2Uuc2VsZWN0ZWRDb21wb3NpdGlvbi5ncmlkVHlwZTtcbiAgICB0aGlzLmJlYXRzUGVyTWludXRlID0gdGltZWxpbmVTZXJ2aWNlLnNlbGVjdGVkQ29tcG9zaXRpb24uYmVhdHNQZXJNaW51dGU7XG4gICAgdGhpcy50aW1lU2lnbmF0dXJlVXBwZXIgPSB0aW1lbGluZVNlcnZpY2Uuc2VsZWN0ZWRDb21wb3NpdGlvbi50aW1lU2lnbmF0dXJlVXBwZXI7XG4gICAgdGhpcy50aW1lU2lnbmF0dXJlTG93ZXIgPSB0aW1lbGluZVNlcnZpY2Uuc2VsZWN0ZWRDb21wb3NpdGlvbi50aW1lU2lnbmF0dXJlTG93ZXI7XG4gICAgdGhpcy5zbmFwVG9HcmlkID0gdGltZWxpbmVTZXJ2aWNlLnNlbGVjdGVkQ29tcG9zaXRpb24uc25hcFRvR3JpZDtcbiAgICB0aGlzLmdyaWRPZmZzZXRNaWxsaXMgPSB0aW1lbGluZVNlcnZpY2Uuc2VsZWN0ZWRDb21wb3NpdGlvbi5ncmlkT2Zmc2V0TWlsbGlzO1xuICAgIHRoaXMuZ3JpZFJlc29sdXRpb24gPSB0aW1lbGluZVNlcnZpY2Uuc2VsZWN0ZWRDb21wb3NpdGlvbi5ncmlkUmVzb2x1dGlvbjtcbiAgfVxuXG4gIG5nT25Jbml0KCkge31cblxuICBvaygpIHtcbiAgICB0aGlzLnRpbWVsaW5lU2VydmljZS5zZWxlY3RlZENvbXBvc2l0aW9uLmdyaWRUeXBlID0gdGhpcy5ncmlkVHlwZTtcbiAgICB0aGlzLnRpbWVsaW5lU2VydmljZS5zZWxlY3RlZENvbXBvc2l0aW9uLmJlYXRzUGVyTWludXRlID0gdGhpcy5iZWF0c1Blck1pbnV0ZTtcbiAgICB0aGlzLnRpbWVsaW5lU2VydmljZS5zZWxlY3RlZENvbXBvc2l0aW9uLnRpbWVTaWduYXR1cmVVcHBlciA9IHRoaXMudGltZVNpZ25hdHVyZVVwcGVyO1xuICAgIHRoaXMudGltZWxpbmVTZXJ2aWNlLnNlbGVjdGVkQ29tcG9zaXRpb24udGltZVNpZ25hdHVyZUxvd2VyID0gdGhpcy50aW1lU2lnbmF0dXJlTG93ZXI7XG4gICAgdGhpcy50aW1lbGluZVNlcnZpY2Uuc2VsZWN0ZWRDb21wb3NpdGlvbi5zbmFwVG9HcmlkID0gdGhpcy5zbmFwVG9HcmlkO1xuICAgIHRoaXMudGltZWxpbmVTZXJ2aWNlLnNlbGVjdGVkQ29tcG9zaXRpb24uZ3JpZE9mZnNldE1pbGxpcyA9IHRoaXMuZ3JpZE9mZnNldE1pbGxpcztcbiAgICB0aGlzLnRpbWVsaW5lU2VydmljZS5zZWxlY3RlZENvbXBvc2l0aW9uLmdyaWRSZXNvbHV0aW9uID0gdGhpcy5ncmlkUmVzb2x1dGlvbjtcblxuICAgIHRoaXMudGltZWxpbmVTZXJ2aWNlLnVwZGF0ZUdyaWQoKTtcbiAgICB0aGlzLmJzTW9kYWxSZWYuaGlkZSgpO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMuYnNNb2RhbFJlZi5oaWRlKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVudGVyJywgWyckZXZlbnQnXSlcbiAgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogYW55KSB7XG4gICAgdGhpcy5vaygpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XG4gIDxoNCBjbGFzcz1cIm1vZGFsLXRpdGxlIHB1bGwtbGVmdFwiPnt7ICdkZXNpZ25lci50aW1lbGluZS5ncmlkJyB8IHRyYW5zbGF0ZSB9fTwvaDQ+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiY2xvc2UgcHVsbC1yaWdodFwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiIChjbGljayk9XCJic01vZGFsUmVmLmhpZGUoKVwiPlxuICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZ0aW1lczs8L3NwYW4+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJjb2wtbGctNCBjb2wtZm9ybS1sYWJlbFwiPnt7ICdkZXNpZ25lci50aW1lbGluZS5ncmlkLXR5cGUnIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLThcIj5cbiAgICAgIDxzZWxlY3QgY2xhc3M9XCJjdXN0b20tc2VsZWN0XCIgW25nTW9kZWxdPVwiZ3JpZFR5cGVcIiAobmdNb2RlbENoYW5nZSk9XCJncmlkVHlwZSA9ICRldmVudFwiPlxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwidGltZVwiPnt7ICdkZXNpZ25lci50aW1lbGluZS5ncmlkLXR5cGUtdGltZS1iYXNlZCcgfCB0cmFuc2xhdGUgfX08L29wdGlvbj5cbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIm11c2ljYWxcIj57eyAnZGVzaWduZXIudGltZWxpbmUuZ3JpZC10eXBlLW11c2ljYWwnIHwgdHJhbnNsYXRlIH19PC9vcHRpb24+XG4gICAgICA8L3NlbGVjdD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cImdyaWRUeXBlID09ICdtdXNpY2FsJ1wiIGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJjb2wtbGctNCBjb2wtZm9ybS1sYWJlbFwiPnt7ICdkZXNpZ25lci50aW1lbGluZS5iZWF0cy1wZXItbWludXRlJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgPGRpdiBjbGFzcz1cImNvbC1sZy04XCI+XG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIFtuZ01vZGVsXT1cImJlYXRzUGVyTWludXRlXCIgKG5nTW9kZWxDaGFuZ2UpPVwiYmVhdHNQZXJNaW51dGUgPSAkZXZlbnRcIiAvPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPVwiZ3JpZFR5cGUgPT0gJ211c2ljYWwnXCIgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxuICAgIDxsYWJlbCBjbGFzcz1cImNvbC1sZy00IGNvbC1mb3JtLWxhYmVsXCI+e3sgJ2Rlc2lnbmVyLnRpbWVsaW5lLnRpbWUtc2lnbmF0dXJlJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgPGRpdiBjbGFzcz1cImNvbC1sZy04XCI+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgIFtuZ01vZGVsXT1cInRpbWVTaWduYXR1cmVVcHBlclwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInRpbWVTaWduYXR1cmVVcHBlciA9ICRldmVudFwiXG4gICAgICAgIHN0eWxlPVwiZmxvYXQ6IGxlZnQ7IHdpZHRoOiA0MHB4XCJcbiAgICAgIC8+XG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IHB4LTIgaC0xMDBcIiBzdHlsZT1cImZsb2F0OiBsZWZ0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtLWF1dG9cIj4vPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgW25nTW9kZWxdPVwidGltZVNpZ25hdHVyZUxvd2VyXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidGltZVNpZ25hdHVyZUxvd2VyID0gJGV2ZW50XCJcbiAgICAgICAgc3R5bGU9XCJ3aWR0aDogNDBweFwiXG4gICAgICAvPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPVwiZ3JpZFR5cGUgPT0gJ211c2ljYWwnXCIgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxuICAgIDxsYWJlbCBjbGFzcz1cImNvbC1sZy00IGNvbC1mb3JtLWxhYmVsXCI+e3sgJ2Rlc2lnbmVyLnRpbWVsaW5lLmdyaWQtcmVzb2x1dGlvbicgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctOFwiPlxuICAgICAgPHNlbGVjdCBjbGFzcz1cImN1c3RvbS1zZWxlY3RcIiBbbmdNb2RlbF09XCJncmlkUmVzb2x1dGlvblwiIChuZ01vZGVsQ2hhbmdlKT1cImdyaWRSZXNvbHV0aW9uID0gJGV2ZW50XCI+XG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCIxXCI+MS8xPC9vcHRpb24+XG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCIyXCI+MS8yPC9vcHRpb24+XG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCI0XCI+MS80PC9vcHRpb24+XG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCI4XCI+MS84PC9vcHRpb24+XG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCIxNlwiPjEvMTY8L29wdGlvbj5cbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjMyXCI+MS8zMjwvb3B0aW9uPlxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwiNjRcIj4xLzY0PC9vcHRpb24+XG4gICAgICA8L3NlbGVjdD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cImdyaWRUeXBlID09ICdtdXNpY2FsJ1wiIGNsYXNzPVwiZm9ybS1ncm91cCByb3dcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJjb2wtbGctNCBjb2wtZm9ybS1sYWJlbFwiPnt7ICdkZXNpZ25lci50aW1lbGluZS5ncmlkLW9mZnNldCcgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctOFwiPlxuICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbbmdNb2RlbF09XCJncmlkT2Zmc2V0TWlsbGlzXCIgKG5nTW9kZWxDaGFuZ2UpPVwiZ3JpZE9mZnNldE1pbGxpcyA9ICRldmVudFwiIC8+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJvd1wiPlxuICAgIDxsYWJlbCBjbGFzcz1cImNvbC1sZy00IGNvbC1mb3JtLWxhYmVsXCI+PC9sYWJlbD5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLThcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrXCI+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbbmdNb2RlbF09XCJzbmFwVG9HcmlkXCIgKG5nTW9kZWxDaGFuZ2UpPVwic25hcFRvR3JpZCA9ICRldmVudFwiIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIGlkPVwic25hcFRvR3JpZFwiIC8+XG5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiIGZvcj1cInNuYXBUb0dyaWRcIj5cbiAgICAgICAgICB7eyAnZGVzaWduZXIudGltZWxpbmUuc25hcC10by1ncmlkJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2xhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XG4gIDxhIGNsYXNzPVwibXItMyBteS1hdXRvXCIgaHJlZj1cIiNcIiByb2xlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImNhbmNlbCgpOyAoZmFsc2UpXCI+XG4gICAge3sgJ2Rlc2lnbmVyLm1pc2MuY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2E+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cIm9rKClcIj57eyAnZGVzaWduZXIubWlzYy5vaycgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj5cbjwvZGl2PlxuIl19