@digabi/exam-engine-core 16.6.4 → 16.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/dist/__tests__/tsconfig.tsbuildinfo +1 -1
  2. package/dist/components/attachments/Attachment.d.ts +1 -2
  3. package/dist/components/attachments/Attachment.d.ts.map +1 -1
  4. package/dist/components/attachments/Attachments.d.ts +1 -2
  5. package/dist/components/attachments/Attachments.d.ts.map +1 -1
  6. package/dist/components/attachments/Question.d.ts +1 -2
  7. package/dist/components/attachments/Question.d.ts.map +1 -1
  8. package/dist/components/context/AttachmentContext.d.ts +1 -2
  9. package/dist/components/context/AttachmentContext.d.ts.map +1 -1
  10. package/dist/components/context/ExamContext.d.ts +1 -2
  11. package/dist/components/context/ExamContext.d.ts.map +1 -1
  12. package/dist/components/context/QuestionContext.d.ts +1 -2
  13. package/dist/components/context/QuestionContext.d.ts.map +1 -1
  14. package/dist/components/context/ResultsContext.d.ts +1 -2
  15. package/dist/components/context/ResultsContext.d.ts.map +1 -1
  16. package/dist/components/context/SectionContext.d.ts +1 -2
  17. package/dist/components/context/SectionContext.d.ts.map +1 -1
  18. package/dist/components/context/withContext.d.ts +1 -1
  19. package/dist/components/context/withContext.d.ts.map +1 -1
  20. package/dist/components/context/withContext.js.map +1 -1
  21. package/dist/components/exam/Attachment.d.ts +1 -2
  22. package/dist/components/exam/Attachment.d.ts.map +1 -1
  23. package/dist/components/exam/Exam.d.ts +1 -1
  24. package/dist/components/exam/Question.d.ts +1 -2
  25. package/dist/components/exam/Question.d.ts.map +1 -1
  26. package/dist/components/exam/Section.d.ts +1 -2
  27. package/dist/components/exam/Section.d.ts.map +1 -1
  28. package/dist/components/grading/ChoiceAnswer.d.ts +6 -0
  29. package/dist/components/grading/ChoiceAnswer.d.ts.map +1 -0
  30. package/dist/components/grading/ChoiceAnswer.js +57 -0
  31. package/dist/components/grading/ChoiceAnswer.js.map +1 -0
  32. package/dist/components/grading/DropdownAnswer.d.ts +6 -0
  33. package/dist/components/grading/DropdownAnswer.d.ts.map +1 -0
  34. package/dist/components/grading/DropdownAnswer.js +43 -0
  35. package/dist/components/grading/DropdownAnswer.js.map +1 -0
  36. package/dist/components/grading/Grading.d.ts.map +1 -1
  37. package/dist/components/grading/Grading.js +0 -3
  38. package/dist/components/grading/Grading.js.map +1 -1
  39. package/dist/components/grading/MultiLineAnswer.d.ts.map +1 -1
  40. package/dist/components/grading/MultiLineAnswer.js +2 -0
  41. package/dist/components/grading/MultiLineAnswer.js.map +1 -1
  42. package/dist/components/grading/Results.d.ts +15 -0
  43. package/dist/components/grading/Results.d.ts.map +1 -0
  44. package/dist/components/grading/Results.js +77 -0
  45. package/dist/components/grading/Results.js.map +1 -0
  46. package/dist/components/grading-instructions/Question.d.ts +1 -2
  47. package/dist/components/grading-instructions/Question.d.ts.map +1 -1
  48. package/dist/components/grading-instructions/Section.d.ts +1 -2
  49. package/dist/components/grading-instructions/Section.d.ts.map +1 -1
  50. package/dist/components/results/Question.d.ts +1 -2
  51. package/dist/components/results/Question.d.ts.map +1 -1
  52. package/dist/components/results/Results.d.ts +1 -1
  53. package/dist/components/results/Section.d.ts +1 -2
  54. package/dist/components/results/Section.d.ts.map +1 -1
  55. package/dist/editAnnotations.d.ts +1 -2
  56. package/dist/editAnnotations.d.ts.map +1 -1
  57. package/dist/editAnnotations.js +5 -337
  58. package/dist/editAnnotations.js.map +1 -1
  59. package/dist/editAnnotationsOld.d.ts +3 -0
  60. package/dist/editAnnotationsOld.d.ts.map +1 -0
  61. package/dist/editAnnotationsOld.js +340 -0
  62. package/dist/editAnnotationsOld.js.map +1 -0
  63. package/dist/i18n/index.js +1 -1
  64. package/dist/i18n/index.js.map +1 -1
  65. package/dist/main-bundle.js +1 -1
  66. package/dist/main-bundle.js.LICENSE.txt +33 -3
  67. package/dist/main.css +1 -1
  68. package/package.json +4 -4
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
- import { ExamComponentProps } from '../../createRenderChildNodes';
3
- declare const _default: React.MemoExoticComponent<React.ComponentType<ExamComponentProps>>;
2
+ declare const _default: React.MemoExoticComponent<React.ComponentType<any>>;
4
3
  export default _default;
5
4
  //# sourceMappingURL=Section.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Section.d.ts","sourceRoot":"","sources":["../../../src/components/results/Section.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAA;AAKzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;;AAkBjE,wBAAsD"}
1
+ {"version":3,"file":"Section.d.ts","sourceRoot":"","sources":["../../../src/components/results/Section.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAA;;AAuBzC,wBAAsD"}
@@ -1,3 +1,2 @@
1
- export function setupAnnotationEditing($containerElement: any, saveAnnotation: any, localize: any, isCensor: any): void;
2
- export function setupAnnotationDisplaying($answers: any, isCensor: any): void;
1
+ export declare function setupAnnotationEditing(answerElement: Element): void;
3
2
  //# sourceMappingURL=editAnnotations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"editAnnotations.d.ts","sourceRoot":"","sources":["../src/editAnnotations.js"],"names":[],"mappings":"AAUA,wHA6PC;AAED,8EAqGC"}
1
+ {"version":3,"file":"editAnnotations.d.ts","sourceRoot":"","sources":["../src/editAnnotations.ts"],"names":[],"mappings":"AAAA,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,OAAO,QAM5D"}
@@ -1,340 +1,8 @@
1
- import $ from 'jquery';
2
- import * as _ from 'lodash-es';
3
- import * as Bacon from 'baconjs';
4
- import * as answerAnnotationsRendering from './annotations-rendering';
5
- $.fn.asEventStream = Bacon.$.asEventStream;
6
- const ESC = 27;
7
- const ENTER = 13;
8
- let isMouseDown = false;
9
- export function setupAnnotationEditing($containerElement, saveAnnotation, localize, isCensor) {
10
- setupAnnotationAddition($containerElement);
11
- setupAnnotationRemoval($containerElement);
12
- function setupAnnotationRemoval($answers) {
13
- $answers.on('mousedown', '.remove-annotation-area', (event) => {
14
- removeAnnotation($(event.target).closest('.answerAnnotation'));
15
- return false;
16
- });
17
- function removeAnnotation($annotationElem) {
18
- // eslint-disable-line no-shadow
19
- const $answerText = $annotationElem.closest('.answerText');
20
- const annotationIndex = Number($annotationElem.data('index'));
21
- const annotations = answerAnnotationsRendering.get($answerText);
22
- const updatedAnnotations = _.without(annotations, annotations[annotationIndex]);
23
- saveAnnotation(getAnswerId($answerText), updatedAnnotations);
24
- answerAnnotationsRendering.renderAnnotationsForElement($answerText, updatedAnnotations);
25
- }
26
- }
27
- function setupAnnotationAddition($containerElement) {
28
- preventDragSelectionFromOverlappingCensorAnswerText($containerElement);
29
- $containerElement
30
- .asEventStream('mouseup')
31
- .filter(hasTextSelectedInAnswerText)
32
- .map(() => {
33
- $('.remove-annotation-popup').remove();
34
- return getBrowserTextSelection().getRangeAt(0);
35
- })
36
- .filter((range) => {
37
- if (selectionHasNothingToUnderline(range)) {
38
- return false;
39
- }
40
- const $container = $(range.commonAncestorContainer);
41
- return (!$container.hasClass('add-annotation-popup') &&
42
- ($container.hasClass('answerText') || $container.parents('div.answerText').toArray().length > 0) &&
43
- !$container.parents('.answer').hasClass('autograded'));
44
- })
45
- .flatMapLatest(openPopupFromRange)
46
- .onValue(addAnnotation);
47
- $containerElement
48
- .asEventStream('mousedown')
49
- .filter((e) => !$(e.target).closest('.add-annotation-text').length && !$(e.target).closest('.annotation-message').length)
50
- .merge($containerElement.asEventStream('keyup').filter((e) => e.keyCode === ESC))
51
- .onValue(() => {
52
- getBrowserTextSelection().removeAllRanges();
53
- // Render annotations for all answers that have popup open. This clears the popup and annotation that was merged for rendering before opening popup.
54
- $('.add-annotation-popup').each((index, popup) => {
55
- answerAnnotationsRendering.renderAnnotationsForElement($(popup).closest('.answerText'));
56
- });
57
- });
58
- $containerElement
59
- .asEventStream('mousedown', 'img, .attachmentWrapper')
60
- .filter((e) => e.button === 0)
61
- .doAction(() => {
62
- isMouseDown = true;
63
- return false;
64
- })
65
- .flatMapLatest((se) => {
66
- const $target = $(se.currentTarget);
67
- // We have attached `mousedown` to `.attachmentWrapper` as well, so
68
- // the target isn't necessarily the image itself.
69
- const $image = $target.is('img') ? $target : $target.find('img');
70
- const $targetAnswerText = $image.on('dragstart', false).closest('.answerText');
71
- const attachmentIndex = $targetAnswerText.find('img').index($image);
72
- // The event will come from the topmost `.answerText`, which isn't
73
- // necessarily the correct one. So we need to find the correct
74
- // `.answerText` to add the annotation to.
75
- const $answerText = $targetAnswerText
76
- .parent()
77
- .children('.answerText' + (isCensor ? '.is_censor' : '.is_pregrading'));
78
- const $attachmentWrapper = answerAnnotationsRendering.wrapAttachment($answerText.find(`img:eq(${attachmentIndex})`));
79
- let $shape;
80
- const bbox = $attachmentWrapper[0].getBoundingClientRect();
81
- const startX = clamp((se.clientX - bbox.left) / bbox.width);
82
- const startY = clamp((se.clientY - bbox.top) / bbox.height);
83
- const lineThresholdPx = 10;
84
- const mouseUpE = $(window)
85
- .asEventStream('mouseup')
86
- .doAction(() => {
87
- isMouseDown = false;
88
- });
89
- return $(window)
90
- .asEventStream('mousemove')
91
- .takeUntil(mouseUpE)
92
- .flatMapLatest((e) => {
93
- const currentX = clamp((e.clientX - bbox.left) / bbox.width);
94
- const currentY = clamp((e.clientY - bbox.top) / bbox.height);
95
- const isVerticalLine = Math.abs(se.clientX - e.clientX) <= lineThresholdPx;
96
- const isHorizontalLine = Math.abs(se.clientY - e.clientY) <= lineThresholdPx;
97
- const type = isVerticalLine || isHorizontalLine ? 'line' : 'rect';
98
- switch (type) {
99
- case 'rect': {
100
- return {
101
- type: 'rect',
102
- attachmentIndex,
103
- x: Math.min(startX, currentX),
104
- y: Math.min(startY, currentY),
105
- width: Math.abs(currentX - startX),
106
- height: Math.abs(currentY - startY),
107
- };
108
- }
109
- case 'line': {
110
- return {
111
- type: 'line',
112
- attachmentIndex,
113
- x1: isVerticalLine ? startX : Math.min(startX, currentX),
114
- y1: isHorizontalLine ? startY : Math.min(startY, currentY),
115
- x2: isVerticalLine ? startX : Math.max(startX, currentX),
116
- y2: isHorizontalLine ? startY : Math.max(startY, currentY),
117
- };
118
- }
119
- }
120
- })
121
- .doAction((shape) => {
122
- const doAppend = $shape == null;
123
- $shape = answerAnnotationsRendering.renderShape(shape, $shape);
124
- if (doAppend) {
125
- $attachmentWrapper.append($shape);
126
- }
127
- })
128
- .last()
129
- .flatMapLatest((shape) => {
130
- const $answerText = $attachmentWrapper.closest('.answerText');
131
- const attachmentWrapperPosition = $attachmentWrapper.position();
132
- const shapePosition = $shape.position();
133
- const popupCss = {
134
- position: 'absolute',
135
- top: attachmentWrapperPosition.top + shapePosition.top + $shape.height() + 4,
136
- left: attachmentWrapperPosition.left + shapePosition.left,
137
- };
138
- return openPopup($answerText, shape, '', popupCss);
139
- });
140
- })
141
- .onValue(addAnnotation);
142
- function clamp(n) {
143
- return _.clamp(n, 0, 1);
144
- }
145
- function selectionHasNothingToUnderline(range) {
146
- const contents = range.cloneContents();
147
- let hasImages = _.includes(_.toArray(contents.childNodes).map((x) => x.tagName), 'IMG');
148
- return contents.textContent.length === 0 && !hasImages;
149
- }
150
- function preventDragSelectionFromOverlappingCensorAnswerText($containerElem) {
151
- if (isCensor) {
152
- $containerElem.on('mousedown mouseup', (e) => {
153
- $('.answerText.is_censor .answerAnnotation').toggleClass('no-mouse', e.type === 'mousedown');
154
- });
155
- }
156
- }
157
- function getPopupCss(range) {
158
- const container = $(range.startContainer).closest('.answer-text-container').get(0);
159
- const boundingRect = range.getBoundingClientRect();
160
- if (container) {
161
- const containerRect = container.getBoundingClientRect();
162
- return {
163
- position: 'absolute',
164
- top: boundingRect.bottom - containerRect.top + 10,
165
- left: boundingRect.left - containerRect.left,
166
- };
167
- }
168
- else {
169
- return {
170
- position: 'absolute',
171
- top: 0,
172
- left: 0,
173
- };
174
- }
175
- }
176
- function openPopupFromRange(range) {
177
- const popupCss = getPopupCss(range);
178
- let $answerText = $(range.startContainer).closest('.answerText');
179
- const annotationPos = answerAnnotationsRendering.calculatePosition($answerText, range);
180
- if (isCensor && !$answerText.hasClass('is_censor')) {
181
- // render annotations to censor answer text element even if event cought via double click
182
- $answerText = $(range.startContainer).closest('.answer').find('.answerText.is_censor');
183
- }
184
- const messages = answerAnnotationsRendering.getOverlappingMessages($answerText, annotationPos.startIndex, annotationPos.length);
185
- const renderedMessages = messages.reduceRight((msg, str) => `${str} / ${msg}`, '');
186
- getBrowserTextSelection().removeAllRanges();
187
- // Merge and render annotation to show what range it will contain if annotation gets added
188
- // Merged annotation not saved yet, so on cancel previous state is rendered
189
- const mergedAnnotations = answerAnnotationsRendering.mergeAnnotation($answerText, annotationPos);
190
- answerAnnotationsRendering.renderGivenAnnotations($answerText, mergedAnnotations);
191
- return openPopup($answerText, annotationPos, renderedMessages, popupCss);
192
- }
193
- function openPopup($answerText, annotation, message, popupCss) {
194
- const $popup = localize($('<div class="popup add-annotation-popup"><input class="add-annotation-text" type="text" value=""/><i class="fa fa-comment"></i><button data-i18n="arpa.annotate">Merkitse</button></div>'));
195
- $popup.get(0).firstChild.value = message;
196
- $answerText.append($popup);
197
- $popup.css(popupCss);
198
- $popup.find('input').focus();
199
- return $popup
200
- .find('button')
201
- .asEventStream('mousedown')
202
- .merge($popup.asEventStream('keyup').filter((e) => e.keyCode === ENTER))
203
- .map(() => {
204
- const message = $('.add-annotation-text').val().trim();
205
- return {
206
- $answerText,
207
- annotation: _.assign({}, annotation, { message }),
208
- };
209
- });
210
- }
211
- function addAnnotation(annotationData) {
212
- if (annotationData.annotation.length > 0 || annotationData.annotation.type != null) {
213
- const data = answerAnnotationsRendering.get(annotationData.$answerText);
214
- const annotations = data
215
- ? answerAnnotationsRendering.mergeAnnotation(annotationData.$answerText, annotationData.annotation)
216
- : [annotationData.annotation];
217
- saveAnnotation(getAnswerId(annotationData.$answerText), annotations);
218
- answerAnnotationsRendering.renderAnnotationsForElement(annotationData.$answerText, annotations);
219
- }
220
- }
221
- }
222
- }
223
- export function setupAnnotationDisplaying($answers, isCensor) {
224
- let fadeOutDelayTimeout = void 0;
225
- $answers.on('mouseenter', '.answerAnnotation', (event) => {
226
- const $annotation = $(event.target);
227
- if (isMouseDown || addAnnotationPopupIsVisible() || hasTextSelectedInAnswerText()) {
228
- return;
229
- }
230
- clearTimeout(fadeOutDelayTimeout);
231
- if (popupAlreadyShownForCurrentAnnotation(event)) {
232
- $annotation.find('.remove-annotation-popup').stop().show().css({ opacity: 1 });
233
- }
234
- else {
235
- clearAllRemovePopups();
236
- renderRemovePopup(event);
237
- }
238
- });
239
- $answers.on('mouseleave', '.answerAnnotation', (event) => {
240
- fadeOutDelayTimeout = setTimeout(() => {
241
- removeRemovePopup(event);
242
- }, 400);
1
+ export function setupAnnotationEditing(answerElement) {
2
+ answerElement.addEventListener('mouseup', (e) => {
3
+ console.log('target', e.target);
4
+ const selection = window.getSelection();
5
+ console.log(selection);
243
6
  });
244
- function popupAlreadyShownForCurrentAnnotation(event) {
245
- const mouseOverAnnotationElem = $(event.target).closest('.answerAnnotation')[0];
246
- const popupsCurrentAnnotationElem = $('.remove-annotation-popup:visible').closest('.answerAnnotation')[0];
247
- return (event &&
248
- mouseOverAnnotationElem &&
249
- popupsCurrentAnnotationElem &&
250
- mouseOverAnnotationElem.isEqualNode(popupsCurrentAnnotationElem));
251
- }
252
- function addAnnotationPopupIsVisible() {
253
- return $('.add-annotation-popup').is(':visible');
254
- }
255
- function clearAllRemovePopups() {
256
- $('.remove-annotation-popup').remove();
257
- }
258
- function renderRemovePopup(event) {
259
- const $annotation = $(event.currentTarget);
260
- const $popup = popupWithMessage($annotation, $annotation.attr('data-message'));
261
- $annotation.append($popup);
262
- // Calculate limits for preventing overflow on either side
263
- const left = inlineLeftOffset(event.currentTarget);
264
- const pageMargin = 8;
265
- const leftLimit = -left + pageMargin;
266
- const rightLimit = $(window).width() - left - $popup.outerWidth() - pageMargin;
267
- const css = {
268
- left: Math.min(Math.max(mouseOffsetLeft(event) - $popup.outerWidth() / 2, leftLimit), rightLimit),
269
- };
270
- $popup.css(css);
271
- $popup.fadeIn();
272
- }
273
- function removeRemovePopup(event) {
274
- const $annotation = $(event.target).closest('.answerAnnotation');
275
- const popup = $annotation.find('.remove-annotation-popup');
276
- popup.fadeOut(100, () => {
277
- popup.remove();
278
- });
279
- }
280
- function popupWithMessage($annotation, message) {
281
- const $messageContainer = $('<span class="popup remove-annotation-popup"><span class="annotation-message"></span></span>');
282
- $messageContainer.find('.annotation-message').text(message || '-');
283
- if (isAllowedToRemoveAnnotation($annotation)) {
284
- $messageContainer.append('<i class="fa fa-times-circle remove-annotation-area"></i>');
285
- }
286
- return $messageContainer;
287
- }
288
- function isAllowedToRemoveAnnotation($annotation) {
289
- return isPregradingAndScoringEnabled() || isCensorAndOwnAnnotation();
290
- function isPregradingAndScoringEnabled() {
291
- const $body = $('body');
292
- return $body.hasClass('is_pregrading') && !$body.hasClass('preview');
293
- }
294
- function isCensorAndOwnAnnotation() {
295
- return isCensor && $annotation.closest('.answerText').hasClass('is_censor');
296
- }
297
- }
298
- function inlineLeftOffset(element) {
299
- return $(element).offsetParent().offset().left + element.offsetLeft;
300
- }
301
- function mouseOffsetLeft(mousemove) {
302
- const annotation = mousemove.target;
303
- const annotationLeftOffsetFromPageEdge = inlineLeftOffset(annotation);
304
- return mousemove.pageX - annotationLeftOffsetFromPageEdge;
305
- }
306
- }
307
- function getAnswerId($answerText) {
308
- return $answerText.closest('.answer').attr('data-answer-id');
309
- }
310
- function getBrowserTextSelection() {
311
- return typeof window.getSelection !== 'undefined'
312
- ? window.getSelection()
313
- : typeof document.selection !== 'undefined' && document.selection.type === 'Text'
314
- ? document.selection
315
- : undefined;
316
- }
317
- function hasTextSelectedInAnswerText() {
318
- const selection = getBrowserTextSelection();
319
- return (selection && selectionInAnswerText(selection) && (isRangeSelection(selection) || textSelectedInRange(selection)));
320
- function selectionInAnswerText(sel) {
321
- if (sel.type === 'None' || sel.type === 'Caret' || sel.rangeCount === 0)
322
- return false;
323
- const $startContainer = $(sel.getRangeAt(0).startContainer);
324
- return (sel.rangeCount &&
325
- $startContainer.closest('.answerText').length === 1 &&
326
- $startContainer.closest('.remove-annotation-popup').length === 0);
327
- }
328
- function isRangeSelection(sel) {
329
- return _.get(sel, 'type', '') === 'Range';
330
- }
331
- function textSelectedInRange(sel) {
332
- const range = sel.getRangeAt(0);
333
- return (_.get(sel, 'rangeCount', 0) > 0 &&
334
- (range.toString().length > 0 || isParentContainer(range.startContainer) || isParentContainer(range.endContainer)));
335
- }
336
- function isParentContainer(container) {
337
- return container && container.classList && container.classList.contains('answerText');
338
- }
339
7
  }
340
8
  //# sourceMappingURL=editAnnotations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"editAnnotations.js","sourceRoot":"","sources":["../src/editAnnotations.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editAnnotations.js","sourceRoot":"","sources":["../src/editAnnotations.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,sBAAsB,CAAC,aAAsB;IAC3D,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;QAC9C,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;QAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAA;QACvC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACxB,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export function setupAnnotationEditing($containerElement: any, saveAnnotation: any, localize: any, isCensor: any): void;
2
+ export function setupAnnotationDisplaying($answers: any, isCensor: any): void;
3
+ //# sourceMappingURL=editAnnotationsOld.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editAnnotationsOld.d.ts","sourceRoot":"","sources":["../src/editAnnotationsOld.js"],"names":[],"mappings":"AAUA,wHA6PC;AAED,8EAqGC"}