Advertisement
Kiel1956

Druid-DL-Darashia 100%AFK.xbst

Feb 21st, 2020
739
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 44.97 KB | None | 0 0
  1. <panel name="Spell Shooter">
  2. <control name="shooterList">
  3. <item spell="spell words" rune="3155" srange="5" type="1" reason="2" minhp="0" maxhp="100" mana="10" count="1" creature="monster names" danger="0" targ="1" enabled="1"/>
  4. <item spell="exevo gran mas frigo" rune="3155" srange="6" type="2" reason="2" minhp="0" maxhp="100" mana="80" count="3" creature="monster names" danger="0" targ="1" enabled="1"/>
  5. <item spell="exevo gran frigo hur" rune="3155" srange="8" type="2" reason="2" minhp="0" maxhp="100" mana="10" count="1" creature="monster names" danger="0" targ="1" enabled="0"/>
  6. </control>
  7. </panel>
  8. <panel name="Dynamic Lure">
  9. <control name="LureList">
  10. </control>
  11. <control name="AttackWhileLuring" value="1"/>
  12. </panel>
  13. <panel name="Self Healer">
  14. <control name="SpellList">
  15. <item spell="exura vita" mana="200" vcomp="0" vsign="1" vrandom="0" vvalue="50" enabled="1"/>
  16. <item spell="exura gran" mana="100" vcomp="0" vsign="1" vrandom="0" vvalue="70" enabled="1"/>
  17. <item spell="exura" mana="50" vcomp="0" vsign="0" vrandom="0" vvalue="90" enabled="1"/>
  18. <item spell="utana vid" mana="0" vcomp="1" vsign="3" vrandom="0" vvalue="98" enabled="1"/>
  19. </control>
  20. <control name="ItemList">
  21. <item id="238" vcomp="0" vsign="3" vrandom="0" vvalue="50" enabled="1"/>
  22. </control>
  23. </panel>
  24. <panel name="Support">
  25. <control name="HiHealSpell" value="Exura"/>
  26. <control name="HiHealHealth" value="90"/>
  27. <control name="HiHealRange" value="5"/>
  28. <control name="HiHealMana" value="20"/>
  29. <control name="HiHealEnable" value="0"/>
  30. <control name="LoHealSpell" value="Exura Gran"/>
  31. <control name="LoHealHealth" value="55"/>
  32. <control name="LoHealPerc" value="5"/>
  33. <control name="LoHealMana" value="70"/>
  34. <control name="LoHealEnable" value="0"/>
  35. <control name="PotHealID" value="266"/>
  36. <control name="PotHealHealth" value="50"/>
  37. <control name="PotHealRange" value="5"/>
  38. <control name="PotHealEnable" value="0"/>
  39. <control name="ManaRestoreID" value="268"/>
  40. <control name="ManaRestoreMana" value="50"/>
  41. <control name="ManaRestoreEnable" value="0"/>
  42. </panel>
  43. <panel name="Frag Helper">
  44. <control name="HoldTarg" value="0"/>
  45. <control name="ComboEnable" value="0"/>
  46. </panel>
  47. <panel name="Tools">
  48. <control name="EnableAntiIdle" value="1"/>
  49. <control name="EnableEatFood" value="1"/>
  50. <control name="EnableReconnect" value="1"/>
  51. <control name="LightEnable" value="0"/>
  52. <control name="XRayEnable" value="0"/>
  53. <control name="ShowLookIDs" value="0"/>
  54. <control name="ShowManaBar" value="0"/>
  55. <control name="ShowBPInfo" value="0"/>
  56. <control name="EnableAdvancedInfo" value="0"/>
  57. </panel>
  58. <panel name="Visuals">
  59. <control name="LightEnable" value="1"/>
  60. <control name="XRayEnable" value="0"/>
  61. <control name="ShowLookIDs" value="1"/>
  62. <control name="ShowManaBar" value="0"/>
  63. <control name="ShowBPInfo" value="0"/>
  64. <control name="EnableSmallBPs" value="1"/>
  65. <control name="EnableAdvancedInfo" value="0"/>
  66. <control name="ShowCleanWalls" value="0"/>
  67. <control name="ShowDiagnostics" value="0"/>
  68. </panel>
  69. <panel name="Get Scripts">
  70. </panel>
  71. <panel name="Combo Options">
  72. <control name="ComboSayLeader" value=""/>
  73. <control name="ComboSayPhrase" value=""/>
  74. <control name="ComboSayEnable" value="0"/>
  75. <control name="ComboShotLeader" value=""/>
  76. <control name="ComboShotType" value="0"/>
  77. <control name="ComboShotEnable" value="0"/>
  78. <control name="ComboExivaLeader" value=""/>
  79. <control name="ComboExivaEnable" value="0"/>
  80. <control name="ComboParaWatch" value="0"/>
  81. <control name="ComboParaEnable" value="0"/>
  82. <control name="ComboPartyWatch" value="0"/>
  83. <control name="ComboPartyEnable" value="0"/>
  84. <control name="ComboAttackSpell" value="Exevo Gran Mas Frigo"/>
  85. <control name="ComboAttackSpellEnable" value="0"/>
  86. <control name="ComboAttackRuneID" value="3155"/>
  87. <control name="ComboAttackRuneEnable" value="0"/>
  88. <control name="ComboFocusType" value="0"/>
  89. </panel>
  90. <panel name="HUD">
  91. <control name="HUDItemList">
  92. <item textColor="9" x="5" y="5" pos="4" checked="0"/>
  93. <item textColor="8" x="5" y="5" pos="6" checked="0"/>
  94. <item textColor="7" x="5" y="5" pos="13" checked="1"/>
  95. <item textColor="6" x="5" y="5" pos="8" checked="0"/>
  96. <item textColor="4" x="5" y="5" pos="10" checked="0"/>
  97. <item textColor="13" x="5" y="5" pos="0" checked="1"/>
  98. <item textColor="13" x="5" y="5" pos="12" checked="1"/>
  99. <item textColor="0" x="0" y="0" pos="0" checked="1"/>
  100. </control>
  101. <control name="HPPercOnClick" value="0"/>
  102. <control name="MPPercOnClick" value="0"/>
  103. <control name="MPPercClickEnable" value="0"/>
  104. <control name="MPPercClickEnable" value="0"/>
  105. </panel>
  106. <panel name="Recent Loot">
  107. <control name="LootMonsterList">
  108. </control>
  109. <control name="DisplaySelectLoot" value="0"/>
  110. <control name="HideNothingLoot" value="0"/>
  111. </panel>
  112. <panel name="Spell Timers">
  113. <control name="HUDSpellTimersList">
  114. <item textColor="9" x="5" y="5" pos="4" checked="1"/>
  115. <item textColor="8" x="5" y="5" pos="6" checked="1"/>
  116. <item textColor="7" x="5" y="5" pos="13" checked="1"/>
  117. <item textColor="6" x="5" y="5" pos="8" checked="1"/>
  118. <item textColor="4" x="5" y="5" pos="10" checked="1"/>
  119. <item textColor="13" x="5" y="5" pos="0" checked="1"/>
  120. <item textColor="13" x="5" y="5" pos="12" checked="1"/>
  121. </control>
  122. </panel>
  123. <panel name="Kill Counters">
  124. <control name="KillCounterBox">
  125. </control>
  126. <control name="DisplaySelectCounters" value="0"/>
  127. <control name="DisplayCountRatios" value="0"/>
  128. </panel>
  129. <panel name="Battle Information">
  130. <control name="ShowTakenDamage" value="1"/>
  131. <control name="ShowTakenAvgDamage" value="1"/>
  132. <control name="ShowTakenBurstDamage" value="1"/>
  133. <control name="ShowDealtDamage" value="1"/>
  134. <control name="ShowTarget" value="1"/>
  135. <control name="ShowFollow" value="1"/>
  136. <control name="ShowExiva" value="1"/>
  137. </panel>
  138. <panel name="Experience Information">
  139. <control name="ShowHourlyExp" value="1"/>
  140. <control name="ShowExpTogo" value="1"/>
  141. <control name="ShowTimeLeft" value="1"/>
  142. </panel>
  143. <panel name="Condition Manager">
  144. <control name="PoisonCureLimit" value="6"/>
  145. <control name="PoisonCureMana" value="20"/>
  146. <control name="PoisonCureEnable" value="0"/>
  147. <control name="DeathCureLimit" value="10"/>
  148. <control name="DeathCureMana" value="40"/>
  149. <control name="DeathCureEnable" value="0"/>
  150. <control name="PhysicalCureLimit" value="5"/>
  151. <control name="PhysicalCureMana" value="30"/>
  152. <control name="PhysicalCureEnable" value="0"/>
  153. <control name="FireCureLimit" value="20"/>
  154. <control name="FireCureMana" value="30"/>
  155. <control name="FireCureEnable" value="0"/>
  156. <control name="EnergyCureLimit" value="15"/>
  157. <control name="EnergyCureMana" value="30"/>
  158. <control name="EnergyCureEnable" value="0"/>
  159. <control name="ParaCureEnable" value="1"/>
  160. <control name="ParaCureMana" value="50"/>
  161. <control name="ParaCureSpell" value="Utani gran Hur"/>
  162. <control name="HasteCastMana" value="50"/>
  163. <control name="HasteCastSpell" value="Utani gran Hur"/>
  164. <control name="HasteCastEnable" value="1"/>
  165. <control name="InvisibleCastMana" value="50"/>
  166. <control name="InvisibleCastEnable" value="0"/>
  167. <control name="ShieldCastMana" value="50"/>
  168. <control name="ShieldCastEnable" value="0"/>
  169. <control name="RecoveryCastEnable" value="0"/>
  170. <control name="RecoveryCastType" value="0"/>
  171. <control name="RecoveryCastMana" value="75"/>
  172. <control name="RecoveryCheckPzEnable" value="1"/>
  173. </panel>
  174. <panel name="Equipment Manager">
  175. <control name="AmmoRefillID" value="3450"/>
  176. <control name="AmmoRefillEnable" value="0"/>
  177. <control name="WeaponRefillID" value="7368"/>
  178. <control name="WeaponRefillEnable" value="0"/>
  179. </panel>
  180. <panel name="Targeting">
  181. <control name="TargetingList" antiks="0">
  182. <item type="dragon lord" chs="1" max="100" min="0" prio="6" prox="7" count="1" elastic="0"/>
  183. <item type="dragon lord" chs="10" max="100" min="0" prio="6" prox="7" count="3" elastic="0"/>
  184. <item type="dragon lord" chs="12" max="100" min="0" prio="6" prox="7" count="5" elastic="0"/>
  185. <item type="All Creatures" chs="0" max="100" min="0" prio="10" prox="7" count="1" elastic="0"/>
  186. </control>
  187. </panel>
  188. <panel name="Walker">
  189. <control name="WaypointList">
  190. <item text="Stand (33214, 32454, 7)" tag="1"/>
  191. <item text="AbrirBPs:" tag="255"/>
  192. <item text="Stand (33214, 32449, 7)" tag="1"/>
  193. <item text="ChecarParaHunt:" tag="255"/>
  194. <item text="Self.OpenDoor(33230, 32412, 7)" tag="254"/>
  195. <item text="Stand (33230, 32407, 7)" tag="1"/>
  196. <item text="Self.OpenDoor(33230, 32406, 7)" tag="254"/>
  197. <item text="Stand (33225, 32398, 7)" tag="1"/>
  198. <item text="Self.OpenDoor(32224, 32398, 7)" tag="254"/>
  199. <item text="Stand (33221, 32399, 7)" tag="1"/>
  200. <item text="Self.OpenDoor(33221, 32400, 7)" tag="254"/>
  201. <item text="Stand (33221, 32403, 7)" tag="1"/>
  202. <item text="ComprarPots:" tag="255"/>
  203. <item text="Stand (33221, 32403, 7)" tag="1"/>
  204. <item text="Stand (33222, 32395, 7)" tag="1"/>
  205. <item text="ChecarDenovo:" tag="255"/>
  206. <item text="Stand (33221, 32403, 7)" tag="1"/>
  207. <item text="ComprarRunas:" tag="255"/>
  208. <item text="Stand (33221, 32403, 7)" tag="1"/>
  209. <item text="Stand (33222, 32395, 7)" tag="1"/>
  210. <item text="ChecarDenovo:" tag="255"/>
  211. <item text="Stand (33222, 32395, 7)" tag="1"/>
  212. <item text="CaminhoHunt:" tag="255"/>
  213. <item text="Node (33249, 32336, 7)" tag="0"/>
  214. <item text="Node (33265, 32280, 7)" tag="0"/>
  215. <item text="Stand (33265, 32279, 7)" tag="1"/>
  216. <item text="Self.OpenDoor(33265,32278,7)" tag="254"/>
  217. <item text="Node (33265, 32277, 7)" tag="0"/>
  218. <item text="Stand (33265, 32276, 7)" tag="1"/>
  219. <item text="Stand (33263, 32275, 8)" tag="1"/>
  220. <item text="Stand (33259, 32275, 9)" tag="1"/>
  221. <item text="Stand (33263, 32303, 10)" tag="1"/>
  222. <item text="Start:" tag="255"/>
  223. <item text="Stand (33263, 32303, 10)" tag="1"/>
  224. <item text="Stand (33264, 32301, 10)" tag="1"/>
  225. <item text="Node (33268, 32276, 11)" tag="0"/>
  226. <item text="Node (33239, 32234, 11)" tag="0"/>
  227. <item text="Node (33196, 32279, 11)" tag="0"/>
  228. <item text="Node (33240, 32307, 11)" tag="0"/>
  229. <item text="Stand (33264, 32301, 11)" tag="1"/>
  230. <item text="Stand (33263, 32303, 10)" tag="1"/>
  231. <item text="ChecarTudo:" tag="255"/>
  232. <item text="Stand (33263, 32303, 10)" tag="1"/>
  233. <item text="SairDaCave:" tag="255"/>
  234. <item text="Stand (33259, 32275, 10)" tag="1"/>
  235. <item text="Stand (33263, 32275, 9)" tag="1"/>
  236. <item text="Stand (33265, 32276, 8)" tag="1"/>
  237. <item text="Self.OpenDoor(33265,32278,7)" tag="254"/>
  238. <item text="Node (33248, 32338, 7)" tag="0"/>
  239. <item text="Node (33217, 32398, 7)" tag="0"/>
  240. <item text="Stand (33217, 32403, 7)" tag="1"/>
  241. <item text="Stand (33212, 32453, 7)" tag="1"/>
  242. <item text="Stand (33215, 32453, 6)" tag="1"/>
  243. <item text="Stand (33212, 32453, 5)" tag="1"/>
  244. <item text="Stand (33215, 32453, 4)" tag="1"/>
  245. <item text="Stand (33212, 32452, 3)" tag="1"/>
  246. <item text="Stand (33216, 32451, 2)" tag="1"/>
  247. </control>
  248. </panel>
  249. <panel name="Walker Options">
  250. <control name="ropeOption" value="0"/>
  251. <control name="shovelOption" value="0"/>
  252. </panel>
  253. <panel name="Looter">
  254. <control name="LootList" mode="0" minimum="0" maximum="1000" skinner="1" unlisted="1">
  255. <item ID="3386" action="16" deposit="0"/>
  256. <item ID="3392" action="16" deposit="0"/>
  257. <item ID="3428" action="16" deposit="0"/>
  258. <item ID="5882" action="0" deposit="0"/>
  259. <item ID="3280" action="16" deposit="0"/>
  260. <item ID="5948" action="0" deposit="0"/>
  261. <item ID="7402" action="16" deposit="0"/>
  262. <item ID="3725" action="0" deposit="0"/>
  263. </control>
  264. </panel>
  265. <panel name="Pathfinder">
  266. <control name="walkOnFireEnable" value="1"/>
  267. <control name="walkOnFurnitureEnable" value="0"/>
  268. <control name="walkOnMaroonGround" value="0"/>
  269. <control name="pathThroughRangedCreatures" value="0"/>
  270. <control name="walkWithMapclicks" value="0"/>
  271. </panel>
  272. <panel name="Mount">
  273. </panel>
  274. <panel name="Special Areas">
  275. <control name="AreaList">
  276. </control>
  277. </panel>
  278. <panel name="Alarms">
  279. <control name="disAlarm" value="0"/>
  280. <control name="damAlarm" value="0"/>
  281. <control name="lhpAlarm" value="0"/>
  282. <control name="lhpAlarmPercent" value="50"/>
  283. <control name="pmAlarm" value="0"/>
  284. <control name="creatureAlarm" value="0"/>
  285. <control name="attackAlarm" value="0"/>
  286. <control name="attackAlarmYellow" value="1"/>
  287. <control name="playerAlarm" value="0"/>
  288. <control name="playerAlarmLog" value="0"/>
  289. <control name="stuckAlarm" value="0"/>
  290. <control name="burstAlarm" value="0"/>
  291. <control name="burstAlarmPercent" value="500"/>
  292. <control name="averageAlarm" value="0"/>
  293. <control name="averageAlarmPercent" value="200"/>
  294. <control name="alarmPartyIgnore" value="0"/>
  295. </panel>
  296. <panel name="Scripter">
  297. <control name="RunningScriptList">
  298. <script name="100% AFK DL Darashia.lua"><![CDATA[LS1bWw0KDQoNCiBMYWJlbHM6IA0KLSBBYnJpckJQcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLShETyBMQURPIERPIEJBTkNPKQ0KLSBDaGVjYXJQYXJhSHVudCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLShETyBMQURPIERPIEJBTkNPKQ0KLSBCYW5jbyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLShETyBMQURPIERPIEJBTkNPIFBBUkEgUkVUSVJBUiBPIEdQIFBSQSBQT1RTLCBSVU5BUyBFIEZMRVhBUykNCioqQU5EQVIgQVTDiSBBIExPSkEgREUgUE9Ucy4NCi0gQ29tcHJhclBvdHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLShETyBMQURPIERBIExPSkEgUEFSQSBDT01QUkFSIEFTIFBPVFMpDQoqKkFOREFSIEFUw4kgQSBMT0pBIERFIFJVTkFzLg0KLSBDb21wcmFyUnVuYXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKERPIExBRE8gREEgTE9KQSBQQVJBIENPTVBSQVIgQVMgUlVOQVMpDQoqKkFOREFSIEFUw4kgQSBMT0pBIERFIEZMRVhBcy4gDQotIENvbXByYXJGbGV4YXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0oRE8gTEFETyBEQSBMT0pBIFBBUkEgQ09NUFJBUiBBUyBGTEVYQVMpDQoqKlZPTFRBUiBBVMOJIE8gTEFETyBETyBCQU5DTy4NCi0gQ2hlY2FyRGVub3ZvIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0oRE8gTEFETyBETyBCQU5DTykNCi0gQ2FtaW5ob0h1bnQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0oSVIgQVTDiSBBIEhVTlQpDQoNCi8vTGFiZWxzIGRlbnRybyBkYSBIdW50OlxcDQotIFN0YXJ0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKERFTlRSTyBETyBSRVNQQVdOKQ0KKipBTkRBUiBQT1IgVE9ETyBTTyBSRVNQQVdOLg0KLSBDaGVjYXJUdWRvIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLShERVBPSVMgUVVFIEFOREFSIFBPUiBUT0RBIENBVkUpDQotIFNhaXJEYUNhdmUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKERFQkFJWE8gRE8gTEFCRUwgIkNoZWNhclR1ZG8iKSBFICoqVk9MVEUgUFJPIERQKioNCg0KLy9MYWJlbHMgZGVudHJvIGRvIERQOlxcDQotIFJlc2V0YXJCUHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKElSw4EgQUJSSVIgQVBFTkFTIEEgTUFJTiBCUCBFIEEgQlAgREUgTE9PVCkNCi0gUmVhY2hEZXBvdCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0oRU0gIkFkdmFuY2VkIFdheXBvaW50cy4uLiIgVVNFIEEgT1DDh8ODTyAiRGVwb3NpdCBJdGVtcyIpDQotIERlcG9zaXQgSXRlbXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKEVTQ09MSEVORE8gIkFkdmFuY2VkIFdheXBvaW50cy4uLiIgRSAiRGVwb3NpdCBJdGVtcyIpDQotIEFicmlyQlBzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKFZPTFRBUiBQUk8gSU5JQ0lPLCBETyBMQURPIERPICJCYW5jbyIpDQoNCg0KLy8vIElEcyBFIFBSRcOHTyBEQVMgUE9USU9OUyBcXFwgKipQUkVDT1MgQVRVQUxJWkFET1MqKg0KIA0KMjM2IC0gc3Ryb25nIGhlYWx0aCBwb3Rpb24sIC0tLS0tLS0tLS0tLS0gMTE1IEdQIC0tLS0tLS0gYW50ZXMgZXJhIDEwMCBHUA0KMjM3IC0gc3Ryb25nIG1hbmEgcG90aW9uLCAtLS0tLS0tLS0tLS0tLS0gOTMgR1AgLS0tLS0tLS0gYW50ZXMgZXJhIDgwIEdQDQoyMzggLSBncmVhdCBtYW5hIHBvdGlvbiwgLS0tLS0tLS0tLS0tLS0tLSAxNDQgR1AgLS0tLS0tLSBhbnRlcyBlcmEgMTIwIEdQDQoyMzkgLSBncmVhdCBoZWFsdGggcG90aW9uLCAtLS0tLS0tLS0tLS0tLSAyMjUgR1AgLS0tLS0tLSBhbnRlcyBlcmEgMTkwIEdQDQoyNjYgLSBoZWFsdGggcG90aW9uLCAtLS0tLS0tLS0tLS0tLS0tLS0tLSA1MCBHUCAtLS0tLS0tLSBhbnRlcyBlcmEgNDUgR1ANCjI2OCAtIG1hbmEgcG90aW9uLCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tIDU2IEdQIC0tLS0tLS0tIGFudGVzIGVyYSA1MCBHUA0KNzY0MiAtIGdyZWF0IHNwaXJpdCBwb3Rpb24sIC0tLS0tLS0tLS0tLS0gMjI4IEdQIC0tLS0tLS0gYW50ZXMgZXJhIDE5MCBHUA0KNzY0MyAtIHVsdGltYXRlIGhlYWx0aCBwb3Rpb24sIC0tLS0tLS0tLS0gMzc5IEdQIC0tLS0tLS0gYW50ZXMgZXJhIDMxMCBHUA0KMjMzNzMgLSB1bHRpbWF0ZSBtYW5hIHBvdGlvbiwgLS0tLS0tLS0tLS0gNDM4IEdQDQoyMzM3NCAtIHVsdGltYXRlIHNwaXJpdCBwb3Rpb24sIC0tLS0tLS0tLSA0MzggR1ANCjIzMzc1IC0gc3VwcmVtZSBoZWFsdGggcG90aW9uLCAtLS0tLS0tLS0tIDYyNSBHUA0KDQoNCi8vLyBJRHMgRSBQUkXDh08gREFTIFJVTkFzIFxcXA0KDQozMTU1IC0gc3VkZGVuIGRlYXRoIHJ1bmUsIC0tLS0tLS0tLS0tLS0tLSAxMzUgR1AgLS0gYW50ZXMgZXJhIDEwOCBHUA0KMzE2MCAtIHVsdGltYXRlIGhlYWxpbmcgcnVuZSwgLS0tLS0tLS0tLS0gMTc1IEdQDQozMTYxIC0gYXZhbGFuY2hlIHJ1bmUsIC0tLS0tLS0tLS0tLS0tLS0tLSA1NyBHUCAtLS0gYW50ZXMgZXJhIDQ1IEdQDQozMTkxIC0gZ3JlYXQgZmlyZWJhbGwgcnVuZSwgLS0tLS0tLS0tLS0tLSA1NyBHUCAtLS0gYW50ZXMgZXJhIDQ1IEdQDQozMjAyIC0gdGh1bmRlcnN0b3JtIHJ1bmUsIC0tLS0tLS0tLS0tLS0tLSA0NyBHUCAtLS0gYW50ZXMgZXJhIDM3IEdQDQoNCi8vLyBJRHMgRSBQUkXDh08gREFTIE1VTknDh8OVRVNzIFxcXA0KDQozNDQ3IC0gYXJyb3csIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAzIEdQDQoxNTc5MyAtIGNyeXN0YWxsaW5lIGFycm93LCAtLS0tLS0tLS0tLS0tLSAyMCBHUA0KMjU3NTcgLSBkaWFtb25kIGFycm93LCAtLS0tLS0tLS0tLS0tLS0tLS0gZXhldm8gZ3JhbiBjb24gaHVyDQo3MzY4IC0gYXNzYXNzaW4gc3RhciwgLS0tLS0tLS0tLS0tLS0tLS0tLSAxMDAgR1ANCjM0NDYgLSBib2x0LCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIDQgR1ANCjM0NTAgLSBwb3dlciBib2x0LCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tIDcgR1ANCjY1MjggLSBpbmZlcm5hbCBib2x0LCAtLS0tLS0tLS0tLS0tLS0tLS0tIDEgKlNvdWwgT3JiKiB2b2NlIHBlZ2EgKjMgaW5mZXJuYWwgYm9sdCoNCjE2MTQxIC0gcHJpc21hdGljIGJvbHQsIC0tLS0tLS0tLS0tLS0tLS0tIDIwIEdQDQoyNTc1OCAtIHNwZWN0cmFsIGJvbHQsIC0tLS0tLS0tLS0tLS0tLS0tLSBleGV2byBncmFuIGNvbiB2aXMNCg0KLy8vIFNVTU1PTnMgXFxcICpMRVZFTCAyMDArIFNVTU1PTiBEVVJBIDE1IE1JTioNCg0KU3VtbW9uIEVtYmVyd2luZyAtLS0tLS0gdXRldm8gZ3JhbiByZXMgc2FjICpSUCoNClN1bW1vbiBHcm92ZWJlYXN0IC0tLS0tIHV0ZXZvIGdyYW4gcmVzIGRydSAqRUQqDQpTdW1tb24gU2t1bGxmcm9zdCAtLS0tLSB1dGV2byBncmFuIHJlcyBlcSAqRUsqDQpTdW1tb24gVGh1bmRlcmdpYW50IC0tLSB1dGV2byBncmFuIHJlcyB2ZW4gKk1TKiANCg0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCnwgICAgICAgICAgICAgICAgICAgICB8DQp8IEZJTSBEQVMgSU5GT1JNQcOHw5VFUyB8DQp8ICAgICAgICAgICAgICAgICAgICAgfA0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCi0tXV0NCg0KDQotLVtbDQovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQp8ICAgICAgICAgICAgICAgICAgICAgICAgICB8DQp8IElOSUNJTyBEQVMgQ09ORklHVVJBw4fDlUVTIHwNCnwgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCi0tXV0NCg0KLS0gQ09ORklHVVJBw4fDg08gREFTIEJQcw0KbG9jYWwgTG9vdEJQID0gInNob3BwaW5nIGJhZyINCmxvY2FsIEdvbGRCUCA9ICJ5ZWxsb3cgYmFja3BhY2siDQpsb2NhbCBQb3RzQlAgPSAiYmFja3BhY2siDQpsb2NhbCBNdW5pY2FvQlAgPSAiIg0KbG9jYWwgUnVuYUJQID0gImJlYWNoIGJhY2twYWNrIg0KbG9jYWwgTWluaXphckJQcyA9IHRydWUgLS0gKHRydWUgPSBzaW0gb3UgZmFsc2UgPSBuw6NvKSBNSU5JTUlaQSBBUyBCUHM7ICpBdGl2YXIgYSBmdW7Dp8OjbyAiU21hbGwgQlBzIiBuYSBhYmEgVmlzdWFscyoNCmxvY2FsIFJlc2V0YXJCUHNOYUNhdmUgPSB0cnVlIC0tICh0cnVlID0gc2ltIG91IGZhbHNlID0gbsOjbykgUkVTRVRBUiBBUyBCUHMgU0VNUFJFIFFVRSBERVIgVU1BIFZPTFRBIE5BIEhVTlQ7DQoNCi0tIE1BTkEgUE9USU9OIC0tDQpsb2NhbCBNYW5hUG90SUQgPSAyMzgJLS0gSUQgREFTIE1BTkEgUE9USU9OUzsNCmxvY2FsIFByZWNvTVAgPSAwDQpsb2NhbCBRdWFudGlkYWRlTVAgPSAxMDAgLS0gQ09NUFJBUiBRVUFOVEFTIE1BTkEgUE9USU9OUzsNCmxvY2FsIE1QU2FpciA9IDIwIC0tIERFSVhBUiBIVU5UIENPTSBRVUFOVEFTIE1BTkEgUE9USU9OUzsNCg0KLS0gSEVBTFRIIFBPVElPTiAtLQ0KbG9jYWwgSGVhbHRoUG90SUQgPSAwIC0tIElEIERBUyBIRUFMVEggUE9USU9OUzsNCmxvY2FsIFByZWNvSFAgPSAwDQpsb2NhbCBRdWFudGlkYWRlSFAgPSAwIC0tIENPTVBSQVIgUVVBTlRBUyBIRUFMVEggUE9USU9OUzsNCmxvY2FsIEhQU2FpciA9IDAgLS0gREVJWEFSIEhVTlQgQ09NIFFVQU5UQVMgSEVBTFRIIFBPVElPTlM7DQoNCi0tIE1VTknDh8ODTyAtLQ0KbG9jYWwgSURNdW5pY2FvID0gMCAtLSBJRCBEQSBNVU5Jw4fDg087DQpsb2NhbCBQcmVjb011bmljYW8gPSAwDQpsb2NhbCBRdWFudGlkYWRlTXVuaWNhbyA9IDAgLS0gQ09NUFJBUiBRVUFOVEFTIE1VTknDh8OVRVM7DQpsb2NhbCBNdW5pY2FvU2FpciA9IDAgLS0gREVJWEFSIEhVTlQgQ09NIFFVQU5UQVMgTVVOScOHw5VFUzsNCg0KLS0gUlVOQSAtLQ0KbG9jYWwgUnVuYUlEID0gMzE1NSAtLSBJRCBEQSBSVU5BOw0KbG9jYWwgUHJlY29SdW5hID0gMA0KbG9jYWwgUXVhbnRpZGFkZVJ1bmEgPSAxMjAwIC0tIENPTVBSQVIgUVVBTlRBUyBSVU5BUzsNCmxvY2FsIFF1YW50aWRhZGVSdW5hU2FpciA9IDEwMCAtLSBERUlYQVIgSFVOVCBDT00gUVVBTlRBUyBSVU5BUzsNCg0KLS0gQ0FQIC0tDQpsb2NhbCBDYXBTYWlyID0gNTAgLS0gREVJWEFSIEhVTlQgQ09NIFFVQU5UTyBERSBDQVA7DQoNCi0tIFNUQU1JTkEgLS0NCmxvY2FsIFN0YW1pbmFTYWlyID0gMCAtLSBDT00gUVVBTlRBUyBIT1JBUyBERSBTVEFNSU5BIE8gQ0hBUiBWQUkgUEFSQVI7DQpsb2NhbCBMb2dhclNlbVN0YW1pbmEgPSBmYWxzZSAtLSAodHJ1ZSA9IHNpbSBvdSBmYWxzZSA9IG7Do28pIE8gQ0hBUiBMT0dBIFFVQU5ETyBFU1RJVkVSIFNFTSBTVEFNSU5BOw0KDQotLSBQRUdBTkRPIEJBUkNPIC0tDQpsb2NhbCBOb21lRG9MYWJlbElkYTAgPSAiUGFyYVZlbm9yZSIgLS0gTUFYSU1PIDE0IExFVFJBUzsNCmxvY2FsIERpYWxvZ29JZGEwID0gInZlbm9yZSIgLS0gUEFMQVZSQSBDSEFWRSBQQVJBIFZJQUpFTSBERSBJREE7DQoNCmxvY2FsIE5vbWVEb0xhYmVsVm9sdGEwID0gICJQYXJhRGFyYXNoaWEiIC0tIE1BWElNTyAxNCBMRVRSQVM7DQpsb2NhbCBEaWFsb2dvVm9sdGEwID0gImRhcmFzaGlhIiAtLSBQQUxBVlJBIENIQVZFIFBBUkEgVklBSkVNIERFIFZPTFRBOw0KLS0gUEVHQU5ETyBCQVJDTyAtLQ0KDQoNCi0tW1sNCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCnwgICAgICAgICAgICAgICAgICAgICAgIHwNCnwgRklNIERBUyBDT05GSUdVUkHDh8OVRVMgfA0KfCAgICAgICAgICAgICAgICAgICAgICAgfA0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KTsODTyBFRElUQVIgTkFEQSBERVBPSVMgREVTVEEgTElOSEEsIEVESVRFIFNPTUVOVEUgU0UgVk9DRSBTT1VCRVIgTyBRVUUgRkFaIS4NCi0tXV0NCg0KDQpwcmludChbW1NjcmlwdCBmb2kgSW5pY2lhZG8sIFNpZ2EgYXMgSW5zdHJ1Y29lcyBxdWFscXVlciBEdXZpZGEsIHBlcmd1bnRlIG5vIENhbmFsIGUgQm9hIEh1bnQhIDopXV0pIA0KDQoNCnJlZ2lzdGVyRXZlbnRMaXN0ZW5lcihXQUxLRVJfU0VMRUNUTEFCRUwsICJvbldhbGtlclNlbGVjdExhYmVsIikNCg0KbG9jYWwgY2hhdCA9IENoYW5uZWwuT3BlbigiTHVrekJSIDEwMCUgQUZLIiwgb25TcGVhaywgb25DbG9zZSkNCg0KY2hhdDpTZW5kUmVkTWVzc2FnZSgiT0JTIDEiLCAiISEhIVNjcmlwdCBPcmlnaW5hbCBlIGRvOiBOaXhleiAoZG8gZm9ydW0gZG8gWGVub0JvdCkhISEhIikNCmNoYXQ6U2VuZFJlZE1lc3NhZ2UoIk9CUyAyIiwgIlRyYWR1emlkbyBlIGFkaWNpb25vdSBhbGd1bWFzIEZ1bmNvZXM6IikNCmNoYXQ6U2VuZFJlZE1lc3NhZ2UoIk9CUyAzIiwgIkx1a3ogLSB0aWJpYWtpbmcuY29tIikNCmNoYXQ6U2VuZFJlZE1lc3NhZ2UoIk9CUyA0IiwgIkx1a3pCUiAtIHd3dy5wYW5kb3JpdW14LmNvbSIpDQpjaGF0OlNlbmRSZWRNZXNzYWdlKCJPQlMgNSIsICJ3d3cueW91dHViZS5jb20vdXNlci9Pb09Sb25hbGRvT29PIC0geW91dHViZS5jb20iKQ0KY2hhdDpTZW5kUmVkTWVzc2FnZSgiT0JTIDYiLCAiISEhIU5BTyBVU0UgRVNTRSBBUlFVSVZPLCBGQUNBIFNFTVBSRSBVTUEgQ09QSUEhISEhIikNCmNoYXQ6U2VuZFllbGxvd01lc3NhZ2UoIkFURU5DQU8iLCAiRVNTRSBTQ1JJUFQgQ09NRUNBIFNFTVBSRSBETyBMQURPIERPIEJBTkNPISEhISIpDQpjaGF0OlNlbmRPcmFuZ2VNZXNzYWdlKCJMYWJlbCAxIiwgIkFicmlyQlBzIC0tLS0tLS0tLS0tIERPIExBRE8gRE8gQkFOQ08iKQ0KY2hhdDpTZW5kT3JhbmdlTWVzc2FnZSgiTGFiZWwgMiIsICJDaGVjYXJQYXJhSHVudCAtLS0tLSBETyBMQURPIERPIEJBTkNPIikNCmNoYXQ6U2VuZE9yYW5nZU1lc3NhZ2UoIkxhYmVsIDMiLCAiQmFuY28gLS0tLS0tLS0tLS0tLS0gRE8gTEFETyBETyBCQU5DTyIpDQpjaGF0OlNlbmRPcmFuZ2VNZXNzYWdlKCJBTkRFIEFURSBPIiwgIlNIT1AgU0UgRk9SIENPTVBSQVIgUE9UUy4iKQ0KY2hhdDpTZW5kT3JhbmdlTWVzc2FnZSgiTGFiZWwgNSIsICJDb21wcmFyUG90cyAtLS0tLS0tLSBETyBMQURPIERBIExPSkEgREUgQ09NUFJBUiBQT1RTIikNCmNoYXQ6U2VuZE9yYW5nZU1lc3NhZ2UoIkxhYmVsIDYiLCAiQ2hlY2FyRGVub3ZvIC0tLS0tLS0gRE8gTEFETyBETyBCQU5DTyBPQlM6IFNFIEZPUiBTTyBDT01QUkFSIFBPVFMsIFZPTFRFIEFPIEJBTkNPIEFOVEVTLiIpDQpjaGF0OlNlbmRPcmFuZ2VNZXNzYWdlKCJBTkRFIEFURSBPIiwgIlNIT1AgU0UgRk9SIENPTVBSQVIgUlVOQVMuIikNCmNoYXQ6U2VuZE9yYW5nZU1lc3NhZ2UoIkxhYmVsIDgiLCAiQ29tcHJhclJ1bmFzIC0tLS0tLS0gRE8gTEFETyBEQSBMT0pBIERFIENPTVBSQVIgUlVOQVMiKQ0KY2hhdDpTZW5kT3JhbmdlTWVzc2FnZSgiTGFiZWwgOSIsICJDaGVjYXJEZW5vdm8gLS0tLS0tLSBETyBMQURPIERPIEJBTkNPIE9CUzogU0UgRk9SIFNPIENPTVBSQVIgUlVOQVMsIFZPTFRBUiBBTyBCQU5DTyBBTlRFUy4iKQ0KY2hhdDpTZW5kT3JhbmdlTWVzc2FnZSgiQU5ERSBBVEUgTyIsICJTSE9QIFNFIEZPUiBDT01QUkFSIEZMRVhBUy4iKQ0KY2hhdDpTZW5kT3JhbmdlTWVzc2FnZSgiTGFiZWwgMTEiLCAiQ29tcHJhckZsZXhhcyAtLS0tLSBETyBMQURPIERBIExPSkEgREUgQ09NUFJBUiBGTEVYQVMgUEFSQSBSUCIpDQpjaGF0OlNlbmRPcmFuZ2VNZXNzYWdlKCJMYWJlbCAxMiIsICJDaGVjYXJEZW5vdm8gLS0tLS0tIERPIExBRE8gRE8gQkFOQ08gT0JTOiBTRSBGT1IgU08gQ09NUFJBUiBGTEVYQVMsIFZPTFRBUiBBTyBCQU5DTyBBTlRFUy4iKQ0KY2hhdDpTZW5kT3JhbmdlTWVzc2FnZSgiTGFiZWwgMTMiLCAiQ2FtaW5ob0h1bnQgLS0tLS0tLSBBTkRFIEFUw4kgTyBSRVNQQVdOIERBIEhVTlQiKQ0KY2hhdDpTZW5kT3JhbmdlTWVzc2FnZSgiTGFiZWwgMTQiLCAiU3RhcnQgLS0tLS0tLS0tLS0tLSBERU5UUk8gRE8gUkVTUEFXTiBFIERFUE9JUyBBTkRFIFBPUiBUT0RPIE8gUkVTUEFXTiIpDQpjaGF0OlNlbmRPcmFuZ2VNZXNzYWdlKCJMYWJlbCAxNSIsICJDaGVjYXJUdWRvIC0tLS0tLS0tIERFUE9JUyBRVUUgQU5EQVIgUE9SIFRPRE8gTyBSRVNQQVdOIikNCmNoYXQ6U2VuZE9yYW5nZU1lc3NhZ2UoIkxhYmVsIDE2IiwgIlNhaXJEYUNhdmUgLS0tLS0tLS0gQU5ERSBERVZPTFRBIFBSTyBEUCwgUVVBTkRPIEVTVElWRVIgTk8gRFAiKQ0KY2hhdDpTZW5kT3JhbmdlTWVzc2FnZSgiTGFiZWwgMTciLCAiUmVzZXRhckJQcyAtLS0tLS0tLSBERU5UUk8gRE8gRFAgUC8gREVQT1NJVEFSIE9TIElURU5TIERBIEhVTlQiKQ0KY2hhdDpTZW5kT3JhbmdlTWVzc2FnZSgiTGFiZWwgMTgiLCAiUmVhY2hEZXBvdCAtLS0tLS0tLSBWQSBFTSAnV0FMS0VSJywgJ0FkdmFuY2VkIFdheXBvaW50cy4uLicgRSBVU0UgQSBPUENBTyAnRGVwb3NpdCBJdGVtcycgUEFSQSBERVBPU0lUQVIgVFVETyIpDQpjaGF0OlNlbmRPcmFuZ2VNZXNzYWdlKCJMYWJlbCAxOSIsICJBYnJpckJQcyAtLS0tLS0tLS0tIFJFLUFCUklSIERFUE9JUyBERSBERVBPU0lUQVIgTk8gRFAiKQ0KDQogDQogICAgCQkJDQoNCmZ1bmN0aW9uIG9uV2Fsa2VyU2VsZWN0TGFiZWwobGFiZWxOYW1lKQ0KICAgICAgICAtLSBMQUJFTCAiQ2hlY2FyVHVkbyIgQ0hFQ0EgU0UgVEVNIE9VIE7Dg08gUE9UUywgQ0FQLCBSVU5BUyBFIE1VTknDh8ODTyBEVVJBTlRFIERBIEhVTlQuICoqU0UgTsODTyBURVIgVkFJIFBSTyBMQUJFTCAiU2FpckRhQ2F2ZSIqKi4gLS0NCiAgICAgICAgaWYgKGxhYmVsTmFtZSA9PSAiQ2hlY2FyVHVkbyIpIHRoZW4NCgkJICAgV2Fsa2VyLkNvbmRpdGlvbmFsR290bygoU2VsZi5JdGVtQ291bnQoSGVhbHRoUG90SUQpIDw9IEhQU2Fpcikgb3INCgkJICAgICAgICAgICAgICAgICAgICAgICAgICAoU2VsZi5JdGVtQ291bnQoTWFuYVBvdElEKSA8PSBNUFNhaXIpIG9yDQogCQkJCQkJCQkgIChTZWxmLkNhcCgpIDwgQ2FwU2Fpcikgb3INCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoU2VsZi5JdGVtQ291bnQoUnVuYUlEKSA8PSBRdWFudGlkYWRlUnVuYVNhaXIpIG9yDQoJCQkJCQkJCSAgKFNlbGYuSXRlbUNvdW50KElETXVuaWNhbykgPD0gTXVuaWNhb1NhaXIpLCAiU2FpckRhQ2F2ZSIsICJTdGFydCIpDQoJCQkJCQkJCSAgTG9vdGVyLlN0b3AoKQ0KDQoNCgkJLS0gTEFCRUwgIkNoZWNhclBhcmFIdW50IiBDSEVDQSBTRSBURU0gT1UgTsODTyBQT1RTLCBSVU5BUyBFIE1VTknDh8ODTyBBTlRFUyBEQSBIVU5ULiAqKlNFIE7Dg08gVEVSIFZBSSBQUk8gTEFCRUwgIkJhbmNvIioqLiAtLQ0KCQllbHNlaWYgKGxhYmVsTmFtZSA9PSAiQ2hlY2FyUGFyYUh1bnQiKSB0aGVuDQoJCSAgIFdhbGtlci5Db25kaXRpb25hbEdvdG8oKFNlbGYuSXRlbUNvdW50KEhlYWx0aFBvdElEKSA8IFF1YW50aWRhZGVIUCkgb3INCgkJICAgICAgICAgICAgICAgICAgICAgICAgICAoU2VsZi5JdGVtQ291bnQoTWFuYVBvdElEKSA8IFF1YW50aWRhZGVNUCkgb3INCgkJCQkJCQkJICAoU2VsZi5JdGVtQ291bnQoUnVuYUlEKSA8IFF1YW50aWRhZGVSdW5hKSBvcg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChTZWxmLkl0ZW1Db3VudChJRE11bmljYW8pIDwgUXVhbnRpZGFkZU11bmljYW8pLCAiQmFuY28iLCAiQ2FtaW5ob0h1bnQiKQ0KCQkJCQkJCQkgIFRhcmdldGluZy5TdGFydCgpDQoJCQkJCQkJCSAgTG9vdGVyLlN0b3AoKQ0KDQoNCgkJLS0gTEFCRUwgIkNoZWNhckRlbm92byIgQ0hFQ0EgU0UgTyBCT1QgQ09NUFJPVSBPVSBOw4NPIFBPVFMsIFJVTkFTIE9VIE1VTknDh8ODTy4gKipTRSBOw4NPIENPTVBST1UgVkFJIFBSTyBMQUJFTCAiQmFuY28iKiouIC0tIA0KCQllbHNlaWYgKGxhYmVsTmFtZSA9PSAiQ2hlY2FyRGVub3ZvIikgdGhlbg0KCQkgICBXYWxrZXIuQ29uZGl0aW9uYWxHb3RvKChTZWxmLkl0ZW1Db3VudChIZWFsdGhQb3RJRCkgPCBRdWFudGlkYWRlSFApIG9yDQoJCSAgICAgICAgICAgICAgICAgICAgICAgICAgKFNlbGYuSXRlbUNvdW50KE1hbmFQb3RJRCkgPCBRdWFudGlkYWRlTVApIG9yDQoJCQkJCQkJCSAgKFNlbGYuSXRlbUNvdW50KFJ1bmFJRCkgPCBRdWFudGlkYWRlUnVuYSkgb3INCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoU2VsZi5JdGVtQ291bnQoSURNdW5pY2FvKSA8IFF1YW50aWRhZGVNdW5pY2FvKSwgIkJhbmNvIiwgIkNhbWluaG9IdW50IikNCgkJICAgICAgICAgICAgICAJCQkgIFRhcmdldGluZy5TdGFydCgpDQoJCQkJCQkJCSAgTG9vdGVyLlN0b3AoKQ0KDQoNCg0KCQkgLS0gUEVHQVIgQkFSQ08gSURBIC0tDQoJICAgIGVsc2VpZiAobGFiZWxOYW1lID09IE5vbWVEb0xhYmVsSWRhMCkgdGhlbg0KCQlDcmVhdHVyZS5Gb2xsb3coIkNhcHRhaW4gRmVhcmxlc3MiKSAtLSBTw5MgRlVOQ0lPTkFWQSBOTyBHTE9CQUwgRSBUQUxWRVogRlVOQ0lPTkUgRU0gQUxHVU0gT1QsIEVNIFRPRE9TIFEgVEVTVEVJIE4gRlVOQ0lPTk9VOw0KCQlXYWxrZXIuU3RvcCgpDQoJCXByaW50KFtbLi4uUEVHQU5ETyBCQVJDTy4uLl1dKQ0KICAgICAgICBTZWxmLlNheVRvTnBjKCJIaSIpIA0KICAgICAgICB3YWl0ICgzMDAwKSANCiAgICAgICAgU2VsZi5TYXlUb05wYyhEaWFsb2dvSWRhMCkgDQogICAgICAgIHdhaXQgKDMwMDApIA0KICAgICAgICBTZWxmLlNheVRvTnBjKCJZZXMiKQ0KCQl3YWl0ICgzMDAwKQ0KCQlTZWxmLlNheVRvTnBjKCJZZXMiKQ0KCQl3YWl0KDIwMDAsMzAwMCkNCgkJV2Fsa2VyLlN0YXJ0KCkNCgkgIAkgLS0gUEVHQVIgQkFSQ08gVk9MVEEgLS0gICAgIA0KCSAgICBlbHNlaWYgKGxhYmVsTmFtZSA9PSBOb21lRG9MYWJlbFZvbHRhMCkgdGhlbg0KCQlDcmVhdHVyZS5Gb2xsb3coIkNhcHRhaW4gQnJlZXplbGRhIikgLS0gU8OTIEZVTkNJT05BVkEgTk8gR0xPQkFMIEUgVEFMVkVaIEZVTkNJT05FIEVNIEFMR1VNIE9ULCBFTSBUT0RPUyBRIFRFU1RFSSBOIEZVTkNJT05PVTsNCgkJV2Fsa2VyLlN0b3AoKQ0KCQlwcmludChbWy4uLlBFR0FORE8gQkFSQ08uLi5dXSkNCiAgICAgICAgU2VsZi5TYXlUb05wYygiSGkiKSANCiAgICAgICAgd2FpdCAoMzAwMCkgDQogICAgICAgIFNlbGYuU2F5VG9OcGMoRGlhbG9nb1ZvbHRhMCkgDQogICAgICAgIHdhaXQgKDMwMDApIA0KICAgICAgICBTZWxmLlNheVRvTnBjKCJZZXMiKQ0KCQl3YWl0ICgzMDAwKQ0KCQlTZWxmLlNheVRvTnBjKCJZZXMiKQ0KCQl3YWl0KDIwMDAsMzAwMCkNCgkJV2Fsa2VyLlN0YXJ0KCkNCgkJDQoJCQ0KCQllbHNlaWYgKGxhYmVsTmFtZSA9PSAiU3RhcnQiKSB0aGVuDQoJCWlmIChSZXNldGFyQlBzTmFDYXZlID09IGZhbHNlKSB0aGVuDQoJCUNhdmVib3QuU3RhcnQoKQ0KCQlwcmludChbW1Jlc2V0YXJCUHMgZXN0YSBEZXNhdGl2YWRvXV0pDQoJCWVsc2UNCgkJcHJpbnQoW1tSZXNldGFyQlBzIGVzdGEgQXRpdmFkb11dKQ0KCQlTZWxmLkNsb3NlQ29udGFpbmVycygpDQoJCXdhaXQoNTAwLDEwMDApDQoJCVNlbGYuT3Blbk1haW5CYWNrcGFjayhNaW5pemFyQlBzKTpPcGVuQ2hpbGRyZW4oe0l0ZW0uR2V0SUQoTG9vdEJQKSwgTWluaXphckJQc30se0dvbGRCUCwgTWluaXphckJQc30se1BvdHNCUCwgTWluaXphckJQc30se011bmljYW9CUCwgTWluaXphckJQc30se1J1bmFCUCwgTWluaXphckJQc30pDQoJCXdhaXQoNTAwLDEwMDApDQoJCUNhdmVib3QuU3RhcnQoKQ0KCQllbmQNCgkJLS0gREVTQVRJVkEgTyBMT09URVIgU0UgTsODTyBURVIgQ0FQLCBNQVMgU8OTIFFVQU5ETyBTQUkgREEgSFVOVCAtLQ0KICAgICAgICBlbHNlaWYgKGxhYmVsTmFtZSA9PSAiU2FpckRhQ2F2ZSIpIHRoZW4NCgkJICAgaWYgKFNlbGYuQ2FwKCkgPCBDYXBTYWlyKSB0aGVuDQoJCXByaW50KFtbU0VNIENBUCwgREVTQVRJVkFORE8gTE9PVEVSIV1dKQ0KCSAgICBMb290ZXIuU3RvcCgpDQoJCWVuZA0KDQoJDQoJICAgCS0tIEFCUklSIFRPREFTIEFTIEJQcyAtLQ0KCQllbHNlaWYgKGxhYmVsTmFtZSA9PSAiQWJyaXJCUHMiKSB0aGVuDQoJCXByaW50KFtbQUJSSU5ETyBCUHMuLi5dXSkNCgkJaWYgKE1pbml6YXJCUHMgPT0gZmFsc2UpIHRoZW4NCiAgICAgICAgcHJpbnQoW1tNaW5pemFyQlBzIGVzdGEgRGVzYXRpdmFkb11dKQ0KCQllbHNlDQoJCXByaW50KFtbTWluaXphckJQcyBlc3RhIEF0aXZhZG9dXSkNCgkJd2FpdCg1MDAsMTAwMCkNCgkJZW5kDQogICAgICAgIFdhbGtlci5TdG9wKCkNCgkJU2VsZi5DbG9zZUNvbnRhaW5lcnMoKQ0KICAgICAgICBTZWxmLk9wZW5NYWluQmFja3BhY2soTWluaXphckJQcyk6T3BlbkNoaWxkcmVuKHtJdGVtLkdldElEKExvb3RCUCksIE1pbml6YXJCUHN9LHtHb2xkQlAsIE1pbml6YXJCUHN9LHtQb3RzQlAsIE1pbml6YXJCUHN9LHtNdW5pY2FvQlAsIE1pbml6YXJCUHN9LHtSdW5hQlAsIE1pbml6YXJCUHN9KQ0KCQl3YWl0KDUwMCwxMDAwKQ0KCQlXYWxrZXIuU3RhcnQoKQ0KCQlMb290ZXIuU3RvcCgpDQoNCg0KCQktLSBSRVNFVEEgVE9EQVMgQVMgQlBzIEUgQUJSRSBTTyBBUyBCUHMgREUgTE9PVCBQQVJBIERFUE9TSVRBUiBPUyBJVEVNUyBERVBPSVMgREEgSFVOVCAtLQ0KCQllbHNlaWYgKGxhYmVsTmFtZSA9PSAiUmVzZXRhckJQcyIpIHRoZW4NCiAgICAgICAgcHJpbnQoW1tSRVNFVEFORE8gQlBzLCBQQVJBIERFUE9TSVRBUiBUT0RPUyBPUyBJVEVNUyEuLi5dXSkNCgkJV2Fsa2VyLlN0b3AoKQ0KCQlUYXJnZXRpbmcuU3RvcCgpDQoJCUxvb3Rlci5TdG9wKCkNCgkJd2FpdCg1MDAsMTAwMCkNCgkJU2VsZi5DbG9zZUNvbnRhaW5lcnMoKQ0KCQl3YWl0KDUwMCwxMDAwKQ0KCQlTZWxmLk9wZW5NYWluQmFja3BhY2soTWluaXphckJQcyk6T3BlbkNoaWxkcmVuKHtJdGVtLkdldElEKExvb3RCUCksIE1pbml6YXJCUHN9KQ0KCQl3YWl0KDUwMCwxMDAwKQ0KCQlpZiAoU2VsZi5TdGFtaW5hKCkgPCBTdGFtaW5hU2FpciAqIDYwKSB0aGVuIA0KCQkJV2Fsa2VyLlN0b3AoKQ0KCQlwcmludChbW1ZPQ0UgTkFPIFRFTSBTVEFNSU5BISFdXSkNCgkJaWYgKExvZ2FyU2VtU3RhbWluYSA9PSB0cnVlKSB0aGVuIA0KCQkgICAgU2VsZi5Mb2dvdXQoKQ0KICAgICAgICAgICAgQ2F2ZWJvdC5TdG9wKCkNCgkJZW5kCQ0KCQkJZWxzZQ0KCQkJV2Fsa2VyLlN0YXJ0KCkNCgkJcHJpbnQoW1tWT0NFIEFJTkRBIFRFTSBTVEFNSU5BISFdXSkNCgkgICAgZW5kDQoNCgkNCgkJLS0gVkFJIE5PIEJBTkNPIFRJUkFSIE8gVEFOVE8gREUgR09MRCBRVUUgUFJFQ0lTQSBQUkEgQ09NUFJBUiBPUyBQT1RTLCBSVU5BUyBFIE1VTknDh8ODTyBRVUUgRVNUw4EgREVGSU5JRE8gTEEgRU0gQ0lNQSAtLQ0KCQllbHNlaWYgKGxhYmVsTmFtZSA9PSAiQmFuY28iKSB0aGVuDQoJCXByaW50KFtbUkVUSVJBTkRPIERJTkhFSVJPLi5dXSkNCgkJV2Fsa2VyLlN0b3AoKQ0KCQl3YWl0KDgwMCwxNDAwKQ0KCQlTZWxmLlNheVRvTnBjKCJoaSIpDQoJCXdhaXQoODAwLDE0MDApDQoJCVNlbGYuU2F5VG9OcGMoImRlcG9zaXQgYWxsIikNCgkJd2FpdCg4MDAsMTQwMCkNCgkJU2VsZi5TYXlUb05wYygieWVzIikNCgkJd2FpdCgxODAwLDI0MDApDQoJCVNlbGYuV2l0aGRyYXdNb25leSgoUHJlY29NUCooUXVhbnRpZGFkZU1QLVNlbGYuSXRlbUNvdW50KE1hbmFQb3RJRCkpKSs1MCkNCgkJd2FpdCg4MDAsMTQwMCkNCgkJU2VsZi5XaXRoZHJhd01vbmV5KChQcmVjb0hQKihRdWFudGlkYWRlSFAtU2VsZi5JdGVtQ291bnQoSGVhbHRoUG90SUQpKSkrNTApDQoJCXdhaXQoODAwLDE0MDApDQoJCVNlbGYuV2l0aGRyYXdNb25leSgoUHJlY29SdW5hKihRdWFudGlkYWRlUnVuYS1TZWxmLkl0ZW1Db3VudChSdW5hSUQpKSkrNTApDQoJCXdhaXQoODAwLDE0MDApDQoJCVNlbGYuV2l0aGRyYXdNb25leSgoUHJlY29NdW5pY2FvKihRdWFudGlkYWRlTXVuaWNhby1TZWxmLkl0ZW1Db3VudChJRE11bmljYW8pKSkrNTApDQoJCXdhaXQoODAwLDE0MDApDQogICAgICAgIFNlbGYuU2F5VG9OcGMoImJhbGFuY2UiKQ0KCQlXYWxrZXIuU3RhcnQoKQ0KDQoJCS0tIENPTVBSQSBBUyBSVU5BcyBRVUUgRVNUQSBERUZJTklETyBMQSBFTSBDSU1BIC0tDQoJICAgIGVsc2VpZiAobGFiZWxOYW1lID09ICJDb21wcmFyUnVuYXMiKSB0aGVuDQoJICAgIHByaW50KFtbQ09NUFJBTkRPIFJVTkFzLi4uXV0pDQoJCVdhbGtlci5TdG9wKCkNCgkJd2FpdCg4MDAsMTUwMCkNCgkgICAgU2VsZi5TYXlUb05wYyh7IkhpIiwgIlRyYWRlIn0sIDgwKQ0KCSAgICB3YWl0KDgwMCwxNzQwKQ0KCSAgICBTZWxmLlNob3BCdXlJdGVtc1VwVG8oUnVuYUlELCBRdWFudGlkYWRlUnVuYSkNCiAgICAgICAgd2FpdCgyMDAwLDMwMDApDQoJICAgIFdhbGtlci5TdGFydCgpDQoJCUxvb3Rlci5TdG9wKCkNCg0KDQoJCS0tIENPTVBSQSBPUyBQT1RTIFFVRSBFU1RBIERFRklOSURPIExBIEVNIENJTUEgLS0NCgkgICAgZWxzZWlmIChsYWJlbE5hbWUgPT0gIkNvbXByYXJQb3RzIikgdGhlbg0KCSAgICBwcmludChbW0NPTVBSQU5ETyBQT1RzLi4uXV0pDQoJCVdhbGtlci5TdG9wKCkNCgkJd2FpdCg1MDAsMTAwMCkNCgkgICAgU2VsZi5TYXlUb05wYyh7IkhpIiwgIlZpYWwiLCAieWVzIiwgInRyYWRlIn0sIDgwKQ0KCSAgICB3YWl0KDUwMCwxMDAwKQ0KCSAgICBTZWxmLlNob3BCdXlJdGVtc1VwVG8oTWFuYVBvdElELCBRdWFudGlkYWRlTVApDQoJICAgIHdhaXQoNTAwLDEwMDApDQogICAgICAgIFNlbGYuU2hvcEJ1eUl0ZW1zVXBUbyhIZWFsdGhQb3RJRCwgUXVhbnRpZGFkZUhQKQ0KICAgICAgICB3YWl0KDUwMCwxMDAwKQ0KCQlXYWxrZXIuU3RhcnQoKQ0KCQlMb290ZXIuU3RvcCgpDQoNCgkgICAgLS0gQ09NUFJBIE9TIEZMRVhBUyBRVUUgRVNUQSBERUZJTklETyBMQSBFTSBDSU1BIC0tDQoJICAgIGVsc2VpZiAobGFiZWxOYW1lID09ICJDb21wcmFyRmxleGFzIikgdGhlbg0KCSAgICBwcmludChbW0NPTVBSQU5ETyBGTEVYQVMuLl1dKQ0KCQlXYWxrZXIuU3RvcCgpDQogICAgICAgIHdhaXQoNTAwLDEwMDApDQogICAgICAgIFNlbGYuU2F5VG9OcGMoeyJIaSIsICJUcmFkZSJ9LCA4MCkNCiAgICAgICAgd2FpdCg1MDAsMTAwMCkNCgkgICAgU2VsZi5TaG9wQnV5SXRlbXNVcFRvKElETXVuaWNhbywgUXVhbnRpZGFkZU11bmljYW8pDQoJICAgIHdhaXQoNTAwLDEwMDApDQoJICAgIFdhbGtlci5TdGFydCgpDQoNCgllbmQNCiAgICBlbmQNCg0KDQoJZnVuY3Rpb24gU2VsZi5EZXBvc2l0SXRlbXMyKERQQm94LCAuLi4pDQogICAgaWYgKCNhcmcgPiAwKSB0aGVuIHNldEJvdEVuYWJsZWQoZmFsc2UpIGVuZA0KICAgIGxvY2FsIGRlcG9zaXRJbmZvID0ge30NCg0KICAgIGZ1bmN0aW9uIG1ha2VEZXBvc2l0SW5mbyhpbnB1dCkNCiAgICAgICAgbG9jYWwgcmV0ID0ge30NCiAgICAgICAgZm9yIGkgPSAxLCAjaW5wdXQgZG8NCiAgICAgICAgICAgIGxvY2FsIGRhdGEgPSBpbnB1dFtpXQ0KICAgICAgICAgICAgbG9jYWwgc3BvdCA9IDANCiAgICAgICAgICAgIGxvY2FsIGlkID0gMA0KICAgICAgICAgICAgaWYgKHR5cGUoZGF0YSkgPT0gJ3RhYmxlJykgdGhlbg0KICAgICAgICAgICAgICAgIHNwb3QgPSBkYXRhWzJdDQogICAgICAgICAgICAgICAgaWQgPSBJdGVtLkdldEl0ZW1JREZyb21EdWFsSW5wdXQoZGF0YVsxXSkNCiAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICBzcG90ID0gMA0KICAgICAgICAgICAgICAgIGlkID0gSXRlbS5HZXRJdGVtSURGcm9tRHVhbElucHV0KGRhdGEpDQogICAgICAgICAgICBlbmQNCg0KICAgICAgICAgICAgaWYgKG5vdCByZXRbc3BvdF0pIHRoZW4NCiAgICAgICAgICAgICAgICByZXRbc3BvdF0gPSB7fQ0KICAgICAgICAgICAgICAgIHJldFtzcG90XS5yZWFsSW5kZXggPSAtMQ0KICAgICAgICAgICAgICAgIHJldFtzcG90XS5pdGVtcyA9IHt9DQogICAgICAgICAgICBlbmQNCiAgICAgICAgICAgIHRhYmxlLmluc2VydChyZXRbc3BvdF0uaXRlbXMsIGlkKQ0KICAgICAgICBlbmQNCiAgICAgICAgcmV0dXJuIHJldA0KICAgIGVuZA0KDQogICAgaWYgKCNhcmcgPiAwKSB0aGVuDQogICAgICAgIGRlcG9zaXRJbmZvID0gbWFrZURlcG9zaXRJbmZvKGFyZykNCiAgICBlbHNlDQogICAgICAgIGxvY2FsIF9pbnB1dCA9IGdldERlcG9zaXRvckxpc3QoKQ0KICAgICAgICBsb2NhbCBfcmVhbElucHV0ID0ge30NCiAgICAgICAgZm9yIGkgPSAxLCAjX2lucHV0LCAyIGRvDQogICAgICAgICAgICBsb2NhbCB0ZW1wSW5wdXQgPSB7fQ0KICAgICAgICAgICAgdGVtcElucHV0WzFdID0gX2lucHV0W2ldDQogICAgICAgICAgICB0ZW1wSW5wdXRbMl0gPSBfaW5wdXRbaSsxXQ0KICAgICAgICAgICAgdGFibGUuaW5zZXJ0KF9yZWFsSW5wdXQsIHRlbXBJbnB1dCkNCiAgICAgICAgZW5kDQogICAgICAgIGRlcG9zaXRJbmZvID0gbWFrZURlcG9zaXRJbmZvKF9yZWFsSW5wdXQpDQogICAgZW5kDQoNCg0KICAgIGxvY2FsIGluZGV4ZXMgPSBDb250YWluZXIuR2V0QWxsKCkgLS0gbGlzdCBvZiBjb250YWluZXJzIG9wZW4gYmVmb3JlIHdlIHN0YXJ0IGRlcG9zaXRpbmcNCiAgICBsb2NhbCBkZXBvdCA9IFNlbGYuT3BlbkRlcG90KCkNCiAgICBsb2NhbCBiYWRJbmRleGVzID0gI2luZGV4ZXMgPT0gMA0KICAgIGlmIChiYWRJbmRleGVzIG9yIG5vdCBkZXBvdCkgdGhlbg0KICAgICAgICBpZiAoYmFkSW5kZXhlcykgdGhlbg0KICAgICAgICAgICAgcHJpbnQoIlhlbm9Cb3Q6IFVuYWJsZSB0byBmaW5kIG9wZW4gYmFja3BhY2tzIHRvIGRlcG9zaXQgZnJvbS4iKQ0KICAgICAgICBlbHNlDQogICAgICAgICAgICBwcmludCgiWGVub0JvdDogRGVwb3NpdG9yIGZhaWxlZCB0byBvcGVuIGRlcG90LiIpDQogICAgICAgIGVuZA0KICAgICAgICBpZiAoI2FyZyA+IDApIHRoZW4gc2V0Qm90RW5hYmxlZCh0cnVlKSBlbmQNCiAgICAgICAgcmV0dXJuIGZhbHNlDQogICAgZW5kDQoNCiAgICBkZXBvdDpNaW5pbWl6ZSgpDQoNCiAgICBmb3IgaSA9IDAsIGRlcG90Okl0ZW1Db3VudCgpLTEgZG8NCiAgICAgICAgaWYgKGRlcG90OkdldEl0ZW1EYXRhKGkpLmlkID09IDIyNzk2ICsgRFBCb3gpIHRoZW4NCiAgICAgICAgICAgIGRlcG90OlVzZUl0ZW0oaSwgdHJ1ZSkgd2FpdChTZWxmLlBpbmcoKSAqIDIsIFNlbGYuUGluZygpICogMykNCiAgICAgICAgZW5kDQogICAgZW5kDQoNCiAgICBmb3Igc3BvdCwgZGF0YSBpbiBwYWlycyhkZXBvc2l0SW5mbykgZG8gLS0gbG9vcCB0byBvcGVuIGFsbCB0aGUgbmVlZGVkIGJhY2twYWNrcw0KICAgICAgICBsb2NhbCBjdXJyZW50U3BvdCA9IDANCiAgICAgICAgZm9yIGkgPSAwLCBkZXBvdDpJdGVtQ291bnQoKSAtIDEgZG8gLS0gc2VhcmNoIGFsbCBpdGVtcyBpbiB0aGUgZGVwb3QNCiAgICAgICAgICAgIGlmIChJdGVtLmlzQ29udGFpbmVyKGRlcG90OkdldEl0ZW1EYXRhKGkpLmlkKSkgdGhlbiAtLSBvbmx5IGNvbnNpZGVyIGNvbnRhaW5lcnMNCiAgICAgICAgICAgICAgICBpZiAoY3VycmVudFNwb3QgPT0gc3BvdCkgdGhlbiAtLSBzaG91bGQgd2Ugb3BlbiB0aGlzPw0KICAgICAgICAgICAgICAgICAgICBkYXRhLnJlYWxJbmRleCA9IENvbnRhaW5lci5HZXRGcmVlU2xvdCgpDQogICAgICAgICAgICAgICAgICAgIHdoaWxlIChkZXBvdDpVc2VJdGVtKHNwb3QpIH49IDEpIGRvDQogICAgICAgICAgICAgICAgICAgICAgICB3YWl0KDEwMCkNCiAgICAgICAgICAgICAgICAgICAgZW5kDQogICAgICAgICAgICAgICAgICAgIHdhaXQoU2VsZi5QaW5nKCkgKyAzMDApDQogICAgICAgICAgICAgICAgICAgIENvbnRhaW5lci5NaW5pbWl6ZShkYXRhLnJlYWxJbmRleCkNCiAgICAgICAgICAgICAgICBlbmQNCiAgICAgICAgICAgICAgICBjdXJyZW50U3BvdCA9IGN1cnJlbnRTcG90ICsgMSAtLSBpbmNyZW1lbnQNCiAgICAgICAgICAgIGVuZA0KICAgICAgICBlbmQNCiAgICBlbmQNCiAgICBsb2NhbCB0ZW1wRGVwb3NpdEluZm8gPSB7fSAtLSB3YXJuIGFib3V0IGFuZCBnZXQgcmlkIG9mIGFsbCBkZXBvdCBiYWNrcGFja3Mgd2hpY2ggY2FudCBiZSBvcGVuZWQNCiAgICBmb3Igc3BvdCwgZGF0YSBpbiBwYWlycyhkZXBvc2l0SW5mbykgZG8NCiAgICAgICAgaWYgKGRhdGEucmVhbEluZGV4IH49IC0xKSB0aGVuDQogICAgICAgICAgICB0ZW1wRGVwb3NpdEluZm9bc3BvdF0gPSBkYXRhDQogICAgICAgIGVsc2UNCiAgICAgICAgICAgIHByaW50KCJYZW5vQm90OiBEZXBvc2l0b3IgaXMgbWlzc2luZyBhIGNvbnRhaW5lciBpbiBkZXBvdCBzbG90ICMiIC4uIHNwb3QgLi4gIi4gUGxlYXNlIHBsYWNlIGNhc2NhZGluZyBjb250YWluZXJzIGF0IHRoZSByZXF1aXJlZCBzbG90IGluIHlvdXIgZGVwb3QuIikNCiAgICAgICAgZW5kDQogICAgZW5kDQogICAgZGVwb3NpdEluZm8gPSB0ZW1wRGVwb3NpdEluZm8NCiAgICBmdW5jdGlvbiBkZXBvc2l0SXRlbShkZXBvc2l0SW5mbywgY29udEZyb20sIHNwb3QpIC0td2hlbiB0aGlzIHJldHVybnMgdHJ1ZSwgd2Ugc2tpcCB0aGUgaXRlbSBiZWNhdXNlIHdlIGNhbnQgZGVwb3NpdCBpdA0KICAgICAgICBsb2NhbCBjdXJyZW50SXRlbSA9IGNvbnRGcm9tOkdldEl0ZW1EYXRhKHNwb3QpDQogICAgICAgIGZvciBfLCBkYXRhIGluIHBhaXJzKGRlcG9zaXRJbmZvKSBkbyAtLSBsb29wIHRocm91Z2ggYWxsIG9mIG91ciBkZXBvc2l0IGl0ZW1zDQogICAgICAgICAgICBpZiAodGFibGUuY29udGFpbnMoZGF0YS5pdGVtcywgY3VycmVudEl0ZW0uaWQpKSB0aGVuIC0tIHNob3VsZCB3ZSBkZXBvc2l0IHRoaXMgc3BlY2lmaWMgb25lPyB0cnkNCiAgICAgICAgICAgICAgICBsb2NhbCBkZXBvc2l0QnAgPSBDb250YWluZXIuTmV3KGRhdGEucmVhbEluZGV4KQ0KICAgICAgICAgICAgICAgIGlmIChub3QgZGVwb3NpdEJwOmlzT3BlbigpKSB0aGVuIC0tIGRlc3QgY29udGFpbmVyIG5vdCBvcGVuLCBza2lwIHRoaXMgaXRlbQ0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZQ0KICAgICAgICAgICAgICAgIGVuZA0KICAgICAgICAgICAgICAgIGlmIChkZXBvc2l0QnA6SXRlbUNvdW50KCkgPCBkZXBvc2l0QnA6SXRlbUNhcGFjaXR5KCkpIHRoZW4gLS0gaWYgdGhlIGJhY2twYWNrIGlzbid0IGZ1bGwsIGxldCdzIHVzZSB0aGUgZmluYWwgc2xvdA0KICAgICAgICAgICAgICAgICAgICBjb250RnJvbTpNb3ZlSXRlbVRvQ29udGFpbmVyKHNwb3QsIGRhdGEucmVhbEluZGV4LCBkZXBvc2l0QnA6SXRlbUNhcGFjaXR5KCkgLSAxKQ0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2UNCiAgICAgICAgICAgICAgICBlbHNlaWYgKGRlcG9zaXRCcDpJRCgpID49IDIyNzk3IGFuZCBkZXBvc2l0QnA6SUQoKSA8PSAyMjgxMykgdGhlbg0KICAgICAgICAgICAgICAgICAgICBjb250RnJvbTpNb3ZlSXRlbVRvQ29udGFpbmVyKHNwb3QsIGRhdGEucmVhbEluZGV4LCBtYXRoLnJhbmRvbSgwLCAzKSkNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlDQogICAgICAgICAgICAgICAgZWxzZSAtLSBpdHMgZnVsbCwgbGV0cyBlaXRoZXIgb3BlbiB0aGUgbmV4dCBvbmUgb3IgZmluZCBhIGdvb2Qgc3BvdA0KICAgICAgICAgICAgICAgICAgICBsb2NhbCB0b1Nwb3QgPSAtMSAtLSBmaW5lIHRoZSBiZXN0IHBsYWNlIHRvIHB1dCBpdCBpZiB3ZSBjYW4gc3RpbGwgZml0IGl0DQogICAgICAgICAgICAgICAgICAgIGZvciBzcCA9IDAsIGRlcG9zaXRCcDpJdGVtQ291bnQoKSAtIDEgZG8NCiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsIHNwRGF0YSA9IGRlcG9zaXRCcDpHZXRJdGVtRGF0YShzcCkNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzcERhdGEuaWQgPT0gY3VycmVudEl0ZW0uaWQgYW5kIHNwRGF0YS5jb3VudCB+PSAxMDApIHRoZW4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b1Nwb3QgPSBzcA0KICAgICAgICAgICAgICAgICAgICAgICAgZW5kDQogICAgICAgICAgICAgICAgICAgIGVuZA0KICAgICAgICAgICAgICAgICAgICBpZiAobm90IEl0ZW0uaXNTdGFja2FibGUoY3VycmVudEl0ZW0uaWQpIG9yIHRvU3BvdCA9PSAtMSkgdGhlbiAtLSBubyByb29tIGZvciB0aGlzLCBvcGVuIGEgbmV3IGNvbnRhaW5lcg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5vdCBJdGVtLmlzQ29udGFpbmVyKGRlcG9zaXRCcDpHZXRJdGVtRGF0YShkZXBvc2l0QnA6SXRlbUNhcGFjaXR5KCkgLSAxKS5pZCkpIHRoZW4gLS0gY2FudCBvcGVuIHRoaXMgY29udGFpbmVyLCBjb250aW51ZSB0byB0aGUgbmV4dCBpdGVtDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5vdCBkYXRhLndhcm5lZCkgdGhlbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLndhcm5lZCA9IHRydWUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQoIlhlbm9Cb3Q6IERlcG9zaXRvciBpcyB1bmFibGUgdG8gZmluZCByb29tIGluIGRlcG9zaXQgY29udGFpbmVyICMiIC4uIGRhdGEucmVhbEluZGV4IC4uICIuIikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZQ0KICAgICAgICAgICAgICAgICAgICAgICAgZW5kDQogICAgICAgICAgICAgICAgICAgICAgICBkZXBvc2l0QnA6VXNlSXRlbShkZXBvc2l0QnA6SXRlbUNhcGFjaXR5KCkgLSAxLCB0cnVlKQ0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlDQogICAgICAgICAgICAgICAgICAgIGVsc2UgLS0gdGhlcmUncyBhdCBsZWFzdCBzb21lIHJvb20sIGxldHMgZmlsbCBpdCB1cA0KICAgICAgICAgICAgICAgICAgICAgICAgY29udEZyb206TW92ZUl0ZW1Ub0NvbnRhaW5lcihzcG90LCBkYXRhLnJlYWxJbmRleCwgdG9TcG90KQ0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlDQogICAgICAgICAgICAgICAgICAgIGVuZA0KICAgICAgICAgICAgICAgIGVuZA0KICAgICAgICAgICAgZW5kDQogICAgICAgIGVuZA0KICAgICAgICByZXR1cm4gdHJ1ZQ0KICAgIGVuZA0KICAgIGZ1bmN0aW9uIGRlcG9zaXRJdGVtcyhkZXBvc2l0SW5mbywgaW5kZXhlcykNCiAgICAgICAgbG9jYWwgY29udGFpbmVycyA9IHt9DQogICAgICAgIGZvciBfLCBpbmRleCBpbiBpcGFpcnMoaW5kZXhlcykgZG8gLS0gYWN0dWFsbHkgZGVwb3NpdCBub3cNCiAgICAgICAgICAgIGxvY2FsIGNvbnRhaW5lciA9IENvbnRhaW5lci5OZXcoaW5kZXgpDQogICAgICAgICAgICBpZiAoY29udGFpbmVyOmlzT3BlbigpKSB0aGVuDQogICAgICAgICAgICAgICAgbG9jYWwgY2hlY2tTcG90ID0gMA0KICAgICAgICAgICAgICAgIHdoaWxlIChjaGVja1Nwb3QgPCBjb250YWluZXI6SXRlbUNvdW50KCkpIGRvIC0tIGxvb3AgdW50aWwgbm8gbW9yZSBpdGVtcyB0byBkZXBvc2l0DQogICAgICAgICAgICAgICAgICAgIGlmIChkZXBvc2l0SXRlbShkZXBvc2l0SW5mbywgY29udGFpbmVyLCBjaGVja1Nwb3QpKSB0aGVuDQogICAgICAgICAgICAgICAgICAgICAgICBjaGVja1Nwb3QgPSBjaGVja1Nwb3QgKyAxIC0tIGlmIHdlIGNhbnQgZGVwb3NpdCB0aGlzLCBza2lwIGl0DQogICAgICAgICAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb250YWluZXJzW2luZGV4XSA9PSBuaWwpIHRoZW4gY29udGFpbmVyc1tpbmRleF0gPSAwIGVuZA0KICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyc1tpbmRleF0gPSBjb250YWluZXJzW2luZGV4XSArIDENCiAgICAgICAgICAgICAgICAgICAgICAgIHdhaXQoMzAwLCA3MDApDQogICAgICAgICAgICAgICAgICAgIGVuZA0KICAgICAgICAgICAgICAgIGVuZA0KICAgICAgICAgICAgZW5kDQogICAgICAgIGVuZA0KICAgICAgICByZXR1cm4gY29udGFpbmVycw0KICAgIGVuZA0KICAgIC0tIGRlcG9zaXQgaXRlbXMsIGNhc2NhZGluZyBpbnRvIG5ldyBiYWNrcGFja3MNCiAgICBsb2NhbCBjYXNjYWRlZEJwcyA9IHt9DQogICAgd2hpbGUgKHRydWUpIGRvDQogICAgICAgIGxvY2FsIGNhc2NhZGVzID0gZGVwb3NpdEl0ZW1zKGRlcG9zaXRJbmZvLCBpbmRleGVzKQ0KICAgICAgICB3YWl0KFNlbGYuUGluZygpICsgMjAwKQ0KDQogICAgICAgIGxvY2FsIG9wZW5lZCA9IGZhbHNlDQogICAgICAgIGZvciBpbmRleCwgY291bnQgaW4gcGFpcnMoY2FzY2FkZXMpIGRvDQogICAgICAgICAgICBpZiAoY291bnQgPiAwKSB0aGVuDQogICAgICAgICAgICAgICAgbG9jYWwgY29udCA9IENvbnRhaW5lci5OZXcoaW5kZXgpDQogICAgICAgICAgICAgICAgbG9jYWwgbGFzdEl0ZW0gPSBjb250OkdldEl0ZW1EYXRhKGNvbnQ6SXRlbUNvdW50KCkgLSAxKQ0KICAgICAgICAgICAgICAgIGlmIChJdGVtLmlzQ29udGFpbmVyKGxhc3RJdGVtLmlkKSkgdGhlbg0KICAgICAgICAgICAgICAgICAgICBpZiAoY2FzY2FkZWRCcHNbaW5kZXhdID09IG5pbCkgdGhlbiBjYXNjYWRlZEJwc1tpbmRleF0gPSAwIGVuZA0KICAgICAgICAgICAgICAgICAgICByZXBlYXQNCiAgICAgICAgICAgICAgICAgICAgICAgIHdhaXQoU2VsZi5QaW5nKCkgKyA3MDApDQogICAgICAgICAgICAgICAgICAgIHVudGlsIChjb250OlVzZUl0ZW0oY29udDpJdGVtQ291bnQoKSAtIDEsIHRydWUpIH49IDApDQogICAgICAgICAgICAgICAgICAgIHdhaXQoU2VsZi5QaW5nKCkgKyA3MDApDQogICAgICAgICAgICAgICAgICAgIGNhc2NhZGVkQnBzW2luZGV4XSA9IGNhc2NhZGVkQnBzW2luZGV4XSArIDENCiAgICAgICAgICAgICAgICAgICAgb3BlbmVkID0gdHJ1ZQ0KICAgICAgICAgICAgICAgIGVuZA0KICAgICAgICAgICAgZW5kDQogICAgICAgIGVuZA0KDQogICAgICAgIGlmIChvcGVuZWQgPT0gZmFsc2UpIHRoZW4gYnJlYWsgZW5kDQogICAgZW5kDQogICAgLS0gZ28gYmFjayB0byBwYXJlbnQgYmFja3BhY2tzDQogICAgZm9yIGluZGV4LCB0aW1lcyBpbiBwYWlycyhjYXNjYWRlZEJwcykgZG8NCiAgICAgICAgZm9yIGkgPSAxLCB0aW1lcyBkbw0KICAgICAgICAgICAgQ29udGFpbmVyLkdvQmFjayhpbmRleCkNCiAgICAgICAgICAgIHdhaXQoMzAwLCA3MDApDQogICAgICAgIGVuZA0KICAgIGVuZA0KICAgIHdhaXQoODAwLCAxMzAwKQ0KICAgIC0tIGNsb3NlIGV2ZXJ5dGhpbmcNCiAgICBkZXBvdDpDbG9zZSgpDQogICAgd2FpdCgzMDAsIDYwMCkNCiAgICBmb3Igc3BvdCwgZGF0YSBpbiBwYWlycyhkZXBvc2l0SW5mbykgZG8NCiAgICAgICAgQ29udGFpbmVyLk5ldyhkYXRhLnJlYWxJbmRleCk6Q2xvc2UoKQ0KICAgICAgICB3YWl0KDIwMCwgNDAwKQ0KICAgIGVuZA0KICAgIHdhaXQoMTUwMCkNCiAgICBkZWxheVdhbGtlcigyNTAwKQ0KICAgIGlmICgjYXJnID4gMCkgdGhlbiBzZXRCb3RFbmFibGVkKHRydWUpIGVuZA0KICAgIHJldHVybiB0cnVlDQplbmQNCg0KDQo=]]></script>
  299. <script name="Dropar Vials.lua"><![CDATA[ZnVuY3Rpb24gZHJvcEl0ZW0oaWQpIApsb2NhbCBjb250ID0gQ29udGFpbmVyLkdldEZpcnN0KCkKIAp3aGlsZSAoY29udDppc09wZW4oKSkgZG8KICAgIGZvciBzcG90ID0gMCwgY29udDpJdGVtQ291bnQoKSBkbwogICAgICAgICAgICBsb2NhbCBpdGVtID0gY29udDpHZXRJdGVtRGF0YShzcG90KSAKICAgIGlmIChpdGVtLmlkID09IGlkKSB0aGVuCiAgICAgICAgICAgIGNvbnQ6TW92ZUl0ZW1Ub0dyb3VuZChzcG90LCBTZWxmLlBvc2l0aW9uKCkueCwgU2VsZi5Qb3NpdGlvbigpLnksIFNlbGYuUG9zaXRpb24oKS56KSAKICAgICAgICByZXR1cm4gdHJ1ZQogICAgZW5kCmVuZAogCmNvbnQgPSBjb250OkdldE5leHQoKSAKZW5kCiAKcmV0dXJuIGZhbHNlCmVuZAogCiAKd2hpbGUodHJ1ZSkgZG8KICAgIGxvY2FsIGMgPSBDb250YWluZXIuR2V0QnlOYW1lKCJCYWNrcGFjayBvZiBob2xkaW5nIikKICAgIGxvY2FsIHZpYWxzID0gMQogICAgIAogICBpZihjOkNvdW50SXRlbXNPZklEKDI4NSkgPj0gdmlhbHMpIHRoZW4KICAgICAgZHJvcEl0ZW0oMjg1KQplbmQKICAgd2FpdCg3MDAsMTIwMCkKZW5kCg==]]></script>
  300. <script name="ChangeGold.lua"><![CDATA[ZnVuY3Rpb24gdXNlQ29pbnMoaWQpICANCg0KICAgIGxvY2FsIGNvbnQgPSBDb250YWluZXIuR2V0Rmlyc3QoKSAgDQoNCg0KDQogICAgd2hpbGUgKGNvbnQ6aXNPcGVuKCkpIGRvICANCg0KICAgICAgICBmb3Igc3BvdCA9IDAsIGNvbnQ6SXRlbUNvdW50KCkgZG8gIA0KDQogICAgICAgICAgICBsb2NhbCBpdGVtID0gY29udDpHZXRJdGVtRGF0YShzcG90KSAgDQoNCiAgICAgICAgICAgIGlmIChpdGVtLmlkID09IGlkKSB0aGVuICANCg0KICAgICAgICAgICAgICAgIGlmIChpdGVtLmNvdW50ID09IDEwMCkgdGhlbg0KDQogICAgICAgICAgICAgICAgICAgIGNvbnQ6VXNlSXRlbShzcG90LCBUcnVlKQ0KDQogICAgICAgICAgICAgICAgICAgIHNsZWVwKDEwMCkNCg0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZQ0KDQogICAgICAgICAgICAgICAgZW5kDQoNCiAgICAgICAgICAgIGVuZCAgDQoNCiAgICAgICAgZW5kICANCg0KDQoNCiAgICAgICAgY29udCA9IGNvbnQ6R2V0TmV4dCgpICANCg0KICAgIGVuZCAgDQoNCiAgICAgDQoNCiAgICByZXR1cm4gZmFsc2UgIA0KDQplbmQgIA0KDQoNCg0KTW9kdWxlLk5ldygnY2hhbmdlZGVoc2hpZXQnLCBmdW5jdGlvbihtb2QpDQoNCiAgICB1c2VDb2lucygzMDMxKQ0KDQogICAgd2FpdCg1MDApDQoNCiAgICB1c2VDb2lucygzMDM1KQ0KDQogICAgbW9kOkRlbGF5KDEwMDApDQoNCmVuZCkNCg==]]></script>
  301. </control>
  302. </panel>
  303. <panel name="Advertising">
  304. <control name="watchSellingWords" value="item, item2"/>
  305. <control name="watchSellingEnable" value="0"/>
  306. <control name="watchBuyingWords" value="item, item2"/>
  307. <control name="watchBuyingEnable" value="0"/>
  308. <control name="blockLinksEnable" value="0"/>
  309. <control name="reduceSpamEnable" value="0"/>
  310. </panel>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement