@uniformdev/canvas 19.22.1-alpha.8 → 19.23.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/dist/index.d.ts +9 -2
- package/dist/index.esm.js +12 -0
- package/dist/index.js +13 -0
- package/dist/index.mjs +12 -0
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
@@ -7804,6 +7804,11 @@ type SelectComponentMessage = {
|
|
7804
7804
|
type: 'select-component';
|
7805
7805
|
id: string;
|
7806
7806
|
};
|
7807
|
+
type SelectParameterMessage = {
|
7808
|
+
type: 'select-parameter';
|
7809
|
+
parameterId: string;
|
7810
|
+
componentId: string;
|
7811
|
+
};
|
7807
7812
|
type ReadyMessage = {
|
7808
7813
|
type: 'ready';
|
7809
7814
|
framework?: 'React' | 'Vue';
|
@@ -7863,7 +7868,7 @@ type ReportRenderedCompositionsMessage = {
|
|
7863
7868
|
compositionIds: string[];
|
7864
7869
|
url: string;
|
7865
7870
|
};
|
7866
|
-
type ChannelMessage = SelectComponentMessage | ReadyMessage | UpdateCompositionMessage | UpdateCompositionInternalMessage | AddComponentMessage | MoveComponentMessage |
|
7871
|
+
type ChannelMessage = SelectComponentMessage | ReadyMessage | UpdateCompositionMessage | UpdateCompositionInternalMessage | AddComponentMessage | MoveComponentMessage | TriggerCompositionActionMessage | UpdatePreviewSettingsMessage | ReportRenderedCompositionsMessage | UpdateComponentParameterMessage | UpdateContextualEditingStateInternalMessage | SelectParameterMessage | DismissPlaceholderMessage;
|
7867
7872
|
declare const isSelectComponentMessage: (message: ChannelMessage) => message is SelectComponentMessage;
|
7868
7873
|
declare const isReadyMessage: (message: ChannelMessage) => message is ReadyMessage;
|
7869
7874
|
declare const isUpdateCompositionMessage: (message: ChannelMessage) => message is UpdateCompositionMessage;
|
@@ -7876,12 +7881,14 @@ declare const isTriggerCompositionActionMessage: (message: ChannelMessage) => me
|
|
7876
7881
|
declare const isUpdatePreviewSettingsMessage: (message: ChannelMessage) => message is UpdatePreviewSettingsMessage;
|
7877
7882
|
declare const isUpdateContextualEditingStateInternalMessage: (message: ChannelMessage) => message is UpdateContextualEditingStateInternalMessage;
|
7878
7883
|
declare const isReportRenderedCompositionsMessage: (message: ChannelMessage) => message is ReportRenderedCompositionsMessage;
|
7884
|
+
declare const isSelectParameterMessage: (message: ChannelMessage) => message is SelectParameterMessage;
|
7879
7885
|
type MessageHandler = (message: ChannelMessage, originalEvent: MessageEvent) => void;
|
7880
7886
|
type Channel = {
|
7881
7887
|
on: (types: ChannelMessage['type'][] | ChannelMessage['type'], handler: MessageHandler) => () => void;
|
7882
7888
|
ready: () => void;
|
7883
7889
|
destroy: () => void;
|
7884
7890
|
selectComponent: (id: string) => void;
|
7891
|
+
selectParameter: (options: Omit<SelectParameterMessage, 'type'>) => void;
|
7885
7892
|
updateComposition: (composition: RootComponentInstance, secret?: string) => void;
|
7886
7893
|
updateCompositionInternal: (composition: RootComponentInstance, hash?: number) => void;
|
7887
7894
|
addComponent: (options: Omit<AddComponentMessage, 'type'>) => void;
|
@@ -8213,4 +8220,4 @@ declare function mapSlotToTestVariations(slot: ComponentInstance[] | undefined):
|
|
8213
8220
|
|
8214
8221
|
declare const CanvasClientError: typeof ApiClientError;
|
8215
8222
|
|
8216
|
-
export { AddComponentMessage, BatchEnhancer, BatchEntry, BatchInvalidationPayload, BindVariablesOptions, BindVariablesResult, BindVariablesToObjectOptions, CANVAS_DRAFT_STATE, CANVAS_ENRICHMENT_TAG_PARAM, CANVAS_INTENT_TAG_PARAM, CANVAS_LOCALE_TAG_PARAM, CANVAS_LOCALIZATION_SLOT, CANVAS_LOCALIZATION_TYPE, CANVAS_PERSONALIZATION_PARAM, CANVAS_PERSONALIZE_SLOT, CANVAS_PERSONALIZE_TYPE, CANVAS_PUBLISHED_STATE, CANVAS_TEST_SLOT, CANVAS_TEST_TYPE, CANVAS_TEST_VARIANT_PARAM, CanvasClient, CanvasClientError, CanvasDefinitions, Channel, ChannelMessage, ChannelSubscription, ChildEnhancerBuilder, ComponentDefinition, ComponentDefinitionDeleteParameters, ComponentDefinitionGetParameters, ComponentDefinitionGetResponse, ComponentDefinitionParameter, ComponentDefinitionPermission, ComponentDefinitionPutParameters, ComponentDefinitionSlot, ComponentDefinitionSlugSettings, ComponentDefinitionVariant, ComponentEnhancer, ComponentEnhancerFunction, ComponentEnhancerOptions, ComponentInstance, ComponentInstanceHistoryEntry, ComponentInstanceHistoryGetParameters, ComponentInstanceHistoryGetResponse, ComponentLocationReference, ComponentOverridability, ComponentOverride, ComponentOverrides, ComponentParameter, ComponentParameterContextualEditing, ComponentParameterEnhancer, ComponentParameterEnhancerFunction, ComponentParameterEnhancerOptions, CompositionDataDiagnostic, CompositionDeleteParameters, CompositionDiagnostics, CompositionGetByIdParameters, CompositionGetByNodeIdParameters, CompositionGetByNodePathParameters, CompositionGetBySlugParameters, CompositionGetListResponse, CompositionGetOrderBy, CompositionGetParameters, CompositionGetResponse, CompositionGetValidResponses, CompositionIssue, CompositionPatternIssue, CompositionPutParameters, CompositionRelationshipsClientOptions, CompositionRelationshipsDDefinitionGetResponse, CompositionRelationshipsDefinitionApi, CompositionRelationshipsDefinitionGetParameters, CompositionResolvedGetResponse, CompositionUIStatus, ContextualEditingComponentReference, DataElementBindingIssue, DataElementConnectionDefinition, DataResolutionConfigIssue, DataResolutionOption, DataResolutionOptionNegative, DataResolutionOptionPositive, DataResolutionParameters, DataResourceDefinition, DataResourceDefinitions, DataResourceIssue, DataResourceVariables, DataSource, DataSourceClient, DataSourceDeleteParameters, DataSourceGetParameters, DataSourceGetResponse, DataSourcePutParameters, DataSourcesGetParameters, DataSourcesGetResponse, DataType, DataTypeClient, DataTypeDeleteParameters, DataTypeGetParameters, DataTypeGetResponse, DataTypePutParameters, DataVariableDefinition, DismissPlaceholderMessage, DynamicInputIssue, EDGE_CACHE_DISABLED, EDGE_DEFAULT_CACHE_TTL, EDGE_DEFAULT_L2_CACHE_TTL_IN_HOURS, EDGE_MAX_CACHE_TTL, EDGE_MAX_L2_CACHE_TTL_IN_HOURS, EDGE_MIN_CACHE_TTL, EDGE_MIN_L2_CACHE_TTL_IN_HOURS, EMPTY_COMPOSITION, EnhancerBuilder, EnhancerContext, EnhancerError, EventNames, IN_CONTEXT_EDITOR_COMPONENT_END_ROLE, IN_CONTEXT_EDITOR_COMPONENT_START_ROLE, IN_CONTEXT_EDITOR_EMBED_SCRIPT_ID, IN_CONTEXT_EDITOR_QUERY_STRING_PARAM, IS_RENDERED_BY_UNIFORM_ATTRIBUTE, InvalidationPayload, InvalidationResult, LimitPolicy, LinkComponentParameterValue, LinkParamConfiguration, LinkParamValue, LinkParameterType, LinkTypeConfiguration, MessageHandler, MoveComponentMessage, NonProjectMapLinkParamValue, OverrideOptions, PLACEHOLDER_ID, PreviewEventBus, PreviewPanelSettings, ProjectMapLinkComponentParameterValue, ProjectMapLinkParamValue, ReadyMessage, ReportRenderedCompositionsMessage, ResolvedRouteGetResponse, RichTextBuiltInElement, RichTextBuiltInFormat, RichTextParamConfiguration, RichTextParamValue, RootComponentInstance, RouteClient, RouteDynamicInputs, RouteGetParameters, RouteGetResponse, RouteGetResponseComposition, RouteGetResponseEdgehancedComposition, RouteGetResponseNotFound, RouteGetResponseRedirect, SelectComponentMessage, SpecificProjectMap, SubscribeToCompositionOptions, TriggerCompositionActionMessage, UncachedCanvasClient, UniqueBatchEntries, UnsubscribeCallback, UpdateComponentParameterMessage, UpdateCompositionInternalMessage, UpdateCompositionMessage, UpdateContextualEditingStateInternalMessage, UpdatePreviewSettingsMessage, UsageTrackingApi, UsageTrackingGetParameters, UsageTrackingGetResponse, UsageTrackingPostParameters, UsageTrackingPostResponse, WalkComponentTreeActions, bindVariables, bindVariablesToObject, compose, createBatchEnhancer, createCanvasChannel, createEventBus, createLimitPolicy, createUniformApiEnhancer, enhance, extractLocales, generateHash, getChannelName, getComponentJsonPointer, getComponentPath, isAddComponentMessage, isDismissPlaceholderMessage, isMovingComponentMessage, isReadyMessage, isReportRenderedCompositionsMessage, isSelectComponentMessage, isSystemComponentDefinition, isTriggerCompositionActionMessage, isUpdateComponentParameterMessage, isUpdateCompositionInternalMessage, isUpdateCompositionMessage, isUpdateContextualEditingStateInternalMessage, isUpdatePreviewSettingsMessage, localize, mapSlotToPersonalizedVariations, mapSlotToTestVariations, nullLimitPolicy, subscribeToComposition, unstable_CompositionRelationshipClient, walkComponentTree };
|
8223
|
+
export { AddComponentMessage, BatchEnhancer, BatchEntry, BatchInvalidationPayload, BindVariablesOptions, BindVariablesResult, BindVariablesToObjectOptions, CANVAS_DRAFT_STATE, CANVAS_ENRICHMENT_TAG_PARAM, CANVAS_INTENT_TAG_PARAM, CANVAS_LOCALE_TAG_PARAM, CANVAS_LOCALIZATION_SLOT, CANVAS_LOCALIZATION_TYPE, CANVAS_PERSONALIZATION_PARAM, CANVAS_PERSONALIZE_SLOT, CANVAS_PERSONALIZE_TYPE, CANVAS_PUBLISHED_STATE, CANVAS_TEST_SLOT, CANVAS_TEST_TYPE, CANVAS_TEST_VARIANT_PARAM, CanvasClient, CanvasClientError, CanvasDefinitions, Channel, ChannelMessage, ChannelSubscription, ChildEnhancerBuilder, ComponentDefinition, ComponentDefinitionDeleteParameters, ComponentDefinitionGetParameters, ComponentDefinitionGetResponse, ComponentDefinitionParameter, ComponentDefinitionPermission, ComponentDefinitionPutParameters, ComponentDefinitionSlot, ComponentDefinitionSlugSettings, ComponentDefinitionVariant, ComponentEnhancer, ComponentEnhancerFunction, ComponentEnhancerOptions, ComponentInstance, ComponentInstanceHistoryEntry, ComponentInstanceHistoryGetParameters, ComponentInstanceHistoryGetResponse, ComponentLocationReference, ComponentOverridability, ComponentOverride, ComponentOverrides, ComponentParameter, ComponentParameterContextualEditing, ComponentParameterEnhancer, ComponentParameterEnhancerFunction, ComponentParameterEnhancerOptions, CompositionDataDiagnostic, CompositionDeleteParameters, CompositionDiagnostics, CompositionGetByIdParameters, CompositionGetByNodeIdParameters, CompositionGetByNodePathParameters, CompositionGetBySlugParameters, CompositionGetListResponse, CompositionGetOrderBy, CompositionGetParameters, CompositionGetResponse, CompositionGetValidResponses, CompositionIssue, CompositionPatternIssue, CompositionPutParameters, CompositionRelationshipsClientOptions, CompositionRelationshipsDDefinitionGetResponse, CompositionRelationshipsDefinitionApi, CompositionRelationshipsDefinitionGetParameters, CompositionResolvedGetResponse, CompositionUIStatus, ContextualEditingComponentReference, DataElementBindingIssue, DataElementConnectionDefinition, DataResolutionConfigIssue, DataResolutionOption, DataResolutionOptionNegative, DataResolutionOptionPositive, DataResolutionParameters, DataResourceDefinition, DataResourceDefinitions, DataResourceIssue, DataResourceVariables, DataSource, DataSourceClient, DataSourceDeleteParameters, DataSourceGetParameters, DataSourceGetResponse, DataSourcePutParameters, DataSourcesGetParameters, DataSourcesGetResponse, DataType, DataTypeClient, DataTypeDeleteParameters, DataTypeGetParameters, DataTypeGetResponse, DataTypePutParameters, DataVariableDefinition, DismissPlaceholderMessage, DynamicInputIssue, EDGE_CACHE_DISABLED, EDGE_DEFAULT_CACHE_TTL, EDGE_DEFAULT_L2_CACHE_TTL_IN_HOURS, EDGE_MAX_CACHE_TTL, EDGE_MAX_L2_CACHE_TTL_IN_HOURS, EDGE_MIN_CACHE_TTL, EDGE_MIN_L2_CACHE_TTL_IN_HOURS, EMPTY_COMPOSITION, EnhancerBuilder, EnhancerContext, EnhancerError, EventNames, IN_CONTEXT_EDITOR_COMPONENT_END_ROLE, IN_CONTEXT_EDITOR_COMPONENT_START_ROLE, IN_CONTEXT_EDITOR_EMBED_SCRIPT_ID, IN_CONTEXT_EDITOR_QUERY_STRING_PARAM, IS_RENDERED_BY_UNIFORM_ATTRIBUTE, InvalidationPayload, InvalidationResult, LimitPolicy, LinkComponentParameterValue, LinkParamConfiguration, LinkParamValue, LinkParameterType, LinkTypeConfiguration, MessageHandler, MoveComponentMessage, NonProjectMapLinkParamValue, OverrideOptions, PLACEHOLDER_ID, PreviewEventBus, PreviewPanelSettings, ProjectMapLinkComponentParameterValue, ProjectMapLinkParamValue, ReadyMessage, ReportRenderedCompositionsMessage, ResolvedRouteGetResponse, RichTextBuiltInElement, RichTextBuiltInFormat, RichTextParamConfiguration, RichTextParamValue, RootComponentInstance, RouteClient, RouteDynamicInputs, RouteGetParameters, RouteGetResponse, RouteGetResponseComposition, RouteGetResponseEdgehancedComposition, RouteGetResponseNotFound, RouteGetResponseRedirect, SelectComponentMessage, SelectParameterMessage, SpecificProjectMap, SubscribeToCompositionOptions, TriggerCompositionActionMessage, UncachedCanvasClient, UniqueBatchEntries, UnsubscribeCallback, UpdateComponentParameterMessage, UpdateCompositionInternalMessage, UpdateCompositionMessage, UpdateContextualEditingStateInternalMessage, UpdatePreviewSettingsMessage, UsageTrackingApi, UsageTrackingGetParameters, UsageTrackingGetResponse, UsageTrackingPostParameters, UsageTrackingPostResponse, WalkComponentTreeActions, bindVariables, bindVariablesToObject, compose, createBatchEnhancer, createCanvasChannel, createEventBus, createLimitPolicy, createUniformApiEnhancer, enhance, extractLocales, generateHash, getChannelName, getComponentJsonPointer, getComponentPath, isAddComponentMessage, isDismissPlaceholderMessage, isMovingComponentMessage, isReadyMessage, isReportRenderedCompositionsMessage, isSelectComponentMessage, isSelectParameterMessage, isSystemComponentDefinition, isTriggerCompositionActionMessage, isUpdateComponentParameterMessage, isUpdateCompositionInternalMessage, isUpdateCompositionMessage, isUpdateContextualEditingStateInternalMessage, isUpdatePreviewSettingsMessage, localize, mapSlotToPersonalizedVariations, mapSlotToTestVariations, nullLimitPolicy, subscribeToComposition, unstable_CompositionRelationshipClient, walkComponentTree };
|
package/dist/index.esm.js
CHANGED
@@ -1327,6 +1327,9 @@ var isUpdateContextualEditingStateInternalMessage = (message) => {
|
|
1327
1327
|
var isReportRenderedCompositionsMessage = (message) => {
|
1328
1328
|
return message.type === "report-rendered-compositions";
|
1329
1329
|
};
|
1330
|
+
var isSelectParameterMessage = (message) => {
|
1331
|
+
return message.type === "select-parameter";
|
1332
|
+
};
|
1330
1333
|
var createCanvasChannel = ({
|
1331
1334
|
listenTo,
|
1332
1335
|
broadcastTo
|
@@ -1443,6 +1446,13 @@ var createCanvasChannel = ({
|
|
1443
1446
|
};
|
1444
1447
|
postMessage(message);
|
1445
1448
|
};
|
1449
|
+
const selectParameter = (options) => {
|
1450
|
+
const message = {
|
1451
|
+
...options,
|
1452
|
+
type: "select-parameter"
|
1453
|
+
};
|
1454
|
+
postMessage(message);
|
1455
|
+
};
|
1446
1456
|
const messageEventListener = (event) => {
|
1447
1457
|
if (typeof event.data !== "string") {
|
1448
1458
|
return;
|
@@ -1483,6 +1493,7 @@ var createCanvasChannel = ({
|
|
1483
1493
|
triggerCompositionAction,
|
1484
1494
|
updatePreviewSettings,
|
1485
1495
|
updateContextualEditingStateInternal,
|
1496
|
+
selectParameter,
|
1486
1497
|
reportRenderedCompositions
|
1487
1498
|
};
|
1488
1499
|
};
|
@@ -1780,6 +1791,7 @@ export {
|
|
1780
1791
|
isReadyMessage,
|
1781
1792
|
isReportRenderedCompositionsMessage,
|
1782
1793
|
isSelectComponentMessage,
|
1794
|
+
isSelectParameterMessage,
|
1783
1795
|
isSystemComponentDefinition,
|
1784
1796
|
isTriggerCompositionActionMessage,
|
1785
1797
|
isUpdateComponentParameterMessage,
|
package/dist/index.js
CHANGED
@@ -332,6 +332,7 @@ __export(src_exports, {
|
|
332
332
|
isReadyMessage: () => isReadyMessage,
|
333
333
|
isReportRenderedCompositionsMessage: () => isReportRenderedCompositionsMessage,
|
334
334
|
isSelectComponentMessage: () => isSelectComponentMessage,
|
335
|
+
isSelectParameterMessage: () => isSelectParameterMessage,
|
335
336
|
isSystemComponentDefinition: () => isSystemComponentDefinition,
|
336
337
|
isTriggerCompositionActionMessage: () => isTriggerCompositionActionMessage,
|
337
338
|
isUpdateComponentParameterMessage: () => isUpdateComponentParameterMessage,
|
@@ -1411,6 +1412,9 @@ var isUpdateContextualEditingStateInternalMessage = (message) => {
|
|
1411
1412
|
var isReportRenderedCompositionsMessage = (message) => {
|
1412
1413
|
return message.type === "report-rendered-compositions";
|
1413
1414
|
};
|
1415
|
+
var isSelectParameterMessage = (message) => {
|
1416
|
+
return message.type === "select-parameter";
|
1417
|
+
};
|
1414
1418
|
var createCanvasChannel = ({
|
1415
1419
|
listenTo,
|
1416
1420
|
broadcastTo
|
@@ -1527,6 +1531,13 @@ var createCanvasChannel = ({
|
|
1527
1531
|
};
|
1528
1532
|
postMessage(message);
|
1529
1533
|
};
|
1534
|
+
const selectParameter = (options) => {
|
1535
|
+
const message = {
|
1536
|
+
...options,
|
1537
|
+
type: "select-parameter"
|
1538
|
+
};
|
1539
|
+
postMessage(message);
|
1540
|
+
};
|
1530
1541
|
const messageEventListener = (event) => {
|
1531
1542
|
if (typeof event.data !== "string") {
|
1532
1543
|
return;
|
@@ -1567,6 +1578,7 @@ var createCanvasChannel = ({
|
|
1567
1578
|
triggerCompositionAction,
|
1568
1579
|
updatePreviewSettings,
|
1569
1580
|
updateContextualEditingStateInternal,
|
1581
|
+
selectParameter,
|
1570
1582
|
reportRenderedCompositions
|
1571
1583
|
};
|
1572
1584
|
};
|
@@ -1865,6 +1877,7 @@ var CanvasClientError = import_api6.ApiClientError;
|
|
1865
1877
|
isReadyMessage,
|
1866
1878
|
isReportRenderedCompositionsMessage,
|
1867
1879
|
isSelectComponentMessage,
|
1880
|
+
isSelectParameterMessage,
|
1868
1881
|
isSystemComponentDefinition,
|
1869
1882
|
isTriggerCompositionActionMessage,
|
1870
1883
|
isUpdateComponentParameterMessage,
|
package/dist/index.mjs
CHANGED
@@ -1327,6 +1327,9 @@ var isUpdateContextualEditingStateInternalMessage = (message) => {
|
|
1327
1327
|
var isReportRenderedCompositionsMessage = (message) => {
|
1328
1328
|
return message.type === "report-rendered-compositions";
|
1329
1329
|
};
|
1330
|
+
var isSelectParameterMessage = (message) => {
|
1331
|
+
return message.type === "select-parameter";
|
1332
|
+
};
|
1330
1333
|
var createCanvasChannel = ({
|
1331
1334
|
listenTo,
|
1332
1335
|
broadcastTo
|
@@ -1443,6 +1446,13 @@ var createCanvasChannel = ({
|
|
1443
1446
|
};
|
1444
1447
|
postMessage(message);
|
1445
1448
|
};
|
1449
|
+
const selectParameter = (options) => {
|
1450
|
+
const message = {
|
1451
|
+
...options,
|
1452
|
+
type: "select-parameter"
|
1453
|
+
};
|
1454
|
+
postMessage(message);
|
1455
|
+
};
|
1446
1456
|
const messageEventListener = (event) => {
|
1447
1457
|
if (typeof event.data !== "string") {
|
1448
1458
|
return;
|
@@ -1483,6 +1493,7 @@ var createCanvasChannel = ({
|
|
1483
1493
|
triggerCompositionAction,
|
1484
1494
|
updatePreviewSettings,
|
1485
1495
|
updateContextualEditingStateInternal,
|
1496
|
+
selectParameter,
|
1486
1497
|
reportRenderedCompositions
|
1487
1498
|
};
|
1488
1499
|
};
|
@@ -1780,6 +1791,7 @@ export {
|
|
1780
1791
|
isReadyMessage,
|
1781
1792
|
isReportRenderedCompositionsMessage,
|
1782
1793
|
isSelectComponentMessage,
|
1794
|
+
isSelectParameterMessage,
|
1783
1795
|
isSystemComponentDefinition,
|
1784
1796
|
isTriggerCompositionActionMessage,
|
1785
1797
|
isUpdateComponentParameterMessage,
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@uniformdev/canvas",
|
3
|
-
"version": "19.
|
3
|
+
"version": "19.23.0",
|
4
4
|
"description": "Common functionality and types for Uniform Canvas",
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
6
6
|
"main": "./dist/index.js",
|
@@ -38,7 +38,7 @@
|
|
38
38
|
"pusher-js": "8.0.1"
|
39
39
|
},
|
40
40
|
"dependencies": {
|
41
|
-
"@uniformdev/context": "19.
|
41
|
+
"@uniformdev/context": "19.23.0",
|
42
42
|
"immer": "9.0.21"
|
43
43
|
},
|
44
44
|
"files": [
|
@@ -47,5 +47,5 @@
|
|
47
47
|
"publishConfig": {
|
48
48
|
"access": "public"
|
49
49
|
},
|
50
|
-
"gitHead": "
|
50
|
+
"gitHead": "35c696a78e1909a73bc290663603d015927bbe28"
|
51
51
|
}
|