From 47cc392a4fea7ac8f5bfe46bcb5dd1409c7427f6 Mon Sep 17 00:00:00 2001
From: Blaxsmith <37184639+Blaxsmith@users.noreply.github.com>
Date: Fri, 22 Nov 2024 14:33:29 +0100
Subject: [PATCH 1/3] Update for November 2024 patch
---
Source Code/Insulated Joint Plate/InsulatedPlate.csproj | 2 +-
Source Code/Insulated Joint Plate/InsulatedPlates.cs | 2 +-
.../InsulatedWireBridgeHighWattageConfig.cs | 2 +-
.../InsulatedWireRefinedBridgeHighWattageConfig.cs | 2 +-
Source Code/Insulated Joint Plate/Localization/loc.cs | 2 +-
.../LongInsulatedWireBridgeHighWattageConfig.cs | 2 +-
.../LongInsulatedRefinedWireBridgeHighWattageConfig.cs | 2 +-
7 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/Source Code/Insulated Joint Plate/InsulatedPlate.csproj b/Source Code/Insulated Joint Plate/InsulatedPlate.csproj
index 5015266..34be3bc 100644
--- a/Source Code/Insulated Joint Plate/InsulatedPlate.csproj
+++ b/Source Code/Insulated Joint Plate/InsulatedPlate.csproj
@@ -9,7 +9,7 @@
Properties
InsulatedJointPlate
InsulatedJointPlate
- v4.0
+ v4.7.1
512
true
diff --git a/Source Code/Insulated Joint Plate/InsulatedPlates.cs b/Source Code/Insulated Joint Plate/InsulatedPlates.cs
index 790d964..743d3be 100644
--- a/Source Code/Insulated Joint Plate/InsulatedPlates.cs
+++ b/Source Code/Insulated Joint Plate/InsulatedPlates.cs
@@ -1,4 +1,4 @@
-using Harmony;
+using HarmonyLib;
using static STRINGS.UI;
using Database;
using System.Collections.Generic;
diff --git a/Source Code/Insulated Joint Plate/InsulatedWireBridgeHighWattage/InsulatedWireBridgeHighWattageConfig.cs b/Source Code/Insulated Joint Plate/InsulatedWireBridgeHighWattage/InsulatedWireBridgeHighWattageConfig.cs
index 1751b51..3bcaac5 100644
--- a/Source Code/Insulated Joint Plate/InsulatedWireBridgeHighWattage/InsulatedWireBridgeHighWattageConfig.cs
+++ b/Source Code/Insulated Joint Plate/InsulatedWireBridgeHighWattage/InsulatedWireBridgeHighWattageConfig.cs
@@ -61,7 +61,7 @@ public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
GeneratedBuildings.MakeBuildingAlwaysOperational(go);
SimCellOccupier simCellOccupier = go.AddOrGet();
simCellOccupier.doReplaceElement = true;
- simCellOccupier.movementSpeedMultiplier = DUPLICANTSTATS.MOVEMENT.PENALTY_3;
+ simCellOccupier.movementSpeedMultiplier = DUPLICANTSTATS.MOVEMENT_MODIFIERS.PENALTY_3;
go.AddOrGet().destroyOnDamaged = true;
go.AddOrGet();
go.AddOrGet();
diff --git a/Source Code/Insulated Joint Plate/InsulatedWireRefinedBridgeHighWattage/InsulatedWireRefinedBridgeHighWattageConfig.cs b/Source Code/Insulated Joint Plate/InsulatedWireRefinedBridgeHighWattage/InsulatedWireRefinedBridgeHighWattageConfig.cs
index 565809e..0069ea0 100644
--- a/Source Code/Insulated Joint Plate/InsulatedWireRefinedBridgeHighWattage/InsulatedWireRefinedBridgeHighWattageConfig.cs
+++ b/Source Code/Insulated Joint Plate/InsulatedWireRefinedBridgeHighWattage/InsulatedWireRefinedBridgeHighWattageConfig.cs
@@ -61,7 +61,7 @@ public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
GeneratedBuildings.MakeBuildingAlwaysOperational(go);
SimCellOccupier simCellOccupier = go.AddOrGet();
simCellOccupier.doReplaceElement = true;
- simCellOccupier.movementSpeedMultiplier = DUPLICANTSTATS.MOVEMENT.PENALTY_3;
+ simCellOccupier.movementSpeedMultiplier = DUPLICANTSTATS.MOVEMENT_MODIFIERS.PENALTY_3;
go.AddOrGet().destroyOnDamaged = true;
go.AddOrGet();
go.AddOrGet();
diff --git a/Source Code/Insulated Joint Plate/Localization/loc.cs b/Source Code/Insulated Joint Plate/Localization/loc.cs
index 1cc6492..d0095f9 100644
--- a/Source Code/Insulated Joint Plate/Localization/loc.cs
+++ b/Source Code/Insulated Joint Plate/Localization/loc.cs
@@ -1,4 +1,4 @@
-using Harmony;
+using HarmonyLib;
using System;
using System.IO;
using System.Reflection;
diff --git a/Source Code/Insulated Joint Plate/LongInsulatedWireBridgeHighWattage/LongInsulatedWireBridgeHighWattageConfig.cs b/Source Code/Insulated Joint Plate/LongInsulatedWireBridgeHighWattage/LongInsulatedWireBridgeHighWattageConfig.cs
index 1a6d762..4e0b304 100644
--- a/Source Code/Insulated Joint Plate/LongInsulatedWireBridgeHighWattage/LongInsulatedWireBridgeHighWattageConfig.cs
+++ b/Source Code/Insulated Joint Plate/LongInsulatedWireBridgeHighWattage/LongInsulatedWireBridgeHighWattageConfig.cs
@@ -60,7 +60,7 @@ public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
GeneratedBuildings.MakeBuildingAlwaysOperational(go);
SimCellOccupier simCellOccupier = go.AddOrGet();
simCellOccupier.doReplaceElement = true;
- simCellOccupier.movementSpeedMultiplier = DUPLICANTSTATS.MOVEMENT.PENALTY_3;
+ simCellOccupier.movementSpeedMultiplier = DUPLICANTSTATS.MOVEMENT_MODIFIERS.PENALTY_3;
go.AddOrGet().destroyOnDamaged = true;
go.AddOrGet();
go.AddOrGet();
diff --git a/Source Code/Insulated Joint Plate/LongInsulatedWireRefinedBridgeHighWattage/LongInsulatedRefinedWireBridgeHighWattageConfig.cs b/Source Code/Insulated Joint Plate/LongInsulatedWireRefinedBridgeHighWattage/LongInsulatedRefinedWireBridgeHighWattageConfig.cs
index d78f7f6..4c0be0b 100644
--- a/Source Code/Insulated Joint Plate/LongInsulatedWireRefinedBridgeHighWattage/LongInsulatedRefinedWireBridgeHighWattageConfig.cs
+++ b/Source Code/Insulated Joint Plate/LongInsulatedWireRefinedBridgeHighWattage/LongInsulatedRefinedWireBridgeHighWattageConfig.cs
@@ -60,7 +60,7 @@ public override void ConfigureBuildingTemplate(GameObject go, Tag prefab_tag)
GeneratedBuildings.MakeBuildingAlwaysOperational(go);
SimCellOccupier simCellOccupier = go.AddOrGet();
simCellOccupier.doReplaceElement = true;
- simCellOccupier.movementSpeedMultiplier = DUPLICANTSTATS.MOVEMENT.PENALTY_3;
+ simCellOccupier.movementSpeedMultiplier = DUPLICANTSTATS.MOVEMENT_MODIFIERS.PENALTY_3;
go.AddOrGet().destroyOnDamaged = true;
go.AddOrGet();
go.AddOrGet();
From abddead09936a3974be75d83affe36f0c663744d Mon Sep 17 00:00:00 2001
From: Blaxsmith <37184639+Blaxsmith@users.noreply.github.com>
Date: Sat, 23 Nov 2024 18:51:52 +0100
Subject: [PATCH 2/3] Target framework v4.8
---
Source Code/Insulated Joint Plate/InsulatedPlate.csproj | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Source Code/Insulated Joint Plate/InsulatedPlate.csproj b/Source Code/Insulated Joint Plate/InsulatedPlate.csproj
index 34be3bc..ad8c119 100644
--- a/Source Code/Insulated Joint Plate/InsulatedPlate.csproj
+++ b/Source Code/Insulated Joint Plate/InsulatedPlate.csproj
@@ -9,7 +9,7 @@
Properties
InsulatedJointPlate
InsulatedJointPlate
- v4.7.1
+ v4.8
512
true
From 068c49c4491153bfe7cb803c1592dd070079d0c2 Mon Sep 17 00:00:00 2001
From: Blaxsmith <37184639+Blaxsmith@users.noreply.github.com>
Date: Wed, 27 Nov 2024 16:56:34 +0100
Subject: [PATCH 3/3] Simplify code & fix vanilla version
---
.../Insulated Joint Plate/InsulatedPlates.cs | 21 +++++-------------
.../Steam/InsulatedJointPlate.dll | Bin 16896 -> 16896 bytes
.../vanilla/InsulatedJointPlate.dll | Bin 16896 -> 16896 bytes
.../archived_versions/vanilla/mod_info.yaml | 5 ++++-
.../Insulated Joint Plate/Steam/mod_info.yaml | 5 ++++-
5 files changed, 13 insertions(+), 18 deletions(-)
diff --git a/Source Code/Insulated Joint Plate/InsulatedPlates.cs b/Source Code/Insulated Joint Plate/InsulatedPlates.cs
index 743d3be..8cf7ec9 100644
--- a/Source Code/Insulated Joint Plate/InsulatedPlates.cs
+++ b/Source Code/Insulated Joint Plate/InsulatedPlates.cs
@@ -83,23 +83,12 @@ public static void bridgeBuildMenu(string door, string menu, string pred)
}
}
- public static void bridgeTechTree(string door, string group)
+ public static void bridgeTechTree(string id, string researchGroup)
{
- if (group == "none") return;
-#if VANILLA
- Techs.TECH_GROUPING[group] = new List((IEnumerable)Techs.TECH_GROUPING[group])
- {
- door
- }.ToArray();
-#endif
-
-#if SPACED_OUT
- var tech = Db.Get().Techs.TryGet(group);
- if (tech != null)
- {
- tech.unlockedItemIDs.Add(door);
- }
-#endif
+ if (researchGroup == "none") return;
+
+ Tech tech = Db.Get().Techs.TryGet(researchGroup);
+ tech?.AddUnlockedItemIDs(id);
}
}
diff --git a/Source Code/Insulated Joint Plate/Steam/InsulatedJointPlate.dll b/Source Code/Insulated Joint Plate/Steam/InsulatedJointPlate.dll
index 25f49f838861037ffa84b4709a6239ad5e503777..cd443c21639701a08cad2c42aa10292cd65b566c 100644
GIT binary patch
delta 3582
zcmb_fYgAO%75>hdJ9lR8g>iTff(QaKJc|Jh_-KNHI4Pj1pknbcJVb&B4%A1f84%;6
z#s^Mh#aE&(t1(r(Rxp}qqNW&ItG2~Q8=Dwcm)huxD=}FsTHD5UpEF|!@kjn-Sogd8
z+k2mHpL6a#=Um#Bv$o}I!z$%s;fEJGUmP8w!vEVrckZ(dnB95JY5dnzAjccW)4b*E
zh{cux+)4(RH)zz8-IMqT-C#tPcXgn{YEvWD#!@6PobPf>^&Sh%@=OCXM>?QtJk(K6
zgsYC}bW1@clC7JTJ1IwasSase4fnl+6N3u
z=t~b5>Az7$x@a9C=wg#>T|OXXOkZMTpRPz8DCk-G43>J?=uH!D&ChJI!X!}
zD&Y}*{I%X_Qcu_VckGapNl4GYyG
zZ*54u=aSK*OlkW7TQH?Xj(}S-q5NrBlt;{l9d9}MlugL3k&sK%3!?ZXGE~yI(|rrM~`H_%tV~+$1eIaMTtb*@Uv7Uh9@E*O{jF@
z70Xd&DAq|PR6Ht%qD#^adi{=5@ZdK=6-hYUj~(yF{vcVW{fv2+l7vJ$qU95#(I+8Y
zvPZEw{bEghF%LC7-!FK%FGw-58C)`nuZgLIkL*-h;0&>ZTt+)xCrFpE|XE!$DYdd$1X-mkqzctT>8`2g9|%x@4*
zAY9F^nU7#IdqF>mootqe_hL03^1l+ft9?v?ZuOsdn{{e;umsn%jX1;hVm;Y9mFZ=}
zs6*utEAKWts0&-HJI2c_iR=MOFebBh*wv8~U53|in{6d5m(vl+cA}16@$Fgx>!gG0
z85YO0%$|uPnL+z?F5gM}btGFwNqO95C})gy7-ldhU!qm9Jbp`WV0nl(E+QH69D>+3
zww4xrkNFjrfO-0ULNUizaGxDvX?W9onq?zQzf3x3Eq`aD@tJay)$u3wPuT)~p3cS5
z$kadgQ1~PLKh&e67RK|jMYHnv@QFE;-^LTB82%4T))L4LQ4;uSzFE&A3^tXsPCm(y
z%NhGj`7xnY9mhNQa|S16Zs!yEX8ubq22iUx`A%M>m61QfFrDyq%N%|M7xhgjXBV{v
z+*3~F7xR61Np(`Oi`p`htJPM~hmsjD69(Wap$)ePLlHu!y&Yo-qoqFaJp%eO)l0hf)dBP~%A&kdY%5`KR-*_FP
z@RHHM#$mUyicnKK*iWe05KP56WU^A$%I>j&Je7|^F}m1pc7pwxU1KU&+Gua+_q$17
z3(B`V>$yg2O&%lP^5O~lxcctzZ{E1*kmOtv5Q|g%J^H;vOZU678@gvihw-4|iBk%S
z3rb376;I4}j&~OP)Y}wekDOFcl2=q(j%rtn3;C6p;Bq%K&RxoV7MY>>6P
zbNGjxIlT=z(dju1rPk2#ZdXIiqDFUpeqD3ZJlB#EqQMy@1*NgyL}Ifua=H)YWYZB?
zbfl(Bj6{rVC0&{HPgSP(>)iOPUcO*j%h#B&V_Wza`M2KA7N1_zM^@z5EUYN3YpE!1
dtS)J6an7%r_w(wS>U`J2dRKFI?a0lh{{z(yn8yGB
delta 3622
zcmb_eZE#f88Gg>$yLa#2n{0OTvE&O#NS16q2v8#C0|zoqU=k#T5y^nZe}A)crP`DQB5
zF{@dhJt7x4p9wJ2RrFwQC7)2i$ML{Jjlx_)&=y0Hz(FA_X{?}CRx}4T24OSx(c~rduEH=uSJ(tK=SOA54JIZGmNIum#m~H7S9B+da_)8iYT#{+I&lo)
zPK3IcEMyYwck2xo^tPm?)j9T|ya*s|6|jfyw+*sqwFVlVSkxk(`j&X0Unk$}S*S__
zoa9TJHoL5Z?sddl&85zwAdON+C{a8_`Db)j>2ISyiPCjK6+YqJrhKNU_>;uN%4IDI
zE^4OY*UD+Djy{dXg(W2Bz)>p@ji2d0i;Ac44Re4dnEV!rbE%aMcTf_YnmMq9YN}|m
zTu~jkL-pL4u67$L>UH61Wv`LMBzn75R7tsbnLmTN;=spbH{vMu*ny9v=1ggik)4}L
z`6|A&UQtzi%Z1t@*2JE}JZAQ|oWUDZ%z;u$b--;Am_qhGWXjRpmU35Rf1i~jE0^7!
zNNejjCQJKsDxZjE*)6}+xg^Uw2vximeBMZMp
z6Yjv{ve{DS-NRz=%o22kars*M;A=zsz
z#Ij_=iE5GA7}FR$XkTX9K2F&ptX
z;vH0uM@(jj3FSnL4>O^hjEXQ5%EPfjvXJr!{6R8OroC$<4okKjj~WM*kvI}&KFO-G
zM1}3}1&xCgJS%CaVG1sVgXzX0B?W7;L#a>mV@ev1OBTxX;Ef^d-EgKT;laPcEK%`r
z540Si(urs6uPdXmK{BBdR52P`C0$Lg-`^^!!Szm*F-K)aC-|4;-rX`}dbGV{Z_)P?{!U`Kc987J
z+AD-(2|L(;)`u?EV4OfVs|fNl=)kA^JtAlI%M{qFeuO`>W%?)h6;A3~afv`teBrRnpiOm>vED2
z&%woZvER^w@6mR%bW|F@Clqsh0iUuymV;f|0L#Ny`Z?11qx~YAgb$P(tbr#P|7J`1
zU+6e839-hlAcapD|D_)7wliLWRl0+}j(4;^_Arup62FO5n}=V)gL*dET*>Ag{Ar_*
zklCtPC!cJY!WsKODJA^cTFyIpwWX3WH}W~Wi#KvHjOltM@8;w58uF_aAK@l@6Tg5y
zV;h2W2G>_m+6g1b4`8)gNyYkflBZ^yxdR$rAdJ9uLMLt!#v+lv`SB>>@iI
z=Lo&{hA>C^$4P&l^yi~Yp_7yJPmww$q>~y%HcG6y^qqc7$))e}S;8cIPMC)ODc3Lo
zW!7sbLYLLTeu@LuTEZxGHJeVYMqw^aV;rkuE7_OyG=IX2Faz7!i|jaimwm`o9?O+B
z+9QTsXX(_S-1E=^-_E~~hl_hYX}IZ-b^kR$%kuuqOLAf<)9NJ*U3+Ljf47LJ5tMlm
zbhM46Bd3EfiqP5XPyUvf?IYa7W;`;dbVg}K6)HyE3qd}LC|j?!#pXFQ*Nv+-XAnBU+nWw7h|j~teM?XA84s*YN%c8t7-8s3)I%v1nQgpEj2Uz
fbrt^BvL|YnEUT-p8&l$YveDO)pWnNvu*>#;5pk8F
diff --git a/Source Code/Insulated Joint Plate/Steam/archived_versions/vanilla/InsulatedJointPlate.dll b/Source Code/Insulated Joint Plate/Steam/archived_versions/vanilla/InsulatedJointPlate.dll
index 5cf3b3436f6a3688d91b6f34f904ecb5f43313d5..272e7df21059425e25bb54e23a5fa37f49c29d8f 100644
GIT binary patch
delta 4559
zcmb_g33OD|8UF5_H*aR%3y+z}HdzQ0k|C3YNC?3sf)GfAu@JTd2;wp%5h8?y39?9a
z5&?lCV0en)9!gQHaE^{tMMW)(MYI-yRw|m~Q7g1m)N=$;tNrht0Sun@9D6!2-~GRT
z`|iDOowP4!?aSFctCZKjJ-w;(?sTSgZtt6{BKCQVMjo{-xT&){lkGAY%dvhv6(}_`
zd4XBSa+uTXVBwTg)1rxEWQ`ThLf~XBz|736t~4j`>zUWw$&*-SWIs<~tR&KH(U`|e
z3BIJzXrOhAFFDkk(WraYW=5D*B$?fo8nZ=x=RfDw*)Hb2Zhz;Z#?y`q?nqz#HO5w(
zAI6O^`}dkO7R)IYRf*hY#EB`#5456~MjPO=gwhnW`fC8KfaUpz(zvviz|t~>P*V$>
zYVz9XocR|2RP)7N1HyKy<9=Gb<{tp48c*=o5#g$TIt_W$U%^7^@1Q*Yb>wQ9A#$%L
z(A1ER^jdBpTel?^_EM8<$#pF^5{=8}YMeb35YxGdcrS-PNP};H(mx^J>Yqt=s9pqz
z*OMtz;uV+TZy;9C%cUgw8-@R70!Lm3_tOq*c{f;=&Z3bobpwijwn%6)w;3ggw+M3%
zL3=z!LOVp`Ip*hv$0;JAH>||x${f?vyHEC|^dyn~TUDfs>SRF|+hlcJ@4R7`5>qbq
z6^W^WuC=2z^egHedQu4dMC#QZQt6^3#c@HZkD#ARYBJ{)!wTqNX59g7qA^a`lNW@V
z=FMuOoyS%Wuumgj?PSc(0_Y4t*67+mC5?-Tx0=n)oG=||(8eHxzGd|7PhVQJ%%);-
z06_;EjK1O$p%Vr=eSyQO@ColWrI$m+0f|eLZ|uD>fXY;?Ro=I1_!E_DSVheY9I^_v
zd0NP#;x@!{Ba9cxWgtOf8q^dm!@LBoX~D+p<$*x#=p^9
zY$}@6m243nqed$FSys~0*HM)?3tkpLX9>-i&Yfd4ofOF!u?@8O1L*c+A&(O?B~$4v
zA~p>}B-IcvgBv9?kcJMrWfiMq`9zv?mW*w&MVU{sY%R)iB-_KHEKk;rR>zvx#g~My
zpxI2M&VxwYiT7w~6X^^ZELpycrC^9;OtN&8(!!2f!^)KQckuwGv`^3lj^qLhRe?Xl
zAO0@|Dn#ofRI_DD5)MG%NooHto(W!B8}35Dwo+kO8D*aEUb{-0zFyLO>=^2p1)C&0
z0K>XYvEa>2sw4UH7L!;`zbLEKb!J6XjCIh{#)g?OR-&XZJMNZjADgE>s5tO@$?oz9
zJq>TfV#mTHsNra=PzY+UXI~Q3P#8Oq|A=n3tC5sAXV5ekJ!M=E2vW-}%Z&CUp
zF;Dc|h}$KrxyZIr?5JeXy08}~V!;vm4#kV*`O(64{8=RndnJpe`f#WRI}*zj5<`0`EA6&}kSGHkmb}h&;_G
zV}^A;;aO!hf;g+MCp^qIAQ;9oV!-1PpR#PgMD{N3BhLyha6jDvgZNkxc$Zz2eeZY}
zO>D1y3)xR;PY}K$vEIIe>}mFA2*(hvX5IGZu$isUUqu(Yksrote9!+(_UGCML4!3Q*5U$Y;i#{UhD9&^DNt%%R1mu%PD#%
zp1>*gAYol>54vdeop@NQVx9Diy_RM2V*7aNSV+%^GTueE{1mo|aw>Q*Y^h_6EwfzD
z0(^;9&noyyy_r=Y-MWZ%$#yRG5L-)kg1z=fST^SBPZ5gEKaO+kIaYvO_5*A%67^%$
z=aA#CY$!fcK4DG#O8p;fK7WfI;X^S{KSR+I`nNQp-44bp@qlLV*YK%5oWM_EkS&9M
zh{;+u+3`v?U(Gk`#e{BK9qZ&1EM=Ur&y=eP4RsXnJkK>4bAKm|sX!9xSgua+>$GvKRw2o+ZQny*!sxZBf*|CW*4(}5>
zags0r@$_Qi!AQb%>G$G3va|6=LO;$C7D)d<=^rfpr5LHudzbW&kbNqtPbTs)+*(NQ
z68n@wdeFZ`n1<7YS@=pB{t^AgskDBCt8lN?!bV}MwVqH@m$6?^SwBq0n;6Jy*iv?u
zrSg1!6~HT;m>@7YBz~pFYOiksj11HMX_f8me!c+_)g3_pve4n=#2XZv2$0aaGkd
zH;x-$8Mr1;HOXwv@T5$rs;(GYQ-_A&f*>kqVoWg9+%j*;*e3JQjNHhZ8DCqJn#TIs
z=H7n$&CaZ^9HGXx#$c#^_Goiu_PO2_4Gp#P=C;(&X>15AXl#z$=G)3FHK8SDYR-3N
zhQBRxkAI)$bSFnvRG*zaYE$WVS0BH%GS6%%p1^K5cNGr`cezSjC2>|T<}RY&b6n+$
z>T2J?RYQzVTfLmw?ZVt8-~|D%+0{gM`$6U^)4^HHG!z?i4^vck`(YcHyUNvm+(xxz
zl*#5ko0G8&xP6L7c~*kZJ)q?SENRSD8w^TxDE{REQ20
zG?5O6$nEGw2izSXvDZPTe1L^Mq15HPHR`Ca2qfVTu?;dskn(NMPoc_>oddtT2
z@)?zl3ulaOS}{Gv6*xWv3#4
YFVAM31LGpb&~Gd}t}NmjafZ0<-|9+7_y7O^
delta 4548
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