react-dom 19.2.0-canary-67a44bcd-20250915 → 19.2.0-canary-5e0c951b-20250916
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/cjs/react-dom-client.development.js +279 -142
- package/cjs/react-dom-client.production.js +191 -54
- package/cjs/react-dom-profiling.development.js +279 -142
- package/cjs/react-dom-profiling.profiling.js +191 -54
- package/cjs/react-dom-server-legacy.browser.development.js +1 -1
- package/cjs/react-dom-server-legacy.browser.production.js +1 -1
- package/cjs/react-dom-server-legacy.node.development.js +1 -1
- package/cjs/react-dom-server-legacy.node.production.js +1 -1
- package/cjs/react-dom-server.browser.development.js +3 -3
- package/cjs/react-dom-server.browser.production.js +3 -3
- package/cjs/react-dom-server.bun.development.js +3 -3
- package/cjs/react-dom-server.bun.production.js +3 -3
- package/cjs/react-dom-server.edge.development.js +3 -3
- package/cjs/react-dom-server.edge.production.js +3 -3
- package/cjs/react-dom-server.node.development.js +3 -3
- package/cjs/react-dom-server.node.production.js +3 -3
- package/cjs/react-dom.development.js +1 -1
- package/cjs/react-dom.production.js +1 -1
- package/cjs/react-dom.react-server.development.js +1 -1
- package/cjs/react-dom.react-server.production.js +1 -1
- package/package.json +3 -3
|
@@ -3164,6 +3164,7 @@ function chainThenableValue(thenable, result) {
|
|
|
3164
3164
|
}
|
|
3165
3165
|
var prevOnStartTransitionFinish = ReactSharedInternals.S;
|
|
3166
3166
|
ReactSharedInternals.S = function (transition, returnValue) {
|
|
3167
|
+
globalMostRecentTransitionTime = now();
|
|
3167
3168
|
"object" === typeof returnValue &&
|
|
3168
3169
|
null !== returnValue &&
|
|
3169
3170
|
"function" === typeof returnValue.then &&
|
|
@@ -10308,32 +10309,57 @@ function recursivelyTraverseAtomicPassiveEffects(
|
|
|
10308
10309
|
}
|
|
10309
10310
|
}
|
|
10310
10311
|
var suspenseyCommitFlag = 8192;
|
|
10311
|
-
function recursivelyAccumulateSuspenseyCommit(
|
|
10312
|
+
function recursivelyAccumulateSuspenseyCommit(
|
|
10313
|
+
parentFiber,
|
|
10314
|
+
committedLanes,
|
|
10315
|
+
suspendedState
|
|
10316
|
+
) {
|
|
10312
10317
|
if (parentFiber.subtreeFlags & suspenseyCommitFlag)
|
|
10313
10318
|
for (parentFiber = parentFiber.child; null !== parentFiber; )
|
|
10314
|
-
accumulateSuspenseyCommitOnFiber(
|
|
10319
|
+
accumulateSuspenseyCommitOnFiber(
|
|
10320
|
+
parentFiber,
|
|
10321
|
+
committedLanes,
|
|
10322
|
+
suspendedState
|
|
10323
|
+
),
|
|
10315
10324
|
(parentFiber = parentFiber.sibling);
|
|
10316
10325
|
}
|
|
10317
|
-
function accumulateSuspenseyCommitOnFiber(
|
|
10326
|
+
function accumulateSuspenseyCommitOnFiber(
|
|
10327
|
+
fiber,
|
|
10328
|
+
committedLanes,
|
|
10329
|
+
suspendedState
|
|
10330
|
+
) {
|
|
10318
10331
|
switch (fiber.tag) {
|
|
10319
10332
|
case 26:
|
|
10320
|
-
recursivelyAccumulateSuspenseyCommit(
|
|
10333
|
+
recursivelyAccumulateSuspenseyCommit(
|
|
10334
|
+
fiber,
|
|
10335
|
+
committedLanes,
|
|
10336
|
+
suspendedState
|
|
10337
|
+
);
|
|
10321
10338
|
fiber.flags & suspenseyCommitFlag &&
|
|
10322
10339
|
null !== fiber.memoizedState &&
|
|
10323
10340
|
suspendResource(
|
|
10341
|
+
suspendedState,
|
|
10324
10342
|
currentHoistableRoot,
|
|
10325
10343
|
fiber.memoizedState,
|
|
10326
10344
|
fiber.memoizedProps
|
|
10327
10345
|
);
|
|
10328
10346
|
break;
|
|
10329
10347
|
case 5:
|
|
10330
|
-
recursivelyAccumulateSuspenseyCommit(
|
|
10348
|
+
recursivelyAccumulateSuspenseyCommit(
|
|
10349
|
+
fiber,
|
|
10350
|
+
committedLanes,
|
|
10351
|
+
suspendedState
|
|
10352
|
+
);
|
|
10331
10353
|
break;
|
|
10332
10354
|
case 3:
|
|
10333
10355
|
case 4:
|
|
10334
10356
|
var previousHoistableRoot = currentHoistableRoot;
|
|
10335
10357
|
currentHoistableRoot = getHoistableRoot(fiber.stateNode.containerInfo);
|
|
10336
|
-
recursivelyAccumulateSuspenseyCommit(
|
|
10358
|
+
recursivelyAccumulateSuspenseyCommit(
|
|
10359
|
+
fiber,
|
|
10360
|
+
committedLanes,
|
|
10361
|
+
suspendedState
|
|
10362
|
+
);
|
|
10337
10363
|
currentHoistableRoot = previousHoistableRoot;
|
|
10338
10364
|
break;
|
|
10339
10365
|
case 22:
|
|
@@ -10343,12 +10369,24 @@ function accumulateSuspenseyCommitOnFiber(fiber) {
|
|
|
10343
10369
|
null !== previousHoistableRoot.memoizedState
|
|
10344
10370
|
? ((previousHoistableRoot = suspenseyCommitFlag),
|
|
10345
10371
|
(suspenseyCommitFlag = 16777216),
|
|
10346
|
-
recursivelyAccumulateSuspenseyCommit(
|
|
10372
|
+
recursivelyAccumulateSuspenseyCommit(
|
|
10373
|
+
fiber,
|
|
10374
|
+
committedLanes,
|
|
10375
|
+
suspendedState
|
|
10376
|
+
),
|
|
10347
10377
|
(suspenseyCommitFlag = previousHoistableRoot))
|
|
10348
|
-
: recursivelyAccumulateSuspenseyCommit(
|
|
10378
|
+
: recursivelyAccumulateSuspenseyCommit(
|
|
10379
|
+
fiber,
|
|
10380
|
+
committedLanes,
|
|
10381
|
+
suspendedState
|
|
10382
|
+
));
|
|
10349
10383
|
break;
|
|
10350
10384
|
default:
|
|
10351
|
-
recursivelyAccumulateSuspenseyCommit(
|
|
10385
|
+
recursivelyAccumulateSuspenseyCommit(
|
|
10386
|
+
fiber,
|
|
10387
|
+
committedLanes,
|
|
10388
|
+
suspendedState
|
|
10389
|
+
);
|
|
10352
10390
|
}
|
|
10353
10391
|
}
|
|
10354
10392
|
function detachAlternateSiblings(parentFiber) {
|
|
@@ -10527,6 +10565,7 @@ var DefaultAsyncDispatcher = {
|
|
|
10527
10565
|
workInProgressRootRecoverableErrors = null,
|
|
10528
10566
|
workInProgressRootDidIncludeRecursiveRenderUpdate = !1,
|
|
10529
10567
|
globalMostRecentFallbackTime = 0,
|
|
10568
|
+
globalMostRecentTransitionTime = 0,
|
|
10530
10569
|
workInProgressRootRenderTargetTime = Infinity,
|
|
10531
10570
|
workInProgressTransitions = null,
|
|
10532
10571
|
legacyErrorBoundariesThatAlreadyFailed = null,
|
|
@@ -10774,14 +10813,33 @@ function commitRootWhenReady(
|
|
|
10774
10813
|
if (
|
|
10775
10814
|
suspendedCommitReason & 8192 ||
|
|
10776
10815
|
16785408 === (suspendedCommitReason & 16785408)
|
|
10777
|
-
)
|
|
10778
|
-
|
|
10779
|
-
|
|
10780
|
-
|
|
10781
|
-
|
|
10782
|
-
|
|
10783
|
-
|
|
10784
|
-
|
|
10816
|
+
) {
|
|
10817
|
+
suspendedCommitReason = {
|
|
10818
|
+
stylesheets: null,
|
|
10819
|
+
count: 0,
|
|
10820
|
+
imgCount: 0,
|
|
10821
|
+
imgBytes: 0,
|
|
10822
|
+
suspenseyImages: [],
|
|
10823
|
+
waitingForImages: !0,
|
|
10824
|
+
unsuspend: noop$1
|
|
10825
|
+
};
|
|
10826
|
+
accumulateSuspenseyCommitOnFiber(
|
|
10827
|
+
finishedWork,
|
|
10828
|
+
lanes,
|
|
10829
|
+
suspendedCommitReason
|
|
10830
|
+
);
|
|
10831
|
+
var timeoutOffset =
|
|
10832
|
+
(lanes & 62914560) === lanes
|
|
10833
|
+
? globalMostRecentFallbackTime - now()
|
|
10834
|
+
: (lanes & 4194048) === lanes
|
|
10835
|
+
? globalMostRecentTransitionTime - now()
|
|
10836
|
+
: 0;
|
|
10837
|
+
timeoutOffset = waitForCommitToBeReady(
|
|
10838
|
+
suspendedCommitReason,
|
|
10839
|
+
timeoutOffset
|
|
10840
|
+
);
|
|
10841
|
+
if (null !== timeoutOffset) {
|
|
10842
|
+
root.cancelPendingCommit = timeoutOffset(
|
|
10785
10843
|
commitRoot.bind(
|
|
10786
10844
|
null,
|
|
10787
10845
|
root,
|
|
@@ -10794,6 +10852,7 @@ function commitRootWhenReady(
|
|
|
10794
10852
|
updatedLanes,
|
|
10795
10853
|
suspendedRetryLanes,
|
|
10796
10854
|
exitStatus,
|
|
10855
|
+
suspendedCommitReason,
|
|
10797
10856
|
1,
|
|
10798
10857
|
completedRenderStartTime,
|
|
10799
10858
|
completedRenderEndTime
|
|
@@ -10802,6 +10861,7 @@ function commitRootWhenReady(
|
|
|
10802
10861
|
markRootSuspended(root, lanes, spawnedLane, !didSkipSuspendedSiblings);
|
|
10803
10862
|
return;
|
|
10804
10863
|
}
|
|
10864
|
+
}
|
|
10805
10865
|
commitRoot(
|
|
10806
10866
|
root,
|
|
10807
10867
|
finishedWork,
|
|
@@ -12086,20 +12146,20 @@ function extractEvents$1(
|
|
|
12086
12146
|
}
|
|
12087
12147
|
}
|
|
12088
12148
|
for (
|
|
12089
|
-
var i$jscomp$
|
|
12090
|
-
i$jscomp$
|
|
12091
|
-
i$jscomp$
|
|
12149
|
+
var i$jscomp$inline_1591 = 0;
|
|
12150
|
+
i$jscomp$inline_1591 < simpleEventPluginEvents.length;
|
|
12151
|
+
i$jscomp$inline_1591++
|
|
12092
12152
|
) {
|
|
12093
|
-
var eventName$jscomp$
|
|
12094
|
-
simpleEventPluginEvents[i$jscomp$
|
|
12095
|
-
domEventName$jscomp$
|
|
12096
|
-
eventName$jscomp$
|
|
12097
|
-
capitalizedEvent$jscomp$
|
|
12098
|
-
eventName$jscomp$
|
|
12099
|
-
eventName$jscomp$
|
|
12153
|
+
var eventName$jscomp$inline_1592 =
|
|
12154
|
+
simpleEventPluginEvents[i$jscomp$inline_1591],
|
|
12155
|
+
domEventName$jscomp$inline_1593 =
|
|
12156
|
+
eventName$jscomp$inline_1592.toLowerCase(),
|
|
12157
|
+
capitalizedEvent$jscomp$inline_1594 =
|
|
12158
|
+
eventName$jscomp$inline_1592[0].toUpperCase() +
|
|
12159
|
+
eventName$jscomp$inline_1592.slice(1);
|
|
12100
12160
|
registerSimpleEvent(
|
|
12101
|
-
domEventName$jscomp$
|
|
12102
|
-
"on" + capitalizedEvent$jscomp$
|
|
12161
|
+
domEventName$jscomp$inline_1593,
|
|
12162
|
+
"on" + capitalizedEvent$jscomp$inline_1594
|
|
12103
12163
|
);
|
|
12104
12164
|
}
|
|
12105
12165
|
registerSimpleEvent(ANIMATION_END, "onAnimationEnd");
|
|
@@ -13787,6 +13847,66 @@ function updateProperties(domElement, tag, lastProps, nextProps) {
|
|
|
13787
13847
|
(null == propKey$200 && null == propKey) ||
|
|
13788
13848
|
setProp(domElement, tag, lastProp, propKey$200, nextProps, propKey);
|
|
13789
13849
|
}
|
|
13850
|
+
function isLikelyStaticResource(initiatorType) {
|
|
13851
|
+
switch (initiatorType) {
|
|
13852
|
+
case "css":
|
|
13853
|
+
case "script":
|
|
13854
|
+
case "font":
|
|
13855
|
+
case "img":
|
|
13856
|
+
case "image":
|
|
13857
|
+
case "input":
|
|
13858
|
+
case "link":
|
|
13859
|
+
return !0;
|
|
13860
|
+
default:
|
|
13861
|
+
return !1;
|
|
13862
|
+
}
|
|
13863
|
+
}
|
|
13864
|
+
function estimateBandwidth() {
|
|
13865
|
+
if ("function" === typeof performance.getEntriesByType) {
|
|
13866
|
+
for (
|
|
13867
|
+
var count = 0,
|
|
13868
|
+
bits = 0,
|
|
13869
|
+
resourceEntries = performance.getEntriesByType("resource"),
|
|
13870
|
+
i = 0;
|
|
13871
|
+
i < resourceEntries.length;
|
|
13872
|
+
i++
|
|
13873
|
+
) {
|
|
13874
|
+
var entry = resourceEntries[i],
|
|
13875
|
+
transferSize = entry.transferSize,
|
|
13876
|
+
initiatorType = entry.initiatorType,
|
|
13877
|
+
duration = entry.duration;
|
|
13878
|
+
if (transferSize && duration && isLikelyStaticResource(initiatorType)) {
|
|
13879
|
+
initiatorType = 0;
|
|
13880
|
+
duration = entry.responseEnd;
|
|
13881
|
+
for (i += 1; i < resourceEntries.length; i++) {
|
|
13882
|
+
var overlapEntry = resourceEntries[i],
|
|
13883
|
+
overlapStartTime = overlapEntry.startTime;
|
|
13884
|
+
if (overlapStartTime > duration) break;
|
|
13885
|
+
var overlapTransferSize = overlapEntry.transferSize,
|
|
13886
|
+
overlapInitiatorType = overlapEntry.initiatorType;
|
|
13887
|
+
overlapTransferSize &&
|
|
13888
|
+
isLikelyStaticResource(overlapInitiatorType) &&
|
|
13889
|
+
((overlapEntry = overlapEntry.responseEnd),
|
|
13890
|
+
(initiatorType +=
|
|
13891
|
+
overlapTransferSize *
|
|
13892
|
+
(overlapEntry < duration
|
|
13893
|
+
? 1
|
|
13894
|
+
: (duration - overlapStartTime) /
|
|
13895
|
+
(overlapEntry - overlapStartTime))));
|
|
13896
|
+
}
|
|
13897
|
+
--i;
|
|
13898
|
+
bits += (8 * (transferSize + initiatorType)) / (entry.duration / 1e3);
|
|
13899
|
+
count++;
|
|
13900
|
+
if (10 < count) break;
|
|
13901
|
+
}
|
|
13902
|
+
}
|
|
13903
|
+
if (0 < count) return bits / count / 1e6;
|
|
13904
|
+
}
|
|
13905
|
+
return navigator.connection &&
|
|
13906
|
+
((count = navigator.connection.downlink), "number" === typeof count)
|
|
13907
|
+
? count
|
|
13908
|
+
: 5;
|
|
13909
|
+
}
|
|
13790
13910
|
var eventsEnabled = null,
|
|
13791
13911
|
selectionInformation = null;
|
|
13792
13912
|
function getOwnerDocumentFromRootContainer(rootContainerElement) {
|
|
@@ -14783,10 +14903,7 @@ function preloadResource(resource) {
|
|
|
14783
14903
|
? !1
|
|
14784
14904
|
: !0;
|
|
14785
14905
|
}
|
|
14786
|
-
|
|
14787
|
-
function suspendResource(hoistableRoot, resource, props) {
|
|
14788
|
-
if (null === suspendedState) throw Error(formatProdErrorMessage(475));
|
|
14789
|
-
var state = suspendedState;
|
|
14906
|
+
function suspendResource(state, hoistableRoot, resource, props) {
|
|
14790
14907
|
if (
|
|
14791
14908
|
"stylesheet" === resource.type &&
|
|
14792
14909
|
("string" !== typeof props.media ||
|
|
@@ -14835,13 +14952,12 @@ function suspendResource(hoistableRoot, resource, props) {
|
|
|
14835
14952
|
hoistableRoot.addEventListener("error", resource));
|
|
14836
14953
|
}
|
|
14837
14954
|
}
|
|
14838
|
-
|
|
14839
|
-
|
|
14840
|
-
var state = suspendedState;
|
|
14955
|
+
var estimatedBytesWithinLimit = 0;
|
|
14956
|
+
function waitForCommitToBeReady(state, timeoutOffset) {
|
|
14841
14957
|
state.stylesheets &&
|
|
14842
14958
|
0 === state.count &&
|
|
14843
14959
|
insertSuspendedStylesheets(state, state.stylesheets);
|
|
14844
|
-
return 0 < state.count
|
|
14960
|
+
return 0 < state.count || 0 < state.imgCount
|
|
14845
14961
|
? function (commit) {
|
|
14846
14962
|
var stylesheetTimer = setTimeout(function () {
|
|
14847
14963
|
state.stylesheets &&
|
|
@@ -14851,18 +14967,39 @@ function waitForCommitToBeReady() {
|
|
|
14851
14967
|
state.unsuspend = null;
|
|
14852
14968
|
unsuspend();
|
|
14853
14969
|
}
|
|
14854
|
-
}, 6e4);
|
|
14970
|
+
}, 6e4 + timeoutOffset);
|
|
14971
|
+
0 < state.imgBytes &&
|
|
14972
|
+
0 === estimatedBytesWithinLimit &&
|
|
14973
|
+
(estimatedBytesWithinLimit = 62500 * estimateBandwidth());
|
|
14974
|
+
var imgTimer = setTimeout(
|
|
14975
|
+
function () {
|
|
14976
|
+
state.waitingForImages = !1;
|
|
14977
|
+
if (
|
|
14978
|
+
0 === state.count &&
|
|
14979
|
+
(state.stylesheets &&
|
|
14980
|
+
insertSuspendedStylesheets(state, state.stylesheets),
|
|
14981
|
+
state.unsuspend)
|
|
14982
|
+
) {
|
|
14983
|
+
var unsuspend = state.unsuspend;
|
|
14984
|
+
state.unsuspend = null;
|
|
14985
|
+
unsuspend();
|
|
14986
|
+
}
|
|
14987
|
+
},
|
|
14988
|
+
(state.imgBytes > estimatedBytesWithinLimit ? 50 : 800) +
|
|
14989
|
+
timeoutOffset
|
|
14990
|
+
);
|
|
14855
14991
|
state.unsuspend = commit;
|
|
14856
14992
|
return function () {
|
|
14857
14993
|
state.unsuspend = null;
|
|
14858
14994
|
clearTimeout(stylesheetTimer);
|
|
14995
|
+
clearTimeout(imgTimer);
|
|
14859
14996
|
};
|
|
14860
14997
|
}
|
|
14861
14998
|
: null;
|
|
14862
14999
|
}
|
|
14863
15000
|
function onUnsuspend() {
|
|
14864
15001
|
this.count--;
|
|
14865
|
-
if (0 === this.count)
|
|
15002
|
+
if (0 === this.count && (0 === this.imgCount || !this.waitingForImages))
|
|
14866
15003
|
if (this.stylesheets) insertSuspendedStylesheets(this, this.stylesheets);
|
|
14867
15004
|
else if (this.unsuspend) {
|
|
14868
15005
|
var unsuspend = this.unsuspend;
|
|
@@ -15721,16 +15858,16 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
|
|
|
15721
15858
|
0 === i && attemptExplicitHydrationTarget(target);
|
|
15722
15859
|
}
|
|
15723
15860
|
};
|
|
15724
|
-
var isomorphicReactPackageVersion$jscomp$
|
|
15861
|
+
var isomorphicReactPackageVersion$jscomp$inline_1854 = React.version;
|
|
15725
15862
|
if (
|
|
15726
|
-
"19.2.0-canary-
|
|
15727
|
-
isomorphicReactPackageVersion$jscomp$
|
|
15863
|
+
"19.2.0-canary-5e0c951b-20250916" !==
|
|
15864
|
+
isomorphicReactPackageVersion$jscomp$inline_1854
|
|
15728
15865
|
)
|
|
15729
15866
|
throw Error(
|
|
15730
15867
|
formatProdErrorMessage(
|
|
15731
15868
|
527,
|
|
15732
|
-
isomorphicReactPackageVersion$jscomp$
|
|
15733
|
-
"19.2.0-canary-
|
|
15869
|
+
isomorphicReactPackageVersion$jscomp$inline_1854,
|
|
15870
|
+
"19.2.0-canary-5e0c951b-20250916"
|
|
15734
15871
|
)
|
|
15735
15872
|
);
|
|
15736
15873
|
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
|
|
@@ -15750,24 +15887,24 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
|
|
|
15750
15887
|
null === componentOrElement ? null : componentOrElement.stateNode;
|
|
15751
15888
|
return componentOrElement;
|
|
15752
15889
|
};
|
|
15753
|
-
var internals$jscomp$
|
|
15890
|
+
var internals$jscomp$inline_2357 = {
|
|
15754
15891
|
bundleType: 0,
|
|
15755
|
-
version: "19.2.0-canary-
|
|
15892
|
+
version: "19.2.0-canary-5e0c951b-20250916",
|
|
15756
15893
|
rendererPackageName: "react-dom",
|
|
15757
15894
|
currentDispatcherRef: ReactSharedInternals,
|
|
15758
|
-
reconcilerVersion: "19.2.0-canary-
|
|
15895
|
+
reconcilerVersion: "19.2.0-canary-5e0c951b-20250916"
|
|
15759
15896
|
};
|
|
15760
15897
|
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
|
|
15761
|
-
var hook$jscomp$
|
|
15898
|
+
var hook$jscomp$inline_2358 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
|
15762
15899
|
if (
|
|
15763
|
-
!hook$jscomp$
|
|
15764
|
-
hook$jscomp$
|
|
15900
|
+
!hook$jscomp$inline_2358.isDisabled &&
|
|
15901
|
+
hook$jscomp$inline_2358.supportsFiber
|
|
15765
15902
|
)
|
|
15766
15903
|
try {
|
|
15767
|
-
(rendererID = hook$jscomp$
|
|
15768
|
-
internals$jscomp$
|
|
15904
|
+
(rendererID = hook$jscomp$inline_2358.inject(
|
|
15905
|
+
internals$jscomp$inline_2357
|
|
15769
15906
|
)),
|
|
15770
|
-
(injectedHook = hook$jscomp$
|
|
15907
|
+
(injectedHook = hook$jscomp$inline_2358);
|
|
15771
15908
|
} catch (err) {}
|
|
15772
15909
|
}
|
|
15773
15910
|
exports.createRoot = function (container, options) {
|
|
@@ -15853,4 +15990,4 @@ exports.hydrateRoot = function (container, initialChildren, options) {
|
|
|
15853
15990
|
listenToAllSupportedEvents(container);
|
|
15854
15991
|
return new ReactDOMHydrationRoot(initialChildren);
|
|
15855
15992
|
};
|
|
15856
|
-
exports.version = "19.2.0-canary-
|
|
15993
|
+
exports.version = "19.2.0-canary-5e0c951b-20250916";
|