@shbernal/pptxgenjs 5.0.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.
- package/LICENSE +22 -0
- package/README.md +148 -0
- package/dist/browser-Bf1I0xPr.js +80 -0
- package/dist/browser-Bf1I0xPr.js.map +1 -0
- package/dist/browser.d.ts +10 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +3 -0
- package/dist/core-enums-BkfumA6H.js +624 -0
- package/dist/core-enums-BkfumA6H.js.map +1 -0
- package/dist/core-enums-gPygzzFU.d.ts +2376 -0
- package/dist/core-enums-gPygzzFU.d.ts.map +1 -0
- package/dist/core.d.ts +2 -0
- package/dist/core.js +2 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/node.d.ts +10 -0
- package/dist/node.d.ts.map +1 -0
- package/dist/node.js +44 -0
- package/dist/node.js.map +1 -0
- package/dist/pptxgen-B5ir1ywb.d.ts +206 -0
- package/dist/pptxgen-B5ir1ywb.d.ts.map +1 -0
- package/dist/pptxgen-DwD2UwDn.js +5179 -0
- package/dist/pptxgen-DwD2UwDn.js.map +1 -0
- package/dist/standalone.d.ts +2583 -0
- package/dist/standalone.d.ts.map +1 -0
- package/dist/standalone.js +9005 -0
- package/dist/standalone.js.map +1 -0
- package/package.json +135 -0
|
@@ -0,0 +1,2583 @@
|
|
|
1
|
+
//#region src/core-interfaces.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Coordinate number - either:
|
|
4
|
+
* - Inches (0-n)
|
|
5
|
+
* - Percentage (0-100)
|
|
6
|
+
*
|
|
7
|
+
* @example 10.25 // coordinate in inches
|
|
8
|
+
* @example '75%' // coordinate as percentage of slide size
|
|
9
|
+
*/
|
|
10
|
+
type Coord = number | `${number}%`;
|
|
11
|
+
interface PositionProps {
|
|
12
|
+
/**
|
|
13
|
+
* Horizontal position
|
|
14
|
+
* - inches or percentage
|
|
15
|
+
* @example 10.25 // position in inches
|
|
16
|
+
* @example '75%' // position as percentage of slide size
|
|
17
|
+
*/
|
|
18
|
+
x?: Coord;
|
|
19
|
+
/**
|
|
20
|
+
* Vertical position
|
|
21
|
+
* - inches or percentage
|
|
22
|
+
* @example 10.25 // position in inches
|
|
23
|
+
* @example '75%' // position as percentage of slide size
|
|
24
|
+
*/
|
|
25
|
+
y?: Coord;
|
|
26
|
+
/**
|
|
27
|
+
* Height
|
|
28
|
+
* - inches or percentage
|
|
29
|
+
* @example 10.25 // height in inches
|
|
30
|
+
* @example '75%' // height as percentage of slide size
|
|
31
|
+
*/
|
|
32
|
+
h?: Coord;
|
|
33
|
+
/**
|
|
34
|
+
* Width
|
|
35
|
+
* - inches or percentage
|
|
36
|
+
* @example 10.25 // width in inches
|
|
37
|
+
* @example '75%' // width as percentage of slide size
|
|
38
|
+
*/
|
|
39
|
+
w?: Coord;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Reusable optional data/path fields.
|
|
43
|
+
* Use `DataOrPathRequiredProps` for APIs that require at least one source.
|
|
44
|
+
*/
|
|
45
|
+
interface DataOrPathProps {
|
|
46
|
+
/**
|
|
47
|
+
* URL or relative path
|
|
48
|
+
*
|
|
49
|
+
* @example 'https://onedrives.com/myimg.png` // retrieve image via URL
|
|
50
|
+
* @example '/home/gitbrent/images/myimg.png` // retrieve image via local path
|
|
51
|
+
*/
|
|
52
|
+
path?: string;
|
|
53
|
+
/**
|
|
54
|
+
* base64-encoded string
|
|
55
|
+
* - Useful for avoiding potential path/server issues
|
|
56
|
+
*
|
|
57
|
+
* @example 'image/png;base64,iVtDafDrBF[...]=' // pre-encoded image in base-64
|
|
58
|
+
*/
|
|
59
|
+
data?: string;
|
|
60
|
+
}
|
|
61
|
+
type DataOrPathRequiredProps = (DataOrPathProps & {
|
|
62
|
+
data: string;
|
|
63
|
+
}) | (DataOrPathProps & {
|
|
64
|
+
path: string;
|
|
65
|
+
});
|
|
66
|
+
interface BackgroundProps extends DataOrPathProps, ShapeFillProps {
|
|
67
|
+
/**
|
|
68
|
+
* Color (hex format)
|
|
69
|
+
* @deprecated v3.6.0 - use `ShapeFillProps` instead
|
|
70
|
+
*/
|
|
71
|
+
fill?: HexColor;
|
|
72
|
+
/**
|
|
73
|
+
* source URL
|
|
74
|
+
* @deprecated v3.6.0 - use `DataOrPathProps` instead - remove in v4.0.0
|
|
75
|
+
*/
|
|
76
|
+
src?: string;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Color in Hex format
|
|
80
|
+
* @example 'FF3399'
|
|
81
|
+
*/
|
|
82
|
+
type HexColor = string;
|
|
83
|
+
type ThemeColor = 'tx1' | 'tx2' | 'bg1' | 'bg2' | 'accent1' | 'accent2' | 'accent3' | 'accent4' | 'accent5' | 'accent6';
|
|
84
|
+
type Color = HexColor | ThemeColor;
|
|
85
|
+
type Margin = number | [number, number, number, number];
|
|
86
|
+
type HAlign = 'left' | 'center' | 'right' | 'justify';
|
|
87
|
+
type VAlign = 'top' | 'middle' | 'bottom';
|
|
88
|
+
interface BorderProps {
|
|
89
|
+
/**
|
|
90
|
+
* Border type
|
|
91
|
+
* @default solid
|
|
92
|
+
*/
|
|
93
|
+
type?: 'none' | 'dash' | 'solid';
|
|
94
|
+
/**
|
|
95
|
+
* Border color (hex)
|
|
96
|
+
* @example 'FF3399'
|
|
97
|
+
* @default '666666'
|
|
98
|
+
*/
|
|
99
|
+
color?: HexColor;
|
|
100
|
+
/**
|
|
101
|
+
* Border size (points)
|
|
102
|
+
* @default 1
|
|
103
|
+
*/
|
|
104
|
+
pt?: number;
|
|
105
|
+
}
|
|
106
|
+
interface HyperlinkProps {
|
|
107
|
+
_rId?: number;
|
|
108
|
+
/**
|
|
109
|
+
* Slide number to link to
|
|
110
|
+
*/
|
|
111
|
+
slide?: number;
|
|
112
|
+
/**
|
|
113
|
+
* Url to link to
|
|
114
|
+
*/
|
|
115
|
+
url?: string;
|
|
116
|
+
/**
|
|
117
|
+
* Hyperlink Tooltip
|
|
118
|
+
*/
|
|
119
|
+
tooltip?: string;
|
|
120
|
+
}
|
|
121
|
+
interface ShadowProps {
|
|
122
|
+
/**
|
|
123
|
+
* shadow type
|
|
124
|
+
* @default 'none'
|
|
125
|
+
*/
|
|
126
|
+
type: 'outer' | 'inner' | 'none';
|
|
127
|
+
/**
|
|
128
|
+
* opacity (percent)
|
|
129
|
+
* - range: 0.0-1.0
|
|
130
|
+
* @example 0.5 // 50% opaque
|
|
131
|
+
*/
|
|
132
|
+
opacity?: number;
|
|
133
|
+
/**
|
|
134
|
+
* blur (points)
|
|
135
|
+
* - range: 0-100
|
|
136
|
+
* @default 0
|
|
137
|
+
*/
|
|
138
|
+
blur?: number;
|
|
139
|
+
/**
|
|
140
|
+
* angle (degrees)
|
|
141
|
+
* - range: 0-359
|
|
142
|
+
* @default 0
|
|
143
|
+
*/
|
|
144
|
+
angle?: number;
|
|
145
|
+
/**
|
|
146
|
+
* shadow offset (points)
|
|
147
|
+
* - range: 0-200
|
|
148
|
+
* @default 0
|
|
149
|
+
*/
|
|
150
|
+
offset?: number;
|
|
151
|
+
/**
|
|
152
|
+
* shadow color (hex format)
|
|
153
|
+
* @example 'FF3399'
|
|
154
|
+
*/
|
|
155
|
+
color?: HexColor;
|
|
156
|
+
/**
|
|
157
|
+
* whether to rotate shadow with shape
|
|
158
|
+
* @default false
|
|
159
|
+
*/
|
|
160
|
+
rotateWithShape?: boolean;
|
|
161
|
+
}
|
|
162
|
+
interface ShapeFillProps {
|
|
163
|
+
/**
|
|
164
|
+
* Fill color
|
|
165
|
+
* - `HexColor` or `ThemeColor`
|
|
166
|
+
* @example 'FF0000' // hex color (red)
|
|
167
|
+
* @example pptx.SchemeColor.text1 // Theme color (Text1)
|
|
168
|
+
*/
|
|
169
|
+
color?: Color;
|
|
170
|
+
/**
|
|
171
|
+
* Transparency (percent)
|
|
172
|
+
* - MS-PPT > Format Shape > Fill & Line > Fill > Transparency
|
|
173
|
+
* - range: 0-100
|
|
174
|
+
* @default 0
|
|
175
|
+
*/
|
|
176
|
+
transparency?: number;
|
|
177
|
+
/**
|
|
178
|
+
* Fill type
|
|
179
|
+
* @default 'solid'
|
|
180
|
+
*/
|
|
181
|
+
type?: 'none' | 'solid';
|
|
182
|
+
/**
|
|
183
|
+
* Transparency (percent)
|
|
184
|
+
* @deprecated v3.3.0 - use `transparency`
|
|
185
|
+
*/
|
|
186
|
+
alpha?: number;
|
|
187
|
+
}
|
|
188
|
+
interface ShapeLineProps extends ShapeFillProps {
|
|
189
|
+
/**
|
|
190
|
+
* Line width (pt)
|
|
191
|
+
* @default 1
|
|
192
|
+
*/
|
|
193
|
+
width?: number;
|
|
194
|
+
/**
|
|
195
|
+
* Dash type
|
|
196
|
+
* @default 'solid'
|
|
197
|
+
*/
|
|
198
|
+
dashType?: 'solid' | 'dash' | 'dashDot' | 'lgDash' | 'lgDashDot' | 'lgDashDotDot' | 'sysDash' | 'sysDot';
|
|
199
|
+
/**
|
|
200
|
+
* Begin arrow type
|
|
201
|
+
* @since v3.3.0
|
|
202
|
+
*/
|
|
203
|
+
beginArrowType?: 'none' | 'arrow' | 'diamond' | 'oval' | 'stealth' | 'triangle';
|
|
204
|
+
/**
|
|
205
|
+
* End arrow type
|
|
206
|
+
* @since v3.3.0
|
|
207
|
+
*/
|
|
208
|
+
endArrowType?: 'none' | 'arrow' | 'diamond' | 'oval' | 'stealth' | 'triangle';
|
|
209
|
+
/**
|
|
210
|
+
* Dash type
|
|
211
|
+
* @deprecated v3.3.0 - use `dashType`
|
|
212
|
+
*/
|
|
213
|
+
lineDash?: 'solid' | 'dash' | 'dashDot' | 'lgDash' | 'lgDashDot' | 'lgDashDotDot' | 'sysDash' | 'sysDot';
|
|
214
|
+
/**
|
|
215
|
+
* @deprecated v3.3.0 - use `beginArrowType`
|
|
216
|
+
*/
|
|
217
|
+
lineHead?: 'none' | 'arrow' | 'diamond' | 'oval' | 'stealth' | 'triangle';
|
|
218
|
+
/**
|
|
219
|
+
* @deprecated v3.3.0 - use `endArrowType`
|
|
220
|
+
*/
|
|
221
|
+
lineTail?: 'none' | 'arrow' | 'diamond' | 'oval' | 'stealth' | 'triangle';
|
|
222
|
+
/**
|
|
223
|
+
* Line width (pt)
|
|
224
|
+
* @deprecated v3.3.0 - use `width`
|
|
225
|
+
*/
|
|
226
|
+
pt?: number;
|
|
227
|
+
/**
|
|
228
|
+
* Line size (pt)
|
|
229
|
+
* @deprecated v3.3.0 - use `width`
|
|
230
|
+
*/
|
|
231
|
+
size?: number;
|
|
232
|
+
}
|
|
233
|
+
interface TextBaseProps {
|
|
234
|
+
/**
|
|
235
|
+
* Horizontal alignment
|
|
236
|
+
* @default 'left'
|
|
237
|
+
*/
|
|
238
|
+
align?: HAlign;
|
|
239
|
+
/**
|
|
240
|
+
* Bold style
|
|
241
|
+
* @default false
|
|
242
|
+
*/
|
|
243
|
+
bold?: boolean;
|
|
244
|
+
/**
|
|
245
|
+
* Add a line-break
|
|
246
|
+
* @default false
|
|
247
|
+
*/
|
|
248
|
+
breakLine?: boolean;
|
|
249
|
+
/**
|
|
250
|
+
* Add standard or custom bullet
|
|
251
|
+
* - use `true` for standard bullet
|
|
252
|
+
* - pass object options for custom bullet
|
|
253
|
+
* @default false
|
|
254
|
+
*/
|
|
255
|
+
bullet?: boolean | {
|
|
256
|
+
/**
|
|
257
|
+
* Bullet type
|
|
258
|
+
* @default bullet
|
|
259
|
+
*/
|
|
260
|
+
type?: 'bullet' | 'number';
|
|
261
|
+
/**
|
|
262
|
+
* Bullet character code (unicode)
|
|
263
|
+
* @since v3.3.0
|
|
264
|
+
* @example '25BA' // 'BLACK RIGHT-POINTING POINTER' (U+25BA)
|
|
265
|
+
*/
|
|
266
|
+
characterCode?: string;
|
|
267
|
+
/**
|
|
268
|
+
* Indentation (space between bullet and text) (points)
|
|
269
|
+
* @since v3.3.0
|
|
270
|
+
* @default 27 // DEF_BULLET_MARGIN
|
|
271
|
+
* @example 10 // Indents text 10 points from bullet
|
|
272
|
+
*/
|
|
273
|
+
indent?: number;
|
|
274
|
+
/**
|
|
275
|
+
* Number type
|
|
276
|
+
* @since v3.3.0
|
|
277
|
+
* @example 'romanLcParenR' // roman numerals lower-case with paranthesis right
|
|
278
|
+
*/
|
|
279
|
+
numberType?: 'alphaLcParenBoth' | 'alphaLcParenR' | 'alphaLcPeriod' | 'alphaUcParenBoth' | 'alphaUcParenR' | 'alphaUcPeriod' | 'arabicParenBoth' | 'arabicParenR' | 'arabicPeriod' | 'arabicPlain' | 'romanLcParenBoth' | 'romanLcParenR' | 'romanLcPeriod' | 'romanUcParenBoth' | 'romanUcParenR' | 'romanUcPeriod';
|
|
280
|
+
/**
|
|
281
|
+
* Number bullets start at
|
|
282
|
+
* @since v3.3.0
|
|
283
|
+
* @default 1
|
|
284
|
+
* @example 10 // numbered bullets start with 10
|
|
285
|
+
*/
|
|
286
|
+
numberStartAt?: number;
|
|
287
|
+
/**
|
|
288
|
+
* Bullet code (unicode)
|
|
289
|
+
* @deprecated v3.3.0 - use `characterCode`
|
|
290
|
+
*/
|
|
291
|
+
code?: string;
|
|
292
|
+
/**
|
|
293
|
+
* Margin between bullet and text
|
|
294
|
+
* @since v3.2.1
|
|
295
|
+
* @deplrecated v3.3.0 - use `indent`
|
|
296
|
+
*/
|
|
297
|
+
marginPt?: number;
|
|
298
|
+
/**
|
|
299
|
+
* Number to start with (only applies to type:number)
|
|
300
|
+
* @deprecated v3.3.0 - use `numberStartAt`
|
|
301
|
+
*/
|
|
302
|
+
startAt?: number;
|
|
303
|
+
/**
|
|
304
|
+
* Number type
|
|
305
|
+
* @deprecated v3.3.0 - use `numberType`
|
|
306
|
+
*/
|
|
307
|
+
style?: string;
|
|
308
|
+
};
|
|
309
|
+
/**
|
|
310
|
+
* Text color
|
|
311
|
+
* - `HexColor` or `ThemeColor`
|
|
312
|
+
* - MS-PPT > Format Shape > Text Options > Text Fill & Outline > Text Fill > Color
|
|
313
|
+
* @example 'FF0000' // hex color (red)
|
|
314
|
+
* @example pptx.SchemeColor.text1 // Theme color (Text1)
|
|
315
|
+
*/
|
|
316
|
+
color?: Color;
|
|
317
|
+
/**
|
|
318
|
+
* Font face name
|
|
319
|
+
* @example 'Arial' // Arial font
|
|
320
|
+
*/
|
|
321
|
+
fontFace?: string;
|
|
322
|
+
/**
|
|
323
|
+
* Font size
|
|
324
|
+
* @example 12 // Font size 12
|
|
325
|
+
*/
|
|
326
|
+
fontSize?: number;
|
|
327
|
+
/**
|
|
328
|
+
* Text highlight color (hex format)
|
|
329
|
+
* @example 'FFFF00' // yellow
|
|
330
|
+
*/
|
|
331
|
+
highlight?: HexColor;
|
|
332
|
+
/**
|
|
333
|
+
* italic style
|
|
334
|
+
* @default false
|
|
335
|
+
*/
|
|
336
|
+
italic?: boolean;
|
|
337
|
+
/**
|
|
338
|
+
* language
|
|
339
|
+
* - ISO 639-1 standard language code
|
|
340
|
+
* @default 'en-US' // english US
|
|
341
|
+
* @example 'fr-CA' // french Canadian
|
|
342
|
+
*/
|
|
343
|
+
lang?: string;
|
|
344
|
+
/**
|
|
345
|
+
* Add a soft line-break (shift+enter) before line text content
|
|
346
|
+
* @default false
|
|
347
|
+
* @since v3.5.0
|
|
348
|
+
*/
|
|
349
|
+
softBreakBefore?: boolean;
|
|
350
|
+
/**
|
|
351
|
+
* tab stops
|
|
352
|
+
* - PowerPoint: Paragraph > Tabs > Tab stop position
|
|
353
|
+
* @example [{ position:1 }, { position:3 }] // Set first tab stop to 1 inch, set second tab stop to 3 inches
|
|
354
|
+
*/
|
|
355
|
+
tabStops?: Array<{
|
|
356
|
+
position: number;
|
|
357
|
+
alignment?: 'l' | 'r' | 'ctr' | 'dec';
|
|
358
|
+
}>;
|
|
359
|
+
/**
|
|
360
|
+
* text direction
|
|
361
|
+
* `horz` = horizontal
|
|
362
|
+
* `vert` = rotate 90^
|
|
363
|
+
* `vert270` = rotate 270^
|
|
364
|
+
* `wordArtVert` = stacked
|
|
365
|
+
* @default 'horz'
|
|
366
|
+
*/
|
|
367
|
+
textDirection?: 'horz' | 'vert' | 'vert270' | 'wordArtVert';
|
|
368
|
+
/**
|
|
369
|
+
* Transparency (percent)
|
|
370
|
+
* - MS-PPT > Format Shape > Text Options > Text Fill & Outline > Text Fill > Transparency
|
|
371
|
+
* - range: 0-100
|
|
372
|
+
* @default 0
|
|
373
|
+
*/
|
|
374
|
+
transparency?: number;
|
|
375
|
+
/**
|
|
376
|
+
* underline properties
|
|
377
|
+
* - PowerPoint: Font > Color & Underline > Underline Style/Underline Color
|
|
378
|
+
* @default (none)
|
|
379
|
+
*/
|
|
380
|
+
underline?: {
|
|
381
|
+
style?: 'dash' | 'dashHeavy' | 'dashLong' | 'dashLongHeavy' | 'dbl' | 'dotDash' | 'dotDashHeave' | 'dotDotDash' | 'dotDotDashHeavy' | 'dotted' | 'dottedHeavy' | 'heavy' | 'none' | 'sng' | 'wavy' | 'wavyDbl' | 'wavyHeavy';
|
|
382
|
+
color?: Color;
|
|
383
|
+
};
|
|
384
|
+
/**
|
|
385
|
+
* vertical alignment
|
|
386
|
+
* @default 'top'
|
|
387
|
+
*/
|
|
388
|
+
valign?: VAlign;
|
|
389
|
+
}
|
|
390
|
+
interface PlaceholderProps extends PositionProps, TextBaseProps {
|
|
391
|
+
name: string;
|
|
392
|
+
type: PLACEHOLDER_TYPE;
|
|
393
|
+
/**
|
|
394
|
+
* margin (points)
|
|
395
|
+
*/
|
|
396
|
+
margin?: Margin;
|
|
397
|
+
}
|
|
398
|
+
interface ObjectNameProps {
|
|
399
|
+
/**
|
|
400
|
+
* Object name
|
|
401
|
+
* - used instead of default "Object N" name
|
|
402
|
+
* - PowerPoint: Home > Arrange > Selection Pane...
|
|
403
|
+
* @since v3.10.0
|
|
404
|
+
* @default 'Object 1'
|
|
405
|
+
* @example 'Antenna Design 9'
|
|
406
|
+
*/
|
|
407
|
+
objectName?: string;
|
|
408
|
+
}
|
|
409
|
+
interface ThemeProps {
|
|
410
|
+
/**
|
|
411
|
+
* Headings font face name
|
|
412
|
+
* @example 'Arial Narrow'
|
|
413
|
+
* @default 'Calibri Light'
|
|
414
|
+
*/
|
|
415
|
+
headFontFace?: string;
|
|
416
|
+
/**
|
|
417
|
+
* Body font face name
|
|
418
|
+
* @example 'Arial'
|
|
419
|
+
* @default 'Calibri'
|
|
420
|
+
*/
|
|
421
|
+
bodyFontFace?: string;
|
|
422
|
+
}
|
|
423
|
+
type MediaType = 'audio' | 'online' | 'video';
|
|
424
|
+
interface ImageBaseProps extends PositionProps, ObjectNameProps {
|
|
425
|
+
/**
|
|
426
|
+
* Alt Text value ("How would you describe this object and its contents to someone who is blind?")
|
|
427
|
+
* - PowerPoint: [right-click on an image] > "Edit Alt Text..."
|
|
428
|
+
*/
|
|
429
|
+
altText?: string;
|
|
430
|
+
/**
|
|
431
|
+
* Flip horizontally?
|
|
432
|
+
* @default false
|
|
433
|
+
*/
|
|
434
|
+
flipH?: boolean;
|
|
435
|
+
/**
|
|
436
|
+
* Flip vertical?
|
|
437
|
+
* @default false
|
|
438
|
+
*/
|
|
439
|
+
flipV?: boolean;
|
|
440
|
+
hyperlink?: HyperlinkProps;
|
|
441
|
+
/**
|
|
442
|
+
* Placeholder type
|
|
443
|
+
* - values: 'body' | 'header' | 'footer' | 'title' | et. al.
|
|
444
|
+
* @example 'body'
|
|
445
|
+
* @see https://docs.microsoft.com/en-us/office/vba/api/powerpoint.ppplaceholdertype
|
|
446
|
+
*/
|
|
447
|
+
placeholder?: string;
|
|
448
|
+
/**
|
|
449
|
+
* Image rotation (degrees)
|
|
450
|
+
* - range: -360 to 360
|
|
451
|
+
* @default 0
|
|
452
|
+
* @example 180 // rotate image 180 degrees
|
|
453
|
+
*/
|
|
454
|
+
rotate?: number;
|
|
455
|
+
/**
|
|
456
|
+
* Enable image rounding
|
|
457
|
+
* @default false
|
|
458
|
+
*/
|
|
459
|
+
rounding?: boolean;
|
|
460
|
+
/**
|
|
461
|
+
* Shadow Props
|
|
462
|
+
* - MS-PPT > Format Picture > Shadow
|
|
463
|
+
* @example
|
|
464
|
+
* { type: 'outer', color: '000000', opacity: 0.5, blur: 20, offset: 20, angle: 270 }
|
|
465
|
+
*/
|
|
466
|
+
shadow?: ShadowProps;
|
|
467
|
+
/**
|
|
468
|
+
* Image sizing options
|
|
469
|
+
*/
|
|
470
|
+
sizing?: {
|
|
471
|
+
/**
|
|
472
|
+
* Sizing type
|
|
473
|
+
*/
|
|
474
|
+
type: 'contain' | 'cover' | 'crop';
|
|
475
|
+
/**
|
|
476
|
+
* Image width
|
|
477
|
+
* - inches or percentage
|
|
478
|
+
* @example 10.25 // position in inches
|
|
479
|
+
* @example '75%' // position as percentage of slide size
|
|
480
|
+
*/
|
|
481
|
+
w: Coord;
|
|
482
|
+
/**
|
|
483
|
+
* Image height
|
|
484
|
+
* - inches or percentage
|
|
485
|
+
* @example 10.25 // position in inches
|
|
486
|
+
* @example '75%' // position as percentage of slide size
|
|
487
|
+
*/
|
|
488
|
+
h: Coord;
|
|
489
|
+
/**
|
|
490
|
+
* Offset from left to crop image
|
|
491
|
+
* - `crop` only
|
|
492
|
+
* - inches or percentage
|
|
493
|
+
* @example 10.25 // position in inches
|
|
494
|
+
* @example '75%' // position as percentage of slide size
|
|
495
|
+
*/
|
|
496
|
+
x?: Coord;
|
|
497
|
+
/**
|
|
498
|
+
* Offset from top to crop image
|
|
499
|
+
* - `crop` only
|
|
500
|
+
* - inches or percentage
|
|
501
|
+
* @example 10.25 // position in inches
|
|
502
|
+
* @example '75%' // position as percentage of slide size
|
|
503
|
+
*/
|
|
504
|
+
y?: Coord;
|
|
505
|
+
};
|
|
506
|
+
/**
|
|
507
|
+
* Transparency (percent)
|
|
508
|
+
* - MS-PPT > Format Picture > Picture > Picture Transparency > Transparency
|
|
509
|
+
* - range: 0-100
|
|
510
|
+
* @default 0
|
|
511
|
+
* @example 25 // 25% transparent
|
|
512
|
+
*/
|
|
513
|
+
transparency?: number;
|
|
514
|
+
}
|
|
515
|
+
type ImageProps = ImageBaseProps & DataOrPathRequiredProps;
|
|
516
|
+
/**
|
|
517
|
+
* Add media (audio/video) to slide
|
|
518
|
+
* @requires either `data` or `path`; online media requires `link`
|
|
519
|
+
*/
|
|
520
|
+
interface MediaBaseProps extends PositionProps, ObjectNameProps {
|
|
521
|
+
/**
|
|
522
|
+
* Cover image
|
|
523
|
+
* @since 3.9.0
|
|
524
|
+
* @default "play button" image, gray background
|
|
525
|
+
*/
|
|
526
|
+
cover?: string;
|
|
527
|
+
/**
|
|
528
|
+
* media file extension
|
|
529
|
+
* - use when the media file path does not already have an extension, ex: "/folder/SomeSong"
|
|
530
|
+
* @since 3.9.0
|
|
531
|
+
* @default extension from file provided
|
|
532
|
+
*/
|
|
533
|
+
extn?: string;
|
|
534
|
+
}
|
|
535
|
+
type MediaProps = MediaBaseProps & ((DataOrPathRequiredProps & {
|
|
536
|
+
/**
|
|
537
|
+
* Media type
|
|
538
|
+
*/
|
|
539
|
+
type: Exclude<MediaType, 'online'>;
|
|
540
|
+
/**
|
|
541
|
+
* Optional video embed link metadata.
|
|
542
|
+
*/
|
|
543
|
+
link?: string;
|
|
544
|
+
}) | (DataOrPathProps & {
|
|
545
|
+
/**
|
|
546
|
+
* Use 'online' to embed a YouTube video (only supported in recent versions of PowerPoint)
|
|
547
|
+
*/
|
|
548
|
+
type: 'online';
|
|
549
|
+
/**
|
|
550
|
+
* video embed link
|
|
551
|
+
* - works with YouTube
|
|
552
|
+
* - other sites may not show correctly in PowerPoint
|
|
553
|
+
* @example 'https://www.youtube.com/embed/Dph6ynRVyUc' // embed a youtube video
|
|
554
|
+
*/
|
|
555
|
+
link: string;
|
|
556
|
+
}));
|
|
557
|
+
interface ShapeProps extends PositionProps, ObjectNameProps {
|
|
558
|
+
/**
|
|
559
|
+
* Horizontal alignment
|
|
560
|
+
* @default 'left'
|
|
561
|
+
*/
|
|
562
|
+
align?: HAlign;
|
|
563
|
+
/**
|
|
564
|
+
* Radius (only for pptx.shapes.PIE, pptx.shapes.ARC, pptx.shapes.BLOCK_ARC)
|
|
565
|
+
* - In the case of pptx.shapes.BLOCK_ARC you have to setup the arcThicknessRatio
|
|
566
|
+
* - values: [0-359, 0-359]
|
|
567
|
+
* @since v3.4.0
|
|
568
|
+
* @default [270, 0]
|
|
569
|
+
*/
|
|
570
|
+
angleRange?: [number, number];
|
|
571
|
+
/**
|
|
572
|
+
* Radius (only for pptx.shapes.BLOCK_ARC)
|
|
573
|
+
* - You have to setup the angleRange values too
|
|
574
|
+
* - values: 0.0-1.0
|
|
575
|
+
* @since v3.4.0
|
|
576
|
+
* @default 0.5
|
|
577
|
+
*/
|
|
578
|
+
arcThicknessRatio?: number;
|
|
579
|
+
/**
|
|
580
|
+
* Shape fill color properties
|
|
581
|
+
* @example { color:'FF0000' } // hex color (red)
|
|
582
|
+
* @example { color:'0088CC', transparency:50 } // hex color, 50% transparent
|
|
583
|
+
* @example { color:pptx.SchemeColor.accent1 } // Theme color Accent1
|
|
584
|
+
*/
|
|
585
|
+
fill?: ShapeFillProps;
|
|
586
|
+
/**
|
|
587
|
+
* Flip shape horizontally?
|
|
588
|
+
* @default false
|
|
589
|
+
*/
|
|
590
|
+
flipH?: boolean;
|
|
591
|
+
/**
|
|
592
|
+
* Flip shape vertical?
|
|
593
|
+
* @default false
|
|
594
|
+
*/
|
|
595
|
+
flipV?: boolean;
|
|
596
|
+
/**
|
|
597
|
+
* Add hyperlink to shape
|
|
598
|
+
* @example hyperlink: { url: "https://github.com/gitbrent/pptxgenjs", tooltip: "Visit Homepage" },
|
|
599
|
+
*/
|
|
600
|
+
hyperlink?: HyperlinkProps;
|
|
601
|
+
/**
|
|
602
|
+
* Line options
|
|
603
|
+
*/
|
|
604
|
+
line?: ShapeLineProps;
|
|
605
|
+
/**
|
|
606
|
+
* Points (only for pptx.shapes.CUSTOM_GEOMETRY)
|
|
607
|
+
* - type: 'arc'
|
|
608
|
+
* - `hR` Shape Arc Height Radius
|
|
609
|
+
* - `wR` Shape Arc Width Radius
|
|
610
|
+
* - `stAng` Shape Arc Start Angle
|
|
611
|
+
* - `swAng` Shape Arc Swing Angle
|
|
612
|
+
* @see http://www.datypic.com/sc/ooxml/e-a_arcTo-1.html
|
|
613
|
+
* @example [{ x: 0, y: 0 }, { x: 10, y: 10 }] // draw a line between those two points
|
|
614
|
+
*/
|
|
615
|
+
points?: Array<{
|
|
616
|
+
x: Coord;
|
|
617
|
+
y: Coord;
|
|
618
|
+
moveTo?: boolean;
|
|
619
|
+
} | {
|
|
620
|
+
x: Coord;
|
|
621
|
+
y: Coord;
|
|
622
|
+
curve: {
|
|
623
|
+
type: 'arc';
|
|
624
|
+
hR: Coord;
|
|
625
|
+
wR: Coord;
|
|
626
|
+
stAng: number;
|
|
627
|
+
swAng: number;
|
|
628
|
+
};
|
|
629
|
+
} | {
|
|
630
|
+
x: Coord;
|
|
631
|
+
y: Coord;
|
|
632
|
+
curve: {
|
|
633
|
+
type: 'cubic';
|
|
634
|
+
x1: Coord;
|
|
635
|
+
y1: Coord;
|
|
636
|
+
x2: Coord;
|
|
637
|
+
y2: Coord;
|
|
638
|
+
};
|
|
639
|
+
} | {
|
|
640
|
+
x: Coord;
|
|
641
|
+
y: Coord;
|
|
642
|
+
curve: {
|
|
643
|
+
type: 'quadratic';
|
|
644
|
+
x1: Coord;
|
|
645
|
+
y1: Coord;
|
|
646
|
+
};
|
|
647
|
+
} | {
|
|
648
|
+
close: true;
|
|
649
|
+
}>;
|
|
650
|
+
/**
|
|
651
|
+
* Rounded rectangle radius (only for pptx.shapes.ROUNDED_RECTANGLE)
|
|
652
|
+
* - values: 0.0 to 1.0
|
|
653
|
+
* @default 0
|
|
654
|
+
*/
|
|
655
|
+
rectRadius?: number;
|
|
656
|
+
/**
|
|
657
|
+
* Rotation (degrees)
|
|
658
|
+
* - range: -360 to 360
|
|
659
|
+
* @default 0
|
|
660
|
+
* @example 180 // rotate 180 degrees
|
|
661
|
+
*/
|
|
662
|
+
rotate?: number;
|
|
663
|
+
/**
|
|
664
|
+
* Shadow options
|
|
665
|
+
* TODO: need new demo.js entry for shape shadow
|
|
666
|
+
*/
|
|
667
|
+
shadow?: ShadowProps;
|
|
668
|
+
/**
|
|
669
|
+
* @deprecated v3.3.0
|
|
670
|
+
*/
|
|
671
|
+
lineSize?: number;
|
|
672
|
+
/**
|
|
673
|
+
* @deprecated v3.3.0
|
|
674
|
+
*/
|
|
675
|
+
lineDash?: 'dash' | 'dashDot' | 'lgDash' | 'lgDashDot' | 'lgDashDotDot' | 'solid' | 'sysDash' | 'sysDot';
|
|
676
|
+
/**
|
|
677
|
+
* @deprecated v3.3.0
|
|
678
|
+
*/
|
|
679
|
+
lineHead?: 'arrow' | 'diamond' | 'none' | 'oval' | 'stealth' | 'triangle';
|
|
680
|
+
/**
|
|
681
|
+
* @deprecated v3.3.0
|
|
682
|
+
*/
|
|
683
|
+
lineTail?: 'arrow' | 'diamond' | 'none' | 'oval' | 'stealth' | 'triangle';
|
|
684
|
+
/**
|
|
685
|
+
* Shape name (used instead of default "Shape N" name)
|
|
686
|
+
* @deprecated v3.10.0 - use `objectName`
|
|
687
|
+
*/
|
|
688
|
+
shapeName?: string;
|
|
689
|
+
}
|
|
690
|
+
interface TableToSlidesProps extends TableProps {
|
|
691
|
+
_arrObjTabHeadRows?: TableRow[];
|
|
692
|
+
/**
|
|
693
|
+
* Add an image to slide(s) created during autopaging
|
|
694
|
+
* - `image` prop requires either `path` or `data`
|
|
695
|
+
* - see `DataOrPathProps` for details on `image` props
|
|
696
|
+
* - see `PositionProps` for details on `options` props
|
|
697
|
+
*/
|
|
698
|
+
addImage?: {
|
|
699
|
+
image: DataOrPathProps;
|
|
700
|
+
options: PositionProps;
|
|
701
|
+
};
|
|
702
|
+
/**
|
|
703
|
+
* Add a shape to slide(s) created during autopaging
|
|
704
|
+
*/
|
|
705
|
+
addShape?: {
|
|
706
|
+
shapeName: SHAPE_NAME;
|
|
707
|
+
options: ShapeProps;
|
|
708
|
+
};
|
|
709
|
+
/**
|
|
710
|
+
* Add a table to slide(s) created during autopaging
|
|
711
|
+
*/
|
|
712
|
+
addTable?: {
|
|
713
|
+
rows: TableRow[];
|
|
714
|
+
options: TableProps;
|
|
715
|
+
};
|
|
716
|
+
/**
|
|
717
|
+
* Add a text object to slide(s) created during autopaging
|
|
718
|
+
*/
|
|
719
|
+
addText?: {
|
|
720
|
+
text: TextProps[];
|
|
721
|
+
options: TextPropsOptions;
|
|
722
|
+
};
|
|
723
|
+
/**
|
|
724
|
+
* Whether to enable auto-paging
|
|
725
|
+
* - auto-paging creates new slides as content overflows a slide
|
|
726
|
+
* @default true
|
|
727
|
+
*/
|
|
728
|
+
autoPage?: boolean;
|
|
729
|
+
/**
|
|
730
|
+
* Auto-paging character weight
|
|
731
|
+
* - adjusts how many characters are used before lines wrap
|
|
732
|
+
* - range: -1.0 to 1.0
|
|
733
|
+
* @see https://gitbrent.github.io/PptxGenJS/docs/api-tables.html
|
|
734
|
+
* @default 0.0
|
|
735
|
+
* @example 0.5 // lines are longer (increases the number of characters that can fit on a given line)
|
|
736
|
+
*/
|
|
737
|
+
autoPageCharWeight?: number;
|
|
738
|
+
/**
|
|
739
|
+
* Auto-paging line weight
|
|
740
|
+
* - adjusts how many lines are used before slides wrap
|
|
741
|
+
* - range: -1.0 to 1.0
|
|
742
|
+
* @see https://gitbrent.github.io/PptxGenJS/docs/api-tables.html
|
|
743
|
+
* @default 0.0
|
|
744
|
+
* @example 0.5 // tables are taller (increases the number of lines that can fit on a given slide)
|
|
745
|
+
*/
|
|
746
|
+
autoPageLineWeight?: number;
|
|
747
|
+
/**
|
|
748
|
+
* Whether to repeat head row(s) on new tables created by autopaging
|
|
749
|
+
* @since v3.3.0
|
|
750
|
+
* @default false
|
|
751
|
+
*/
|
|
752
|
+
autoPageRepeatHeader?: boolean;
|
|
753
|
+
/**
|
|
754
|
+
* The `y` location to use on subsequent slides created by autopaging
|
|
755
|
+
* @default (top margin of Slide)
|
|
756
|
+
*/
|
|
757
|
+
autoPageSlideStartY?: number;
|
|
758
|
+
/**
|
|
759
|
+
* Column widths (inches)
|
|
760
|
+
*/
|
|
761
|
+
colW?: number | number[];
|
|
762
|
+
/**
|
|
763
|
+
* Master slide name
|
|
764
|
+
* - define a master slide to have your auto-paged slides have corporate design, etc.
|
|
765
|
+
* @see https://gitbrent.github.io/PptxGenJS/docs/masters.html
|
|
766
|
+
*/
|
|
767
|
+
masterSlideName?: string;
|
|
768
|
+
/**
|
|
769
|
+
* Slide margin
|
|
770
|
+
* - this margin will be across all slides created by auto-paging
|
|
771
|
+
*/
|
|
772
|
+
slideMargin?: Margin;
|
|
773
|
+
/**
|
|
774
|
+
* @deprecated v3.3.0 - use `autoPageRepeatHeader`
|
|
775
|
+
*/
|
|
776
|
+
addHeaderToEach?: boolean;
|
|
777
|
+
/**
|
|
778
|
+
* @deprecated v3.3.0 - use `autoPageSlideStartY`
|
|
779
|
+
*/
|
|
780
|
+
newSlideStartY?: number;
|
|
781
|
+
}
|
|
782
|
+
interface TableCellProps extends TextBaseProps {
|
|
783
|
+
/**
|
|
784
|
+
* Auto-paging character weight
|
|
785
|
+
* - adjusts how many characters are used before lines wrap
|
|
786
|
+
* - range: -1.0 to 1.0
|
|
787
|
+
* @see https://gitbrent.github.io/PptxGenJS/docs/api-tables.html
|
|
788
|
+
* @default 0.0
|
|
789
|
+
* @example 0.5 // lines are longer (increases the number of characters that can fit on a given line)
|
|
790
|
+
*/
|
|
791
|
+
autoPageCharWeight?: number;
|
|
792
|
+
/**
|
|
793
|
+
* Auto-paging line weight
|
|
794
|
+
* - adjusts how many lines are used before slides wrap
|
|
795
|
+
* - range: -1.0 to 1.0
|
|
796
|
+
* @see https://gitbrent.github.io/PptxGenJS/docs/api-tables.html
|
|
797
|
+
* @default 0.0
|
|
798
|
+
* @example 0.5 // tables are taller (increases the number of lines that can fit on a given slide)
|
|
799
|
+
*/
|
|
800
|
+
autoPageLineWeight?: number;
|
|
801
|
+
/**
|
|
802
|
+
* Cell border
|
|
803
|
+
*/
|
|
804
|
+
border?: BorderProps | [BorderProps, BorderProps, BorderProps, BorderProps];
|
|
805
|
+
/**
|
|
806
|
+
* Cell colspan
|
|
807
|
+
*/
|
|
808
|
+
colspan?: number;
|
|
809
|
+
/**
|
|
810
|
+
* Fill color
|
|
811
|
+
* @example { color:'FF0000' } // hex color (red)
|
|
812
|
+
* @example { color:'0088CC', transparency:50 } // hex color, 50% transparent
|
|
813
|
+
* @example { color:pptx.SchemeColor.accent1 } // theme color Accent1
|
|
814
|
+
*/
|
|
815
|
+
fill?: ShapeFillProps;
|
|
816
|
+
hyperlink?: HyperlinkProps;
|
|
817
|
+
/**
|
|
818
|
+
* Cell margin (inches)
|
|
819
|
+
* @default 0
|
|
820
|
+
*/
|
|
821
|
+
margin?: Margin;
|
|
822
|
+
/**
|
|
823
|
+
* Cell rowspan
|
|
824
|
+
*/
|
|
825
|
+
rowspan?: number;
|
|
826
|
+
}
|
|
827
|
+
interface TableProps extends PositionProps, TextBaseProps, ObjectNameProps {
|
|
828
|
+
_arrObjTabHeadRows?: TableRow[];
|
|
829
|
+
/**
|
|
830
|
+
* Whether to enable auto-paging
|
|
831
|
+
* - auto-paging creates new slides as content overflows a slide
|
|
832
|
+
* @default false
|
|
833
|
+
*/
|
|
834
|
+
autoPage?: boolean;
|
|
835
|
+
/**
|
|
836
|
+
* Auto-paging character weight
|
|
837
|
+
* - adjusts how many characters are used before lines wrap
|
|
838
|
+
* - range: -1.0 to 1.0
|
|
839
|
+
* @see https://gitbrent.github.io/PptxGenJS/docs/api-tables.html
|
|
840
|
+
* @default 0.0
|
|
841
|
+
* @example 0.5 // lines are longer (increases the number of characters that can fit on a given line)
|
|
842
|
+
*/
|
|
843
|
+
autoPageCharWeight?: number;
|
|
844
|
+
/**
|
|
845
|
+
* Auto-paging line weight
|
|
846
|
+
* - adjusts how many lines are used before slides wrap
|
|
847
|
+
* - range: -1.0 to 1.0
|
|
848
|
+
* @see https://gitbrent.github.io/PptxGenJS/docs/api-tables.html
|
|
849
|
+
* @default 0.0
|
|
850
|
+
* @example 0.5 // tables are taller (increases the number of lines that can fit on a given slide)
|
|
851
|
+
*/
|
|
852
|
+
autoPageLineWeight?: number;
|
|
853
|
+
/**
|
|
854
|
+
* Whether table header row(s) should be repeated on each new slide creating by autoPage.
|
|
855
|
+
* Use `autoPageHeaderRows` to designate how many rows comprise the table header (1+).
|
|
856
|
+
* @default false
|
|
857
|
+
* @since v3.3.0
|
|
858
|
+
*/
|
|
859
|
+
autoPageRepeatHeader?: boolean;
|
|
860
|
+
/**
|
|
861
|
+
* Number of rows that comprise table headers
|
|
862
|
+
* - required when `autoPageRepeatHeader` is set to true.
|
|
863
|
+
* @example 2 - repeats the first two table rows on each new slide created
|
|
864
|
+
* @default 1
|
|
865
|
+
* @since v3.3.0
|
|
866
|
+
*/
|
|
867
|
+
autoPageHeaderRows?: number;
|
|
868
|
+
/**
|
|
869
|
+
* The `y` location to use on subsequent slides created by autopaging
|
|
870
|
+
* @default (top margin of Slide)
|
|
871
|
+
*/
|
|
872
|
+
autoPageSlideStartY?: number;
|
|
873
|
+
/**
|
|
874
|
+
* Table border
|
|
875
|
+
* - single value is applied to all 4 sides
|
|
876
|
+
* - array of values in TRBL order for individual sides
|
|
877
|
+
*/
|
|
878
|
+
border?: BorderProps | [BorderProps, BorderProps, BorderProps, BorderProps];
|
|
879
|
+
/**
|
|
880
|
+
* Width of table columns (inches)
|
|
881
|
+
* - single value is applied to every column equally based upon `w`
|
|
882
|
+
* - array of values in applied to each column in order
|
|
883
|
+
* @default columns of equal width based upon `w`
|
|
884
|
+
*/
|
|
885
|
+
colW?: number | number[];
|
|
886
|
+
/**
|
|
887
|
+
* Cell background color
|
|
888
|
+
* @example { color:'FF0000' } // hex color (red)
|
|
889
|
+
* @example { color:'0088CC', transparency:50 } // hex color, 50% transparent
|
|
890
|
+
* @example { color:pptx.SchemeColor.accent1 } // theme color Accent1
|
|
891
|
+
*/
|
|
892
|
+
fill?: ShapeFillProps;
|
|
893
|
+
/**
|
|
894
|
+
* Cell margin (inches)
|
|
895
|
+
* - affects all table cells, is superceded by cell options
|
|
896
|
+
*/
|
|
897
|
+
margin?: Margin;
|
|
898
|
+
/**
|
|
899
|
+
* Height of table rows (inches)
|
|
900
|
+
* - single value is applied to every row equally based upon `h`
|
|
901
|
+
* - array of values in applied to each row in order
|
|
902
|
+
* @default rows of equal height based upon `h`
|
|
903
|
+
*/
|
|
904
|
+
rowH?: number | number[];
|
|
905
|
+
/**
|
|
906
|
+
* DEV TOOL: Verbose Mode (to console)
|
|
907
|
+
* - tell the library to provide an almost ridiculous amount of detail during auto-paging calculations
|
|
908
|
+
* @default false // obviously
|
|
909
|
+
*/
|
|
910
|
+
verbose?: boolean;
|
|
911
|
+
/**
|
|
912
|
+
* @deprecated v3.3.0 - use `autoPageSlideStartY`
|
|
913
|
+
*/
|
|
914
|
+
newSlideStartY?: number;
|
|
915
|
+
}
|
|
916
|
+
interface TableCell {
|
|
917
|
+
_type?: SLIDE_OBJECT_TYPES.tablecell;
|
|
918
|
+
/** lines in this cell (autoPage) */
|
|
919
|
+
_lines?: TableCell[][];
|
|
920
|
+
/** `text` prop but guaranteed to hold "TableCell[]" */
|
|
921
|
+
_tableCells?: TableCell[];
|
|
922
|
+
/** height in EMU */
|
|
923
|
+
_lineHeight?: number;
|
|
924
|
+
_hmerge?: boolean;
|
|
925
|
+
_vmerge?: boolean;
|
|
926
|
+
_rowContinue?: number;
|
|
927
|
+
_optImp?: any;
|
|
928
|
+
text?: string | number | TableCell[];
|
|
929
|
+
options?: TableCellProps;
|
|
930
|
+
}
|
|
931
|
+
interface TableRowSlide {
|
|
932
|
+
rows: TableRow[];
|
|
933
|
+
}
|
|
934
|
+
type TableRow = TableCell[];
|
|
935
|
+
interface TextGlowProps {
|
|
936
|
+
/**
|
|
937
|
+
* Border color (hex format)
|
|
938
|
+
* @example 'FF3399'
|
|
939
|
+
*/
|
|
940
|
+
color?: HexColor;
|
|
941
|
+
/**
|
|
942
|
+
* opacity (0.0 - 1.0)
|
|
943
|
+
* @example 0.5
|
|
944
|
+
* 50% opaque
|
|
945
|
+
*/
|
|
946
|
+
opacity?: number;
|
|
947
|
+
/**
|
|
948
|
+
* size (points)
|
|
949
|
+
*/
|
|
950
|
+
size: number;
|
|
951
|
+
}
|
|
952
|
+
interface TextPropsOptions extends PositionProps, DataOrPathProps, TextBaseProps, ObjectNameProps {
|
|
953
|
+
_bodyProp?: {
|
|
954
|
+
autoFit?: boolean;
|
|
955
|
+
align?: TEXT_HALIGN;
|
|
956
|
+
anchor?: TEXT_VALIGN;
|
|
957
|
+
lIns?: number;
|
|
958
|
+
rIns?: number;
|
|
959
|
+
tIns?: number;
|
|
960
|
+
bIns?: number;
|
|
961
|
+
vert?: 'eaVert' | 'horz' | 'mongolianVert' | 'vert' | 'vert270' | 'wordArtVert' | 'wordArtVertRtl';
|
|
962
|
+
wrap?: boolean;
|
|
963
|
+
};
|
|
964
|
+
_lineIdx?: number;
|
|
965
|
+
baseline?: number;
|
|
966
|
+
/**
|
|
967
|
+
* Character spacing
|
|
968
|
+
*/
|
|
969
|
+
charSpacing?: number;
|
|
970
|
+
/**
|
|
971
|
+
* Text fit options
|
|
972
|
+
*
|
|
973
|
+
* MS-PPT > Format Shape > Shape Options > Text Box > "[unlabeled group]": [3 options below]
|
|
974
|
+
* - 'none' = Do not Autofit
|
|
975
|
+
* - 'shrink' = Shrink text on overflow
|
|
976
|
+
* - 'resize' = Resize shape to fit text
|
|
977
|
+
*
|
|
978
|
+
* **Note** 'shrink' and 'resize' only take effect after editing text/resize shape.
|
|
979
|
+
* Both PowerPoint and Word dynamically calculate a scaling factor and apply it when edit/resize occurs.
|
|
980
|
+
*
|
|
981
|
+
* There is no way for this library to trigger that behavior, sorry.
|
|
982
|
+
* @since v3.3.0
|
|
983
|
+
* @default "none"
|
|
984
|
+
*/
|
|
985
|
+
fit?: 'none' | 'shrink' | 'resize';
|
|
986
|
+
/**
|
|
987
|
+
* Shape fill
|
|
988
|
+
* @example { color:'FF0000' } // hex color (red)
|
|
989
|
+
* @example { color:'0088CC', transparency:50 } // hex color, 50% transparent
|
|
990
|
+
* @example { color:pptx.SchemeColor.accent1 } // theme color Accent1
|
|
991
|
+
*/
|
|
992
|
+
fill?: ShapeFillProps;
|
|
993
|
+
/**
|
|
994
|
+
* Flip shape horizontally?
|
|
995
|
+
* @default false
|
|
996
|
+
*/
|
|
997
|
+
flipH?: boolean;
|
|
998
|
+
/**
|
|
999
|
+
* Flip shape vertical?
|
|
1000
|
+
* @default false
|
|
1001
|
+
*/
|
|
1002
|
+
flipV?: boolean;
|
|
1003
|
+
glow?: TextGlowProps;
|
|
1004
|
+
hyperlink?: HyperlinkProps;
|
|
1005
|
+
indentLevel?: number;
|
|
1006
|
+
isTextBox?: boolean;
|
|
1007
|
+
line?: ShapeLineProps;
|
|
1008
|
+
/**
|
|
1009
|
+
* Line spacing (pt)
|
|
1010
|
+
* - PowerPoint: Paragraph > Indents and Spacing > Line Spacing: > "Exactly"
|
|
1011
|
+
* @example 28 // 28pt
|
|
1012
|
+
*/
|
|
1013
|
+
lineSpacing?: number;
|
|
1014
|
+
/**
|
|
1015
|
+
* line spacing multiple (percent)
|
|
1016
|
+
* - range: 0.0-9.99
|
|
1017
|
+
* - PowerPoint: Paragraph > Indents and Spacing > Line Spacing: > "Multiple"
|
|
1018
|
+
* @example 1.5 // 1.5X line spacing
|
|
1019
|
+
* @since v3.5.0
|
|
1020
|
+
*/
|
|
1021
|
+
lineSpacingMultiple?: number;
|
|
1022
|
+
/**
|
|
1023
|
+
* Margin (points)
|
|
1024
|
+
* - PowerPoint: Format Shape > Shape Options > Size & Properties > Text Box > Left/Right/Top/Bottom margin
|
|
1025
|
+
* @default "Normal" margin in PowerPoint [3.5, 7.0, 3.5, 7.0] // (this library sets no value, but PowerPoint defaults to "Normal" [0.05", 0.1", 0.05", 0.1"])
|
|
1026
|
+
* @example 0 // Top/Right/Bottom/Left margin 0 [0.0" in powerpoint]
|
|
1027
|
+
* @example 10 // Top/Right/Bottom/Left margin 10 [0.14" in powerpoint]
|
|
1028
|
+
* @example [10,5,10,5] // Top margin 10, Right margin 5, Bottom margin 10, Left margin 5
|
|
1029
|
+
*/
|
|
1030
|
+
margin?: Margin;
|
|
1031
|
+
outline?: {
|
|
1032
|
+
color: Color;
|
|
1033
|
+
size: number;
|
|
1034
|
+
};
|
|
1035
|
+
paraSpaceAfter?: number;
|
|
1036
|
+
paraSpaceBefore?: number;
|
|
1037
|
+
placeholder?: string;
|
|
1038
|
+
/**
|
|
1039
|
+
* Rounded rectangle radius (only for pptx.shapes.ROUNDED_RECTANGLE)
|
|
1040
|
+
* - values: 0.0 to 1.0
|
|
1041
|
+
* @default 0
|
|
1042
|
+
*/
|
|
1043
|
+
rectRadius?: number;
|
|
1044
|
+
/**
|
|
1045
|
+
* Rotation (degrees)
|
|
1046
|
+
* - range: -360 to 360
|
|
1047
|
+
* @default 0
|
|
1048
|
+
* @example 180 // rotate 180 degrees
|
|
1049
|
+
*/
|
|
1050
|
+
rotate?: number;
|
|
1051
|
+
/**
|
|
1052
|
+
* Whether to enable right-to-left mode
|
|
1053
|
+
* @default false
|
|
1054
|
+
*/
|
|
1055
|
+
rtlMode?: boolean;
|
|
1056
|
+
shadow?: ShadowProps;
|
|
1057
|
+
shape?: SHAPE_NAME;
|
|
1058
|
+
strike?: boolean | 'dblStrike' | 'sngStrike';
|
|
1059
|
+
subscript?: boolean;
|
|
1060
|
+
superscript?: boolean;
|
|
1061
|
+
/**
|
|
1062
|
+
* Vertical alignment
|
|
1063
|
+
* @default middle
|
|
1064
|
+
*/
|
|
1065
|
+
valign?: VAlign;
|
|
1066
|
+
vert?: 'eaVert' | 'horz' | 'mongolianVert' | 'vert' | 'vert270' | 'wordArtVert' | 'wordArtVertRtl';
|
|
1067
|
+
/**
|
|
1068
|
+
* Text wrap
|
|
1069
|
+
* @since v3.3.0
|
|
1070
|
+
* @default true
|
|
1071
|
+
*/
|
|
1072
|
+
wrap?: boolean;
|
|
1073
|
+
/**
|
|
1074
|
+
* Whether "Fit to Shape?" is enabled
|
|
1075
|
+
* @deprecated v3.3.0 - use `fit`
|
|
1076
|
+
*/
|
|
1077
|
+
autoFit?: boolean;
|
|
1078
|
+
/**
|
|
1079
|
+
* Whather "Shrink Text on Overflow?" is enabled
|
|
1080
|
+
* @deprecated v3.3.0 - use `fit`
|
|
1081
|
+
*/
|
|
1082
|
+
shrinkText?: boolean;
|
|
1083
|
+
/**
|
|
1084
|
+
* Inset
|
|
1085
|
+
* @deprecated v3.10.0 - use `margin`
|
|
1086
|
+
*/
|
|
1087
|
+
inset?: number;
|
|
1088
|
+
/**
|
|
1089
|
+
* Dash type
|
|
1090
|
+
* @deprecated v3.3.0 - use `line.dashType`
|
|
1091
|
+
*/
|
|
1092
|
+
lineDash?: 'solid' | 'dash' | 'dashDot' | 'lgDash' | 'lgDashDot' | 'lgDashDotDot' | 'sysDash' | 'sysDot';
|
|
1093
|
+
/**
|
|
1094
|
+
* @deprecated v3.3.0 - use `line.beginArrowType`
|
|
1095
|
+
*/
|
|
1096
|
+
lineHead?: 'none' | 'arrow' | 'diamond' | 'oval' | 'stealth' | 'triangle';
|
|
1097
|
+
/**
|
|
1098
|
+
* @deprecated v3.3.0 - use `line.width`
|
|
1099
|
+
*/
|
|
1100
|
+
lineSize?: number;
|
|
1101
|
+
/**
|
|
1102
|
+
* @deprecated v3.3.0 - use `line.endArrowType`
|
|
1103
|
+
*/
|
|
1104
|
+
lineTail?: 'none' | 'arrow' | 'diamond' | 'oval' | 'stealth' | 'triangle';
|
|
1105
|
+
}
|
|
1106
|
+
interface TextProps {
|
|
1107
|
+
text?: string | number;
|
|
1108
|
+
options?: TextPropsOptions;
|
|
1109
|
+
}
|
|
1110
|
+
type ChartAxisTickMark = 'none' | 'inside' | 'outside' | 'cross';
|
|
1111
|
+
type ChartLineCap = 'flat' | 'round' | 'square';
|
|
1112
|
+
interface OptsChartData {
|
|
1113
|
+
_dataIndex?: number;
|
|
1114
|
+
/**
|
|
1115
|
+
* category labels
|
|
1116
|
+
* @example ['Year 2000', 'Year 2010', 'Year 2020'] // single-level category axes labels
|
|
1117
|
+
* @example [['Year 2000', 'Year 2010', 'Year 2020'], ['Decades', '', '']] // multi-level category axes labels
|
|
1118
|
+
* @since `labels` string[][] type added v3.11.0
|
|
1119
|
+
*/
|
|
1120
|
+
labels?: string[] | string[][];
|
|
1121
|
+
/**
|
|
1122
|
+
* series name
|
|
1123
|
+
* @example 'Locations'
|
|
1124
|
+
*/
|
|
1125
|
+
name?: string;
|
|
1126
|
+
/**
|
|
1127
|
+
* bubble sizes
|
|
1128
|
+
* @example [5, 1, 5, 1]
|
|
1129
|
+
*/
|
|
1130
|
+
sizes?: number[];
|
|
1131
|
+
/**
|
|
1132
|
+
* category values
|
|
1133
|
+
* @example [2000, 2010, 2020]
|
|
1134
|
+
*/
|
|
1135
|
+
values?: number[];
|
|
1136
|
+
}
|
|
1137
|
+
interface IOptsChartData extends OptsChartData {
|
|
1138
|
+
labels?: string[][];
|
|
1139
|
+
}
|
|
1140
|
+
interface OptsChartGridLine {
|
|
1141
|
+
/**
|
|
1142
|
+
* MS-PPT > Chart format > Format Major Gridlines > Line > Cap type
|
|
1143
|
+
* - line cap type
|
|
1144
|
+
* @default flat
|
|
1145
|
+
*/
|
|
1146
|
+
cap?: ChartLineCap;
|
|
1147
|
+
/**
|
|
1148
|
+
* Gridline color (hex)
|
|
1149
|
+
* @example 'FF3399'
|
|
1150
|
+
*/
|
|
1151
|
+
color?: HexColor;
|
|
1152
|
+
/**
|
|
1153
|
+
* Gridline size (points)
|
|
1154
|
+
*/
|
|
1155
|
+
size?: number;
|
|
1156
|
+
/**
|
|
1157
|
+
* Gridline style
|
|
1158
|
+
*/
|
|
1159
|
+
style?: 'solid' | 'dash' | 'dot' | 'none';
|
|
1160
|
+
}
|
|
1161
|
+
interface IChartMulti {
|
|
1162
|
+
type: CHART_NAME;
|
|
1163
|
+
data: OptsChartData[];
|
|
1164
|
+
options: IChartOptsLib;
|
|
1165
|
+
}
|
|
1166
|
+
interface IChartPropsFillLine {
|
|
1167
|
+
/**
|
|
1168
|
+
* PowerPoint: Format Chart Area/Plot > Border ["Line"]
|
|
1169
|
+
* @example border: {color: 'FF0000', pt: 1} // hex RGB color, 1 pt line
|
|
1170
|
+
*/
|
|
1171
|
+
border?: BorderProps;
|
|
1172
|
+
/**
|
|
1173
|
+
* PowerPoint: Format Chart Area/Plot Area > Fill
|
|
1174
|
+
* @example fill: {color: '696969'} // hex RGB color value
|
|
1175
|
+
* @example fill: {color: pptx.SchemeColor.background2} // Theme color value
|
|
1176
|
+
* @example fill: {transparency: 50} // 50% transparency
|
|
1177
|
+
*/
|
|
1178
|
+
fill?: ShapeFillProps;
|
|
1179
|
+
}
|
|
1180
|
+
interface IChartAreaProps extends IChartPropsFillLine {
|
|
1181
|
+
/**
|
|
1182
|
+
* Whether the chart area has rounded corners
|
|
1183
|
+
* - only applies when either `fill` or `border` is used
|
|
1184
|
+
* @default true
|
|
1185
|
+
* @since v3.11
|
|
1186
|
+
*/
|
|
1187
|
+
roundedCorners?: boolean;
|
|
1188
|
+
}
|
|
1189
|
+
interface IChartPropsBase {
|
|
1190
|
+
/**
|
|
1191
|
+
* Axis position
|
|
1192
|
+
*/
|
|
1193
|
+
axisPos?: 'b' | 'l' | 'r' | 't';
|
|
1194
|
+
chartColors?: HexColor[];
|
|
1195
|
+
/**
|
|
1196
|
+
* opacity (0 - 100)
|
|
1197
|
+
* @example 50 // 50% opaque
|
|
1198
|
+
*/
|
|
1199
|
+
chartColorsOpacity?: number;
|
|
1200
|
+
dataBorder?: BorderProps;
|
|
1201
|
+
displayBlanksAs?: string;
|
|
1202
|
+
invertedColors?: HexColor[];
|
|
1203
|
+
lang?: string;
|
|
1204
|
+
layout?: PositionProps;
|
|
1205
|
+
shadow?: ShadowProps;
|
|
1206
|
+
/**
|
|
1207
|
+
* @default false
|
|
1208
|
+
*/
|
|
1209
|
+
showLabel?: boolean;
|
|
1210
|
+
showLeaderLines?: boolean;
|
|
1211
|
+
/**
|
|
1212
|
+
* @default false
|
|
1213
|
+
*/
|
|
1214
|
+
showLegend?: boolean;
|
|
1215
|
+
/**
|
|
1216
|
+
* @default false
|
|
1217
|
+
*/
|
|
1218
|
+
showPercent?: boolean;
|
|
1219
|
+
/**
|
|
1220
|
+
* @default false
|
|
1221
|
+
*/
|
|
1222
|
+
showSerName?: boolean;
|
|
1223
|
+
/**
|
|
1224
|
+
* @default false
|
|
1225
|
+
*/
|
|
1226
|
+
showTitle?: boolean;
|
|
1227
|
+
/**
|
|
1228
|
+
* @default false
|
|
1229
|
+
*/
|
|
1230
|
+
showValue?: boolean;
|
|
1231
|
+
/**
|
|
1232
|
+
* 3D Perspecitve
|
|
1233
|
+
* - range: 0-120
|
|
1234
|
+
* @default 30
|
|
1235
|
+
*/
|
|
1236
|
+
v3DPerspective?: number;
|
|
1237
|
+
/**
|
|
1238
|
+
* Right Angle Axes
|
|
1239
|
+
* - Shows chart from first-person perspective
|
|
1240
|
+
* - Overrides `v3DPerspective` when true
|
|
1241
|
+
* - PowerPoint: Chart Options > 3-D Rotation
|
|
1242
|
+
* @default false
|
|
1243
|
+
*/
|
|
1244
|
+
v3DRAngAx?: boolean;
|
|
1245
|
+
/**
|
|
1246
|
+
* X Rotation
|
|
1247
|
+
* - PowerPoint: Chart Options > 3-D Rotation
|
|
1248
|
+
* - range: 0-359.9
|
|
1249
|
+
* @default 30
|
|
1250
|
+
*/
|
|
1251
|
+
v3DRotX?: number;
|
|
1252
|
+
/**
|
|
1253
|
+
* Y Rotation
|
|
1254
|
+
* - range: 0-359.9
|
|
1255
|
+
* @default 30
|
|
1256
|
+
*/
|
|
1257
|
+
v3DRotY?: number;
|
|
1258
|
+
/**
|
|
1259
|
+
* PowerPoint: Format Chart Area (Fill & Border/Line)
|
|
1260
|
+
* @since v3.11
|
|
1261
|
+
*/
|
|
1262
|
+
chartArea?: IChartAreaProps;
|
|
1263
|
+
/**
|
|
1264
|
+
* PowerPoint: Format Plot Area (Fill & Border/Line)
|
|
1265
|
+
* @since v3.11
|
|
1266
|
+
*/
|
|
1267
|
+
plotArea?: IChartPropsFillLine;
|
|
1268
|
+
/**
|
|
1269
|
+
* @deprecated v3.11.0 - use `plotArea.border`
|
|
1270
|
+
*/
|
|
1271
|
+
border?: BorderProps;
|
|
1272
|
+
/**
|
|
1273
|
+
* @deprecated v3.11.0 - use `plotArea.fill`
|
|
1274
|
+
*/
|
|
1275
|
+
fill?: HexColor;
|
|
1276
|
+
}
|
|
1277
|
+
interface IChartPropsAxisCat {
|
|
1278
|
+
/**
|
|
1279
|
+
* Multi-Chart prop: array of cat axes
|
|
1280
|
+
*/
|
|
1281
|
+
catAxes?: IChartPropsAxisCat[];
|
|
1282
|
+
catAxisBaseTimeUnit?: string;
|
|
1283
|
+
catAxisCrossesAt?: number | 'autoZero';
|
|
1284
|
+
catAxisHidden?: boolean;
|
|
1285
|
+
catAxisLabelColor?: string;
|
|
1286
|
+
catAxisLabelFontBold?: boolean;
|
|
1287
|
+
catAxisLabelFontFace?: string;
|
|
1288
|
+
catAxisLabelFontItalic?: boolean;
|
|
1289
|
+
catAxisLabelFontSize?: number;
|
|
1290
|
+
catAxisLabelFrequency?: string;
|
|
1291
|
+
catAxisLabelPos?: 'none' | 'low' | 'high' | 'nextTo';
|
|
1292
|
+
catAxisLabelRotate?: number;
|
|
1293
|
+
catAxisLineColor?: string;
|
|
1294
|
+
catAxisLineShow?: boolean;
|
|
1295
|
+
catAxisLineSize?: number;
|
|
1296
|
+
catAxisLineStyle?: 'solid' | 'dash' | 'dot';
|
|
1297
|
+
catAxisMajorTickMark?: ChartAxisTickMark;
|
|
1298
|
+
catAxisMajorTimeUnit?: string;
|
|
1299
|
+
catAxisMajorUnit?: number;
|
|
1300
|
+
catAxisMaxVal?: number;
|
|
1301
|
+
catAxisMinorTickMark?: ChartAxisTickMark;
|
|
1302
|
+
catAxisMinorTimeUnit?: string;
|
|
1303
|
+
catAxisMinorUnit?: number;
|
|
1304
|
+
catAxisMinVal?: number;
|
|
1305
|
+
/** @since v3.11.0 */
|
|
1306
|
+
catAxisMultiLevelLabels?: boolean;
|
|
1307
|
+
catAxisOrientation?: 'minMax';
|
|
1308
|
+
catAxisTitle?: string;
|
|
1309
|
+
catAxisTitleColor?: string;
|
|
1310
|
+
catAxisTitleFontFace?: string;
|
|
1311
|
+
catAxisTitleFontSize?: number;
|
|
1312
|
+
catAxisTitleRotate?: number;
|
|
1313
|
+
catGridLine?: OptsChartGridLine;
|
|
1314
|
+
catLabelFormatCode?: string;
|
|
1315
|
+
/**
|
|
1316
|
+
* Whether data should use secondary category axis (instead of primary)
|
|
1317
|
+
* @default false
|
|
1318
|
+
*/
|
|
1319
|
+
secondaryCatAxis?: boolean;
|
|
1320
|
+
showCatAxisTitle?: boolean;
|
|
1321
|
+
}
|
|
1322
|
+
interface IChartPropsAxisSer {
|
|
1323
|
+
serAxisBaseTimeUnit?: string;
|
|
1324
|
+
serAxisHidden?: boolean;
|
|
1325
|
+
serAxisLabelColor?: string;
|
|
1326
|
+
serAxisLabelFontBold?: boolean;
|
|
1327
|
+
serAxisLabelFontFace?: string;
|
|
1328
|
+
serAxisLabelFontItalic?: boolean;
|
|
1329
|
+
serAxisLabelFontSize?: number;
|
|
1330
|
+
serAxisLabelFrequency?: string;
|
|
1331
|
+
serAxisLabelPos?: 'none' | 'low' | 'high' | 'nextTo';
|
|
1332
|
+
serAxisLineColor?: string;
|
|
1333
|
+
serAxisLineShow?: boolean;
|
|
1334
|
+
serAxisMajorTimeUnit?: string;
|
|
1335
|
+
serAxisMajorUnit?: number;
|
|
1336
|
+
serAxisMinorTimeUnit?: string;
|
|
1337
|
+
serAxisMinorUnit?: number;
|
|
1338
|
+
serAxisOrientation?: string;
|
|
1339
|
+
serAxisTitle?: string;
|
|
1340
|
+
serAxisTitleColor?: string;
|
|
1341
|
+
serAxisTitleFontFace?: string;
|
|
1342
|
+
serAxisTitleFontSize?: number;
|
|
1343
|
+
serAxisTitleRotate?: number;
|
|
1344
|
+
serGridLine?: OptsChartGridLine;
|
|
1345
|
+
serLabelFormatCode?: string;
|
|
1346
|
+
showSerAxisTitle?: boolean;
|
|
1347
|
+
}
|
|
1348
|
+
interface IChartPropsAxisVal {
|
|
1349
|
+
/**
|
|
1350
|
+
* Whether data should use secondary value axis (instead of primary)
|
|
1351
|
+
* @default false
|
|
1352
|
+
*/
|
|
1353
|
+
secondaryValAxis?: boolean;
|
|
1354
|
+
showValAxisTitle?: boolean;
|
|
1355
|
+
/**
|
|
1356
|
+
* Multi-Chart prop: array of val axes
|
|
1357
|
+
*/
|
|
1358
|
+
valAxes?: IChartPropsAxisVal[];
|
|
1359
|
+
valAxisCrossesAt?: number | 'autoZero';
|
|
1360
|
+
valAxisDisplayUnit?: 'billions' | 'hundredMillions' | 'hundreds' | 'hundredThousands' | 'millions' | 'tenMillions' | 'tenThousands' | 'thousands' | 'trillions';
|
|
1361
|
+
valAxisDisplayUnitLabel?: boolean;
|
|
1362
|
+
valAxisHidden?: boolean;
|
|
1363
|
+
valAxisLabelColor?: string;
|
|
1364
|
+
valAxisLabelFontBold?: boolean;
|
|
1365
|
+
valAxisLabelFontFace?: string;
|
|
1366
|
+
valAxisLabelFontItalic?: boolean;
|
|
1367
|
+
valAxisLabelFontSize?: number;
|
|
1368
|
+
valAxisLabelFormatCode?: string;
|
|
1369
|
+
valAxisLabelPos?: 'none' | 'low' | 'high' | 'nextTo';
|
|
1370
|
+
valAxisLabelRotate?: number;
|
|
1371
|
+
valAxisLineColor?: string;
|
|
1372
|
+
valAxisLineShow?: boolean;
|
|
1373
|
+
valAxisLineSize?: number;
|
|
1374
|
+
valAxisLineStyle?: 'solid' | 'dash' | 'dot';
|
|
1375
|
+
/**
|
|
1376
|
+
* PowerPoint: Format Axis > Axis Options > Logarithmic scale - Base
|
|
1377
|
+
* - range: 2-99
|
|
1378
|
+
* @since v3.5.0
|
|
1379
|
+
*/
|
|
1380
|
+
valAxisLogScaleBase?: number;
|
|
1381
|
+
valAxisMajorTickMark?: ChartAxisTickMark;
|
|
1382
|
+
valAxisMajorUnit?: number;
|
|
1383
|
+
valAxisMaxVal?: number;
|
|
1384
|
+
valAxisMinorTickMark?: ChartAxisTickMark;
|
|
1385
|
+
valAxisMinVal?: number;
|
|
1386
|
+
valAxisOrientation?: 'minMax';
|
|
1387
|
+
valAxisTitle?: string;
|
|
1388
|
+
valAxisTitleColor?: string;
|
|
1389
|
+
valAxisTitleFontFace?: string;
|
|
1390
|
+
valAxisTitleFontSize?: number;
|
|
1391
|
+
valAxisTitleRotate?: number;
|
|
1392
|
+
valGridLine?: OptsChartGridLine;
|
|
1393
|
+
/**
|
|
1394
|
+
* Value label format code
|
|
1395
|
+
* - this also directs Data Table formatting
|
|
1396
|
+
* @since v3.3.0
|
|
1397
|
+
* @example '#%' // round percent
|
|
1398
|
+
* @example '0.00%' // shows values as '0.00%'
|
|
1399
|
+
* @example '$0.00' // shows values as '$0.00'
|
|
1400
|
+
*/
|
|
1401
|
+
valLabelFormatCode?: string;
|
|
1402
|
+
}
|
|
1403
|
+
interface IChartPropsChartBar {
|
|
1404
|
+
bar3DShape?: string;
|
|
1405
|
+
barDir?: string;
|
|
1406
|
+
barGapDepthPct?: number;
|
|
1407
|
+
/**
|
|
1408
|
+
* MS-PPT > Format chart > Format Data Point > Series Options > "Gap Width"
|
|
1409
|
+
* - width (percent)
|
|
1410
|
+
* - range: `0`-`500`
|
|
1411
|
+
* @default 150
|
|
1412
|
+
*/
|
|
1413
|
+
barGapWidthPct?: number;
|
|
1414
|
+
barGrouping?: string;
|
|
1415
|
+
/**
|
|
1416
|
+
* MS-PPT > Format chart > Format Data Point > Series Options > "Series Overlap"
|
|
1417
|
+
* - overlap (percent)
|
|
1418
|
+
* - range: `-100`-`100`
|
|
1419
|
+
* @since v3.9.0
|
|
1420
|
+
* @default 0
|
|
1421
|
+
*/
|
|
1422
|
+
barOverlapPct?: number;
|
|
1423
|
+
}
|
|
1424
|
+
interface IChartPropsChartDoughnut {
|
|
1425
|
+
dataNoEffects?: boolean;
|
|
1426
|
+
holeSize?: number;
|
|
1427
|
+
}
|
|
1428
|
+
interface IChartPropsChartLine {
|
|
1429
|
+
/**
|
|
1430
|
+
* MS-PPT > Chart format > Format Data Series > Line > Cap type
|
|
1431
|
+
* - line cap type
|
|
1432
|
+
* @default flat
|
|
1433
|
+
*/
|
|
1434
|
+
lineCap?: ChartLineCap;
|
|
1435
|
+
/**
|
|
1436
|
+
* MS-PPT > Chart format > Format Data Series > Marker Options > Built-in > Type
|
|
1437
|
+
* - line dash type
|
|
1438
|
+
* @default solid
|
|
1439
|
+
*/
|
|
1440
|
+
lineDash?: 'dash' | 'dashDot' | 'lgDash' | 'lgDashDot' | 'lgDashDotDot' | 'solid' | 'sysDash' | 'sysDot';
|
|
1441
|
+
/**
|
|
1442
|
+
* MS-PPT > Chart format > Format Data Series > Marker Options > Built-in > Type
|
|
1443
|
+
* - marker type
|
|
1444
|
+
* @default circle
|
|
1445
|
+
*/
|
|
1446
|
+
lineDataSymbol?: 'circle' | 'dash' | 'diamond' | 'dot' | 'none' | 'square' | 'triangle';
|
|
1447
|
+
/**
|
|
1448
|
+
* MS-PPT > Chart format > Format Data Series > [Marker Options] > Border > Color
|
|
1449
|
+
* - border color
|
|
1450
|
+
* @default circle
|
|
1451
|
+
*/
|
|
1452
|
+
lineDataSymbolLineColor?: string;
|
|
1453
|
+
/**
|
|
1454
|
+
* MS-PPT > Chart format > Format Data Series > [Marker Options] > Border > Width
|
|
1455
|
+
* - border width (points)
|
|
1456
|
+
* @default 0.75
|
|
1457
|
+
*/
|
|
1458
|
+
lineDataSymbolLineSize?: number;
|
|
1459
|
+
/**
|
|
1460
|
+
* MS-PPT > Chart format > Format Data Series > Marker Options > Built-in > Size
|
|
1461
|
+
* - marker size
|
|
1462
|
+
* - range: 2-72
|
|
1463
|
+
* @default 6
|
|
1464
|
+
*/
|
|
1465
|
+
lineDataSymbolSize?: number;
|
|
1466
|
+
/**
|
|
1467
|
+
* MS-PPT > Chart format > Format Data Series > Line > Width
|
|
1468
|
+
* - line width (points)
|
|
1469
|
+
* - range: 0-1584
|
|
1470
|
+
* @default 2
|
|
1471
|
+
*/
|
|
1472
|
+
lineSize?: number;
|
|
1473
|
+
/**
|
|
1474
|
+
* MS-PPT > Chart format > Format Data Series > Line > Smoothed line
|
|
1475
|
+
* - "Smoothed line"
|
|
1476
|
+
* @default false
|
|
1477
|
+
*/
|
|
1478
|
+
lineSmooth?: boolean;
|
|
1479
|
+
}
|
|
1480
|
+
interface IChartPropsChartPie {
|
|
1481
|
+
dataNoEffects?: boolean;
|
|
1482
|
+
/**
|
|
1483
|
+
* MS-PPT > Format chart > Format Data Series > Series Options > "Angle of first slice"
|
|
1484
|
+
* - angle (degrees)
|
|
1485
|
+
* - range: 0-359
|
|
1486
|
+
* @since v3.4.0
|
|
1487
|
+
* @default 0
|
|
1488
|
+
*/
|
|
1489
|
+
firstSliceAng?: number;
|
|
1490
|
+
}
|
|
1491
|
+
interface IChartPropsChartRadar {
|
|
1492
|
+
/**
|
|
1493
|
+
* MS-PPT > Chart Type > Waterfall
|
|
1494
|
+
* - radar chart type
|
|
1495
|
+
* @default standard
|
|
1496
|
+
*/
|
|
1497
|
+
radarStyle?: 'standard' | 'marker' | 'filled';
|
|
1498
|
+
}
|
|
1499
|
+
interface IChartPropsDataLabel {
|
|
1500
|
+
dataLabelBkgrdColors?: boolean;
|
|
1501
|
+
dataLabelColor?: string;
|
|
1502
|
+
dataLabelFontBold?: boolean;
|
|
1503
|
+
dataLabelFontFace?: string;
|
|
1504
|
+
dataLabelFontItalic?: boolean;
|
|
1505
|
+
dataLabelFontSize?: number;
|
|
1506
|
+
/**
|
|
1507
|
+
* Data label format code
|
|
1508
|
+
* @example '#%' // round percent
|
|
1509
|
+
* @example '0.00%' // shows values as '0.00%'
|
|
1510
|
+
* @example '$0.00' // shows values as '$0.00'
|
|
1511
|
+
*/
|
|
1512
|
+
dataLabelFormatCode?: string;
|
|
1513
|
+
dataLabelFormatScatter?: 'custom' | 'customXY' | 'XY';
|
|
1514
|
+
dataLabelPosition?: 'b' | 'bestFit' | 'ctr' | 'l' | 'r' | 't' | 'inEnd' | 'outEnd';
|
|
1515
|
+
}
|
|
1516
|
+
interface IChartPropsDataTable {
|
|
1517
|
+
dataTableFontSize?: number;
|
|
1518
|
+
/**
|
|
1519
|
+
* Data table format code
|
|
1520
|
+
* @since v3.3.0
|
|
1521
|
+
* @example '#%' // round percent
|
|
1522
|
+
* @example '0.00%' // shows values as '0.00%'
|
|
1523
|
+
* @example '$0.00' // shows values as '$0.00'
|
|
1524
|
+
*/
|
|
1525
|
+
dataTableFormatCode?: string;
|
|
1526
|
+
/**
|
|
1527
|
+
* Whether to show a data table adjacent to the chart
|
|
1528
|
+
* @default false
|
|
1529
|
+
*/
|
|
1530
|
+
showDataTable?: boolean;
|
|
1531
|
+
showDataTableHorzBorder?: boolean;
|
|
1532
|
+
showDataTableKeys?: boolean;
|
|
1533
|
+
showDataTableOutline?: boolean;
|
|
1534
|
+
showDataTableVertBorder?: boolean;
|
|
1535
|
+
}
|
|
1536
|
+
interface IChartPropsLegend {
|
|
1537
|
+
legendColor?: string;
|
|
1538
|
+
legendFontFace?: string;
|
|
1539
|
+
legendFontSize?: number;
|
|
1540
|
+
legendPos?: 'b' | 'l' | 'r' | 't' | 'tr';
|
|
1541
|
+
}
|
|
1542
|
+
interface IChartPropsTitle extends TextBaseProps {
|
|
1543
|
+
title?: string;
|
|
1544
|
+
titleAlign?: string;
|
|
1545
|
+
titleBold?: boolean;
|
|
1546
|
+
titleColor?: string;
|
|
1547
|
+
titleFontFace?: string;
|
|
1548
|
+
titleFontSize?: number;
|
|
1549
|
+
titlePos?: {
|
|
1550
|
+
x: number;
|
|
1551
|
+
y: number;
|
|
1552
|
+
};
|
|
1553
|
+
titleRotate?: number;
|
|
1554
|
+
}
|
|
1555
|
+
interface IChartOpts extends IChartPropsAxisCat, IChartPropsAxisSer, IChartPropsAxisVal, IChartPropsBase, IChartPropsChartBar, IChartPropsChartDoughnut, IChartPropsChartLine, IChartPropsChartPie, IChartPropsChartRadar, IChartPropsDataLabel, IChartPropsDataTable, IChartPropsLegend, IChartPropsTitle, ObjectNameProps, OptsChartGridLine, PositionProps {
|
|
1556
|
+
/**
|
|
1557
|
+
* Alt Text value ("How would you describe this object and its contents to someone who is blind?")
|
|
1558
|
+
* - PowerPoint: [right-click on a chart] > "Edit Alt Text..."
|
|
1559
|
+
*/
|
|
1560
|
+
altText?: string;
|
|
1561
|
+
}
|
|
1562
|
+
interface IChartOptsLib extends IChartOpts {
|
|
1563
|
+
_type?: CHART_NAME | IChartMulti[];
|
|
1564
|
+
}
|
|
1565
|
+
interface ISlideRelChart extends OptsChartData {
|
|
1566
|
+
type: CHART_NAME | IChartMulti[];
|
|
1567
|
+
opts: IChartOptsLib;
|
|
1568
|
+
data: IOptsChartData[];
|
|
1569
|
+
rId: number;
|
|
1570
|
+
Target: string;
|
|
1571
|
+
globalId: number;
|
|
1572
|
+
fileName: string;
|
|
1573
|
+
}
|
|
1574
|
+
interface ISlideRel {
|
|
1575
|
+
type: SLIDE_OBJECT_TYPES;
|
|
1576
|
+
Target: string;
|
|
1577
|
+
fileName?: string;
|
|
1578
|
+
data: any[] | string;
|
|
1579
|
+
opts?: IChartOpts;
|
|
1580
|
+
path?: string;
|
|
1581
|
+
extn?: string;
|
|
1582
|
+
globalId?: number;
|
|
1583
|
+
rId: number;
|
|
1584
|
+
}
|
|
1585
|
+
interface ISlideRelMedia {
|
|
1586
|
+
type: string;
|
|
1587
|
+
opts?: MediaProps;
|
|
1588
|
+
path?: string;
|
|
1589
|
+
extn?: string;
|
|
1590
|
+
data?: string | ArrayBuffer;
|
|
1591
|
+
/** used to indicate that a media file has already been read/enocded (PERF) */
|
|
1592
|
+
isDuplicate?: boolean;
|
|
1593
|
+
isSvgPng?: boolean;
|
|
1594
|
+
svgSize?: {
|
|
1595
|
+
w: number;
|
|
1596
|
+
h: number;
|
|
1597
|
+
};
|
|
1598
|
+
rId: number;
|
|
1599
|
+
Target: string;
|
|
1600
|
+
}
|
|
1601
|
+
interface ISlideObject {
|
|
1602
|
+
_type: SLIDE_OBJECT_TYPES;
|
|
1603
|
+
options?: ObjectOptions;
|
|
1604
|
+
text?: TextProps[];
|
|
1605
|
+
arrTabRows?: TableCell[][];
|
|
1606
|
+
chartRid?: number;
|
|
1607
|
+
image?: string;
|
|
1608
|
+
imageRid?: number;
|
|
1609
|
+
hyperlink?: HyperlinkProps;
|
|
1610
|
+
media?: string;
|
|
1611
|
+
mtype?: MediaType;
|
|
1612
|
+
mediaRid?: number;
|
|
1613
|
+
shape?: SHAPE_NAME;
|
|
1614
|
+
}
|
|
1615
|
+
interface WriteBaseProps {
|
|
1616
|
+
/**
|
|
1617
|
+
* Whether to compress export (can save substantial space, but takes a bit longer to export)
|
|
1618
|
+
* @default false
|
|
1619
|
+
* @since v3.5.0
|
|
1620
|
+
*/
|
|
1621
|
+
compression?: boolean;
|
|
1622
|
+
}
|
|
1623
|
+
interface WriteProps extends WriteBaseProps {
|
|
1624
|
+
/**
|
|
1625
|
+
* Output type
|
|
1626
|
+
* - values: 'arraybuffer' | 'base64' | 'binarystring' | 'blob' | 'nodebuffer' | 'uint8array' | 'STREAM'
|
|
1627
|
+
* @default 'blob'
|
|
1628
|
+
*/
|
|
1629
|
+
outputType?: WRITE_OUTPUT_TYPE;
|
|
1630
|
+
}
|
|
1631
|
+
interface WriteFileProps extends WriteBaseProps {
|
|
1632
|
+
/**
|
|
1633
|
+
* Export file name
|
|
1634
|
+
* @default 'Presentation.pptx'
|
|
1635
|
+
*/
|
|
1636
|
+
fileName?: string;
|
|
1637
|
+
}
|
|
1638
|
+
interface SectionProps {
|
|
1639
|
+
/**
|
|
1640
|
+
* Section title
|
|
1641
|
+
*/
|
|
1642
|
+
title: string;
|
|
1643
|
+
/**
|
|
1644
|
+
* Section order - uses to add section at any index
|
|
1645
|
+
* - values: 1-n
|
|
1646
|
+
*/
|
|
1647
|
+
order?: number;
|
|
1648
|
+
}
|
|
1649
|
+
interface SectionInternalProps extends SectionProps {
|
|
1650
|
+
_type?: 'user' | 'default';
|
|
1651
|
+
_slides: PresSlideInternal[];
|
|
1652
|
+
}
|
|
1653
|
+
interface PresLayout {
|
|
1654
|
+
_sizeW?: number;
|
|
1655
|
+
_sizeH?: number;
|
|
1656
|
+
/**
|
|
1657
|
+
* Layout Name
|
|
1658
|
+
* @example 'LAYOUT_WIDE'
|
|
1659
|
+
*/
|
|
1660
|
+
name: string;
|
|
1661
|
+
width: number;
|
|
1662
|
+
height: number;
|
|
1663
|
+
}
|
|
1664
|
+
interface SlideNumberProps extends PositionProps, TextBaseProps {
|
|
1665
|
+
/**
|
|
1666
|
+
* margin (points)
|
|
1667
|
+
*/
|
|
1668
|
+
margin?: Margin;
|
|
1669
|
+
}
|
|
1670
|
+
interface SlideMasterChartProps {
|
|
1671
|
+
type: CHART_NAME | IChartMulti[];
|
|
1672
|
+
data: OptsChartData[];
|
|
1673
|
+
options?: IChartOptsLib;
|
|
1674
|
+
opts?: IChartOptsLib;
|
|
1675
|
+
}
|
|
1676
|
+
type SlideMasterObject = {
|
|
1677
|
+
chart: SlideMasterChartProps;
|
|
1678
|
+
} | {
|
|
1679
|
+
image: ImageProps;
|
|
1680
|
+
} | {
|
|
1681
|
+
line: ShapeProps;
|
|
1682
|
+
} | {
|
|
1683
|
+
rect: ShapeProps;
|
|
1684
|
+
} | {
|
|
1685
|
+
text: TextProps;
|
|
1686
|
+
} | {
|
|
1687
|
+
placeholder: {
|
|
1688
|
+
options: PlaceholderProps;
|
|
1689
|
+
/**
|
|
1690
|
+
* Text to be shown in placeholder (shown until user focuses textbox or adds text)
|
|
1691
|
+
* - Leave blank to have powerpoint show default phrase (ex: "Click to add title")
|
|
1692
|
+
*/
|
|
1693
|
+
text?: string;
|
|
1694
|
+
};
|
|
1695
|
+
};
|
|
1696
|
+
interface SlideMasterProps {
|
|
1697
|
+
/**
|
|
1698
|
+
* Unique name for this master
|
|
1699
|
+
*/
|
|
1700
|
+
title: string;
|
|
1701
|
+
background?: BackgroundProps;
|
|
1702
|
+
margin?: Margin;
|
|
1703
|
+
slideNumber?: SlideNumberProps;
|
|
1704
|
+
objects?: SlideMasterObject[];
|
|
1705
|
+
/**
|
|
1706
|
+
* @deprecated v3.3.0 - use `background`
|
|
1707
|
+
*/
|
|
1708
|
+
bkgd?: string | BackgroundProps;
|
|
1709
|
+
}
|
|
1710
|
+
interface ObjectOptions extends ImageBaseProps, PositionProps, ShapeProps, TableCellProps, TextPropsOptions {
|
|
1711
|
+
_placeholderIdx?: number;
|
|
1712
|
+
_placeholderType?: PLACEHOLDER_TYPE;
|
|
1713
|
+
cx?: Coord;
|
|
1714
|
+
cy?: Coord;
|
|
1715
|
+
margin?: Margin;
|
|
1716
|
+
colW?: number | number[];
|
|
1717
|
+
rowH?: number | number[];
|
|
1718
|
+
}
|
|
1719
|
+
interface SlideBaseProps {
|
|
1720
|
+
_bkgdImgRid?: number;
|
|
1721
|
+
_margin?: Margin;
|
|
1722
|
+
_name?: string;
|
|
1723
|
+
_presLayout: PresLayout;
|
|
1724
|
+
_rels: ISlideRel[];
|
|
1725
|
+
_relsChart: ISlideRelChart[];
|
|
1726
|
+
_relsMedia: ISlideRelMedia[];
|
|
1727
|
+
_slideNum: number;
|
|
1728
|
+
_slideNumberProps?: SlideNumberProps | null;
|
|
1729
|
+
_slideObjects: ISlideObject[];
|
|
1730
|
+
background?: BackgroundProps;
|
|
1731
|
+
/**
|
|
1732
|
+
* @deprecated v3.3.0 - use `background`
|
|
1733
|
+
*/
|
|
1734
|
+
bkgd?: string | BackgroundProps;
|
|
1735
|
+
}
|
|
1736
|
+
interface SlideLayout {
|
|
1737
|
+
background?: BackgroundProps;
|
|
1738
|
+
/**
|
|
1739
|
+
* @deprecated v3.3.0 - use `background`
|
|
1740
|
+
*/
|
|
1741
|
+
bkgd?: string | BackgroundProps;
|
|
1742
|
+
}
|
|
1743
|
+
interface SlideLayoutInternal extends SlideBaseProps, SlideLayout {
|
|
1744
|
+
_slide?: {
|
|
1745
|
+
_bkgdImgRid?: number;
|
|
1746
|
+
back: string;
|
|
1747
|
+
color: string;
|
|
1748
|
+
hidden?: boolean;
|
|
1749
|
+
} | null;
|
|
1750
|
+
}
|
|
1751
|
+
interface PresSlide {
|
|
1752
|
+
addChart(type: CHART_NAME, data: OptsChartData[], options?: IChartOpts): PresSlide;
|
|
1753
|
+
addChart(type: IChartMulti[], options?: IChartOpts): PresSlide;
|
|
1754
|
+
addImage: (options: ImageProps) => PresSlide;
|
|
1755
|
+
addMedia: (options: MediaProps) => PresSlide;
|
|
1756
|
+
addNotes: (notes: string) => PresSlide;
|
|
1757
|
+
addShape: (shapeName: SHAPE_NAME, options?: ShapeProps) => PresSlide;
|
|
1758
|
+
addTable: (tableRows: TableRow[], options?: TableProps) => PresSlide;
|
|
1759
|
+
addText: (text: string | number | TextProps[], options?: TextPropsOptions) => PresSlide;
|
|
1760
|
+
readonly newAutoPagedSlides?: PresSlide[];
|
|
1761
|
+
/**
|
|
1762
|
+
* Background color or image (`color` | `path` | `data`)
|
|
1763
|
+
* @example { color: 'FF3399' } - hex color
|
|
1764
|
+
* @example { color: 'FF3399', transparency:50 } - hex color with 50% transparency
|
|
1765
|
+
* @example { path: 'https://onedrives.com/myimg.png` } - retrieve image via URL
|
|
1766
|
+
* @example { path: '/home/gitbrent/images/myimg.png` } - retrieve image via local path
|
|
1767
|
+
* @example { data: 'image/png;base64,iVtDaDrF[...]=' } - base64 string
|
|
1768
|
+
* @since v3.3.0
|
|
1769
|
+
*/
|
|
1770
|
+
background?: BackgroundProps;
|
|
1771
|
+
/**
|
|
1772
|
+
* @deprecated v3.3.0 - use `background`
|
|
1773
|
+
*/
|
|
1774
|
+
bkgd?: string | BackgroundProps;
|
|
1775
|
+
/**
|
|
1776
|
+
* Default text color (hex format)
|
|
1777
|
+
* @example 'FF3399'
|
|
1778
|
+
* @default '000000' (DEF_FONT_COLOR)
|
|
1779
|
+
*/
|
|
1780
|
+
color?: HexColor;
|
|
1781
|
+
/**
|
|
1782
|
+
* Whether slide is hidden
|
|
1783
|
+
* @default false
|
|
1784
|
+
*/
|
|
1785
|
+
hidden?: boolean;
|
|
1786
|
+
/**
|
|
1787
|
+
* Slide number options
|
|
1788
|
+
*/
|
|
1789
|
+
slideNumber?: SlideNumberProps;
|
|
1790
|
+
}
|
|
1791
|
+
interface PresSlideInternal extends SlideBaseProps, PresSlide {
|
|
1792
|
+
_rId: number;
|
|
1793
|
+
_slideLayout: SlideLayoutInternal | null;
|
|
1794
|
+
_slideId: number;
|
|
1795
|
+
}
|
|
1796
|
+
interface AddSlideProps {
|
|
1797
|
+
masterName?: string;
|
|
1798
|
+
sectionTitle?: string;
|
|
1799
|
+
}
|
|
1800
|
+
interface PresentationProps {
|
|
1801
|
+
author: string;
|
|
1802
|
+
company: string;
|
|
1803
|
+
layout: string;
|
|
1804
|
+
masterSlide: PresSlide;
|
|
1805
|
+
/**
|
|
1806
|
+
* Presentation's layout
|
|
1807
|
+
* read-only
|
|
1808
|
+
*/
|
|
1809
|
+
presLayout: PresLayout;
|
|
1810
|
+
revision: string;
|
|
1811
|
+
/**
|
|
1812
|
+
* Whether to enable right-to-left mode
|
|
1813
|
+
* @default false
|
|
1814
|
+
*/
|
|
1815
|
+
rtlMode: boolean;
|
|
1816
|
+
subject: string;
|
|
1817
|
+
theme: ThemeProps;
|
|
1818
|
+
title: string;
|
|
1819
|
+
}
|
|
1820
|
+
interface IPresentationProps extends PresentationProps {
|
|
1821
|
+
masterSlide: PresSlideInternal;
|
|
1822
|
+
sections: SectionInternalProps[];
|
|
1823
|
+
slideLayouts: SlideLayoutInternal[];
|
|
1824
|
+
slides: PresSlideInternal[];
|
|
1825
|
+
}
|
|
1826
|
+
//#endregion
|
|
1827
|
+
//#region src/core-enums.d.ts
|
|
1828
|
+
declare const EMU = 914400;
|
|
1829
|
+
declare const ONEPT = 12700;
|
|
1830
|
+
declare const CRLF = "\r\n";
|
|
1831
|
+
declare const LAYOUT_IDX_SERIES_BASE = 2147483649;
|
|
1832
|
+
declare const REGEX_HEX_COLOR: RegExp;
|
|
1833
|
+
declare const LINEH_MODIFIER = 1.67;
|
|
1834
|
+
declare const DEF_BULLET_MARGIN = 27;
|
|
1835
|
+
declare const DEF_CELL_BORDER: BorderProps;
|
|
1836
|
+
declare const DEF_CELL_MARGIN_PT: [number, number, number, number];
|
|
1837
|
+
declare const DEF_CELL_MARGIN_IN: [number, number, number, number];
|
|
1838
|
+
declare const DEF_CHART_BORDER: BorderProps;
|
|
1839
|
+
declare const DEF_CHART_GRIDLINE: OptsChartGridLine;
|
|
1840
|
+
declare const DEF_FONT_COLOR = "000000";
|
|
1841
|
+
declare const DEF_FONT_SIZE = 12;
|
|
1842
|
+
declare const DEF_FONT_TITLE_SIZE = 18;
|
|
1843
|
+
declare const DEF_PRES_LAYOUT = "LAYOUT_16x9";
|
|
1844
|
+
declare const DEF_PRES_LAYOUT_NAME = "DEFAULT";
|
|
1845
|
+
declare const DEF_SHAPE_LINE_COLOR = "333333";
|
|
1846
|
+
declare const DEF_SHAPE_SHADOW: {
|
|
1847
|
+
type: string;
|
|
1848
|
+
blur: number;
|
|
1849
|
+
offset: number;
|
|
1850
|
+
angle: number;
|
|
1851
|
+
color: string;
|
|
1852
|
+
opacity: number;
|
|
1853
|
+
rotateWithShape: boolean;
|
|
1854
|
+
};
|
|
1855
|
+
declare const DEF_SLIDE_BKGD = "FFFFFF";
|
|
1856
|
+
declare const DEF_SLIDE_MARGIN_IN: [number, number, number, number];
|
|
1857
|
+
declare const DEF_TEXT_SHADOW: {
|
|
1858
|
+
type: string;
|
|
1859
|
+
blur: number;
|
|
1860
|
+
offset: number;
|
|
1861
|
+
angle: number;
|
|
1862
|
+
color: string;
|
|
1863
|
+
opacity: number;
|
|
1864
|
+
};
|
|
1865
|
+
declare const DEF_TEXT_GLOW: {
|
|
1866
|
+
size: number;
|
|
1867
|
+
color: string;
|
|
1868
|
+
opacity: number;
|
|
1869
|
+
};
|
|
1870
|
+
declare const AXIS_ID_VALUE_PRIMARY = "2094734552";
|
|
1871
|
+
declare const AXIS_ID_VALUE_SECONDARY = "2094734553";
|
|
1872
|
+
declare const AXIS_ID_CATEGORY_PRIMARY = "2094734554";
|
|
1873
|
+
declare const AXIS_ID_CATEGORY_SECONDARY = "2094734555";
|
|
1874
|
+
declare const AXIS_ID_SERIES_PRIMARY = "2094734556";
|
|
1875
|
+
type JSZIP_OUTPUT_TYPE = 'arraybuffer' | 'base64' | 'binarystring' | 'blob' | 'nodebuffer' | 'uint8array';
|
|
1876
|
+
type WRITE_OUTPUT_TYPE = JSZIP_OUTPUT_TYPE | 'STREAM';
|
|
1877
|
+
type CHART_NAME = 'area' | 'bar' | 'bar3D' | 'bubble' | 'bubble3D' | 'doughnut' | 'line' | 'pie' | 'radar' | 'scatter';
|
|
1878
|
+
type SCHEME_COLORS = 'tx1' | 'tx2' | 'bg1' | 'bg2' | 'accent1' | 'accent2' | 'accent3' | 'accent4' | 'accent5' | 'accent6';
|
|
1879
|
+
declare const LETTERS: string[];
|
|
1880
|
+
declare const BARCHART_COLORS: string[];
|
|
1881
|
+
declare const PIECHART_COLORS: string[];
|
|
1882
|
+
declare enum TEXT_HALIGN {
|
|
1883
|
+
'left' = "left",
|
|
1884
|
+
'center' = "center",
|
|
1885
|
+
'right' = "right",
|
|
1886
|
+
'justify' = "justify"
|
|
1887
|
+
}
|
|
1888
|
+
declare enum TEXT_VALIGN {
|
|
1889
|
+
'b' = "b",
|
|
1890
|
+
'ctr' = "ctr",
|
|
1891
|
+
't' = "t"
|
|
1892
|
+
}
|
|
1893
|
+
declare const SLDNUMFLDID = "{F7021451-1387-4CA6-816F-3879F97B5CBC}";
|
|
1894
|
+
declare enum OutputType {
|
|
1895
|
+
'arraybuffer' = "arraybuffer",
|
|
1896
|
+
'base64' = "base64",
|
|
1897
|
+
'binarystring' = "binarystring",
|
|
1898
|
+
'blob' = "blob",
|
|
1899
|
+
'nodebuffer' = "nodebuffer",
|
|
1900
|
+
'uint8array' = "uint8array"
|
|
1901
|
+
}
|
|
1902
|
+
declare enum ChartType {
|
|
1903
|
+
'area' = "area",
|
|
1904
|
+
'bar' = "bar",
|
|
1905
|
+
'bar3d' = "bar3D",
|
|
1906
|
+
'bubble' = "bubble",
|
|
1907
|
+
'bubble3d' = "bubble3D",
|
|
1908
|
+
'doughnut' = "doughnut",
|
|
1909
|
+
'line' = "line",
|
|
1910
|
+
'pie' = "pie",
|
|
1911
|
+
'radar' = "radar",
|
|
1912
|
+
'scatter' = "scatter"
|
|
1913
|
+
}
|
|
1914
|
+
declare enum ShapeType {
|
|
1915
|
+
'accentBorderCallout1' = "accentBorderCallout1",
|
|
1916
|
+
'accentBorderCallout2' = "accentBorderCallout2",
|
|
1917
|
+
'accentBorderCallout3' = "accentBorderCallout3",
|
|
1918
|
+
'accentCallout1' = "accentCallout1",
|
|
1919
|
+
'accentCallout2' = "accentCallout2",
|
|
1920
|
+
'accentCallout3' = "accentCallout3",
|
|
1921
|
+
'actionButtonBackPrevious' = "actionButtonBackPrevious",
|
|
1922
|
+
'actionButtonBeginning' = "actionButtonBeginning",
|
|
1923
|
+
'actionButtonBlank' = "actionButtonBlank",
|
|
1924
|
+
'actionButtonDocument' = "actionButtonDocument",
|
|
1925
|
+
'actionButtonEnd' = "actionButtonEnd",
|
|
1926
|
+
'actionButtonForwardNext' = "actionButtonForwardNext",
|
|
1927
|
+
'actionButtonHelp' = "actionButtonHelp",
|
|
1928
|
+
'actionButtonHome' = "actionButtonHome",
|
|
1929
|
+
'actionButtonInformation' = "actionButtonInformation",
|
|
1930
|
+
'actionButtonMovie' = "actionButtonMovie",
|
|
1931
|
+
'actionButtonReturn' = "actionButtonReturn",
|
|
1932
|
+
'actionButtonSound' = "actionButtonSound",
|
|
1933
|
+
'arc' = "arc",
|
|
1934
|
+
'bentArrow' = "bentArrow",
|
|
1935
|
+
'bentUpArrow' = "bentUpArrow",
|
|
1936
|
+
'bevel' = "bevel",
|
|
1937
|
+
'blockArc' = "blockArc",
|
|
1938
|
+
'borderCallout1' = "borderCallout1",
|
|
1939
|
+
'borderCallout2' = "borderCallout2",
|
|
1940
|
+
'borderCallout3' = "borderCallout3",
|
|
1941
|
+
'bracePair' = "bracePair",
|
|
1942
|
+
'bracketPair' = "bracketPair",
|
|
1943
|
+
'callout1' = "callout1",
|
|
1944
|
+
'callout2' = "callout2",
|
|
1945
|
+
'callout3' = "callout3",
|
|
1946
|
+
'can' = "can",
|
|
1947
|
+
'chartPlus' = "chartPlus",
|
|
1948
|
+
'chartStar' = "chartStar",
|
|
1949
|
+
'chartX' = "chartX",
|
|
1950
|
+
'chevron' = "chevron",
|
|
1951
|
+
'chord' = "chord",
|
|
1952
|
+
'circularArrow' = "circularArrow",
|
|
1953
|
+
'cloud' = "cloud",
|
|
1954
|
+
'cloudCallout' = "cloudCallout",
|
|
1955
|
+
'corner' = "corner",
|
|
1956
|
+
'cornerTabs' = "cornerTabs",
|
|
1957
|
+
'cube' = "cube",
|
|
1958
|
+
'curvedDownArrow' = "curvedDownArrow",
|
|
1959
|
+
'curvedLeftArrow' = "curvedLeftArrow",
|
|
1960
|
+
'curvedRightArrow' = "curvedRightArrow",
|
|
1961
|
+
'curvedUpArrow' = "curvedUpArrow",
|
|
1962
|
+
'custGeom' = "custGeom",
|
|
1963
|
+
'decagon' = "decagon",
|
|
1964
|
+
'diagStripe' = "diagStripe",
|
|
1965
|
+
'diamond' = "diamond",
|
|
1966
|
+
'dodecagon' = "dodecagon",
|
|
1967
|
+
'donut' = "donut",
|
|
1968
|
+
'doubleWave' = "doubleWave",
|
|
1969
|
+
'downArrow' = "downArrow",
|
|
1970
|
+
'downArrowCallout' = "downArrowCallout",
|
|
1971
|
+
'ellipse' = "ellipse",
|
|
1972
|
+
'ellipseRibbon' = "ellipseRibbon",
|
|
1973
|
+
'ellipseRibbon2' = "ellipseRibbon2",
|
|
1974
|
+
'flowChartAlternateProcess' = "flowChartAlternateProcess",
|
|
1975
|
+
'flowChartCollate' = "flowChartCollate",
|
|
1976
|
+
'flowChartConnector' = "flowChartConnector",
|
|
1977
|
+
'flowChartDecision' = "flowChartDecision",
|
|
1978
|
+
'flowChartDelay' = "flowChartDelay",
|
|
1979
|
+
'flowChartDisplay' = "flowChartDisplay",
|
|
1980
|
+
'flowChartDocument' = "flowChartDocument",
|
|
1981
|
+
'flowChartExtract' = "flowChartExtract",
|
|
1982
|
+
'flowChartInputOutput' = "flowChartInputOutput",
|
|
1983
|
+
'flowChartInternalStorage' = "flowChartInternalStorage",
|
|
1984
|
+
'flowChartMagneticDisk' = "flowChartMagneticDisk",
|
|
1985
|
+
'flowChartMagneticDrum' = "flowChartMagneticDrum",
|
|
1986
|
+
'flowChartMagneticTape' = "flowChartMagneticTape",
|
|
1987
|
+
'flowChartManualInput' = "flowChartManualInput",
|
|
1988
|
+
'flowChartManualOperation' = "flowChartManualOperation",
|
|
1989
|
+
'flowChartMerge' = "flowChartMerge",
|
|
1990
|
+
'flowChartMultidocument' = "flowChartMultidocument",
|
|
1991
|
+
'flowChartOfflineStorage' = "flowChartOfflineStorage",
|
|
1992
|
+
'flowChartOffpageConnector' = "flowChartOffpageConnector",
|
|
1993
|
+
'flowChartOnlineStorage' = "flowChartOnlineStorage",
|
|
1994
|
+
'flowChartOr' = "flowChartOr",
|
|
1995
|
+
'flowChartPredefinedProcess' = "flowChartPredefinedProcess",
|
|
1996
|
+
'flowChartPreparation' = "flowChartPreparation",
|
|
1997
|
+
'flowChartProcess' = "flowChartProcess",
|
|
1998
|
+
'flowChartPunchedCard' = "flowChartPunchedCard",
|
|
1999
|
+
'flowChartPunchedTape' = "flowChartPunchedTape",
|
|
2000
|
+
'flowChartSort' = "flowChartSort",
|
|
2001
|
+
'flowChartSummingJunction' = "flowChartSummingJunction",
|
|
2002
|
+
'flowChartTerminator' = "flowChartTerminator",
|
|
2003
|
+
'folderCorner' = "folderCorner",
|
|
2004
|
+
'frame' = "frame",
|
|
2005
|
+
'funnel' = "funnel",
|
|
2006
|
+
'gear6' = "gear6",
|
|
2007
|
+
'gear9' = "gear9",
|
|
2008
|
+
'halfFrame' = "halfFrame",
|
|
2009
|
+
'heart' = "heart",
|
|
2010
|
+
'heptagon' = "heptagon",
|
|
2011
|
+
'hexagon' = "hexagon",
|
|
2012
|
+
'homePlate' = "homePlate",
|
|
2013
|
+
'horizontalScroll' = "horizontalScroll",
|
|
2014
|
+
'irregularSeal1' = "irregularSeal1",
|
|
2015
|
+
'irregularSeal2' = "irregularSeal2",
|
|
2016
|
+
'leftArrow' = "leftArrow",
|
|
2017
|
+
'leftArrowCallout' = "leftArrowCallout",
|
|
2018
|
+
'leftBrace' = "leftBrace",
|
|
2019
|
+
'leftBracket' = "leftBracket",
|
|
2020
|
+
'leftCircularArrow' = "leftCircularArrow",
|
|
2021
|
+
'leftRightArrow' = "leftRightArrow",
|
|
2022
|
+
'leftRightArrowCallout' = "leftRightArrowCallout",
|
|
2023
|
+
'leftRightCircularArrow' = "leftRightCircularArrow",
|
|
2024
|
+
'leftRightRibbon' = "leftRightRibbon",
|
|
2025
|
+
'leftRightUpArrow' = "leftRightUpArrow",
|
|
2026
|
+
'leftUpArrow' = "leftUpArrow",
|
|
2027
|
+
'lightningBolt' = "lightningBolt",
|
|
2028
|
+
'line' = "line",
|
|
2029
|
+
'lineInv' = "lineInv",
|
|
2030
|
+
'mathDivide' = "mathDivide",
|
|
2031
|
+
'mathEqual' = "mathEqual",
|
|
2032
|
+
'mathMinus' = "mathMinus",
|
|
2033
|
+
'mathMultiply' = "mathMultiply",
|
|
2034
|
+
'mathNotEqual' = "mathNotEqual",
|
|
2035
|
+
'mathPlus' = "mathPlus",
|
|
2036
|
+
'moon' = "moon",
|
|
2037
|
+
'noSmoking' = "noSmoking",
|
|
2038
|
+
'nonIsoscelesTrapezoid' = "nonIsoscelesTrapezoid",
|
|
2039
|
+
'notchedRightArrow' = "notchedRightArrow",
|
|
2040
|
+
'octagon' = "octagon",
|
|
2041
|
+
'parallelogram' = "parallelogram",
|
|
2042
|
+
'pentagon' = "pentagon",
|
|
2043
|
+
'pie' = "pie",
|
|
2044
|
+
'pieWedge' = "pieWedge",
|
|
2045
|
+
'plaque' = "plaque",
|
|
2046
|
+
'plaqueTabs' = "plaqueTabs",
|
|
2047
|
+
'plus' = "plus",
|
|
2048
|
+
'quadArrow' = "quadArrow",
|
|
2049
|
+
'quadArrowCallout' = "quadArrowCallout",
|
|
2050
|
+
'rect' = "rect",
|
|
2051
|
+
'ribbon' = "ribbon",
|
|
2052
|
+
'ribbon2' = "ribbon2",
|
|
2053
|
+
'rightArrow' = "rightArrow",
|
|
2054
|
+
'rightArrowCallout' = "rightArrowCallout",
|
|
2055
|
+
'rightBrace' = "rightBrace",
|
|
2056
|
+
'rightBracket' = "rightBracket",
|
|
2057
|
+
'round1Rect' = "round1Rect",
|
|
2058
|
+
'round2DiagRect' = "round2DiagRect",
|
|
2059
|
+
'round2SameRect' = "round2SameRect",
|
|
2060
|
+
'roundRect' = "roundRect",
|
|
2061
|
+
'rtTriangle' = "rtTriangle",
|
|
2062
|
+
'smileyFace' = "smileyFace",
|
|
2063
|
+
'snip1Rect' = "snip1Rect",
|
|
2064
|
+
'snip2DiagRect' = "snip2DiagRect",
|
|
2065
|
+
'snip2SameRect' = "snip2SameRect",
|
|
2066
|
+
'snipRoundRect' = "snipRoundRect",
|
|
2067
|
+
'squareTabs' = "squareTabs",
|
|
2068
|
+
'star10' = "star10",
|
|
2069
|
+
'star12' = "star12",
|
|
2070
|
+
'star16' = "star16",
|
|
2071
|
+
'star24' = "star24",
|
|
2072
|
+
'star32' = "star32",
|
|
2073
|
+
'star4' = "star4",
|
|
2074
|
+
'star5' = "star5",
|
|
2075
|
+
'star6' = "star6",
|
|
2076
|
+
'star7' = "star7",
|
|
2077
|
+
'star8' = "star8",
|
|
2078
|
+
'stripedRightArrow' = "stripedRightArrow",
|
|
2079
|
+
'sun' = "sun",
|
|
2080
|
+
'swooshArrow' = "swooshArrow",
|
|
2081
|
+
'teardrop' = "teardrop",
|
|
2082
|
+
'trapezoid' = "trapezoid",
|
|
2083
|
+
'triangle' = "triangle",
|
|
2084
|
+
'upArrow' = "upArrow",
|
|
2085
|
+
'upArrowCallout' = "upArrowCallout",
|
|
2086
|
+
'upDownArrow' = "upDownArrow",
|
|
2087
|
+
'upDownArrowCallout' = "upDownArrowCallout",
|
|
2088
|
+
'uturnArrow' = "uturnArrow",
|
|
2089
|
+
'verticalScroll' = "verticalScroll",
|
|
2090
|
+
'wave' = "wave",
|
|
2091
|
+
'wedgeEllipseCallout' = "wedgeEllipseCallout",
|
|
2092
|
+
'wedgeRectCallout' = "wedgeRectCallout",
|
|
2093
|
+
'wedgeRoundRectCallout' = "wedgeRoundRectCallout"
|
|
2094
|
+
}
|
|
2095
|
+
/**
|
|
2096
|
+
* TODO: FUTURE: v4.0: rename to `ThemeColor`
|
|
2097
|
+
*/
|
|
2098
|
+
declare enum SchemeColor {
|
|
2099
|
+
'text1' = "tx1",
|
|
2100
|
+
'text2' = "tx2",
|
|
2101
|
+
'background1' = "bg1",
|
|
2102
|
+
'background2' = "bg2",
|
|
2103
|
+
'accent1' = "accent1",
|
|
2104
|
+
'accent2' = "accent2",
|
|
2105
|
+
'accent3' = "accent3",
|
|
2106
|
+
'accent4' = "accent4",
|
|
2107
|
+
'accent5' = "accent5",
|
|
2108
|
+
'accent6' = "accent6"
|
|
2109
|
+
}
|
|
2110
|
+
declare enum AlignH {
|
|
2111
|
+
'left' = "left",
|
|
2112
|
+
'center' = "center",
|
|
2113
|
+
'right' = "right",
|
|
2114
|
+
'justify' = "justify"
|
|
2115
|
+
}
|
|
2116
|
+
declare enum AlignV {
|
|
2117
|
+
'top' = "top",
|
|
2118
|
+
'middle' = "middle",
|
|
2119
|
+
'bottom' = "bottom"
|
|
2120
|
+
}
|
|
2121
|
+
declare enum SHAPE_TYPE {
|
|
2122
|
+
ACTION_BUTTON_BACK_OR_PREVIOUS = "actionButtonBackPrevious",
|
|
2123
|
+
ACTION_BUTTON_BEGINNING = "actionButtonBeginning",
|
|
2124
|
+
ACTION_BUTTON_CUSTOM = "actionButtonBlank",
|
|
2125
|
+
ACTION_BUTTON_DOCUMENT = "actionButtonDocument",
|
|
2126
|
+
ACTION_BUTTON_END = "actionButtonEnd",
|
|
2127
|
+
ACTION_BUTTON_FORWARD_OR_NEXT = "actionButtonForwardNext",
|
|
2128
|
+
ACTION_BUTTON_HELP = "actionButtonHelp",
|
|
2129
|
+
ACTION_BUTTON_HOME = "actionButtonHome",
|
|
2130
|
+
ACTION_BUTTON_INFORMATION = "actionButtonInformation",
|
|
2131
|
+
ACTION_BUTTON_MOVIE = "actionButtonMovie",
|
|
2132
|
+
ACTION_BUTTON_RETURN = "actionButtonReturn",
|
|
2133
|
+
ACTION_BUTTON_SOUND = "actionButtonSound",
|
|
2134
|
+
ARC = "arc",
|
|
2135
|
+
BALLOON = "wedgeRoundRectCallout",
|
|
2136
|
+
BENT_ARROW = "bentArrow",
|
|
2137
|
+
BENT_UP_ARROW = "bentUpArrow",
|
|
2138
|
+
BEVEL = "bevel",
|
|
2139
|
+
BLOCK_ARC = "blockArc",
|
|
2140
|
+
CAN = "can",
|
|
2141
|
+
CHART_PLUS = "chartPlus",
|
|
2142
|
+
CHART_STAR = "chartStar",
|
|
2143
|
+
CHART_X = "chartX",
|
|
2144
|
+
CHEVRON = "chevron",
|
|
2145
|
+
CHORD = "chord",
|
|
2146
|
+
CIRCULAR_ARROW = "circularArrow",
|
|
2147
|
+
CLOUD = "cloud",
|
|
2148
|
+
CLOUD_CALLOUT = "cloudCallout",
|
|
2149
|
+
CORNER = "corner",
|
|
2150
|
+
CORNER_TABS = "cornerTabs",
|
|
2151
|
+
CROSS = "plus",
|
|
2152
|
+
CUBE = "cube",
|
|
2153
|
+
CURVED_DOWN_ARROW = "curvedDownArrow",
|
|
2154
|
+
CURVED_DOWN_RIBBON = "ellipseRibbon",
|
|
2155
|
+
CURVED_LEFT_ARROW = "curvedLeftArrow",
|
|
2156
|
+
CURVED_RIGHT_ARROW = "curvedRightArrow",
|
|
2157
|
+
CURVED_UP_ARROW = "curvedUpArrow",
|
|
2158
|
+
CURVED_UP_RIBBON = "ellipseRibbon2",
|
|
2159
|
+
CUSTOM_GEOMETRY = "custGeom",
|
|
2160
|
+
DECAGON = "decagon",
|
|
2161
|
+
DIAGONAL_STRIPE = "diagStripe",
|
|
2162
|
+
DIAMOND = "diamond",
|
|
2163
|
+
DODECAGON = "dodecagon",
|
|
2164
|
+
DONUT = "donut",
|
|
2165
|
+
DOUBLE_BRACE = "bracePair",
|
|
2166
|
+
DOUBLE_BRACKET = "bracketPair",
|
|
2167
|
+
DOUBLE_WAVE = "doubleWave",
|
|
2168
|
+
DOWN_ARROW = "downArrow",
|
|
2169
|
+
DOWN_ARROW_CALLOUT = "downArrowCallout",
|
|
2170
|
+
DOWN_RIBBON = "ribbon",
|
|
2171
|
+
EXPLOSION1 = "irregularSeal1",
|
|
2172
|
+
EXPLOSION2 = "irregularSeal2",
|
|
2173
|
+
FLOWCHART_ALTERNATE_PROCESS = "flowChartAlternateProcess",
|
|
2174
|
+
FLOWCHART_CARD = "flowChartPunchedCard",
|
|
2175
|
+
FLOWCHART_COLLATE = "flowChartCollate",
|
|
2176
|
+
FLOWCHART_CONNECTOR = "flowChartConnector",
|
|
2177
|
+
FLOWCHART_DATA = "flowChartInputOutput",
|
|
2178
|
+
FLOWCHART_DECISION = "flowChartDecision",
|
|
2179
|
+
FLOWCHART_DELAY = "flowChartDelay",
|
|
2180
|
+
FLOWCHART_DIRECT_ACCESS_STORAGE = "flowChartMagneticDrum",
|
|
2181
|
+
FLOWCHART_DISPLAY = "flowChartDisplay",
|
|
2182
|
+
FLOWCHART_DOCUMENT = "flowChartDocument",
|
|
2183
|
+
FLOWCHART_EXTRACT = "flowChartExtract",
|
|
2184
|
+
FLOWCHART_INTERNAL_STORAGE = "flowChartInternalStorage",
|
|
2185
|
+
FLOWCHART_MAGNETIC_DISK = "flowChartMagneticDisk",
|
|
2186
|
+
FLOWCHART_MANUAL_INPUT = "flowChartManualInput",
|
|
2187
|
+
FLOWCHART_MANUAL_OPERATION = "flowChartManualOperation",
|
|
2188
|
+
FLOWCHART_MERGE = "flowChartMerge",
|
|
2189
|
+
FLOWCHART_MULTIDOCUMENT = "flowChartMultidocument",
|
|
2190
|
+
FLOWCHART_OFFLINE_STORAGE = "flowChartOfflineStorage",
|
|
2191
|
+
FLOWCHART_OFFPAGE_CONNECTOR = "flowChartOffpageConnector",
|
|
2192
|
+
FLOWCHART_OR = "flowChartOr",
|
|
2193
|
+
FLOWCHART_PREDEFINED_PROCESS = "flowChartPredefinedProcess",
|
|
2194
|
+
FLOWCHART_PREPARATION = "flowChartPreparation",
|
|
2195
|
+
FLOWCHART_PROCESS = "flowChartProcess",
|
|
2196
|
+
FLOWCHART_PUNCHED_TAPE = "flowChartPunchedTape",
|
|
2197
|
+
FLOWCHART_SEQUENTIAL_ACCESS_STORAGE = "flowChartMagneticTape",
|
|
2198
|
+
FLOWCHART_SORT = "flowChartSort",
|
|
2199
|
+
FLOWCHART_STORED_DATA = "flowChartOnlineStorage",
|
|
2200
|
+
FLOWCHART_SUMMING_JUNCTION = "flowChartSummingJunction",
|
|
2201
|
+
FLOWCHART_TERMINATOR = "flowChartTerminator",
|
|
2202
|
+
FOLDED_CORNER = "folderCorner",
|
|
2203
|
+
FRAME = "frame",
|
|
2204
|
+
FUNNEL = "funnel",
|
|
2205
|
+
GEAR_6 = "gear6",
|
|
2206
|
+
GEAR_9 = "gear9",
|
|
2207
|
+
HALF_FRAME = "halfFrame",
|
|
2208
|
+
HEART = "heart",
|
|
2209
|
+
HEPTAGON = "heptagon",
|
|
2210
|
+
HEXAGON = "hexagon",
|
|
2211
|
+
HORIZONTAL_SCROLL = "horizontalScroll",
|
|
2212
|
+
ISOSCELES_TRIANGLE = "triangle",
|
|
2213
|
+
LEFT_ARROW = "leftArrow",
|
|
2214
|
+
LEFT_ARROW_CALLOUT = "leftArrowCallout",
|
|
2215
|
+
LEFT_BRACE = "leftBrace",
|
|
2216
|
+
LEFT_BRACKET = "leftBracket",
|
|
2217
|
+
LEFT_CIRCULAR_ARROW = "leftCircularArrow",
|
|
2218
|
+
LEFT_RIGHT_ARROW = "leftRightArrow",
|
|
2219
|
+
LEFT_RIGHT_ARROW_CALLOUT = "leftRightArrowCallout",
|
|
2220
|
+
LEFT_RIGHT_CIRCULAR_ARROW = "leftRightCircularArrow",
|
|
2221
|
+
LEFT_RIGHT_RIBBON = "leftRightRibbon",
|
|
2222
|
+
LEFT_RIGHT_UP_ARROW = "leftRightUpArrow",
|
|
2223
|
+
LEFT_UP_ARROW = "leftUpArrow",
|
|
2224
|
+
LIGHTNING_BOLT = "lightningBolt",
|
|
2225
|
+
LINE_CALLOUT_1 = "borderCallout1",
|
|
2226
|
+
LINE_CALLOUT_1_ACCENT_BAR = "accentCallout1",
|
|
2227
|
+
LINE_CALLOUT_1_BORDER_AND_ACCENT_BAR = "accentBorderCallout1",
|
|
2228
|
+
LINE_CALLOUT_1_NO_BORDER = "callout1",
|
|
2229
|
+
LINE_CALLOUT_2 = "borderCallout2",
|
|
2230
|
+
LINE_CALLOUT_2_ACCENT_BAR = "accentCallout2",
|
|
2231
|
+
LINE_CALLOUT_2_BORDER_AND_ACCENT_BAR = "accentBorderCallout2",
|
|
2232
|
+
LINE_CALLOUT_2_NO_BORDER = "callout2",
|
|
2233
|
+
LINE_CALLOUT_3 = "borderCallout3",
|
|
2234
|
+
LINE_CALLOUT_3_ACCENT_BAR = "accentCallout3",
|
|
2235
|
+
LINE_CALLOUT_3_BORDER_AND_ACCENT_BAR = "accentBorderCallout3",
|
|
2236
|
+
LINE_CALLOUT_3_NO_BORDER = "callout3",
|
|
2237
|
+
LINE_CALLOUT_4 = "borderCallout4",
|
|
2238
|
+
LINE_CALLOUT_4_ACCENT_BAR = "accentCallout3=4",
|
|
2239
|
+
LINE_CALLOUT_4_BORDER_AND_ACCENT_BAR = "accentBorderCallout4",
|
|
2240
|
+
LINE_CALLOUT_4_NO_BORDER = "callout4",
|
|
2241
|
+
LINE = "line",
|
|
2242
|
+
LINE_INVERSE = "lineInv",
|
|
2243
|
+
MATH_DIVIDE = "mathDivide",
|
|
2244
|
+
MATH_EQUAL = "mathEqual",
|
|
2245
|
+
MATH_MINUS = "mathMinus",
|
|
2246
|
+
MATH_MULTIPLY = "mathMultiply",
|
|
2247
|
+
MATH_NOT_EQUAL = "mathNotEqual",
|
|
2248
|
+
MATH_PLUS = "mathPlus",
|
|
2249
|
+
MOON = "moon",
|
|
2250
|
+
NON_ISOSCELES_TRAPEZOID = "nonIsoscelesTrapezoid",
|
|
2251
|
+
NOTCHED_RIGHT_ARROW = "notchedRightArrow",
|
|
2252
|
+
NO_SYMBOL = "noSmoking",
|
|
2253
|
+
OCTAGON = "octagon",
|
|
2254
|
+
OVAL = "ellipse",
|
|
2255
|
+
OVAL_CALLOUT = "wedgeEllipseCallout",
|
|
2256
|
+
PARALLELOGRAM = "parallelogram",
|
|
2257
|
+
PENTAGON = "homePlate",
|
|
2258
|
+
PIE = "pie",
|
|
2259
|
+
PIE_WEDGE = "pieWedge",
|
|
2260
|
+
PLAQUE = "plaque",
|
|
2261
|
+
PLAQUE_TABS = "plaqueTabs",
|
|
2262
|
+
QUAD_ARROW = "quadArrow",
|
|
2263
|
+
QUAD_ARROW_CALLOUT = "quadArrowCallout",
|
|
2264
|
+
RECTANGLE = "rect",
|
|
2265
|
+
RECTANGULAR_CALLOUT = "wedgeRectCallout",
|
|
2266
|
+
REGULAR_PENTAGON = "pentagon",
|
|
2267
|
+
RIGHT_ARROW = "rightArrow",
|
|
2268
|
+
RIGHT_ARROW_CALLOUT = "rightArrowCallout",
|
|
2269
|
+
RIGHT_BRACE = "rightBrace",
|
|
2270
|
+
RIGHT_BRACKET = "rightBracket",
|
|
2271
|
+
RIGHT_TRIANGLE = "rtTriangle",
|
|
2272
|
+
ROUNDED_RECTANGLE = "roundRect",
|
|
2273
|
+
ROUNDED_RECTANGULAR_CALLOUT = "wedgeRoundRectCallout",
|
|
2274
|
+
ROUND_1_RECTANGLE = "round1Rect",
|
|
2275
|
+
ROUND_2_DIAG_RECTANGLE = "round2DiagRect",
|
|
2276
|
+
ROUND_2_SAME_RECTANGLE = "round2SameRect",
|
|
2277
|
+
SMILEY_FACE = "smileyFace",
|
|
2278
|
+
SNIP_1_RECTANGLE = "snip1Rect",
|
|
2279
|
+
SNIP_2_DIAG_RECTANGLE = "snip2DiagRect",
|
|
2280
|
+
SNIP_2_SAME_RECTANGLE = "snip2SameRect",
|
|
2281
|
+
SNIP_ROUND_RECTANGLE = "snipRoundRect",
|
|
2282
|
+
SQUARE_TABS = "squareTabs",
|
|
2283
|
+
STAR_10_POINT = "star10",
|
|
2284
|
+
STAR_12_POINT = "star12",
|
|
2285
|
+
STAR_16_POINT = "star16",
|
|
2286
|
+
STAR_24_POINT = "star24",
|
|
2287
|
+
STAR_32_POINT = "star32",
|
|
2288
|
+
STAR_4_POINT = "star4",
|
|
2289
|
+
STAR_5_POINT = "star5",
|
|
2290
|
+
STAR_6_POINT = "star6",
|
|
2291
|
+
STAR_7_POINT = "star7",
|
|
2292
|
+
STAR_8_POINT = "star8",
|
|
2293
|
+
STRIPED_RIGHT_ARROW = "stripedRightArrow",
|
|
2294
|
+
SUN = "sun",
|
|
2295
|
+
SWOOSH_ARROW = "swooshArrow",
|
|
2296
|
+
TEAR = "teardrop",
|
|
2297
|
+
TRAPEZOID = "trapezoid",
|
|
2298
|
+
UP_ARROW = "upArrow",
|
|
2299
|
+
UP_ARROW_CALLOUT = "upArrowCallout",
|
|
2300
|
+
UP_DOWN_ARROW = "upDownArrow",
|
|
2301
|
+
UP_DOWN_ARROW_CALLOUT = "upDownArrowCallout",
|
|
2302
|
+
UP_RIBBON = "ribbon2",
|
|
2303
|
+
U_TURN_ARROW = "uturnArrow",
|
|
2304
|
+
VERTICAL_SCROLL = "verticalScroll",
|
|
2305
|
+
WAVE = "wave"
|
|
2306
|
+
}
|
|
2307
|
+
type SHAPE_NAME = 'accentBorderCallout1' | 'accentBorderCallout2' | 'accentBorderCallout3' | 'accentCallout1' | 'accentCallout2' | 'accentCallout3' | 'actionButtonBackPrevious' | 'actionButtonBeginning' | 'actionButtonBlank' | 'actionButtonDocument' | 'actionButtonEnd' | 'actionButtonForwardNext' | 'actionButtonHelp' | 'actionButtonHome' | 'actionButtonInformation' | 'actionButtonMovie' | 'actionButtonReturn' | 'actionButtonSound' | 'arc' | 'bentArrow' | 'bentUpArrow' | 'bevel' | 'blockArc' | 'borderCallout1' | 'borderCallout2' | 'borderCallout3' | 'bracePair' | 'bracketPair' | 'callout1' | 'callout2' | 'callout3' | 'can' | 'chartPlus' | 'chartStar' | 'chartX' | 'chevron' | 'chord' | 'circularArrow' | 'cloud' | 'cloudCallout' | 'corner' | 'cornerTabs' | 'cube' | 'curvedDownArrow' | 'curvedLeftArrow' | 'curvedRightArrow' | 'curvedUpArrow' | 'custGeom' | 'decagon' | 'diagStripe' | 'diamond' | 'dodecagon' | 'donut' | 'doubleWave' | 'downArrow' | 'downArrowCallout' | 'ellipse' | 'ellipseRibbon' | 'ellipseRibbon2' | 'flowChartAlternateProcess' | 'flowChartCollate' | 'flowChartConnector' | 'flowChartDecision' | 'flowChartDelay' | 'flowChartDisplay' | 'flowChartDocument' | 'flowChartExtract' | 'flowChartInputOutput' | 'flowChartInternalStorage' | 'flowChartMagneticDisk' | 'flowChartMagneticDrum' | 'flowChartMagneticTape' | 'flowChartManualInput' | 'flowChartManualOperation' | 'flowChartMerge' | 'flowChartMultidocument' | 'flowChartOfflineStorage' | 'flowChartOffpageConnector' | 'flowChartOnlineStorage' | 'flowChartOr' | 'flowChartPredefinedProcess' | 'flowChartPreparation' | 'flowChartProcess' | 'flowChartPunchedCard' | 'flowChartPunchedTape' | 'flowChartSort' | 'flowChartSummingJunction' | 'flowChartTerminator' | 'folderCorner' | 'frame' | 'funnel' | 'gear6' | 'gear9' | 'halfFrame' | 'heart' | 'heptagon' | 'hexagon' | 'homePlate' | 'horizontalScroll' | 'irregularSeal1' | 'irregularSeal2' | 'leftArrow' | 'leftArrowCallout' | 'leftBrace' | 'leftBracket' | 'leftCircularArrow' | 'leftRightArrow' | 'leftRightArrowCallout' | 'leftRightCircularArrow' | 'leftRightRibbon' | 'leftRightUpArrow' | 'leftUpArrow' | 'lightningBolt' | 'line' | 'lineInv' | 'mathDivide' | 'mathEqual' | 'mathMinus' | 'mathMultiply' | 'mathNotEqual' | 'mathPlus' | 'moon' | 'noSmoking' | 'nonIsoscelesTrapezoid' | 'notchedRightArrow' | 'octagon' | 'parallelogram' | 'pentagon' | 'pie' | 'pieWedge' | 'plaque' | 'plaqueTabs' | 'plus' | 'quadArrow' | 'quadArrowCallout' | 'rect' | 'ribbon' | 'ribbon2' | 'rightArrow' | 'rightArrowCallout' | 'rightBrace' | 'rightBracket' | 'round1Rect' | 'round2DiagRect' | 'round2SameRect' | 'roundRect' | 'rtTriangle' | 'smileyFace' | 'snip1Rect' | 'snip2DiagRect' | 'snip2SameRect' | 'snipRoundRect' | 'squareTabs' | 'star10' | 'star12' | 'star16' | 'star24' | 'star32' | 'star4' | 'star5' | 'star6' | 'star7' | 'star8' | 'stripedRightArrow' | 'sun' | 'swooshArrow' | 'teardrop' | 'trapezoid' | 'triangle' | 'upArrow' | 'upArrowCallout' | 'upDownArrow' | 'upDownArrowCallout' | 'uturnArrow' | 'verticalScroll' | 'wave' | 'wedgeEllipseCallout' | 'wedgeRectCallout' | 'wedgeRoundRectCallout';
|
|
2308
|
+
declare enum CHART_TYPE {
|
|
2309
|
+
'AREA' = "area",
|
|
2310
|
+
'BAR' = "bar",
|
|
2311
|
+
'BAR3D' = "bar3D",
|
|
2312
|
+
'BUBBLE' = "bubble",
|
|
2313
|
+
'BUBBLE3D' = "bubble3D",
|
|
2314
|
+
'DOUGHNUT' = "doughnut",
|
|
2315
|
+
'LINE' = "line",
|
|
2316
|
+
'PIE' = "pie",
|
|
2317
|
+
'RADAR' = "radar",
|
|
2318
|
+
'SCATTER' = "scatter"
|
|
2319
|
+
}
|
|
2320
|
+
declare enum SCHEME_COLOR_NAMES {
|
|
2321
|
+
'TEXT1' = "tx1",
|
|
2322
|
+
'TEXT2' = "tx2",
|
|
2323
|
+
'BACKGROUND1' = "bg1",
|
|
2324
|
+
'BACKGROUND2' = "bg2",
|
|
2325
|
+
'ACCENT1' = "accent1",
|
|
2326
|
+
'ACCENT2' = "accent2",
|
|
2327
|
+
'ACCENT3' = "accent3",
|
|
2328
|
+
'ACCENT4' = "accent4",
|
|
2329
|
+
'ACCENT5' = "accent5",
|
|
2330
|
+
'ACCENT6' = "accent6"
|
|
2331
|
+
}
|
|
2332
|
+
declare enum MASTER_OBJECTS {
|
|
2333
|
+
'chart' = "chart",
|
|
2334
|
+
'image' = "image",
|
|
2335
|
+
'line' = "line",
|
|
2336
|
+
'rect' = "rect",
|
|
2337
|
+
'text' = "text",
|
|
2338
|
+
'placeholder' = "placeholder"
|
|
2339
|
+
}
|
|
2340
|
+
declare enum SLIDE_OBJECT_TYPES {
|
|
2341
|
+
'chart' = "chart",
|
|
2342
|
+
'hyperlink' = "hyperlink",
|
|
2343
|
+
'image' = "image",
|
|
2344
|
+
'media' = "media",
|
|
2345
|
+
'online' = "online",
|
|
2346
|
+
'placeholder' = "placeholder",
|
|
2347
|
+
'table' = "table",
|
|
2348
|
+
'tablecell' = "tablecell",
|
|
2349
|
+
'text' = "text",
|
|
2350
|
+
'notes' = "notes"
|
|
2351
|
+
}
|
|
2352
|
+
declare enum PLACEHOLDER_TYPES {
|
|
2353
|
+
'title' = "title",
|
|
2354
|
+
'body' = "body",
|
|
2355
|
+
'image' = "pic",
|
|
2356
|
+
'chart' = "chart",
|
|
2357
|
+
'table' = "tbl",
|
|
2358
|
+
'media' = "media"
|
|
2359
|
+
}
|
|
2360
|
+
type PLACEHOLDER_TYPE = 'title' | 'body' | 'pic' | 'chart' | 'tbl' | 'media';
|
|
2361
|
+
/**
|
|
2362
|
+
* NOTE: 20170304: BULLET_TYPES: Only default is used so far. I'd like to combine the two pieces of code that use these before implementing these as options
|
|
2363
|
+
* Since we close <p> within the text object bullets, its slightly more difficult than combining into a func and calling to get the paraProp
|
|
2364
|
+
* and i'm not sure if anyone will even use these... so, skipping for now.
|
|
2365
|
+
*/
|
|
2366
|
+
declare enum BULLET_TYPES {
|
|
2367
|
+
'DEFAULT' = "•",
|
|
2368
|
+
'CHECK' = "✓",
|
|
2369
|
+
'STAR' = "★",
|
|
2370
|
+
'TRIANGLE' = "▶"
|
|
2371
|
+
}
|
|
2372
|
+
declare const IMG_BROKEN = "data:image/png;base64,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";
|
|
2373
|
+
declare const IMG_PLAYBTN = "data:image/png;base64,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AAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKSEAhgAAAAAAAAgJRTAAAAAAAAAACmhAAYAAAAAAABICQUwAAAAAAAAQEoogAEAAAAAAABSQgEMAAAAAAAAkBIKYAAAAAAAAICUUAADAAAAAAAApIQCGAAAAAAAACAlFMAAAAAAAAAAKaEABgAAAAAAAEgJBTAAAAAAAABASiiAAQAAAAAAAFJCAQwAAAAAAACQEgpgAAAAAAAAgJRQAAMAAAAAAACkhAIYAAAAAAAAICUUwAAAAAAAAAApoQAGAAAAAAAASAkFMAAAAAAAAEBKKIABAAAAAAAAUkIBDAAAAAAAAJASCmAAAAAAAACAlFAAAwAAAAAAAKREkRUAAACwrUpLSwuGDRvWfMCAAS26du3avKysrLiioqKkZcuWzZs1a1bcvHnz0tLS0rJsNtusuLi4ebNmzUoLCgo+8/eijY2N9Zs3b66pra2tqqur21xTU1NdVVVVs2nTptqNGzdWbdiwoeYvf/nL5hUrVlQtWLBgw6xZs6pqamoaJQYAAEDaKYABAACIiIghQ4aUHnTQQW379u3bql27dq3at2/fpkWLFq2bN29eWVpa2qpZs2bNCwsLm2ez2fLCwsLyoqKi8sLCwtKknK+hoaG6vr6+qqGh4S91dXV/aWhoqNq8eXNVTU3NuqqqqvUbNmxYu2rVqjWrV69e99Zbb6177rnnPpgzZ06NTwYAAABJogAGAADIA8OGDWt+xBFHdBwwYECnLl26dGjdunXHFi1adCgtLe1YUlLSvlmzZq0KCgqK07yDwsLCssLCwrKIaPdp/zuNjY21mzdvXrdp06ZVNTU172/YsGHl2rVr31+2bNnKBQsWrHjyySffnzVrVpVPGAAAAE1Fpuexsd9HfaF+ZcSal0ptCAAAIAE6deqUPf744zvtueeeXbp3796lbdu2XSorKzuXlpZ2KS0t7VBYWFhhSztGQ0PDxpqampU1NTXL169fv+yDDz5Y9s477yybPXv2sj/96U8rVqxYUWdLAAAAbE9t9q6Jog4f/TUFMAAAQEJks9nMt7/97Y4jRozo1bdv397t2rXrXl5e3rWsrKxzcXFx+4gosKUmp7G2tnZVTU3Nso0bNy5btWrV0tdff/2tJ598cvG999672noAAADYFgpgAACAhPne977X6a9Fb/v27Xu1bNmyV1lZWa8kvXOXLauvr9/wl7/8ZdG6desWL1u2bNHChQsX/fGPf1w8derUjbYDAADAliiAAQAAmqhsNps59dRTuxx66KH9+/Tp87n27dv3Ly8v719UVOSRzXlq06ZNKzZu3Pj6+++//8abb775xqOPPvrG3XffvcpmAAAA+CsFMAAAQBNx6qmndvniF784qHfv3v3btWv3uYqKis8VFhaW2wxbUl9fv37Dhg1vfPDBB68vXrz4jccee2z+jTfeuNxmAAAA8pMCGAAAYBc45phjWn/rW9/aq3///kPatGnTv6Kiop9HOLO9NDQ0VG/cuPGtNWvWLFy4cOGcO+6445WHHnporc0AAACknwIYAABgJzjjjDO6f+lLX9qrV69eg1u3bj2orKysR0RkbIadJFddXb103bp18xcvXjz30UcffeXqq69+x1oAAADSRwEMAACwnZWWlhb86le/2u3QQw8d1r17931btmw5qLCwsMxmaEoaGhqqP/zww/nvvPPOzGeeeWbW2LFj36ipqWm0GQAAgGRTAAMAAGwHP/7xj7t+9atf3bdXr15D27Ztu1c2m21jKyRJXV3dmg8++OCVRYsWvfznP/95xh/+8IdltgIAAJA8CmAAAIBtcOKJJ7Y75ZRTDujXr9+w1q1bD81ms61shTSpq6tbt3bt2pfffPPNWbfccsvUe++9d7WtAAAANH0KYAAAgE+hoqKi4IILLhg0YsSI/bp27bpfy5YtB2YymUKbIR/kcrmGDz/8cP6777474/nnn59x4YUXvrZx40aPiwYAAGiCFMAAAAAf4/jjj2/7/e9//8D+/fsf2Lp1630KCgpKbAUiGhsbN61fv37eW2+9NeWGG2545u67715lKwAAAE2DAhgAAOB/ZLPZzAUXXPC5I4888sDu3bsfWFFRsVtEFNgMbFl1dfWSd999d8qsWbNmnnvuuS+vW7euwVYAAAB2DQUwAACQ10pLSwsuvfTSQYcccsjBXbt2HVFWVtbDVmDb1dbWrnr//fdfmDp16uRf/vKXL65evbreVgAAAHYeBTAAAJB3Bg0aVHrBBRd8fs899zywQ4cOBxQVFbWwFdj+Ghsba9euXTtrzpw5T59//vmTX3755WpbAQAA2LEUwAAAQF4YNmxY8/POO+/gIUOGHOZ9vrDz/W0ZfNFFFz07a9asKlsBAADY/hTAAABAarVq1arwyiuv3HfEiBEjO3TocFBhYWGZrcCu19DQUP3+++8/O2XKlIk/+clPZm7cuLHRVgAAALYPBTAAAJAqrVq1Kvztb3+7/3777Xd4x44dRxQWFpbbCjRdDQ0NG99///0pM2bMeOqHP/zhC8pgAACAz0YBDAAApMJZZ53V45vf/OaRvXr1GllaWtrVRiB5ampq3l28ePHEO++8c9LVV1/9jo0AAABsPQUwAACQWMOHDy+/6KKLvjB48OCjW7RoMdBGID0+/PDDV+fNmzfhvPPOe3L69Ol/sREAAIBPRwEMAAAkSqtWrQpvuOGGQ/bbb79/atOmzX6ZTCZrK5BeuVyubs2aNTNmzJjx2JgxYyavW7euwVYAAAA+ngIYAABIhB//+Mddv/e9732lZ8+e/1RcXNzWRiD/1NbWfvD2228/dssttzz029/+9l0bAQAA+L8UwAAAQJNVUVFRcO21137+4IMPPrZ169b7ZTKZAlsBIqJxzZo1M59//vnxp5122hR3BQMAAPx/CmAAAKDJOeWUUzqefvrpx/bu3ftL2Wy2jY0AH6e+vn7j0qVLH/vd7373x+uvv36ZjQAAAPlOAQwAADQJ2Ww2c+uttx5wyCGHnNC6deu9I8LdvsDWaFy7du1L06ZN+/OPfvSjZ1evXl1vJQAAQD5SAAMAALtU//79S6655pp/2nPPPY8tLy/vayPAZ1VTU7NswYIF488999wHp06dutFGAACAfKIABgAAdomf//znPU855ZQTu3btemRhYWGZjQDbW2NjY92KFSuevOWWW+689NJLF9kIAACQDxTAAADATuMxz8Cusn79+rlPP/30f5188slT6+rqcjYCAACklQIYAADY4fr27Vv8hz/84a+Pee5nI8CuUlNT8+68efPu/8EPfvDgwoULN9kIAACQNgpgAABghxkyZEjpNddc89XBgwefWFxc3MFGgKaitrZ21dy5c+/5yU9+8uc5c+bU2AgAAJAWWyqAPYoNAADYJqNHj+4wb968n06ZMuXRYcOGnaH8BZqa4uLi9sOGDTtjypQpj86bN++nJ510UntbAQAA0s4dwAAAwFY599xze33/+9//dufOnY/IZDJZGwGSIpfL1S1fvvzJG2644fbLLrvsbRsBAACSyiOgAQCAz+y8887r+53vfOfbHTt2PDyTyRTaCJBUuVyuYcWKFU/cdNNN//XrX/96sY0AAABJowAGAAC22WWXXTboG9/4xg9at249zDaAtFm7du2su++++9pzzjnnNdsAAACSQgEMAABsNcUvkE8UwQAAQJIogAEAgE9N8Qvks7Vr18665557rvv5z38+3zYAAICmaksFcGHlwOj6UV9orIqoWZG1PQAAyBO/+MUvet9xxx3nHHrooT8pLS3tYiNAPiotLe2y7777HvP973+/X1lZ2ZIpU6assxUAAKCpKetcHwXlH/01BTAAAOS5M844o/u99957zpe//OWflZeX94qIjK0AeS5TXl7e8+CDDx71/e9/v3dEvDVjxowPrQUAAGgqFMAAAMD/ceKJJ7a77777fjJq1Kh/KS8v7xOKX4B/lCkvL+99+OGHj/rWt77VfvXq1Qvnz59fbS0AAMCutqUC2DuAAQAgzwwdOrTs+uuvP6l///4nFRYWltkI20NjY2Ns2rQpqquro6amJurr62PTpk2xefPmqK+vj+rq6qivr4/NmzfHpk2boqGhYZv/fxUWFkZJSUk0a9YsioqKoqysLIqKiqJZs2ZRUlISRUVFUVpa+r9/FRQUCIjtoqGhoeq11167a8yYMffMmTOnxkYAAIBdZUvvAFYAAwBAnujUqVP2nnvuGbXXXnudnM1mK22Ej9PQ0BAbN26MDRs2/J+/Nm7cGBs3boyamprYtGlTbNq0KWpqaqK2trbJnqe4uDhKSkqitLT0f/9eUVERFRUV0aJFi//zV0VFRRQWFvog8LHq6urWvvjii7eceOKJf169enW9jQAAADubAhgAAPLcXXfdddAXv/jF00tLS7vZRn7L5XKxYcOGWLt2baxbty7Wrl37d3+tW7cuNmzYkPd7atGiRbRu3TpatWoVrVu3jjZt2vzvf27dunW0aNHCh4morq5e+sgjj1zzne98Z6ptAAAAO5MCGAAA8tTVV189+MQTTzyzoqJioG3kj8bGxli5cmUsX748Pvjgg1i9evX//n3t2rXR2NhoSZ9RYWFhtGrVKtq1axdt27b937937tw5OnTo4LHTeWbDhg3z77333qvOPPPMebYBAADsDApgAADIM1/72tfaXHrppad27979qIjQRKVUQ0NDrFq1KlasWBHvv//+//595cqVTfqRzGlXXFwcHTp0iI4dO0bnzp2jY8eO0alTp2jXrp1HS6dYLpdrfOeddx76+c9/fv2ECRPW2QgAALAjKYABACBP9OrVq9ldd931jT322OM7hYWFZTaSHh9++GG88847sXTp0njvvfdixYoVsXr16mhoaLCchCgsLIz27dtHp06dolu3btG9e/fo3r27x0mnTENDQ9W8efNu++Y3v/nHJUuWbLYRAABgR1AAAwBAHrjrrrtG/NM//dOZJSUlXWwj2davXx9Lly6Nd955539L3w8//NBiUqqysvJ/y+C//tWqVSuLSbiamppljz322G9Gjx49xTYAAIDtTQEMAAAp9qtf/arPD3/4w5+1atVqL9tIno0bN8aSJUvirbfeikWLFsV7770XmzZtspg8V1JSEl27do0+ffpE3759o3fv3lFeXm4xCbRu3bqXr7322ivGjh27yDYAAIDtRQEMAAApNGjQoNI77rjju7vttttJBQUFWRtJhtWrV8ebb74ZixcvjiVLlsTy5cujsbHRYtiigoKC6Ny5c/Tu3Tt69+4d/fr1i7Zt21pMQjQ2Nta98cYbd33rW9+6ff78+TU2AgAAfFYKYAAASJHS0tKCBx988Jj99tvvn7PZbBsbaboaGhri7bffjrfeeisWLFgQS5YscXcv201FRUX06tUr+vbtG3379o2ePXtGYWGhxTRhdXV1a2bMmHHjV77ylYdqamr85gcAALDNFMAAAJASp59+erdf/vKX51ZWVu5jG03T6tWr47XXXouFCxfGm2++GRs3brQUdooWLVpE3759Y8CAATFw4EB3CDdh69evf/E//uM//vPqq69+xzYAAIBtoQAGAICEGzRoUOm99977w969ex+byWTc4teErF+/PubNmxcLFiyIN954Q+FLk9GiRYvo169fDBgwIPbYY4+orKy0lCYkl8s1LF68eNyJJ554rcdCAwAAW0sBDAAACXbNNdcMOemkk35RVlbWyzZ2vVwuF++++27MnTs3XnvttViyZIl3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B7lcrm7y5Mm//vKXv/yIbQAAwK63pXcAK4ABAMg7paWlBTNnzjyzT58+x9vG39uwYUOMGzcuZsyY4VHPQF7KZDKx3377xde//vWoqKiwkH+waNGiP+27775X1dTUeCwEAADsQgpgAAD4H926dctOnjz5V506dRppG/9fLpeLqVOnxp///OfYuHGjhQB5r6KiIkaNGhX777+/x0L/g+XLlz9+6KGHXvLuu+/W2QYAAOwaWyqAvQMYAIC8MXz48PInnnjiynbt2o2wjf/vnXfeiWuvvTaee+652Lx5s4UARMTmzZtjzpw58dprr0XPnj2jRYsWlvI/Kioq+n7rW98aMnXq1Ofee+89f3AAAMAusKV3ACuAAQDIC9/+9rc73n777X9o0aLFANv4b1VVVXHXXXfFvffeG+vXr7cQgI+wbt26eP7552P9+vWx2267RVFRkaVERElJSefjjjvuoA8++GDKK6+88hcbAQCAnUsBDABAXjv//PP7XXzxxX8oKSnpbBv/bfr06XHttdfGokWLLAPgU3jnnXdi2rRp0bp16+jc2R8nERHZbLbyC1/4whElJSUvTp48eY2NAADAzqMABgAgb/3ud7/b60c/+tFVRUVFrWwjYs2aNXHzzTfHpEmTora21kIAtkJtbW289NJL8c4770Tfvn2jtLQ073dSWFhYNnz48C/26dNn4UMPPbTMpwQAAHYOBTAAAHnp1ltv3f+b3/zmfxYWFjbP913kcrl4/vnn4/rrr4/ly5f7cAB8BitXroxp06ZFRUVFdOvWLTKZTF7vo6CgIDto0KBDBw0atOiBBx54xycEAAB2vC0VwJmex8Z+H/WF+pURa17ym6wAACTTww8//KXDDjvsXzKZTN6/rPGDDz6I22+/Pd544w0fDIDtbMCAAfGtb30r2rRpk/e7yOVyjVOmTPn1yJEjH/LJAACAHavN3jVR1OGjv6YABgAgdV555ZXTPve5z30r3/fQ0NAQjz32WDz++ONRV1fngwGwg2Sz2Tj66KPjC1/4QhQUFOT9Pl5//fU79tprr9/7ZAAAwI6jAAYAIC9ks9nMyy+/fFafPn2Oz/ddvPvuu3HbbbfFe++954MBsJN069YtvvOd70S3bt3yfhdLliy5f5999rmypqam0ScDAAC2PwUwAACpV1paWjBr1qyzevfufVw+7yGXy8WTTz4ZDz74oLt+AXaBbDYbxxxzTBxxxBF5fzfw0qVLHxg6dOjlSmAAANj+FMAAAKRar169mk2ePHlsu3btDsrnPaxcuTJuueWWePvtt30oAHaxnj17ximnnBIdOnTI6z2sXr16yiGHHPIvS5Ys2exTAQAA28+WCuDCyoHR9aO+0FgVUbMia3sAADRpQ4cOLXvqqacub9Omzf75uoNcLhfPPPNMXH/99bF27VofCoAmYP369TFlypQoKSmJnj17RiaTycs9NG/evPtJJ500ZPLkyc+sWLHCoykAAGA7KetcHwXlH/01BTAAAIk1ZMiQ0kceeeSKVq1a7Z2vO6iuro7bb789nnjiiWhs9IRNgKaksbEx5s+fH++//34MGDAgstn8/DlLaWlpp6997WuDn3rqqadXrlxZ75MBAACfnQIYAIDUOfTQQ1s8+OCDv2/ZsuUe+bqDOXPmxNVXX+2RzwBN3PLly+OFF16Ijh075u0joUtLSzudcMIJ+7/00ktPv/3227U+FQAA8NkogAEASJVhw4Y1v++++37TsmXLQfl4/vr6+hg/fnz88Y9/jNpaP0MHSILNmzfHiy++GJs3b47ddtstCgoK8m4HxcXFbY866qg9n3vuuaeXL1/ucdAAAPAZKIABAEiNI488snLcuHG/b9GixcB8PP97770XV111VcyZM8eHASCBFi1aFC+//HL069cvWrRokXfnLykp6XDcccftP2fOnGcWLVq0yScCAAC2jQIYAIBUOPLIIyvvvPPO35aXl++Wj+d/+umn48Ybb4wPP/zQhwEgwf7yl7/ECy+8ECUlJdGrV6+8O3+zZs3aHHXUUfspgQEAYNspgAEASLxjjz227W233faH5s2b98m3s1dVVcXNN98cTz31VDQ2NvowAKRAY2NjzJ8/P5YtWxYDBgyIZs2a5dX5mzVr1uaYY4458M0333xm4cKFNT4RAACwdRTAAAAk2qGHHtritttuuzofy9+33347rrnmmli8eLEPAkAKvf/++/HKK69Enz59orKyMq/Ons1mK4888sh9Zs6c+dTSpUs3+zQAAMCnpwAGACCxjjjiiJb33nvvteXl5f3y6dy5XC4mTZoUN998c1RVVfkgAKRYVVVVTJ06NbLZbPTp0ycymUzenL24uLjtV7/61c+/8sorTy1evLjWpwEAAD4dBTAAAIl06KGHtrj33nt/l2/lb3V1ddx0000xefLkyOVyPggAeSCXy8WCBQvi3Xffjd133z2y2fz5mUyzZs1aH3300fvNmDHjSXcCAwDAp6MABgAgcYYOHVo2fvz4qysqKgbk07mXLVsWV111lUc+A+SplStXxiuvvBKf+9znoqKiIm/O3axZszZHH3300GeeeebJFStW1PkkAADAlimAAQBIlCFDhpQ++uij17Rs2XL3fDr31KlT49prr42NGzf6EADksaqqqpg+fXq0bds2unTpkjfnLikpaT9q1KihTz755JMrV66s90kAAICPt6UCuMB6AABoSjp16pSdMGHCv1dWVu6RL2dubGyMcePGxR133BF1dW56AiCitrY2br755hg/fnw0NjbmzbkrKyv3mDBhwr9369bNXQkAALCNFMAAADQZrVq1Kpw+ffolbdq02T9fzlxdXR2/+93vYtKkSd73C8DfyeVy8fjjj8fvf//7qK6uzptzt2nTZv8pU6Zc0qpVq0KfAgAA2HoKYAAAmoSKioqC2bNnX9KuXbuD8uXMS5cujYsuuijmz5/vAwDAx3r11VfjoosuiqVLl+bNmdu1a3fQ7Nmz/72iosLPrgAAYCu5iAYAoEmYOXPmz9q1a3dIvpz35ZdfjiuuuCLWrVsnfAA+0bp16+KKK66Il19+OW/O3K5du4Nnzpz5M+kDAMDWUQADALDLvfjii2N69OgxKh/Omsvl4oEHHogbbrghamtrhQ/Ap1ZbWxs33HBDPPDAA3nz2oAePXqMevHFF8dIHwAAPj0FMAAAu9SkSZO+NnDgwFPy4ax1dXVx8803x8SJE73vF4BtksvlYuLEiXHLLbdEXV1dXpx54MCBJ0+aNOlr0gcAgE9HAQwAwC7z6KOPHnXggQeekw9nXbduXfz617+OWbNmCR6Az2zmzJnx61//Ol9eJZA58MADz3n00UePkjwAAHyywsqB0fWjvtBYFVGzImtDAADsEDfeeOO+Rx999EWZTKYw7Wddvnx5XHXVVbFy5UrBA7DdbNiwIWbPnh0DBw6MioqKtB8307179/179uz56sMPP7xc+gAA5LuyzvVRUP7RX1MAAwCw011xxRV7fPe7372qoKCgWdrPOmfOnPjtb38bGzduFDwA2111dXVMmzYtOnfuHB07dkz1WTOZTOHuu+9+eJs2bV6aNGnSKukDAJDPFMAAADQZZ5xxRvef/exnvy0sLCxP+1knTJgQd999d9TX1wsegB2moaEhXnrppchms9G3b99UnzWTyRTttddeB/3lL395dubMmRukDwBAvlIAAwDQJBx00EEVf/jDH64pLi7ulOZz5nK5eOCBB+Kxxx4TOgA77c+eBQsWRF1dXfTv3z8ymUxqz1pQUFBywAEHDJs+ffqkpUuXbpY+AAD5aEsFcIH1AACwMwwaNKj0vvvuu7qsrKxXms9ZV1cX1113XUyaNEnoAOx0EydOjOuvvz7q6upSfc6ysrJef/rTn67u379/idQBAODvKYABANjhKioqCh577LGLKyoqBqb5nNXV1XHNNdfE7NmzhQ7ALvPKK6/ElVdeGVVVVak+Z4sWLQZOnDhxbEVFhZ9vAQDA33CBDADADjdz5syftW3b9sA0n3HdunVx2WWXxRtvvCFwAHa5xYsXx2WXXRZr165N9TnbtWt34MyZM38mcQAA+P8UwAAA7FBPPvnkqB49eoxK8xlXrVoVV1xxRSxfvlzgADQZK1asiCuuuCJWrlyZ6nP26NFj1KRJk0ZJHAAA/lth5cDo+lFfaKyKqFmRtSEAALbZjTfeuO+XvvSlCzOZTGp/8fDdd9+NK6+8MtatWydwAJqc6urqmDVrVvTv3z8qKytTe85u3boN79mz57yHH37Yb2MBAJAXyjrXR0H5R39NAQwAwA5x3nnn9T311FOvLigoKE7rGV977bW45pprorq6WuAANFmbN2+OGTNmRI8ePaJ9+/apPGMmkykYNGjQIYWFhVOee+45v5UFAEDqKYABANipjjrqqFb/8R//8YdmzZq1SusZX3755bj++uujrq5O4AA0eQ0NDfHSSy9Fp06dolOnTqk8Y0FBQXbYsGGfnz9//qQ33nhjk9QBAEizLRXA3gEMAMB21a1bt+wNN9zwnyUlJR3TesYpU6bEjTfeGPX19QIHIDHq6+vjxhtvjKlTp6b2jCUlJZ1uuOGG/+jWrZu7GgAAyFsKYAAAtqunn376XyorK/dI6/kmTZoUd955ZzQ2NgobgMRpbGyMO+64I5588snUnrGysnLw008//UtpAwCQrxTAAABsN88///w3unTp8k9pPd/EiRNj3LhxkcvlhA1AYuVyubj//vtTXQJ36dLlS88+++yJ0gYAIB95BzAAANvFTTfdNPzII488L5PJZNJ4vsceeyzGjx8vaABS47XXXotmzZpF3759U3m+zp0779urV695Dz/88DJpAwCQNlt6B7ACGACAz+wXv/hF7x/+8IdXFxQUNEvj+R544IF45JFHBA1A6ixYsCDq6upiwIABqTtbJpPJDBo06ODGxsbnpk6dul7aAACkiQIYAIAd5oADDqj43e9+99tmzZq1TeP5xo0bF5MmTRI0AKm1aNGi2Lx5cwwcODB1ZysoKMjut99+w5577rnH33vvvc3SBgAgLbZUAHsHMAAA2yybzWbuvPPOfyktLe2exvNNmDBB+QtAXpg0aVI89NBDqTxbaWlpj3vuuedfstlsRtIAAOQDBTAAANvs+eef/06HDh0OTePZHn744Xj44YeFDEDeeOSRR+LPf/5zKs/WoUOHw5599tlvSxkAgHygAAYAYJvcd999hw8ePPjUNJ7t/vvvjwkTJggZgLzz2GOPxX333ZfKs+25554/+NOf/nSYlAEASDvvAAYAYKudccYZ3ceMGXN5QUFBcdrONnHixHjkkUeEDEDeWrx4cWSz2ejbt2/ajpbp06fPvn/5y18mz5w5c4OkAQBIsi29A1gBDADAVhk2bFjzG2+88Q/NmjVrl7azPfroo6l99CUAbI2FCxdGUVFR9OvXL1XnKigoKD7wwAP3e/LJJx9dsWJFnaQBAEiqLRXAHgENAMBWuffee39ZWlraPW3nevzxx+PBBx8UMAD8jz//+c8xceLE1J2rtLS0x3333fdLCQMAkFYKYAAAPrVJkyaN6tSp0xEpPFeMHz9ewADwD8aPHx+TJ09O3bk6der0hUmTJn1VwgAApJFHQAMA8Kmcd955fU888cR/z2QyRWk618yZM+Puu+8WMAB8jNdeey06duwYnTt3TtW5unbtuk9BQcHzzz333DopAwCQNN4BDADAZ3LEEUe0vOKKK67NZrOVaTrXyy+/HDfffHPkcjkhA8DHyOVyMXv27OjSpUt06tQpNefKZDJF++yzz/CpU6c+9u67726WNAAASeIdwAAAbLNsNpu55ZZb/q2kpKRjms61YMGCuPnmm6OxsVHIAPAJGhsb4+abb44333wzVecqLS3tcvfdd5+fzWYzUgYAIC0UwAAAbNGkSZO+3rZt2wPTdKZly5bFDTfcEPX19QIGgE+prq4urr322li+fHmqztWuXbsDH3/88VESBgAgLTwCGgCAj3XZZZcN+upXvzo2k8mk5hcH33///bjyyiujqqpKwACwlerq6uLll1+OIUOGRHl5eWrO1aVLl31LS0unPvPMM2ukDABAEngENAAAW61///4lJ5988q8ymUxRWs60YcOG+P3vfx8bN24UMABso40bN8bvfve7VP15WlBQkP3hD394ft++fYslDABA4q9vrQAAgI/y4IMPnl1WVtYrLeeprq6O3/zmN7Fq1SrhAsBntGrVqrjyyiujuro6NWcqKyvr8/DDD58lXQAAkk4BDADA/zF+/Pgju3XrdnRazlNfX5/KdxYCwK60fPnyuO6666K+vj41Z+rRo8dXx40bd4R0AQBIMgUwAAB/53vf+16nI4444py0nCeXy8Vtt90Wb7zxhnABYDt7/fXX47bbbotcLpeaMx155JHnfvvb3+4oXQAAkkoBDADA/6qoqCi4+OKLLywsLCxPy5nGjx8fs2bNEi4A7CCzZs2Khx56KDXnKSwsrPj1r399QUVFhZ+bAQCQSC5kAQD4XxMnThxdWVk5OC3nef7552PixImCBYAd7LHHHosXXnghNeeprKzc89FHHz1RsgAAJFFh5cDo+lFfaKyKqFmRtSEAgDxxwQUX7DZq1KgLM5lMYRrO8+qrr8Ytt9ySqkdSAkBT/7O3d+/e0a5du1Scp2PHjkNzudxzU6ZMWSddAACamrLO9VHwMc/wcwcwAADRt2/f4h//+McXZzKZVPwG4HvvvRc33HBDNDY2ChcAdpKGhoa47rrrYtmyZak4T0FBQfbss88e27dv32LpAgCQqGtZKwAAYPz48T8qKyvrkYazbNiwIX7/+99HbW2tYAFgJ9u0aVP8/ve/j40bN6biPGVlZb3GjRs3RrIAACSJAhgAIM/ddNNNw/v06XN8Gs5SX18f1157baxdu1awALCLrFmzJq699tqor69PxXn69ev3jd///vdDJQsAQFIogAEA8thBBx1Uceyxx/5rRGTScJ477rgjFi9eLFgA2MUWLVoUd955Z1qOU/CNb3zj34YNG9ZcsgAAJOIC1goAAPLXzTfffFZxcXG7NJxl4sSJMX36dKECQBMxbdq0mDRpUirOUlJS0unOO+88Q6oAACSBAhgAIE/913/914FdunT5UhrO8tprr8Wf//xnoQJAEzN+/PhYsGBBKs7SrVu3o2+66abhUgUAoKlTAAMA5KEvfelLlV/5yld+lYazrFixIq6//vpobGwULAA0MY2NjXHdddfFihUr0nCczHHHHfergw46qEKyAAA0ZQpgAIA8dPXVV5+ezWYrk36OmpqauPbaa2PTpk1CBYAmatOmTXHttddGTU1N4s+SzWbb3njjjT+RKgAATZkCGAAgz9x6663Du3Tp8uWknyOXy8Utt9wSK1euFCoANHErV66MW2+9NXK5XOLP4lHQAAA0dQpgAIA8MnTo0LKvfvWrv0jDWSZMmBBz584VKgAkxJw5c+Kxxx5LxVlGjRr1i6FDh5ZJFQCApkgBDACQR+64444fFRcXd0z6OV5++eV45JFHBAoACfPQQw+l4he4SkpKOt5xxx0/lCgAAE2RAhgAIE9cfvnlu/fs2XNU0s/xwQcfxB133JGKR0gCQL7J5XJx2223xZo1axJ/lp49ex57+eWX7y5VAACaGgUwAEAe6NatW/a73/3uv2YymURf/9XX18cNN9wQ1dXVQgWAhKqqqoobb7wx6uvrE32OTCZT8N3vfvdX3bp1y0oVAICmRAEMAJAHxo8ff0pZWVmvpJ/jnnvuiaVLlwoUABJuyZIlcd999yX+HGVlZT3Hjx9/ikQBAGhKFMAAACn385//vOeAAQNGJ/0c06dPjylTpggUAFJi8uTJMWPGjMSfY8CAAaN//vOf95QoAABNhQIYACDFstls5qyzzjo3k8kk+tGEK1asiLvvvlugAJAyd911V6xYsSLRZ8hkMtmzzjrr3Gw2m5EoAABNgQIYACDFxo0b98XKysq9knyG2trauOGGG6K2tlagAJAyf/1zfvPmzYk+R2Vl5V7jxo0bKVEAAJoCBTAAQEoNHz68/OCDDz4t6ee4//77Y/ny5QIFgJRavnx5jBs3LvHnGDFixI+HDRvWXKIAAOxqCmAAgJS69dZbT8tms22TfIYZM2bEc889J0wASLnJkyfHzJkzE32G4uLitrfffvtp0gQAYFdTAAMApNBVV121R48ePb6S5DOsXLky7rrrLmECQJ64++6744MPPkj0GXr27PnVK664Yg9pAgCwKymAAQBSprS0tOAb3/jGT5N8rdfY2Bi333679/4CQB6pqamJ2267LRobG5N8jIJvfvObZ5aWlvqZGwAAu+6i1AoAANJlwoQJX6uoqBiQ5DOMHz8+Fi1aJEwAyDNvvvlmPPjgg4k+Q4sWLQY9+OCDx0gTAIBdRQEMAJAiRx55ZOWwYcN+kOQzzJ07N5544glhAkCemjhxYixYsCDRZxg+fPiPjjjiiJbSBABgV1AAAwCkyBVXXHFyUVFRRVLnr6qqijvvvDNyuZwwASBP5XK5uP3226O6ujqxZygqKmrxm9/85mRpAgCwKyiAAQBS4vzzz+/Xu3fv45J8httvvz0+/PBDYQJAnlu3bl3cfvvtiT5D7969jz///PP7SRMAgJ1NAQwAkALZbDZz6qmn/jyTyST2+m769OkxZ84cYQIAERExe/bsmDFjRmLnz2QyBaeeeurPs9lsRpoAAOxMCmAAgBT44x//eERlZeXgpM6/du3auPfeewUJAPyde+65J9atW5fY+SsrKwf/6U9/+oIkAQDYmRTAAAAJ17dv3+JDDjnkR0k+w9133x01NTXCBAD+Tk1NTdx9992JPsPBBx/8o759+xZLEwCAnUUBDACQcHfdddc3S0pKOiV1/smTJ8e8efMECQB8pLlz58azzz6b2PlLSko63nPPPd+SJAAAO4sCGAAgwb70pS9VDhw48KSkzr9mzZoYP368IAGALXrggQdizZo1iZ2/f//+Jx111FGtJAkAwM6gAAYASLArrrji1MLCwvIkzp7L5eK2226LTZs2CRIA2KJNmzbFbbfdFrlcLpHzFxYWll1++eU/kCQAADuDAhgAIKF+8Ytf9O7evftXkjr/s88+G2+88YYgAYBP5Y033ojnn38+sfN369bt6F/96ld9JAkAwI6mAAYASKgf/vCHP8pkMom8nvvggw/igQceECIAsFXGjRsX69atS+TsmUym4NRTT/2xFAEA2NEUwAAACXTdddcNa9eu3YFJnD2Xy8Udd9wRtbW1ggQAtsqmTZvizjvvTOz8bdq02f+mm27aT5IAAOxICmAAgIQpLS0t+NrXvnZ6Uud/4YUXYuHChYIEALbJq6++GjNmzEjs/Mccc8zpFRUVfiYHAMAO42ITACBhbr/99oMrKip2S+LsGzZsiHHjxgkRAPhM7r///qiqqkrk7OXl5X3/67/+6wgpAgCwoyiAAQASpKKiouCwww47Nanz33vvvYn9YS0A0HRs2LAh7r///sTOf9BBB/1zq1atCiUJAMCOoAAGAEiQ+++//+iysrKeSZx9zpw58dJLLwkRANguXnjhhViwYEEiZy8tLe32xz/+8StSBABgR1AAAwAkRN++fYv33Xfff07i7LW1tXHvvfcKEQDYru6+++6oq6tL5Oz77bffKf379y+RIgAA25sCGAAgIW6++eZRxcXFbZM4+yOPPBJr164VIgCwXa1atSoee+yxRM6ezWbb3njjjV+TIgAA25sCGAAgAYYOHVq21157fSeJs7/33nvxxBNPCBEA2CEmTpwYK1asSOTsQ4YM+c7QoUPLpAgAwPakAAYASIBrr732xKKiosqkzZ3L5eKee+6JxsZGIQIAO0R9fX3cddddkcvlEjd7UVFR5bXXXnuCFAEA2J4UwAAATdwBBxxQMWDAgG8kcfYZM2bEW2+9JUQAYId6880348UXX0zk7AMGDPjG8OHDy6UIAMD2ogAGAGjirrrqqhOKiooqkjb3pk2b4oEHHhAgALBT3H///VFbW5u4uYuKilpcffXV7gIGAGC7UQADADRhBx10UEX//v0Teffvww8/HB9++KEQAYCdYv369TFhwoREzj5w4MBvHHDAARVSBABge1AAAwA0Yf/5n/95bGFhYfOkzb1q1aqYPHmyAAGAnerpp5+O1atXJ27uwsLC8ssuu2yUBAEA2B4UwAAATdQBBxxQMWjQoNFJnP3uu++O+vp6IQIAO1V9fX3cddddiZx99913/+bQoUPLpAgAwGelAAYAaKIuv/zyYwsLC8uTNvfcuXNjwYIFAgQAdokFCxbE3LlzEzd3UVFRi9/97ndflyAAAJ+VAhgAoAkaOnRo2aBBgxL37t+6urr405/+JEAAYJf605/+FHV1dYmbe/fdd//mkCFDSiUIAMBnoQAGAGiCfvOb33ylqKioZdLmfu655xL53j0AIF1Wr14dzz33XOLmLioqann11VcfLUEAAD4LBTAAQBPTq1evZoMHD/5m0uaurq6ORx55RIAAQJPwyCOPRHV1deLmHjJkyLe6deuWlSAAANtKAQwA0MTcdNNNxxQXF7dN2twTJkyIqqoqAQIATUJVVVUifzmtuLi43a233uouYAAAtpkCGACgCWnVqlXhXnvtdVLS5l61alU8++yzAgQAmpTJkyfHqlWrEjf30KFDR7dq1apQggAAbAsFMABAE3LLLbccXlJS0jlpcz/44INRX18vQACgSamvr48HH3wwcXOXlJR0vummmw6VIAAA20IBDADQRGSz2cwBBxzw7aTNvWjRonjppZcECAA0SS+99FIsXrw4cXOPGDHiO9lsNiNBAAC2lgIYAKCJuOaaa/YuLy/vm7S5H3roocjlcgIEAJqkXC6XyLuAy8vL+1111VV7SRAAgK2lAAYAaCK+8pWvfDdpM8+bNy8WLlwoPACgSVu4cGG8+uqrrg8BAMgLCmAAgCbgsssuG1RZWblPkmbO5XIxfvx44QEAifDAAw8k7qklrVu33veSSy7pLz0AALaGAhgAoAkYNWrUCUmbefbs2bFs2TLhAQCJsGzZsnjllVcSN/cJJ5xwovQAANgaCmAAgF3sn//5nzt37NjxiCTN3NjYGA888IDwAIBEGT9+fDQ0NCRq5k6dOn1h9OjRHaQHAMCnpQAGANjFfvSjH30tk8kk6rps2rRpsWrVKuEBAImyatWqeOGFFxI1cyaTKfzpT386SnoAAHxaCmAAgF1o0KBBpX369Plqkmaur6+PCRMmCA8ASKQJEyZEXV1dombu27fvV/r27VssPQAAPg0FMADALnTZZZcdXlRUVJGkmadOnRpr164VHgCQSOvXr48pU6YkauaioqLK3/zmN0dIDwCAT0MBDACwi2Sz2cy+++57UpJmrqurc/cvAJB4jz76aOLuAt5///1PymazGekBAPBJFMAAALvI1VdfPbSsrKx3kmaeMmVKbNiwQXgAQKJt2LAhnn/++UTNXFZW1ueqq67aS3oAAHwSBTAAwC7y5S9/+bgkzVtfXx8TJ04UHACQCo8//nji7gL+0pe+dLzkAAD4JApgAIBdYPTo0R3atm07IkkzT5s2LdatWyc8ACAVPvzww5g+fXqiZm7fvv2I0aNHd5AeAABbogAGANgFfvrTn47KZDKFSZm3vr4+HnnkEcEBAKnyyCOPRH19fWLmzWQyhT/96U+/JjkAALZEAQwAsJN16tQp26dPn6OTNLO7fwGANFq3bl1MmzYtUTP36dPnmE6dOmWlBwDAx1EAAwDsZFddddUB2Wy2dVLmbWxsjEmTJgmOVOvYsWN06OCJmgD5aNKkSdHY2JiYebPZbOurrrrqAMkBAPBxFMAAADvZiBEjvp6keV988cVYtWqV4Ei1Ll26xIUXXhinnXZadO3a1UIA8siqVavipZdecj0JAEBqKIABAHaiM844o3tlZeXeSZk3l8vFxIkTBUdeyGQyMXjw4PjVr34VY8aMcUcwQB55/PHHI5fLJWbeysrKvc8444zukgMA4KMogAEAdqJTTjnlqxGRScq8CxYsiPfee09w5JVMJhN77713XHjhhTFmzJho3769pQCk3HvvvRcLFy5M1B9X/3NdCQAA/4cCGABgJ+nVq1ezXr16fTlJM3v3L/nsr0XwBRdcECeffHK0bdvWUgBSLGnXPb169fpyr169mkkOAIB/pAAGANhJrrjiioOLiopaJmXeBN4JAztEYWFhDB8+PC688MIYPXp0VFZWWgpACi1YsCCWLVuWmHmLiopaXnnllYdIDgCAf6QABgDYSYYPH/6VJM2btHfhwY5WVFQUI0aMiEsuuSRGjx4dLVu2tBSAFMnlcvH4448naub99tvvK5IDAOAfKYABAHaC0aNHd6isrByalHnXrl0bL7/8suDgI/y1CL744ovjhBNOiBYtWlgKQEq89NJLsW7dusTMW1lZudfo0aM7SA4AgL+lAAYA2AlOP/30o5J07fXMM89EQ0OD4GALiouL47DDDouxY8fGqFGjoqyszFIAEq6hoSGeeeaZJI1c8D/XmQAA8P8vEq0AAGDHymazmX79+n05KfPW1tbGlClTBAefUnFxcYwcOTIuvfTSGDVqVJSWlloKQII9//zzUVtbm5h5+/Xr9+VsNpuRHAAAf6UABgDYwX7zm9/sWVJS0jkp886YMSOqq6sFB1uppKQkRo4cGZdcckkcffTRUVJSYikACVRdXR0zZ85M0p8/na+44orBkgMA4K8UwAAAO9gXvvCFLyVl1lwuF08//bTQ4DNo3rx5HHXUUXHJJZfEyJEjI5vNWgpAwjz11FORy+USM++RRx75ZakBAPBXCmAAgB1oyJAhpZ07dz4iKfO+/vrrsWLFCsHBdlBeXh6jRo2KSy+9VBEMkDArVqyI119/PTHzdunS5fD+/ft79AQAABGhAAYA2KHGjh17aGFhYWJeCOruX9j+KioqYtSoUXHxxRfH4YcfHkVFRZYC4LpouyosLGz+H//xHwdLDQCACAUwAMAOteeeex6ZlFnXrl0b8+bNExrsIK1atYrjjz8+LrroohgxYkQUFPh2DKApmzdvXqxZsyYx8+61115HSg0AgAgFMADADnPMMce0bt269b5Jmfe5556LxsZGwcEO1qZNmxg9enRcfPHFimCAJqyxsTGee+65JP35MvyYY45pLTkAAPykAQBgBznzzDMPz2Qyibje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FpafffbZvaQFAJA+CmAAgE9p//3375+EOV9//XVhAXmjvLw8Ro0aFf/+7/8eI0eOjGw2aymA67FP6fOf//xAaQEApI8CGADgU+rRo8fuTX3G2traePvtt4UF5J2KiooYNWpUXHzxxXH44Yc3+XdvAum2ePHiRLySo1evXoOkBQCQPgpgAIBPqXXr1k3+DoklS5ZEQ0ODsIC81apVqzj++OPj4osvjhEjRkRBgW97gZ2voaEhlixZ0uTnbNOmjQIYACCFfCcMAPApDBkypLR58+a9m/qcb775prAAIqJ169YxevToGDt2rCIYcF32MZo3b95n0KBBpdICAEgX3wEDAHwKp556av9MJtPkr53eeustYQH8jTZt2sTo0aPjvPPOi+HDhyuCAddlfyOTyRT84Ac/+Jy0AADSxXe+AACfwuDBg5v84/Hq6+tj0aJFwgL4CJ06dYqTTz45/u3f/i323nvvyGQylgLsUIsXL07Eqzn23HPPgdICAEgXBTAAwKfQpUuXAU19xnfeeSfq6uqEBbAFnTt3jjFjxiiCgR2utrY23n333SRc53oPMABAyiiAAQA+hZYtW/Zv6jN6/DPAp9elS5cYM2ZMnHvuuTF48GALAfL2+iwJ17kAAGwdBTAAwCcYPnx4eUlJSeemPqfHPwNsvV69esVpp50W55xzTvTvrwMB8u/6rLS0tPPw4cPLpQUAkB4KYACAT/Ctb31rt4ho8s8IXbx4sbAAtlGfPn3irLPOinPOOSd22203CwG2i4T8gl7m29/+dj9pAQCkhwIYAOAT7L777k2+CVi7dm1s2LBBWACfUZ8+feLss8+OM888M3r27GkhwGfy4Ycfxrp165r8nAMHDlQAAwCkSJEVAABsWadOnZr8D8TefvttQQFsRwMGDIgBAwbEggULYvz48bF06VJLAbb5Oq1Vq1audwEA2GkUwAAAn6CyslIBDJCnBgwYEP3794958+bFQw89FO+++66lAFtlyZIlsddeezX1613PvgcASBEFMADAFnTq1CnbvHnzXk19ziVLlggLYAfJZDIxePDg2GOPPeLll1+OBx98MFauXGkxQGqu05o3b967Xbt2RatXr66XGABA8nkHMADAFowZM6ZnJpPJNuUZGxsbPZoUYCfIZDKx9957x4UXXhhjxoyJ9u3bWwrwiZYuXRqNjY1NesaCgoLsqaee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k8nE7NmzY+LEibFmzRoNAXif/VNSzJo161kTAwBongTAAAC70O233/7KOeecszU/P78022sdMGBAtG/f3tWu0My9+uqrMWnSpFi1apVmALyPjh07xgEHHJCIWhsbG6u/8Y1v/NXUAACaJwEwAMAutHLlyob169fP6tat2+hsrzWVSsXhhx8ekyZNMjhohubMmROTJ0+OJUuWaAbAh3D44YdHKpVKRK3r16+fVVFR0WhqAADNU54WAADsWq+++mpirts77LDDDAyamTfffDP+/d//PX7yk58IfwE+pFQqFSNGjEhMva+88sozpgYA0Hw5AQwAsIvddNNNz5166qnV+fn5rbO91m7dukX//v1j4cKFBgc5btmyZfHYY4/F/PnzNQPgIzrggAOic+fOiai1sbFxy4033jjL1AAAmi8BMADALrZy5cqG8vLyGT179vx0Euo9+uijBcCQw5YvXx7jxo0T/AJ8wv1SUpSXlz9TXl7eYGoAAM2XABgAYDeYMWPGUxdccEEiAuAhQ4ZE69ato7q62uAgh6xcuTImTJgQc+fOjUwmoyEAH1ObNm3i0EMPTUy9zz777FOmBgDQvPkGMADAbvDVr371lYaGhk1JqLWgoCCOOOIIQ4McsW7duvj5z38ed955Z8yZM0f4C/AJjRw5MvLz8xNRa0NDw8abbrrpVVMDAGjenAAGANgNKisrm1atWjW9T58+5ySh3qOPPjqefPJJQREk2Pr16+Oxxx6L2bNn+3cZYBdJpVIxatSoxNS7cuXKadXV1WmTAwBo3pwABgDYTaZNm5aY6/c6duwYAwYMMDRIoA0bNsSvf/3r+Nd//dd49dVXhb8Au9CAAQOiY8eOian36aefftLUAAAQAAMA7CZf+9rX5tTX11ckpd6jjjrK0CBBqqqq4v77749vf/vb8eKLL0ZTU5OmAOxiRx55ZGJqra+vX/eNb3zjdVMDAMAV0AAAu0ltbW16xYoVT++///6fT0K9hx56aLRt2zaqqqoMD7LYli1bYsqUKfHcc8/F9u3bNQRgN2nbtm0MGTIkMfUuX778qdraWtc/AwDgBDAAwO70xz/+cUJSas3Pz4/jjjvO0CBL1dTUxKOPPhq33XZb/OUvfxH+Auxmxx57bOTn5yel3Myvf/3rCaYGAECEABgAYLe66667llZXV89PSr1HH310tGjRwuAgi7wd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qATAAABZ4umnn968fPnyxF3xN3r06GjXrp0BAgBZqUOHDnH88ccnru5ly5ZNmD59+hYTBADgoxIAAwBkkbvvvvtPmUymKUk1FxYWxumnn254AEBWOvPMMxP3yYpMJtN41113/dH0AAD4OATAAABZ5Be/+MWatWvXTkta3UcccUT06tXLAAGArNK7d+847LDDEld3eXn5X+6///51JggAwMchAAYAyDIPP/zwn5JWcyqVijPPPNPwAICsMmbMmEilUomr+8EHH/yT6QEA8HEJgAEAsszXv/71NzZs2DAraXUPHDgwDj74YAMEALLCoEGDYsCAAYmru6KiYuatt966wAQBAPi4BMAAAFlo3Lhxv01i3WPGjIm8PFtMAGDvysvLizFjxiSy9j//+c+/NUEAAD7RflgLAACyz/XXXz+nqqrqr0mru1evXnHUUUcZIACwVx1zzDHRvXv3xNW9adOmV2666aa5JggAwCchAAYAyFJ/+tOf7k1i3WPGjInS0lIDBAD2ijZt2sRZZ52VyNofeOCBe00QAIBPSgAMAJClbrrpprlJPAVcXFwcZ555pgECAHvFWWedFS1btkxc3Zs2bXrl5ptvnmeCAAB8UgJgAIAsNm7cuF8lse5Ro0ZF7969DRAA2KP69OkTI0eOTGTtjz322K9MEACAXUEADACQxcaOHTu7qqrqb0mrO5VKxfnnnx+pVMoQAYA9tv/4/Oc/n8j9R2Vl5d+uueaav5kiAAC7ggAYACDLTZ069bdJrLtv374xZMgQAwQA9ojDDjsssTeQTJ48+TcmCADAriIABgDIcpdeeumLVVVVryax9s9//vNRXFxsiADAblVaWhrnn39+Imuvqqr66+WXX/6SKQIAsKsIgAEAEuChhx76WRLrLisri9NPP90AAYDd6qyzzoqSkpIklp753e9+91MTBABgVxIAAwAkwA033DB3w4YNs5JY+3HHHRd9+vQxRABgt+jbt28cddRRiay9oqJi1te//vU3TBEAgF1JAAwAkBA///nPfxoR6aTVnUql4vOf/3zk5dl6AgC7Vn5+flx00UWRSqWSWH76F7/4xX+bIgAAu5q3cAAACXHHHXe8tW7duulJrL13795xzDHHGCIAsEudcMIJ0b1790TWXl5e/pc77rjjLVMEAGBXEwADACTI3XfffW8mk2lKYu1nnXVWtG3b1hAB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onv37vEv//IvccABBzSrdWcymaYnnnji9s997nPPeAoAAODDEQADAJBYDz/88NJjjjlmY+/evY+KiGZzFKq0tDSGDx8eq1evjvXr13sQAHLcwIED45prrol27do1t6VnZsyY8YOzzjprqqcAAAA+PAEwAACJdv/99795zDHHVO6zzz5HRDMKgVu0aBGHHXZYtGzZMhYuXBjpdNrDAJBjCgoK4pxzzonzzz8/WrRo0dyWn37uuefuOuWUUyZ4EgAA4KMRAAMAkHi///3v5w8bNmxF3759j2lO10GnUqno27dvDB06NBYvXhxbtmzxMADkiJ49e8YNN9wQgwcPblbf+434x7XPU6ZM+fbpp58+2ZMAAAAfnQAYAICc8OCDDy4ZNmzYin79+jWrEDgionXr1nHEEUdEfX19LF261MMAkGCpVCpOOOGEuOKKK6JNmzbNbv07wt9vnXPOOX/xNAAAwMcjAAYAIGc89NBDS4YNG7a8X79+xza3EDg/Pz8OPvjg6NWrV8yfPz8aGho8EAAJU1JSEpdffnmccMIJkZ+f3+zWn8lkGp944olvffazn53maQAAgI9PAAwAQE556KGHlo4cOXJdnz59RqWa252ZEdG1a9cYNmxYLFu2LCorKz0QAAnRt2/fuO6662K//fZrluvPZDLpp59++rvnnHPO054GAAD4ZATAAADknD/96U+LDj300KX7779/s7sOOiKiuLg4jjzyyCgpKYk333wz0um0hwIgSxUUFMRnP/vZuPDCC6OkpKRZ9iCdTjc88sgjt5x//vnTPREAAPDJCYABAMhJDz/88NId3wQelUqlmt09mqlUKvr06RMHH3xwLFy4MLZt2+ahAMgynTt3jrFjx8bQoUOjGV5aERH/CH+feOKJ2y+88MLnPBEAALBrCIABAMhZDz300JIePXq8NmjQoGPz8vJaNMcetG3bNkaNGhVNTU2xZMkSDwVAFkilUjF69Oi48soro0OHDs22D01NTdt++9vf/stll132oqcCAAB2HQEwAAA5bdKkSeXdu3efM3jw4GYbAufn58eAAQOiV69esWDBgti+fbsHA2Avad26dVx66aVx/PHHR35+frPtQ2NjY/WvfvWrf7nuuute81QAAMCuJQAGACDnTZ48eW1jY+OMI4444uiCgoKS5tqHrl27xqhRo2Lbtm2xcuVKDwbAHpRKpWLUqFExduzY6NWrV7PuRX19/fo77rjjK9/61rcWejIAAGDXEwADANAsPP/881UbNmx45rjjjjuqsLCwrLn2obCwMAYNGhT77bdfLF68OGpraz0cALtZ+/bt44orrogTTzwxCgub9/uU2tralTfffPPVP/nJT1Z7MgAAYPcQAAMA0Gz87W9/27p27doZJ5xwwsjCwsK2zbkXnTp1ipEjR0Z1dbXTwAC70ciRI+Pqq6+OHj16NPte1NTULL/hhhuu/e1vf7vOkwEAALuPABgAgGbltdde2zpv3rynTznllKFFRUWdmnMvCgsL49BDD4399tsvFi1a5DQwwC709qnfk08+udmf+o2I2Lx587yLL774unHjxm30dAAAwO71fgFwat9zYsTOftC4LmLjq610DwCAxOrVq1fhs88++69du3Y9QTciGhoaYurUqTF58uRobGzUEICPqaCgIE499dQYPXq04HeH8vLyp4499tjvrly5skE3AABg9+swrDYKuuz8ZwJgAAByWuvWrfNeeumlm/fdd9+zdeMfVq9eHffff38sWbJEMwA+ov322y8uuugi1z2/w8KFC38/fPjwnzY0NGR0AwAA9gwBMAAAzd7zzz9/8aGHHnp1RKR0IyKTycTMmTPjz3/+c9TV1WkIwAcoKSmJ8847L0aMGBGplL9Kdki//PLL9xx77LEPagUAAOxZ7xcA+wYwAADNwn333Tfn+OOP39yrV6/DQwgcqVQqevfuHcOHD49169ZFRUWFhwTgPRxyyCExduzY6N+/v/B3h0wm0/jMM8/828knnzxONwAAYM97v28AC4ABAGg2fve7370xePDgJf369Ts6lUrl60hEcXFxjBgxInr06BFLly6N2tpaTQHYoUOHDvGFL3whzjzzzCguLtaQHZqammoeeOCBWz73uc9N1w0AANg7BMAAALDDww8/vKygoOC54cOHH1FQUFCqI//QrVu3OO6446K0tDQWL14cTU1NmgI0Wy1btoxzzjknLr300ujevbuGvENtbe2K22677arbbrvtDd0AAIC9RwAMAADv8Oyzz25avHjx0yeddNKQoqKiTjryD3l5edGnT58YOXJkbN26NVatWqUpQLNz+OGHx1e+8pUYMGBA5OXlacg7VFVV/e3CCy+8/oEHHvDdAAAA2MsEwAAA8C7z58+vefbZZ58+44wz+hcX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OigOOOCAKCoq0pQs0djYuGXmzJk/PvPMMyc2NDS4XgAAAPjQBMAAAJADjjzyyNY/+9nPrujbt++5EZGnI9mluro6Fi5cGPPnz4958+ZFZWWlprBXtGvXLg455JAYMGBA9O/fP1q39nsjWSj91ltv/fmqq676xaxZs6q1AwAA+KgEwAAAkEN++ctfjhgzZsyNrVq16q0b2SmdTsfKlStj0aJFsXDhwli8eHFs27ZNY9gtSkpKol+/ftG/f//Yf//9o1evXpGX53dEslVNTc3yRx999EdXXnnlK7oBAAB8XAJgAADIMd26dSt8+OGHPzd48ODL8vPzbdyzXCaTiTVr1sTChQtj0aJFsWjRotiyZYvG8LGUlZVF//79/xn6du/ePVKplMZkuaampprXXnvtV2PGjHmgoqKiUUcAAIBPQgAMAAA56rjjjiv7r//6r8tdC508mzdvjuXLl8eKFSti+fLlsXjx4qipqdEY/pfi4uLo169f9O7dO/bZZ5/Yd999o6ysTGMSJJPJpJcsWfLn66677pfTp0/3mx8AAMAuIQAGAIAc99Of/nTIueeee3NpaWlf3UimxsbGWLlyZSxdujSWLVsWy5cvj3Xr1kUmk9GcZiKVSkWXLl1in332iT59+kSfPn2iV69eUVBQoDkJtXXr1sUPPvjgj6699tq/6wYAALArCYABAKAZaNeuXf64cePOGTp06BUFBQWtdST56uvrY+XKlf88KbxixYpYu3ZtpNNpzUm4vLy86Nq1a+yzzz7//KdXr17RsmVLzckBjY2NW/7617/+4pxzznm0srKySUcAAIBdTQAMAADNyIknntjmnnvuuXzfffcdk0qlHB3MMdu3b481a9bEmjVrYu3atbF27dooLy+PDRs2CIazUF5eXnTs2DG6desWXbt2jW7dukW3bt2iR48eUVhYqEE5JpPJNC5ZsuRR1z0DAAC7mwAYAACaoa9+9av7Xnfdddd16NDhCN3IfY2Njf8MhNetWxfr1q2LioqKWLduXWzbtk2DdrPS0tLo3LnzP//p0qVLdO3aNbp27eoK52Ziw4YNM//rv/7rxz/60Y+W6wYAALC7CYABAKAZ++UvfznirLPOuq64uNj3gZupmpqaWL9+/T//qaioiMrKyqisrIxNmzZFY2OjJn2AgoKCaN++fbRr1y7at28fHTt2jC5dukSnTp2ic+fOUVxcrEnN1NatW98aP378PVdcccXLugEAAOwpAmAAAGjm2rVrl//ggw+eOWLEiCsLCwvb6gjvtHnz5n+GwZs2bYrKysqorq6OLVu2xJYtW6K6ujqqq6sjk8nk3NpTqVS0bt06WrduHWVlZdGmTZsoLS39X2Fvu3btok2bNh4U/peGhobKl1566efnnHPO+OrqavevAwAAe5QAGAAAiIiIoUOHFt97770XHHjggRfk5+c7ssiHlk6n/xkEV1dXR01Nzfv+k8lkora2NtLpdNTX10dTU1PU1dXt0u8U5+XlRcuWLSM/Pz+KiooiLy8vWrVqFalUKoqLi3f6T0lJSbRq1eqfgW9paWnk5eUZMB9aU1NTzYIFC/745S9/+Y+zZ8+u0REAAGBvEAADAAD/y2mnndb2rrvuurRPnz5n5+XlFeoIe9LbgfDbtm/f/r7XUBcUFESLFi3++b/fDnxhT8pkMg1LliwZd8stt/xq0qRJVToCAADsTQJgAABgp0477bS2d95554X777//5wTBAP9XJpNpWLhw4QO33nrrHwS/AABAtni/ADi/7UHRc2c/SG+LqC33/gcAAHLZokWL6u69995X0un0swcddFCnkpKS3roC8A8VFRUz/7//7/+77aKLLpq6aNGiOh0BAACyRXH3xsgr3fnPBMAAAEDMnDmz8u67736qqalpWr9+/Ypbt27dN5VKpXQGaG4ymUx6zZo1U+65555/Peeccx6cOXNmpa4AAADZRgAMAAB8KDNnzqz88Y9//Gw6nZ4uCAaak7eD37vvvvtfzz///McEvwAAQDYTAAMAAB+JIBhoLgS/AABAEgmAAQCAj+XtILisrOyFvn37diwuLu4VEYJgIBdkKioqnrv33nu/PWbMmEcEvwAAQJK8XwCc2vecGLGzHzSui9j4aivdAwAA/unqq6/u8ZWvfOX8Pn36nJWXl9dCR4CkSafT9UuXLh3/X//1Xw/84he/WKMjAABAEnUYVhsFXXb+MwEwAADwkZ1xxhntb7/99rMPPPDA8/Pz81vrCJDtmpqaqhcsWPDgd77znUcmTpzotC8AAJBoAmAAAGC3GD58eMkPf/jDzwwePPjioqKijjoCZJv6+voNr7322u9vvPHGx2fPnl2jIwAAQC4QAAMAALvV0KFDi++5556zDjnkkPOKioq66giwt9XV1a19/fXXH7z++uvHC34BAIBcIwAGAAD2iFatWuXdc889w0455ZTzO3bseJSOAHtYZsOGDbOmTJny4PXXX/9qbW1tWksAAIBcJAAGAAD2uH/913/tf/7555/dq1ev0/Ly8lroCLC7pNPp+pUrV05+4IEHHvnOd76zSEcAAIBcJwAGAAD2mjPOOKP97bfffvYBBxzw2YKCgjY6AuwqjY2NVW+++eafv/e97z06YcKETToCAAA0FwJgAABgrxs+fHjJ97///dGDBg0aU1paur+OAB9XdXX1wtdee+3Rr371q1Nfe+21Wh0BAACaGwEwAACQVb761a/ue8EFF3y6b9++ZxUUFLTWEeCDNDY2bnnrrbfG/+EPf5j4ox/9aLmOAAAAzZkAGAAAyEpDhw4t/sEPfnDy4MGDz27dunV/HQHerbq6+s2XX375weuuu+7ppUuXbtcRAAAAATAAAJDlCgsLU3ffffeQ0aNHn9G1a9fj8vLyinQFmq90Ol1XXl4+bcqUKROuvfbav+sIAADA/yYABgAAEqNPnz4t/v3f/33UyJEjz2rfvv2nIiKlK9AsZDZt2vTXF1544bGvfe1rzzntCwAA8N4EwAAAQCJddNFFXa6++uqTDzzwwLNbtmzZTUcg99TV1a1ZsGDBuJ/+9KdP3n///et0BAAA4IMJgAEAgETr1q1b4d13333k4YcffmqHDh2OyMvLK9QVSK50Ot2wcePGWbNmzZp8/fXXz6qoqGjUFQAAgA9PAAwAAOSMo48+uvWtt956/CGHHHJKu3btBkdEnq5AIqQrKytfmzdv3uQ777xz+owZM6q1BAAA4OMRAAMAADnpuOOOK/vGN75x/CGHHHJa27ZtB4bvBUO2yVRVVc2dN2/epO9///vTpk+fvkVLAAAAPjkBMAAAkPNuu+22vmedddZJffr0Oa5Vq1a9dQT2ntra2uXLly+f/uijjz51xx13vKUjAAAAu5YAGAAAaFa+9KUvdbv44ouP7t+//wlOBsMekamqqpq7cOHCv/z+97+fcd9995VrCQAAwO4jAAYAAJqtSy65pOtll112jDAYdrl0VVXVvIULF/7lV7/61bO/+93v1moJAADAniEABgAAiIirr766x/nnnz9q//33P7JNmzZDUqlUga7Ah5fJZBoqKyv/vnjx4uf+9Kc/zbr33ntX6woAAMCeJwAGAAB4l379+hV97WtfGzRy5MhRPXv2PLaoqKizrsD/VV9fv37VqlXPvPDCC8/9+7//+5zFixfX6woAAMDeJQAGAAB4H61bt8678847Bx599NFHde/efURpaen+4apomq/M1q1bF69Zs+bF5557btY3v/nNOdXV1WltAQAAyB4CYAAAgI9g8ODBrcaOHXvI8OHDD+vevfvw1q1bHxACYXJXprq6+s01a9a88sorr7z8k5/8ZN5rr71Wqy0AAADZSwAMAADwCVx//fX7nHHGGYf169dvePv27Yfm5+e31hWSrLGxsXrjxo2vvvXWWy+PHz/+lR//+McrdQUAACA5BMAAAAC70Je//OUe55xzzvA+ffoM7tix45CioqKuukI2q6+vX7t27doXFy9ePGfixImv3Xvvvat1BQAAILkEwAAAALvRl7/85R6f+cxnBvfr129Qly5dDm/ZsqVAmL2qrq5u7bp16wS+AAAAOUoADAAAsIe0atUq75prrtnn2GOPPXi//fY7uH379oeUlpb2TaVS+brDbpKuqalZtnHjxnlvvfXW3GeffXbef/3Xfy2vra1Naw0AAEBuEgADAADsRQceeGDLq6+++oAhQ4Yc3LNnz4Pbtm17sGuj+biampqqq6qqXi8vL583Z86ceb/85S/nvfjii1t1BgAAoPkQAAMAAGSZoUOHFn/xi1/cf9CgQQf26NHjwHbt2h3YqlWr3qlUKk932CFdU1OzvLKycsHq1asXzJkzZ8Gf//znJTNmzKjWGgAAgOZNAAwAAJAAxx13XNkFF1xw4MEHH3xA165dDywtLd23pKRkn1QqVag7uS2TyTRs27ZtRXV19dJ169YtfOONNxZOmDBh4YQJEzbpDgAAAO8mAAYAAEiw8847r+OJJ57Yp3///vt16dKlT5s2bfZr3bp1v/z8/GLdSZampqaa6urqxZs3b16ybt26pQsXLlzy9NNPL33ooYc26A4AAAAflgAYAAAgx7Rr1y7/kksu6TFkyJCe++67b89OnTr1Kisr61VcXNyzZcuW3VKpVL4u7R2ZTKaprq6uvKamZtWWLVtWVlRUrFy6dOnK2bNnr7r//vvXVFZWNukSAAAAn4QAGAAAoBnp1KlTwec+97luQ4cO7bnPPvv0aNeuXafWrVt3Li4u7tqyZcvORUVFnfLy8lro1MeTTqe319fXr6+rq6uoqalZW11dvb6y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AACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoIQADAAAAAAAAlBCAAQAAAAAAAEoIwAAAAAAAAAAlBGAAAAAAAACAEgIwAAAAAAAAQAkBGAAAAAAAAKCEAAwAAAAAAABQQgAGAAAAAAAAKCEAAwAAAAAAAJQQgAEAAAAAAABKCMAAAAAAAAAAJQRgAAAAAAAAgBICMAAAAAAAAEAJARgAAAAAAACghAAMAAAAAAAAUEIABgAAAAAAACghAAMAAAAAAACUEIABAAAAAAAASgjAAAAAAAAAACUEYAAAAAAAAIASAjAAAAAAAABACQEYAAAAAAAAoIQADAAAAAAAAFBCAAYAAAAAAAAoMY3JP//9K8My551lzpAk293a7QAAAAAAAAD8iIw3r+SL7TpPxuSt4/ibJJuz20QDBgAAAAAAAHhzrJPp6NvHYcyyjLl7dJTPbl/Jp6sPLufSsM+5ec7q5YOrF0OeP/SVaAAAAAAAAIA3weH7u6zfm79dWDIMSw6225w785vsx3XyzasOby5ssz69c4sAAAAAAAAAr9n69C6bC9sT93a7rKdnORin5Otxynzi1JQcfiwCAwAAAAAAALxO69O7HH68TaaT98cp85R8vbp3Nfszv8q0LHn7xMF1sjk/ZzUPmZ/MmWefhAYAAAAAAAD4oayPdjn7223Gn7x6ZrXPnetX8mBKkpv3cufDd/Pufn5FL56SzcVtNheT3dNt8tQlAwAAAAAAAHyv1sm0ySv/9XtsNWZ3I/lHkgzHi7/4XY7WYz5yiwAAAAAAAAA/Ivtcv/3nPEyS1fHa42t5+vNLyX7JoRsCAAAAAAAAePPt1/nbV3/KvePn1Xc371/NYxEYAAAAAAAA4M0yTHk2rvNo2WdzvHZqzN9v/SF3vju3evng/at5fPDLPDu1yuGyZHSVAAAAAAAAAK/XOGe4ueSvZ4e8M8xZbVe5ceuPufvy3Oqkw4+v5emDX+fuuTlLhhwsEYIBAAAAAAAAXpclGR8OuXP0TR4cPM/9z/+SRyfNDf/1TZezOp/87KdjzizJZkhO7edMy/w/nAUAAAAAAADg/zaMWcZkP8/ZLsmLacr2/MV8+cnvs/tP5/4FmLjAq1ifcioAAAAASUVORK5CYII=";
|
|
2374
|
+
//#endregion
|
|
2375
|
+
//#region src/runtime/types.d.ts
|
|
2376
|
+
type RuntimeAdapter = {
|
|
2377
|
+
readonly writeFileOutputType: WRITE_OUTPUT_TYPE | null;
|
|
2378
|
+
loadMedia: (rel: ISlideRelMedia & {
|
|
2379
|
+
path: string;
|
|
2380
|
+
}) => Promise<string>;
|
|
2381
|
+
createSvgPngPreview: (rel: ISlideRelMedia) => Promise<string>;
|
|
2382
|
+
writeFile: (fileName: string, data: string | ArrayBuffer | Blob | Uint8Array) => Promise<string>;
|
|
2383
|
+
};
|
|
2384
|
+
//#endregion
|
|
2385
|
+
//#region src/pptxgen.d.ts
|
|
2386
|
+
declare class PptxGenJS$1 {
|
|
2387
|
+
/**
|
|
2388
|
+
* Presentation layout name
|
|
2389
|
+
* Standard layouts:
|
|
2390
|
+
* - 'LAYOUT_4x3' (10" x 7.5")
|
|
2391
|
+
* - 'LAYOUT_16x9' (10" x 5.625")
|
|
2392
|
+
* - 'LAYOUT_16x10' (10" x 6.25")
|
|
2393
|
+
* - 'LAYOUT_WIDE' (13.33" x 7.5")
|
|
2394
|
+
* Custom layouts:
|
|
2395
|
+
* Use `pptx.defineLayout()` to create custom layouts (e.g.: 'A4')
|
|
2396
|
+
* @type {string}
|
|
2397
|
+
* @see https://support.office.com/en-us/article/Change-the-size-of-your-slides-040a811c-be43-40b9-8d04-0de5ed79987e
|
|
2398
|
+
*/
|
|
2399
|
+
private _layout;
|
|
2400
|
+
set layout(value: string);
|
|
2401
|
+
get layout(): string;
|
|
2402
|
+
/**
|
|
2403
|
+
* PptxGenJS Library Version
|
|
2404
|
+
*/
|
|
2405
|
+
private readonly _version;
|
|
2406
|
+
get version(): string;
|
|
2407
|
+
/**
|
|
2408
|
+
* @type {string}
|
|
2409
|
+
*/
|
|
2410
|
+
private _author;
|
|
2411
|
+
set author(value: string);
|
|
2412
|
+
get author(): string;
|
|
2413
|
+
/**
|
|
2414
|
+
* @type {string}
|
|
2415
|
+
*/
|
|
2416
|
+
private _company;
|
|
2417
|
+
set company(value: string);
|
|
2418
|
+
get company(): string;
|
|
2419
|
+
/**
|
|
2420
|
+
* @type {string}
|
|
2421
|
+
* @note the `revision` value must be a whole number only (without "." or "," - otherwise, PPT will throw errors upon opening!)
|
|
2422
|
+
*/
|
|
2423
|
+
private _revision;
|
|
2424
|
+
set revision(value: string);
|
|
2425
|
+
get revision(): string;
|
|
2426
|
+
/**
|
|
2427
|
+
* @type {string}
|
|
2428
|
+
*/
|
|
2429
|
+
private _subject;
|
|
2430
|
+
set subject(value: string);
|
|
2431
|
+
get subject(): string;
|
|
2432
|
+
/**
|
|
2433
|
+
* @type {ThemeProps}
|
|
2434
|
+
*/
|
|
2435
|
+
private _theme;
|
|
2436
|
+
set theme(value: ThemeProps);
|
|
2437
|
+
get theme(): ThemeProps;
|
|
2438
|
+
/**
|
|
2439
|
+
* @type {string}
|
|
2440
|
+
*/
|
|
2441
|
+
private _title;
|
|
2442
|
+
set title(value: string);
|
|
2443
|
+
get title(): string;
|
|
2444
|
+
/**
|
|
2445
|
+
* Whether Right-to-Left (RTL) mode is enabled
|
|
2446
|
+
* @type {boolean}
|
|
2447
|
+
*/
|
|
2448
|
+
private _rtlMode;
|
|
2449
|
+
set rtlMode(value: boolean);
|
|
2450
|
+
get rtlMode(): boolean;
|
|
2451
|
+
/** master slide layout object */
|
|
2452
|
+
private readonly _masterSlide;
|
|
2453
|
+
get masterSlide(): PresSlide;
|
|
2454
|
+
/** this Presentation's Slide objects */
|
|
2455
|
+
private readonly _slides;
|
|
2456
|
+
get slides(): PresSlide[];
|
|
2457
|
+
/** this Presentation's sections */
|
|
2458
|
+
private readonly _sections;
|
|
2459
|
+
get sections(): SectionProps[];
|
|
2460
|
+
/** slide layout definition objects, used for generating slide layout files */
|
|
2461
|
+
private readonly _slideLayouts;
|
|
2462
|
+
get slideLayouts(): SlideLayout[];
|
|
2463
|
+
private get internalPresentation();
|
|
2464
|
+
private LAYOUTS;
|
|
2465
|
+
private readonly _alignH;
|
|
2466
|
+
get AlignH(): typeof AlignH;
|
|
2467
|
+
private readonly _alignV;
|
|
2468
|
+
get AlignV(): typeof AlignV;
|
|
2469
|
+
private readonly _chartType;
|
|
2470
|
+
get ChartType(): typeof ChartType;
|
|
2471
|
+
private readonly _outputType;
|
|
2472
|
+
get OutputType(): typeof OutputType;
|
|
2473
|
+
private _presLayout;
|
|
2474
|
+
get presLayout(): PresLayout;
|
|
2475
|
+
private readonly _schemeColor;
|
|
2476
|
+
get SchemeColor(): typeof SchemeColor;
|
|
2477
|
+
private readonly _shapeType;
|
|
2478
|
+
get ShapeType(): typeof ShapeType;
|
|
2479
|
+
/**
|
|
2480
|
+
* @depricated use `ChartType`
|
|
2481
|
+
*/
|
|
2482
|
+
private readonly _charts;
|
|
2483
|
+
get charts(): typeof CHART_TYPE;
|
|
2484
|
+
/**
|
|
2485
|
+
* @depricated use `SchemeColor`
|
|
2486
|
+
*/
|
|
2487
|
+
private readonly _colors;
|
|
2488
|
+
get colors(): typeof SCHEME_COLOR_NAMES;
|
|
2489
|
+
/**
|
|
2490
|
+
* @depricated use `ShapeType`
|
|
2491
|
+
*/
|
|
2492
|
+
private readonly _shapes;
|
|
2493
|
+
get shapes(): typeof SHAPE_TYPE;
|
|
2494
|
+
private readonly _runtime;
|
|
2495
|
+
constructor(runtime: RuntimeAdapter);
|
|
2496
|
+
/**
|
|
2497
|
+
* Provides an API for `addTableDefinition` to create slides as needed for auto-paging
|
|
2498
|
+
* @param {AddSlideProps} options - slide masterName and/or sectionTitle
|
|
2499
|
+
* @return {PresSlide} new Slide
|
|
2500
|
+
*/
|
|
2501
|
+
private readonly addNewSlide;
|
|
2502
|
+
/**
|
|
2503
|
+
* Provides an API for `addTableDefinition` to get slide reference by number
|
|
2504
|
+
* @param {number} slideNum - slide number
|
|
2505
|
+
* @return {PresSlide} Slide
|
|
2506
|
+
* @since 3.0.0
|
|
2507
|
+
*/
|
|
2508
|
+
private readonly getSlide;
|
|
2509
|
+
/**
|
|
2510
|
+
* Enables the `Slide` class to set PptxGenJS [Presentation] master/layout slidenumbers
|
|
2511
|
+
* @param {SlideNumberProps} slideNum - slide number config
|
|
2512
|
+
*/
|
|
2513
|
+
private readonly setSlideNumber;
|
|
2514
|
+
/**
|
|
2515
|
+
* Create all chart and media rels for this Presentation
|
|
2516
|
+
* @param {PresSlideInternal | SlideLayoutInternal} slide - slide with rels
|
|
2517
|
+
* @param {JSZip} zip - JSZip instance
|
|
2518
|
+
* @param {Promise<string>[]} chartPromises - promise array
|
|
2519
|
+
*/
|
|
2520
|
+
private readonly createChartMediaRels;
|
|
2521
|
+
/**
|
|
2522
|
+
* Create and export the .pptx file
|
|
2523
|
+
* @param {WRITE_OUTPUT_TYPE} outputType - output file type
|
|
2524
|
+
* @return {Promise<string | ArrayBuffer | Blob | Uint8Array>} Promise with data or stream (node) or filename (browser)
|
|
2525
|
+
*/
|
|
2526
|
+
private readonly exportPresentation;
|
|
2527
|
+
/**
|
|
2528
|
+
* Export the current Presentation to stream
|
|
2529
|
+
* @param {WriteBaseProps} props - output properties
|
|
2530
|
+
* @returns {Promise<string | ArrayBuffer | Blob | Uint8Array>} file stream
|
|
2531
|
+
*/
|
|
2532
|
+
stream(props?: WriteBaseProps): Promise<string | ArrayBuffer | Blob | Uint8Array>;
|
|
2533
|
+
/**
|
|
2534
|
+
* Export the current Presentation as JSZip content with the selected type
|
|
2535
|
+
* @param {WriteProps} props output properties
|
|
2536
|
+
* @returns {Promise<string | ArrayBuffer | Blob | Uint8Array>} file content in selected type
|
|
2537
|
+
*/
|
|
2538
|
+
write(props?: WriteProps | WRITE_OUTPUT_TYPE): Promise<string | ArrayBuffer | Blob | Uint8Array>;
|
|
2539
|
+
/**
|
|
2540
|
+
* Export the current Presentation.
|
|
2541
|
+
* Write the generated presentation to disk (Node) or trigger a download (browser).
|
|
2542
|
+
* @param {WriteFileProps} props - output file properties
|
|
2543
|
+
* @returns {Promise<string>} the presentation name
|
|
2544
|
+
*/
|
|
2545
|
+
writeFile(props?: WriteFileProps | string): Promise<string>;
|
|
2546
|
+
/**
|
|
2547
|
+
* Add a new Section to Presentation
|
|
2548
|
+
* @param {ISectionProps} section - section properties
|
|
2549
|
+
* @example pptx.addSection({ title:'Charts' });
|
|
2550
|
+
*/
|
|
2551
|
+
addSection(section: SectionProps): void;
|
|
2552
|
+
/**
|
|
2553
|
+
* Add a new Slide to Presentation
|
|
2554
|
+
* @param {AddSlideProps} options - slide options
|
|
2555
|
+
* @returns {PresSlide} the new Slide
|
|
2556
|
+
*/
|
|
2557
|
+
addSlide(options?: AddSlideProps): PresSlide;
|
|
2558
|
+
/**
|
|
2559
|
+
* Create a custom Slide Layout in any size
|
|
2560
|
+
* @param {PresLayout} layout - layout properties
|
|
2561
|
+
* @example pptx.defineLayout({ name:'A3', width:16.5, height:11.7 });
|
|
2562
|
+
*/
|
|
2563
|
+
defineLayout(layout: PresLayout): void;
|
|
2564
|
+
/**
|
|
2565
|
+
* Create a new slide master [layout] for the Presentation
|
|
2566
|
+
* @param {SlideMasterProps} props - layout properties
|
|
2567
|
+
*/
|
|
2568
|
+
defineSlideMaster(props: SlideMasterProps): void;
|
|
2569
|
+
/**
|
|
2570
|
+
* Reproduces an HTML table as a PowerPoint table - including column widths, style, etc. - creates 1 or more slides as needed
|
|
2571
|
+
* @param {string} eleId - table HTML element ID
|
|
2572
|
+
* @param {TableToSlidesProps} options - generation options
|
|
2573
|
+
*/
|
|
2574
|
+
tableToSlides(eleId: string, options?: TableToSlidesProps): void;
|
|
2575
|
+
}
|
|
2576
|
+
//#endregion
|
|
2577
|
+
//#region src/browser.d.ts
|
|
2578
|
+
declare class PptxGenJS extends PptxGenJS$1 {
|
|
2579
|
+
constructor();
|
|
2580
|
+
}
|
|
2581
|
+
//#endregion
|
|
2582
|
+
export { AXIS_ID_CATEGORY_PRIMARY, AXIS_ID_CATEGORY_SECONDARY, AXIS_ID_SERIES_PRIMARY, AXIS_ID_VALUE_PRIMARY, AXIS_ID_VALUE_SECONDARY, type AddSlideProps, AlignH, AlignV, BARCHART_COLORS, BULLET_TYPES, type BackgroundProps, type BorderProps, CHART_NAME, CHART_TYPE, CRLF, type ChartAxisTickMark, type ChartLineCap, ChartType, type Color, type Coord, DEF_BULLET_MARGIN, DEF_CELL_BORDER, DEF_CELL_MARGIN_IN, DEF_CELL_MARGIN_PT, DEF_CHART_BORDER, DEF_CHART_GRIDLINE, DEF_FONT_COLOR, DEF_FONT_SIZE, DEF_FONT_TITLE_SIZE, DEF_PRES_LAYOUT, DEF_PRES_LAYOUT_NAME, DEF_SHAPE_LINE_COLOR, DEF_SHAPE_SHADOW, DEF_SLIDE_BKGD, DEF_SLIDE_MARGIN_IN, DEF_TEXT_GLOW, DEF_TEXT_SHADOW, type DataOrPathProps, type DataOrPathRequiredProps, EMU, type HAlign, type HexColor, type HyperlinkProps, type IChartAreaProps, type IChartMulti, type IChartOpts, type IChartOptsLib, type IChartPropsAxisCat, type IChartPropsAxisSer, type IChartPropsAxisVal, type IChartPropsBase, type IChartPropsChartBar, type IChartPropsChartDoughnut, type IChartPropsChartLine, type IChartPropsChartPie, type IChartPropsChartRadar, type IChartPropsDataLabel, type IChartPropsDataTable, type IChartPropsFillLine, type IChartPropsLegend, type IChartPropsTitle, IMG_BROKEN, IMG_PLAYBTN, type IOptsChartData, type IPresentationProps, type ISlideObject, type ISlideRel, type ISlideRelChart, type ISlideRelMedia, type ImageProps, JSZIP_OUTPUT_TYPE, LAYOUT_IDX_SERIES_BASE, LETTERS, LINEH_MODIFIER, MASTER_OBJECTS, type Margin, type MediaProps, type MediaType, ONEPT, type ObjectNameProps, type ObjectOptions, type OptsChartData, type OptsChartGridLine, OutputType, PIECHART_COLORS, PLACEHOLDER_TYPE, PLACEHOLDER_TYPES, type PlaceholderProps, type PositionProps, PptxGenJS, PptxGenJS as Presentation, PptxGenJS as default, type PresLayout, type PresSlide, type PresSlide as Slide, type PresSlideInternal, type PresentationProps, REGEX_HEX_COLOR, SCHEME_COLORS, SCHEME_COLOR_NAMES, SHAPE_NAME, SHAPE_TYPE, SLDNUMFLDID, SLIDE_OBJECT_TYPES, SchemeColor, type SectionInternalProps, type SectionProps, type ShadowProps, type ShapeFillProps, type ShapeLineProps, type ShapeProps, ShapeType, type SlideBaseProps, type SlideLayout, type SlideLayoutInternal, type SlideMasterChartProps, type SlideMasterObject, type SlideMasterProps, type SlideNumberProps, TEXT_HALIGN, TEXT_VALIGN, type TableCell, type TableCellProps, type TableProps, type TableRow, type TableRowSlide, type TableToSlidesProps, type TextBaseProps, type TextGlowProps, type TextProps, type TextPropsOptions, type ThemeColor, type ThemeProps, type VAlign, WRITE_OUTPUT_TYPE, type WriteBaseProps, type WriteFileProps, type WriteProps };
|
|
2583
|
+
//# sourceMappingURL=standalone.d.ts.map
|