Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <panel name="Spell Shooter">
- <control name="shooterList">
- <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"/>
- <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"/>
- <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"/>
- </control>
- </panel>
- <panel name="Dynamic Lure">
- <control name="LureList">
- </control>
- <control name="AttackWhileLuring" value="1"/>
- </panel>
- <panel name="Self Healer">
- <control name="SpellList">
- <item spell="exura vita" mana="200" vcomp="0" vsign="1" vrandom="0" vvalue="50" enabled="1"/>
- <item spell="exura gran" mana="100" vcomp="0" vsign="1" vrandom="0" vvalue="70" enabled="1"/>
- <item spell="exura" mana="50" vcomp="0" vsign="0" vrandom="0" vvalue="90" enabled="1"/>
- <item spell="utana vid" mana="0" vcomp="1" vsign="3" vrandom="0" vvalue="98" enabled="1"/>
- </control>
- <control name="ItemList">
- <item id="238" vcomp="0" vsign="3" vrandom="0" vvalue="50" enabled="1"/>
- </control>
- </panel>
- <panel name="Support">
- <control name="HiHealSpell" value="Exura"/>
- <control name="HiHealHealth" value="90"/>
- <control name="HiHealRange" value="5"/>
- <control name="HiHealMana" value="20"/>
- <control name="HiHealEnable" value="0"/>
- <control name="LoHealSpell" value="Exura Gran"/>
- <control name="LoHealHealth" value="55"/>
- <control name="LoHealPerc" value="5"/>
- <control name="LoHealMana" value="70"/>
- <control name="LoHealEnable" value="0"/>
- <control name="PotHealID" value="266"/>
- <control name="PotHealHealth" value="50"/>
- <control name="PotHealRange" value="5"/>
- <control name="PotHealEnable" value="0"/>
- <control name="ManaRestoreID" value="268"/>
- <control name="ManaRestoreMana" value="50"/>
- <control name="ManaRestoreEnable" value="0"/>
- </panel>
- <panel name="Frag Helper">
- <control name="HoldTarg" value="0"/>
- <control name="ComboEnable" value="0"/>
- </panel>
- <panel name="Tools">
- <control name="EnableAntiIdle" value="1"/>
- <control name="EnableEatFood" value="1"/>
- <control name="EnableReconnect" value="1"/>
- <control name="LightEnable" value="0"/>
- <control name="XRayEnable" value="0"/>
- <control name="ShowLookIDs" value="0"/>
- <control name="ShowManaBar" value="0"/>
- <control name="ShowBPInfo" value="0"/>
- <control name="EnableAdvancedInfo" value="0"/>
- </panel>
- <panel name="Visuals">
- <control name="LightEnable" value="1"/>
- <control name="XRayEnable" value="0"/>
- <control name="ShowLookIDs" value="1"/>
- <control name="ShowManaBar" value="0"/>
- <control name="ShowBPInfo" value="0"/>
- <control name="EnableSmallBPs" value="1"/>
- <control name="EnableAdvancedInfo" value="0"/>
- <control name="ShowCleanWalls" value="0"/>
- <control name="ShowDiagnostics" value="0"/>
- </panel>
- <panel name="Get Scripts">
- </panel>
- <panel name="Combo Options">
- <control name="ComboSayLeader" value=""/>
- <control name="ComboSayPhrase" value=""/>
- <control name="ComboSayEnable" value="0"/>
- <control name="ComboShotLeader" value=""/>
- <control name="ComboShotType" value="0"/>
- <control name="ComboShotEnable" value="0"/>
- <control name="ComboExivaLeader" value=""/>
- <control name="ComboExivaEnable" value="0"/>
- <control name="ComboParaWatch" value="0"/>
- <control name="ComboParaEnable" value="0"/>
- <control name="ComboPartyWatch" value="0"/>
- <control name="ComboPartyEnable" value="0"/>
- <control name="ComboAttackSpell" value="Exevo Gran Mas Frigo"/>
- <control name="ComboAttackSpellEnable" value="0"/>
- <control name="ComboAttackRuneID" value="3155"/>
- <control name="ComboAttackRuneEnable" value="0"/>
- <control name="ComboFocusType" value="0"/>
- </panel>
- <panel name="HUD">
- <control name="HUDItemList">
- <item textColor="9" x="5" y="5" pos="4" checked="0"/>
- <item textColor="8" x="5" y="5" pos="6" checked="0"/>
- <item textColor="7" x="5" y="5" pos="13" checked="1"/>
- <item textColor="6" x="5" y="5" pos="8" checked="0"/>
- <item textColor="4" x="5" y="5" pos="10" checked="0"/>
- <item textColor="13" x="5" y="5" pos="0" checked="1"/>
- <item textColor="13" x="5" y="5" pos="12" checked="1"/>
- <item textColor="0" x="0" y="0" pos="0" checked="1"/>
- </control>
- <control name="HPPercOnClick" value="0"/>
- <control name="MPPercOnClick" value="0"/>
- <control name="MPPercClickEnable" value="0"/>
- <control name="MPPercClickEnable" value="0"/>
- </panel>
- <panel name="Recent Loot">
- <control name="LootMonsterList">
- </control>
- <control name="DisplaySelectLoot" value="0"/>
- <control name="HideNothingLoot" value="0"/>
- </panel>
- <panel name="Spell Timers">
- <control name="HUDSpellTimersList">
- <item textColor="9" x="5" y="5" pos="4" checked="1"/>
- <item textColor="8" x="5" y="5" pos="6" checked="1"/>
- <item textColor="7" x="5" y="5" pos="13" checked="1"/>
- <item textColor="6" x="5" y="5" pos="8" checked="1"/>
- <item textColor="4" x="5" y="5" pos="10" checked="1"/>
- <item textColor="13" x="5" y="5" pos="0" checked="1"/>
- <item textColor="13" x="5" y="5" pos="12" checked="1"/>
- </control>
- </panel>
- <panel name="Kill Counters">
- <control name="KillCounterBox">
- </control>
- <control name="DisplaySelectCounters" value="0"/>
- <control name="DisplayCountRatios" value="0"/>
- </panel>
- <panel name="Battle Information">
- <control name="ShowTakenDamage" value="1"/>
- <control name="ShowTakenAvgDamage" value="1"/>
- <control name="ShowTakenBurstDamage" value="1"/>
- <control name="ShowDealtDamage" value="1"/>
- <control name="ShowTarget" value="1"/>
- <control name="ShowFollow" value="1"/>
- <control name="ShowExiva" value="1"/>
- </panel>
- <panel name="Experience Information">
- <control name="ShowHourlyExp" value="1"/>
- <control name="ShowExpTogo" value="1"/>
- <control name="ShowTimeLeft" value="1"/>
- </panel>
- <panel name="Condition Manager">
- <control name="PoisonCureLimit" value="6"/>
- <control name="PoisonCureMana" value="20"/>
- <control name="PoisonCureEnable" value="0"/>
- <control name="DeathCureLimit" value="10"/>
- <control name="DeathCureMana" value="40"/>
- <control name="DeathCureEnable" value="0"/>
- <control name="PhysicalCureLimit" value="5"/>
- <control name="PhysicalCureMana" value="30"/>
- <control name="PhysicalCureEnable" value="0"/>
- <control name="FireCureLimit" value="20"/>
- <control name="FireCureMana" value="30"/>
- <control name="FireCureEnable" value="0"/>
- <control name="EnergyCureLimit" value="15"/>
- <control name="EnergyCureMana" value="30"/>
- <control name="EnergyCureEnable" value="0"/>
- <control name="ParaCureEnable" value="1"/>
- <control name="ParaCureMana" value="50"/>
- <control name="ParaCureSpell" value="Utani gran Hur"/>
- <control name="HasteCastMana" value="50"/>
- <control name="HasteCastSpell" value="Utani gran Hur"/>
- <control name="HasteCastEnable" value="1"/>
- <control name="InvisibleCastMana" value="50"/>
- <control name="InvisibleCastEnable" value="0"/>
- <control name="ShieldCastMana" value="50"/>
- <control name="ShieldCastEnable" value="0"/>
- <control name="RecoveryCastEnable" value="0"/>
- <control name="RecoveryCastType" value="0"/>
- <control name="RecoveryCastMana" value="75"/>
- <control name="RecoveryCheckPzEnable" value="1"/>
- </panel>
- <panel name="Equipment Manager">
- <control name="AmmoRefillID" value="3450"/>
- <control name="AmmoRefillEnable" value="0"/>
- <control name="WeaponRefillID" value="7368"/>
- <control name="WeaponRefillEnable" value="0"/>
- </panel>
- <panel name="Targeting">
- <control name="TargetingList" antiks="0">
- <item type="dragon lord" chs="1" max="100" min="0" prio="6" prox="7" count="1" elastic="0"/>
- <item type="dragon lord" chs="10" max="100" min="0" prio="6" prox="7" count="3" elastic="0"/>
- <item type="dragon lord" chs="12" max="100" min="0" prio="6" prox="7" count="5" elastic="0"/>
- <item type="All Creatures" chs="0" max="100" min="0" prio="10" prox="7" count="1" elastic="0"/>
- </control>
- </panel>
- <panel name="Walker">
- <control name="WaypointList">
- <item text="Stand (33214, 32454, 7)" tag="1"/>
- <item text="AbrirBPs:" tag="255"/>
- <item text="Stand (33214, 32449, 7)" tag="1"/>
- <item text="ChecarParaHunt:" tag="255"/>
- <item text="Self.OpenDoor(33230, 32412, 7)" tag="254"/>
- <item text="Stand (33230, 32407, 7)" tag="1"/>
- <item text="Self.OpenDoor(33230, 32406, 7)" tag="254"/>
- <item text="Stand (33225, 32398, 7)" tag="1"/>
- <item text="Self.OpenDoor(32224, 32398, 7)" tag="254"/>
- <item text="Stand (33221, 32399, 7)" tag="1"/>
- <item text="Self.OpenDoor(33221, 32400, 7)" tag="254"/>
- <item text="Stand (33221, 32403, 7)" tag="1"/>
- <item text="ComprarPots:" tag="255"/>
- <item text="Stand (33221, 32403, 7)" tag="1"/>
- <item text="Stand (33222, 32395, 7)" tag="1"/>
- <item text="ChecarDenovo:" tag="255"/>
- <item text="Stand (33221, 32403, 7)" tag="1"/>
- <item text="ComprarRunas:" tag="255"/>
- <item text="Stand (33221, 32403, 7)" tag="1"/>
- <item text="Stand (33222, 32395, 7)" tag="1"/>
- <item text="ChecarDenovo:" tag="255"/>
- <item text="Stand (33222, 32395, 7)" tag="1"/>
- <item text="CaminhoHunt:" tag="255"/>
- <item text="Node (33249, 32336, 7)" tag="0"/>
- <item text="Node (33265, 32280, 7)" tag="0"/>
- <item text="Stand (33265, 32279, 7)" tag="1"/>
- <item text="Self.OpenDoor(33265,32278,7)" tag="254"/>
- <item text="Node (33265, 32277, 7)" tag="0"/>
- <item text="Stand (33265, 32276, 7)" tag="1"/>
- <item text="Stand (33263, 32275, 8)" tag="1"/>
- <item text="Stand (33259, 32275, 9)" tag="1"/>
- <item text="Stand (33263, 32303, 10)" tag="1"/>
- <item text="Start:" tag="255"/>
- <item text="Stand (33263, 32303, 10)" tag="1"/>
- <item text="Stand (33264, 32301, 10)" tag="1"/>
- <item text="Node (33268, 32276, 11)" tag="0"/>
- <item text="Node (33239, 32234, 11)" tag="0"/>
- <item text="Node (33196, 32279, 11)" tag="0"/>
- <item text="Node (33240, 32307, 11)" tag="0"/>
- <item text="Stand (33264, 32301, 11)" tag="1"/>
- <item text="Stand (33263, 32303, 10)" tag="1"/>
- <item text="ChecarTudo:" tag="255"/>
- <item text="Stand (33263, 32303, 10)" tag="1"/>
- <item text="SairDaCave:" tag="255"/>
- <item text="Stand (33259, 32275, 10)" tag="1"/>
- <item text="Stand (33263, 32275, 9)" tag="1"/>
- <item text="Stand (33265, 32276, 8)" tag="1"/>
- <item text="Self.OpenDoor(33265,32278,7)" tag="254"/>
- <item text="Node (33248, 32338, 7)" tag="0"/>
- <item text="Node (33217, 32398, 7)" tag="0"/>
- <item text="Stand (33217, 32403, 7)" tag="1"/>
- <item text="Stand (33212, 32453, 7)" tag="1"/>
- <item text="Stand (33215, 32453, 6)" tag="1"/>
- <item text="Stand (33212, 32453, 5)" tag="1"/>
- <item text="Stand (33215, 32453, 4)" tag="1"/>
- <item text="Stand (33212, 32452, 3)" tag="1"/>
- <item text="Stand (33216, 32451, 2)" tag="1"/>
- </control>
- </panel>
- <panel name="Walker Options">
- <control name="ropeOption" value="0"/>
- <control name="shovelOption" value="0"/>
- </panel>
- <panel name="Looter">
- <control name="LootList" mode="0" minimum="0" maximum="1000" skinner="1" unlisted="1">
- <item ID="3386" action="16" deposit="0"/>
- <item ID="3392" action="16" deposit="0"/>
- <item ID="3428" action="16" deposit="0"/>
- <item ID="5882" action="0" deposit="0"/>
- <item ID="3280" action="16" deposit="0"/>
- <item ID="5948" action="0" deposit="0"/>
- <item ID="7402" action="16" deposit="0"/>
- <item ID="3725" action="0" deposit="0"/>
- </control>
- </panel>
- <panel name="Pathfinder">
- <control name="walkOnFireEnable" value="1"/>
- <control name="walkOnFurnitureEnable" value="0"/>
- <control name="walkOnMaroonGround" value="0"/>
- <control name="pathThroughRangedCreatures" value="0"/>
- <control name="walkWithMapclicks" value="0"/>
- </panel>
- <panel name="Mount">
- </panel>
- <panel name="Special Areas">
- <control name="AreaList">
- </control>
- </panel>
- <panel name="Alarms">
- <control name="disAlarm" value="0"/>
- <control name="damAlarm" value="0"/>
- <control name="lhpAlarm" value="0"/>
- <control name="lhpAlarmPercent" value="50"/>
- <control name="pmAlarm" value="0"/>
- <control name="creatureAlarm" value="0"/>
- <control name="attackAlarm" value="0"/>
- <control name="attackAlarmYellow" value="1"/>
- <control name="playerAlarm" value="0"/>
- <control name="playerAlarmLog" value="0"/>
- <control name="stuckAlarm" value="0"/>
- <control name="burstAlarm" value="0"/>
- <control name="burstAlarmPercent" value="500"/>
- <control name="averageAlarm" value="0"/>
- <control name="averageAlarmPercent" value="200"/>
- <control name="alarmPartyIgnore" value="0"/>
- </panel>
- <panel name="Scripter">
- <control name="RunningScriptList">
- <script name="100% AFK DL Darashia.lua"><![CDATA[LS1bWw0KDQoNCiBMYWJlbHM6IA0KLSBBYnJpckJQcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLShETyBMQURPIERPIEJBTkNPKQ0KLSBDaGVjYXJQYXJhSHVudCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLShETyBMQURPIERPIEJBTkNPKQ0KLSBCYW5jbyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLShETyBMQURPIERPIEJBTkNPIFBBUkEgUkVUSVJBUiBPIEdQIFBSQSBQT1RTLCBSVU5BUyBFIEZMRVhBUykNCioqQU5EQVIgQVTDiSBBIExPSkEgREUgUE9Ucy4NCi0gQ29tcHJhclBvdHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLShETyBMQURPIERBIExPSkEgUEFSQSBDT01QUkFSIEFTIFBPVFMpDQoqKkFOREFSIEFUw4kgQSBMT0pBIERFIFJVTkFzLg0KLSBDb21wcmFyUnVuYXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKERPIExBRE8gREEgTE9KQSBQQVJBIENPTVBSQVIgQVMgUlVOQVMpDQoqKkFOREFSIEFUw4kgQSBMT0pBIERFIEZMRVhBcy4gDQotIENvbXByYXJGbGV4YXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0oRE8gTEFETyBEQSBMT0pBIFBBUkEgQ09NUFJBUiBBUyBGTEVYQVMpDQoqKlZPTFRBUiBBVMOJIE8gTEFETyBETyBCQU5DTy4NCi0gQ2hlY2FyRGVub3ZvIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0oRE8gTEFETyBETyBCQU5DTykNCi0gQ2FtaW5ob0h1bnQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0oSVIgQVTDiSBBIEhVTlQpDQoNCi8vTGFiZWxzIGRlbnRybyBkYSBIdW50OlxcDQotIFN0YXJ0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKERFTlRSTyBETyBSRVNQQVdOKQ0KKipBTkRBUiBQT1IgVE9ETyBTTyBSRVNQQVdOLg0KLSBDaGVjYXJUdWRvIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLShERVBPSVMgUVVFIEFOREFSIFBPUiBUT0RBIENBVkUpDQotIFNhaXJEYUNhdmUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKERFQkFJWE8gRE8gTEFCRUwgIkNoZWNhclR1ZG8iKSBFICoqVk9MVEUgUFJPIERQKioNCg0KLy9MYWJlbHMgZGVudHJvIGRvIERQOlxcDQotIFJlc2V0YXJCUHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKElSw4EgQUJSSVIgQVBFTkFTIEEgTUFJTiBCUCBFIEEgQlAgREUgTE9PVCkNCi0gUmVhY2hEZXBvdCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0oRU0gIkFkdmFuY2VkIFdheXBvaW50cy4uLiIgVVNFIEEgT1DDh8ODTyAiRGVwb3NpdCBJdGVtcyIpDQotIERlcG9zaXQgSXRlbXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKEVTQ09MSEVORE8gIkFkdmFuY2VkIFdheXBvaW50cy4uLiIgRSAiRGVwb3NpdCBJdGVtcyIpDQotIEFicmlyQlBzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKFZPTFRBUiBQUk8gSU5JQ0lPLCBETyBMQURPIERPICJCYW5jbyIpDQoNCg0KLy8vIElEcyBFIFBSRcOHTyBEQVMgUE9USU9OUyBcXFwgKipQUkVDT1MgQVRVQUxJWkFET1MqKg0KIA0KMjM2IC0gc3Ryb25nIGhlYWx0aCBwb3Rpb24sIC0tLS0tLS0tLS0tLS0gMTE1IEdQIC0tLS0tLS0gYW50ZXMgZXJhIDEwMCBHUA0KMjM3IC0gc3Ryb25nIG1hbmEgcG90aW9uLCAtLS0tLS0tLS0tLS0tLS0gOTMgR1AgLS0tLS0tLS0gYW50ZXMgZXJhIDgwIEdQDQoyMzggLSBncmVhdCBtYW5hIHBvdGlvbiwgLS0tLS0tLS0tLS0tLS0tLSAxNDQgR1AgLS0tLS0tLSBhbnRlcyBlcmEgMTIwIEdQDQoyMzkgLSBncmVhdCBoZWFsdGggcG90aW9uLCAtLS0tLS0tLS0tLS0tLSAyMjUgR1AgLS0tLS0tLSBhbnRlcyBlcmEgMTkwIEdQDQoyNjYgLSBoZWFsdGggcG90aW9uLCAtLS0tLS0tLS0tLS0tLS0tLS0tLSA1MCBHUCAtLS0tLS0tLSBhbnRlcyBlcmEgNDUgR1ANCjI2OCAtIG1hbmEgcG90aW9uLCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tIDU2IEdQIC0tLS0tLS0tIGFudGVzIGVyYSA1MCBHUA0KNzY0MiAtIGdyZWF0IHNwaXJpdCBwb3Rpb24sIC0tLS0tLS0tLS0tLS0gMjI4IEdQIC0tLS0tLS0gYW50ZXMgZXJhIDE5MCBHUA0KNzY0MyAtIHVsdGltYXRlIGhlYWx0aCBwb3Rpb24sIC0tLS0tLS0tLS0gMzc5IEdQIC0tLS0tLS0gYW50ZXMgZXJhIDMxMCBHUA0KMjMzNzMgLSB1bHRpbWF0ZSBtYW5hIHBvdGlvbiwgLS0tLS0tLS0tLS0gNDM4IEdQDQoyMzM3NCAtIHVsdGltYXRlIHNwaXJpdCBwb3Rpb24sIC0tLS0tLS0tLSA0MzggR1ANCjIzMzc1IC0gc3VwcmVtZSBoZWFsdGggcG90aW9uLCAtLS0tLS0tLS0tIDYyNSBHUA0KDQoNCi8vLyBJRHMgRSBQUkXDh08gREFTIFJVTkFzIFxcXA0KDQozMTU1IC0gc3VkZGVuIGRlYXRoIHJ1bmUsIC0tLS0tLS0tLS0tLS0tLSAxMzUgR1AgLS0gYW50ZXMgZXJhIDEwOCBHUA0KMzE2MCAtIHVsdGltYXRlIGhlYWxpbmcgcnVuZSwgLS0tLS0tLS0tLS0gMTc1IEdQDQozMTYxIC0gYXZhbGFuY2hlIHJ1bmUsIC0tLS0tLS0tLS0tLS0tLS0tLSA1NyBHUCAtLS0gYW50ZXMgZXJhIDQ1IEdQDQozMTkxIC0gZ3JlYXQgZmlyZWJhbGwgcnVuZSwgLS0tLS0tLS0tLS0tLSA1NyBHUCAtLS0gYW50ZXMgZXJhIDQ1IEdQDQozMjAyIC0gdGh1bmRlcnN0b3JtIHJ1bmUsIC0tLS0tLS0tLS0tLS0tLSA0NyBHUCAtLS0gYW50ZXMgZXJhIDM3IEdQDQoNCi8vLyBJRHMgRSBQUkXDh08gREFTIE1VTknDh8OVRVNzIFxcXA0KDQozNDQ3IC0gYXJyb3csIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAzIEdQDQoxNTc5MyAtIGNyeXN0YWxsaW5lIGFycm93LCAtLS0tLS0tLS0tLS0tLSAyMCBHUA0KMjU3NTcgLSBkaWFtb25kIGFycm93LCAtLS0tLS0tLS0tLS0tLS0tLS0gZXhldm8gZ3JhbiBjb24gaHVyDQo3MzY4IC0gYXNzYXNzaW4gc3RhciwgLS0tLS0tLS0tLS0tLS0tLS0tLSAxMDAgR1ANCjM0NDYgLSBib2x0LCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIDQgR1ANCjM0NTAgLSBwb3dlciBib2x0LCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tIDcgR1ANCjY1MjggLSBpbmZlcm5hbCBib2x0LCAtLS0tLS0tLS0tLS0tLS0tLS0tIDEgKlNvdWwgT3JiKiB2b2NlIHBlZ2EgKjMgaW5mZXJuYWwgYm9sdCoNCjE2MTQxIC0gcHJpc21hdGljIGJvbHQsIC0tLS0tLS0tLS0tLS0tLS0tIDIwIEdQDQoyNTc1OCAtIHNwZWN0cmFsIGJvbHQsIC0tLS0tLS0tLS0tLS0tLS0tLSBleGV2byBncmFuIGNvbiB2aXMNCg0KLy8vIFNVTU1PTnMgXFxcICpMRVZFTCAyMDArIFNVTU1PTiBEVVJBIDE1IE1JTioNCg0KU3VtbW9uIEVtYmVyd2luZyAtLS0tLS0gdXRldm8gZ3JhbiByZXMgc2FjICpSUCoNClN1bW1vbiBHcm92ZWJlYXN0IC0tLS0tIHV0ZXZvIGdyYW4gcmVzIGRydSAqRUQqDQpTdW1tb24gU2t1bGxmcm9zdCAtLS0tLSB1dGV2byBncmFuIHJlcyBlcSAqRUsqDQpTdW1tb24gVGh1bmRlcmdpYW50IC0tLSB1dGV2byBncmFuIHJlcyB2ZW4gKk1TKiANCg0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCnwgICAgICAgICAgICAgICAgICAgICB8DQp8IEZJTSBEQVMgSU5GT1JNQcOHw5VFUyB8DQp8ICAgICAgICAgICAgICAgICAgICAgfA0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCi0tXV0NCg0KDQotLVtbDQovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQp8ICAgICAgICAgICAgICAgICAgICAgICAgICB8DQp8IElOSUNJTyBEQVMgQ09ORklHVVJBw4fDlUVTIHwNCnwgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCi0tXV0NCg0KLS0gQ09ORklHVVJBw4fDg08gREFTIEJQcw0KbG9jYWwgTG9vdEJQID0gInNob3BwaW5nIGJhZyINCmxvY2FsIEdvbGRCUCA9ICJ5ZWxsb3cgYmFja3BhY2siDQpsb2NhbCBQb3RzQlAgPSAiYmFja3BhY2siDQpsb2NhbCBNdW5pY2FvQlAgPSAiIg0KbG9jYWwgUnVuYUJQID0gImJlYWNoIGJhY2twYWNrIg0KbG9jYWwgTWluaXphckJQcyA9IHRydWUgLS0gKHRydWUgPSBzaW0gb3UgZmFsc2UgPSBuw6NvKSBNSU5JTUlaQSBBUyBCUHM7ICpBdGl2YXIgYSBmdW7Dp8OjbyAiU21hbGwgQlBzIiBuYSBhYmEgVmlzdWFscyoNCmxvY2FsIFJlc2V0YXJCUHNOYUNhdmUgPSB0cnVlIC0tICh0cnVlID0gc2ltIG91IGZhbHNlID0gbsOjbykgUkVTRVRBUiBBUyBCUHMgU0VNUFJFIFFVRSBERVIgVU1BIFZPTFRBIE5BIEhVTlQ7DQoNCi0tIE1BTkEgUE9USU9OIC0tDQpsb2NhbCBNYW5hUG90SUQgPSAyMzgJLS0gSUQgREFTIE1BTkEgUE9USU9OUzsNCmxvY2FsIFByZWNvTVAgPSAwDQpsb2NhbCBRdWFudGlkYWRlTVAgPSAxMDAgLS0gQ09NUFJBUiBRVUFOVEFTIE1BTkEgUE9USU9OUzsNCmxvY2FsIE1QU2FpciA9IDIwIC0tIERFSVhBUiBIVU5UIENPTSBRVUFOVEFTIE1BTkEgUE9USU9OUzsNCg0KLS0gSEVBTFRIIFBPVElPTiAtLQ0KbG9jYWwgSGVhbHRoUG90SUQgPSAwIC0tIElEIERBUyBIRUFMVEggUE9USU9OUzsNCmxvY2FsIFByZWNvSFAgPSAwDQpsb2NhbCBRdWFudGlkYWRlSFAgPSAwIC0tIENPTVBSQVIgUVVBTlRBUyBIRUFMVEggUE9USU9OUzsNCmxvY2FsIEhQU2FpciA9IDAgLS0gREVJWEFSIEhVTlQgQ09NIFFVQU5UQVMgSEVBTFRIIFBPVElPTlM7DQoNCi0tIE1VTknDh8ODTyAtLQ0KbG9jYWwgSURNdW5pY2FvID0gMCAtLSBJRCBEQSBNVU5Jw4fDg087DQpsb2NhbCBQcmVjb011bmljYW8gPSAwDQpsb2NhbCBRdWFudGlkYWRlTXVuaWNhbyA9IDAgLS0gQ09NUFJBUiBRVUFOVEFTIE1VTknDh8OVRVM7DQpsb2NhbCBNdW5pY2FvU2FpciA9IDAgLS0gREVJWEFSIEhVTlQgQ09NIFFVQU5UQVMgTVVOScOHw5VFUzsNCg0KLS0gUlVOQSAtLQ0KbG9jYWwgUnVuYUlEID0gMzE1NSAtLSBJRCBEQSBSVU5BOw0KbG9jYWwgUHJlY29SdW5hID0gMA0KbG9jYWwgUXVhbnRpZGFkZVJ1bmEgPSAxMjAwIC0tIENPTVBSQVIgUVVBTlRBUyBSVU5BUzsNCmxvY2FsIFF1YW50aWRhZGVSdW5hU2FpciA9IDEwMCAtLSBERUlYQVIgSFVOVCBDT00gUVVBTlRBUyBSVU5BUzsNCg0KLS0gQ0FQIC0tDQpsb2NhbCBDYXBTYWlyID0gNTAgLS0gREVJWEFSIEhVTlQgQ09NIFFVQU5UTyBERSBDQVA7DQoNCi0tIFNUQU1JTkEgLS0NCmxvY2FsIFN0YW1pbmFTYWlyID0gMCAtLSBDT00gUVVBTlRBUyBIT1JBUyBERSBTVEFNSU5BIE8gQ0hBUiBWQUkgUEFSQVI7DQpsb2NhbCBMb2dhclNlbVN0YW1pbmEgPSBmYWxzZSAtLSAodHJ1ZSA9IHNpbSBvdSBmYWxzZSA9IG7Do28pIE8gQ0hBUiBMT0dBIFFVQU5ETyBFU1RJVkVSIFNFTSBTVEFNSU5BOw0KDQotLSBQRUdBTkRPIEJBUkNPIC0tDQpsb2NhbCBOb21lRG9MYWJlbElkYTAgPSAiUGFyYVZlbm9yZSIgLS0gTUFYSU1PIDE0IExFVFJBUzsNCmxvY2FsIERpYWxvZ29JZGEwID0gInZlbm9yZSIgLS0gUEFMQVZSQSBDSEFWRSBQQVJBIFZJQUpFTSBERSBJREE7DQoNCmxvY2FsIE5vbWVEb0xhYmVsVm9sdGEwID0gICJQYXJhRGFyYXNoaWEiIC0tIE1BWElNTyAxNCBMRVRSQVM7DQpsb2NhbCBEaWFsb2dvVm9sdGEwID0gImRhcmFzaGlhIiAtLSBQQUxBVlJBIENIQVZFIFBBUkEgVklBSkVNIERFIFZPTFRBOw0KLS0gUEVHQU5ETyBCQVJDTyAtLQ0KDQoNCi0tW1sNCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCnwgICAgICAgICAgICAgICAgICAgICAgIHwNCnwgRklNIERBUyBDT05GSUdVUkHDh8OVRVMgfA0KfCAgICAgICAgICAgICAgICAgICAgICAgfA0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KTsODTyBFRElUQVIgTkFEQSBERVBPSVMgREVTVEEgTElOSEEsIEVESVRFIFNPTUVOVEUgU0UgVk9DRSBTT1VCRVIgTyBRVUUgRkFaIS4NCi0tXV0NCg0KDQpwcmludChbW1NjcmlwdCBmb2kgSW5pY2lhZG8sIFNpZ2EgYXMgSW5zdHJ1Y29lcyBxdWFscXVlciBEdXZpZGEsIHBlcmd1bnRlIG5vIENhbmFsIGUgQm9hIEh1bnQhIDopXV0pIA0KDQoNCnJlZ2lzdGVyRXZlbnRMaXN0ZW5lcihXQUxLRVJfU0VMRUNUTEFCRUwsICJvbldhbGtlclNlbGVjdExhYmVsIikNCg0KbG9jYWwgY2hhdCA9IENoYW5uZWwuT3BlbigiTHVrekJSIDEwMCUgQUZLIiwgb25TcGVhaywgb25DbG9zZSkNCg0KY2hhdDpTZW5kUmVkTWVzc2FnZSgiT0JTIDEiLCAiISEhIVNjcmlwdCBPcmlnaW5hbCBlIGRvOiBOaXhleiAoZG8gZm9ydW0gZG8gWGVub0JvdCkhISEhIikNCmNoYXQ6U2VuZFJlZE1lc3NhZ2UoIk9CUyAyIiwgIlRyYWR1emlkbyBlIGFkaWNpb25vdSBhbGd1bWFzIEZ1bmNvZXM6IikNCmNoYXQ6U2VuZFJlZE1lc3NhZ2UoIk9CUyAzIiwgIkx1a3ogLSB0aWJpYWtpbmcuY29tIikNCmNoYXQ6U2VuZFJlZE1lc3NhZ2UoIk9CUyA0IiwgIkx1a3pCUiAtIHd3dy5wYW5kb3JpdW14LmNvbSIpDQpjaGF0OlNlbmRSZWRNZXNzYWdlKCJPQlMgNSIsICJ3d3cueW91dHViZS5jb20vdXNlci9Pb09Sb25hbGRvT29PIC0geW91dHViZS5jb20iKQ0KY2hhdDpTZW5kUmVkTWVzc2FnZSgiT0JTIDYiLCAiISEhIU5BTyBVU0UgRVNTRSBBUlFVSVZPLCBGQUNBIFNFTVBSRSBVTUEgQ09QSUEhISEhIikNCmNoYXQ6U2VuZFllbGxvd01lc3NhZ2UoIkFURU5DQU8iLCAiRVNTRSBTQ1JJUFQgQ09NRUNBIFNFTVBSRSBETyBMQURPIERPIEJBTkNPISEhISIpDQpjaGF0OlNlbmRPcmFuZ2VNZXNzYWdlKCJMYWJlbCAxIiwgIkFicmlyQlBzIC0tLS0tLS0tLS0tIERPIExBRE8gRE8gQkFOQ08iKQ0KY2hhdDpTZW5kT3JhbmdlTWVzc2FnZSgiTGFiZWwgMiIsICJDaGVjYXJQYXJhSHVudCAtLS0tLSBETyBMQURPIERPIEJBTkNPIikNCmNoYXQ6U2VuZE9yYW5nZU1lc3NhZ2UoIkxhYmVsIDMiLCAiQmFuY28gLS0tLS0tLS0tLS0tLS0gRE8gTEFETyBETyBCQU5DTyIpDQpjaGF0OlNlbmRPcmFuZ2VNZXNzYWdlKCJBTkRFIEFURSBPIiwgIlNIT1AgU0UgRk9SIENPTVBSQVIgUE9UUy4iKQ0KY2hhdDpTZW5kT3JhbmdlTWVzc2FnZSgiTGFiZWwgNSIsICJDb21wcmFyUG90cyAtLS0tLS0tLSBETyBMQURPIERBIExPSkEgREUgQ09NUFJBUiBQT1RTIikNCmNoYXQ6U2VuZE9yYW5nZU1lc3NhZ2UoIkxhYmVsIDYiLCAiQ2hlY2FyRGVub3ZvIC0tLS0tLS0gRE8gTEFETyBETyBCQU5DTyBPQlM6IFNFIEZPUiBTTyBDT01QUkFSIFBPVFMsIFZPTFRFIEFPIEJBTkNPIEFOVEVTLiIpDQpjaGF0OlNlbmRPcmFuZ2VNZXNzYWdlKCJBTkRFIEFURSBPIiwgIlNIT1AgU0UgRk9SIENPTVBSQVIgUlVOQVMuIikNCmNoYXQ6U2VuZE9yYW5nZU1lc3NhZ2UoIkxhYmVsIDgiLCAiQ29tcHJhclJ1bmFzIC0tLS0tLS0gRE8gTEFETyBEQSBMT0pBIERFIENPTVBSQVIgUlVOQVMiKQ0KY2hhdDpTZW5kT3JhbmdlTWVzc2FnZSgiTGFiZWwgOSIsICJDaGVjYXJEZW5vdm8gLS0tLS0tLSBETyBMQURPIERPIEJBTkNPIE9CUzogU0UgRk9SIFNPIENPTVBSQVIgUlVOQVMsIFZPTFRBUiBBTyBCQU5DTyBBTlRFUy4iKQ0KY2hhdDpTZW5kT3JhbmdlTWVzc2FnZSgiQU5ERSBBVEUgTyIsICJTSE9QIFNFIEZPUiBDT01QUkFSIEZMRVhBUy4iKQ0KY2hhdDpTZW5kT3JhbmdlTWVzc2FnZSgiTGFiZWwgMTEiLCAiQ29tcHJhckZsZXhhcyAtLS0tLSBETyBMQURPIERBIExPSkEgREUgQ09NUFJBUiBGTEVYQVMgUEFSQSBSUCIpDQpjaGF0OlNlbmRPcmFuZ2VNZXNzYWdlKCJMYWJlbCAxMiIsICJDaGVjYXJEZW5vdm8gLS0tLS0tIERPIExBRE8gRE8gQkFOQ08gT0JTOiBTRSBGT1IgU08gQ09NUFJBUiBGTEVYQVMsIFZPTFRBUiBBTyBCQU5DTyBBTlRFUy4iKQ0KY2hhdDpTZW5kT3JhbmdlTWVzc2FnZSgiTGFiZWwgMTMiLCAiQ2FtaW5ob0h1bnQgLS0tLS0tLSBBTkRFIEFUw4kgTyBSRVNQQVdOIERBIEhVTlQiKQ0KY2hhdDpTZW5kT3JhbmdlTWVzc2FnZSgiTGFiZWwgMTQiLCAiU3RhcnQgLS0tLS0tLS0tLS0tLSBERU5UUk8gRE8gUkVTUEFXTiBFIERFUE9JUyBBTkRFIFBPUiBUT0RPIE8gUkVTUEFXTiIpDQpjaGF0OlNlbmRPcmFuZ2VNZXNzYWdlKCJMYWJlbCAxNSIsICJDaGVjYXJUdWRvIC0tLS0tLS0tIERFUE9JUyBRVUUgQU5EQVIgUE9SIFRPRE8gTyBSRVNQQVdOIikNCmNoYXQ6U2VuZE9yYW5nZU1lc3NhZ2UoIkxhYmVsIDE2IiwgIlNhaXJEYUNhdmUgLS0tLS0tLS0gQU5ERSBERVZPTFRBIFBSTyBEUCwgUVVBTkRPIEVTVElWRVIgTk8gRFAiKQ0KY2hhdDpTZW5kT3JhbmdlTWVzc2FnZSgiTGFiZWwgMTciLCAiUmVzZXRhckJQcyAtLS0tLS0tLSBERU5UUk8gRE8gRFAgUC8gREVQT1NJVEFSIE9TIElURU5TIERBIEhVTlQiKQ0KY2hhdDpTZW5kT3JhbmdlTWVzc2FnZSgiTGFiZWwgMTgiLCAiUmVhY2hEZXBvdCAtLS0tLS0tLSBWQSBFTSAnV0FMS0VSJywgJ0FkdmFuY2VkIFdheXBvaW50cy4uLicgRSBVU0UgQSBPUENBTyAnRGVwb3NpdCBJdGVtcycgUEFSQSBERVBPU0lUQVIgVFVETyIpDQpjaGF0OlNlbmRPcmFuZ2VNZXNzYWdlKCJMYWJlbCAxOSIsICJBYnJpckJQcyAtLS0tLS0tLS0tIFJFLUFCUklSIERFUE9JUyBERSBERVBPU0lUQVIgTk8gRFAiKQ0KDQogDQogICAgCQkJDQoNCmZ1bmN0aW9uIG9uV2Fsa2VyU2VsZWN0TGFiZWwobGFiZWxOYW1lKQ0KICAgICAgICAtLSBMQUJFTCAiQ2hlY2FyVHVkbyIgQ0hFQ0EgU0UgVEVNIE9VIE7Dg08gUE9UUywgQ0FQLCBSVU5BUyBFIE1VTknDh8ODTyBEVVJBTlRFIERBIEhVTlQuICoqU0UgTsODTyBURVIgVkFJIFBSTyBMQUJFTCAiU2FpckRhQ2F2ZSIqKi4gLS0NCiAgICAgICAgaWYgKGxhYmVsTmFtZSA9PSAiQ2hlY2FyVHVkbyIpIHRoZW4NCgkJICAgV2Fsa2VyLkNvbmRpdGlvbmFsR290bygoU2VsZi5JdGVtQ291bnQoSGVhbHRoUG90SUQpIDw9IEhQU2Fpcikgb3INCgkJICAgICAgICAgICAgICAgICAgICAgICAgICAoU2VsZi5JdGVtQ291bnQoTWFuYVBvdElEKSA8PSBNUFNhaXIpIG9yDQogCQkJCQkJCQkgIChTZWxmLkNhcCgpIDwgQ2FwU2Fpcikgb3INCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoU2VsZi5JdGVtQ291bnQoUnVuYUlEKSA8PSBRdWFudGlkYWRlUnVuYVNhaXIpIG9yDQoJCQkJCQkJCSAgKFNlbGYuSXRlbUNvdW50KElETXVuaWNhbykgPD0gTXVuaWNhb1NhaXIpLCAiU2FpckRhQ2F2ZSIsICJTdGFydCIpDQoJCQkJCQkJCSAgTG9vdGVyLlN0b3AoKQ0KDQoNCgkJLS0gTEFCRUwgIkNoZWNhclBhcmFIdW50IiBDSEVDQSBTRSBURU0gT1UgTsODTyBQT1RTLCBSVU5BUyBFIE1VTknDh8ODTyBBTlRFUyBEQSBIVU5ULiAqKlNFIE7Dg08gVEVSIFZBSSBQUk8gTEFCRUwgIkJhbmNvIioqLiAtLQ0KCQllbHNlaWYgKGxhYmVsTmFtZSA9PSAiQ2hlY2FyUGFyYUh1bnQiKSB0aGVuDQoJCSAgIFdhbGtlci5Db25kaXRpb25hbEdvdG8oKFNlbGYuSXRlbUNvdW50KEhlYWx0aFBvdElEKSA8IFF1YW50aWRhZGVIUCkgb3INCgkJICAgICAgICAgICAgICAgICAgICAgICAgICAoU2VsZi5JdGVtQ291bnQoTWFuYVBvdElEKSA8IFF1YW50aWRhZGVNUCkgb3INCgkJCQkJCQkJICAoU2VsZi5JdGVtQ291bnQoUnVuYUlEKSA8IFF1YW50aWRhZGVSdW5hKSBvcg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChTZWxmLkl0ZW1Db3VudChJRE11bmljYW8pIDwgUXVhbnRpZGFkZU11bmljYW8pLCAiQmFuY28iLCAiQ2FtaW5ob0h1bnQiKQ0KCQkJCQkJCQkgIFRhcmdldGluZy5TdGFydCgpDQoJCQkJCQkJCSAgTG9vdGVyLlN0b3AoKQ0KDQoNCgkJLS0gTEFCRUwgIkNoZWNhckRlbm92byIgQ0hFQ0EgU0UgTyBCT1QgQ09NUFJPVSBPVSBOw4NPIFBPVFMsIFJVTkFTIE9VIE1VTknDh8ODTy4gKipTRSBOw4NPIENPTVBST1UgVkFJIFBSTyBMQUJFTCAiQmFuY28iKiouIC0tIA0KCQllbHNlaWYgKGxhYmVsTmFtZSA9PSAiQ2hlY2FyRGVub3ZvIikgdGhlbg0KCQkgICBXYWxrZXIuQ29uZGl0aW9uYWxHb3RvKChTZWxmLkl0ZW1Db3VudChIZWFsdGhQb3RJRCkgPCBRdWFudGlkYWRlSFApIG9yDQoJCSAgICAgICAgICAgICAgICAgICAgICAgICAgKFNlbGYuSXRlbUNvdW50KE1hbmFQb3RJRCkgPCBRdWFudGlkYWRlTVApIG9yDQoJCQkJCQkJCSAgKFNlbGYuSXRlbUNvdW50KFJ1bmFJRCkgPCBRdWFudGlkYWRlUnVuYSkgb3INCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoU2VsZi5JdGVtQ291bnQoSURNdW5pY2FvKSA8IFF1YW50aWRhZGVNdW5pY2FvKSwgIkJhbmNvIiwgIkNhbWluaG9IdW50IikNCgkJICAgICAgICAgICAgICAJCQkgIFRhcmdldGluZy5TdGFydCgpDQoJCQkJCQkJCSAgTG9vdGVyLlN0b3AoKQ0KDQoNCg0KCQkgLS0gUEVHQVIgQkFSQ08gSURBIC0tDQoJICAgIGVsc2VpZiAobGFiZWxOYW1lID09IE5vbWVEb0xhYmVsSWRhMCkgdGhlbg0KCQlDcmVhdHVyZS5Gb2xsb3coIkNhcHRhaW4gRmVhcmxlc3MiKSAtLSBTw5MgRlVOQ0lPTkFWQSBOTyBHTE9CQUwgRSBUQUxWRVogRlVOQ0lPTkUgRU0gQUxHVU0gT1QsIEVNIFRPRE9TIFEgVEVTVEVJIE4gRlVOQ0lPTk9VOw0KCQlXYWxrZXIuU3RvcCgpDQoJCXByaW50KFtbLi4uUEVHQU5ETyBCQVJDTy4uLl1dKQ0KICAgICAgICBTZWxmLlNheVRvTnBjKCJIaSIpIA0KICAgICAgICB3YWl0ICgzMDAwKSANCiAgICAgICAgU2VsZi5TYXlUb05wYyhEaWFsb2dvSWRhMCkgDQogICAgICAgIHdhaXQgKDMwMDApIA0KICAgICAgICBTZWxmLlNheVRvTnBjKCJZZXMiKQ0KCQl3YWl0ICgzMDAwKQ0KCQlTZWxmLlNheVRvTnBjKCJZZXMiKQ0KCQl3YWl0KDIwMDAsMzAwMCkNCgkJV2Fsa2VyLlN0YXJ0KCkNCgkgIAkgLS0gUEVHQVIgQkFSQ08gVk9MVEEgLS0gICAgIA0KCSAgICBlbHNlaWYgKGxhYmVsTmFtZSA9PSBOb21lRG9MYWJlbFZvbHRhMCkgdGhlbg0KCQlDcmVhdHVyZS5Gb2xsb3coIkNhcHRhaW4gQnJlZXplbGRhIikgLS0gU8OTIEZVTkNJT05BVkEgTk8gR0xPQkFMIEUgVEFMVkVaIEZVTkNJT05FIEVNIEFMR1VNIE9ULCBFTSBUT0RPUyBRIFRFU1RFSSBOIEZVTkNJT05PVTsNCgkJV2Fsa2VyLlN0b3AoKQ0KCQlwcmludChbWy4uLlBFR0FORE8gQkFSQ08uLi5dXSkNCiAgICAgICAgU2VsZi5TYXlUb05wYygiSGkiKSANCiAgICAgICAgd2FpdCAoMzAwMCkgDQogICAgICAgIFNlbGYuU2F5VG9OcGMoRGlhbG9nb1ZvbHRhMCkgDQogICAgICAgIHdhaXQgKDMwMDApIA0KICAgICAgICBTZWxmLlNheVRvTnBjKCJZZXMiKQ0KCQl3YWl0ICgzMDAwKQ0KCQlTZWxmLlNheVRvTnBjKCJZZXMiKQ0KCQl3YWl0KDIwMDAsMzAwMCkNCgkJV2Fsa2VyLlN0YXJ0KCkNCgkJDQoJCQ0KCQllbHNlaWYgKGxhYmVsTmFtZSA9PSAiU3RhcnQiKSB0aGVuDQoJCWlmIChSZXNldGFyQlBzTmFDYXZlID09IGZhbHNlKSB0aGVuDQoJCUNhdmVib3QuU3RhcnQoKQ0KCQlwcmludChbW1Jlc2V0YXJCUHMgZXN0YSBEZXNhdGl2YWRvXV0pDQoJCWVsc2UNCgkJcHJpbnQoW1tSZXNldGFyQlBzIGVzdGEgQXRpdmFkb11dKQ0KCQlTZWxmLkNsb3NlQ29udGFpbmVycygpDQoJCXdhaXQoNTAwLDEwMDApDQoJCVNlbGYuT3Blbk1haW5CYWNrcGFjayhNaW5pemFyQlBzKTpPcGVuQ2hpbGRyZW4oe0l0ZW0uR2V0SUQoTG9vdEJQKSwgTWluaXphckJQc30se0dvbGRCUCwgTWluaXphckJQc30se1BvdHNCUCwgTWluaXphckJQc30se011bmljYW9CUCwgTWluaXphckJQc30se1J1bmFCUCwgTWluaXphckJQc30pDQoJCXdhaXQoNTAwLDEwMDApDQoJCUNhdmVib3QuU3RhcnQoKQ0KCQllbmQNCgkJLS0gREVTQVRJVkEgTyBMT09URVIgU0UgTsODTyBURVIgQ0FQLCBNQVMgU8OTIFFVQU5ETyBTQUkgREEgSFVOVCAtLQ0KICAgICAgICBlbHNlaWYgKGxhYmVsTmFtZSA9PSAiU2FpckRhQ2F2ZSIpIHRoZW4NCgkJICAgaWYgKFNlbGYuQ2FwKCkgPCBDYXBTYWlyKSB0aGVuDQoJCXByaW50KFtbU0VNIENBUCwgREVTQVRJVkFORE8gTE9PVEVSIV1dKQ0KCSAgICBMb290ZXIuU3RvcCgpDQoJCWVuZA0KDQoJDQoJICAgCS0tIEFCUklSIFRPREFTIEFTIEJQcyAtLQ0KCQllbHNlaWYgKGxhYmVsTmFtZSA9PSAiQWJyaXJCUHMiKSB0aGVuDQoJCXByaW50KFtbQUJSSU5ETyBCUHMuLi5dXSkNCgkJaWYgKE1pbml6YXJCUHMgPT0gZmFsc2UpIHRoZW4NCiAgICAgICAgcHJpbnQoW1tNaW5pemFyQlBzIGVzdGEgRGVzYXRpdmFkb11dKQ0KCQllbHNlDQoJCXByaW50KFtbTWluaXphckJQcyBlc3RhIEF0aXZhZG9dXSkNCgkJd2FpdCg1MDAsMTAwMCkNCgkJZW5kDQogICAgICAgIFdhbGtlci5TdG9wKCkNCgkJU2VsZi5DbG9zZUNvbnRhaW5lcnMoKQ0KICAgICAgICBTZWxmLk9wZW5NYWluQmFja3BhY2soTWluaXphckJQcyk6T3BlbkNoaWxkcmVuKHtJdGVtLkdldElEKExvb3RCUCksIE1pbml6YXJCUHN9LHtHb2xkQlAsIE1pbml6YXJCUHN9LHtQb3RzQlAsIE1pbml6YXJCUHN9LHtNdW5pY2FvQlAsIE1pbml6YXJCUHN9LHtSdW5hQlAsIE1pbml6YXJCUHN9KQ0KCQl3YWl0KDUwMCwxMDAwKQ0KCQlXYWxrZXIuU3RhcnQoKQ0KCQlMb290ZXIuU3RvcCgpDQoNCg0KCQktLSBSRVNFVEEgVE9EQVMgQVMgQlBzIEUgQUJSRSBTTyBBUyBCUHMgREUgTE9PVCBQQVJBIERFUE9TSVRBUiBPUyBJVEVNUyBERVBPSVMgREEgSFVOVCAtLQ0KCQllbHNlaWYgKGxhYmVsTmFtZSA9PSAiUmVzZXRhckJQcyIpIHRoZW4NCiAgICAgICAgcHJpbnQoW1tSRVNFVEFORE8gQlBzLCBQQVJBIERFUE9TSVRBUiBUT0RPUyBPUyBJVEVNUyEuLi5dXSkNCgkJV2Fsa2VyLlN0b3AoKQ0KCQlUYXJnZXRpbmcuU3RvcCgpDQoJCUxvb3Rlci5TdG9wKCkNCgkJd2FpdCg1MDAsMTAwMCkNCgkJU2VsZi5DbG9zZUNvbnRhaW5lcnMoKQ0KCQl3YWl0KDUwMCwxMDAwKQ0KCQlTZWxmLk9wZW5NYWluQmFja3BhY2soTWluaXphckJQcyk6T3BlbkNoaWxkcmVuKHtJdGVtLkdldElEKExvb3RCUCksIE1pbml6YXJCUHN9KQ0KCQl3YWl0KDUwMCwxMDAwKQ0KCQlpZiAoU2VsZi5TdGFtaW5hKCkgPCBTdGFtaW5hU2FpciAqIDYwKSB0aGVuIA0KCQkJV2Fsa2VyLlN0b3AoKQ0KCQlwcmludChbW1ZPQ0UgTkFPIFRFTSBTVEFNSU5BISFdXSkNCgkJaWYgKExvZ2FyU2VtU3RhbWluYSA9PSB0cnVlKSB0aGVuIA0KCQkgICAgU2VsZi5Mb2dvdXQoKQ0KICAgICAgICAgICAgQ2F2ZWJvdC5TdG9wKCkNCgkJZW5kCQ0KCQkJZWxzZQ0KCQkJV2Fsa2VyLlN0YXJ0KCkNCgkJcHJpbnQoW1tWT0NFIEFJTkRBIFRFTSBTVEFNSU5BISFdXSkNCgkgICAgZW5kDQoNCgkNCgkJLS0gVkFJIE5PIEJBTkNPIFRJUkFSIE8gVEFOVE8gREUgR09MRCBRVUUgUFJFQ0lTQSBQUkEgQ09NUFJBUiBPUyBQT1RTLCBSVU5BUyBFIE1VTknDh8ODTyBRVUUgRVNUw4EgREVGSU5JRE8gTEEgRU0gQ0lNQSAtLQ0KCQllbHNlaWYgKGxhYmVsTmFtZSA9PSAiQmFuY28iKSB0aGVuDQoJCXByaW50KFtbUkVUSVJBTkRPIERJTkhFSVJPLi5dXSkNCgkJV2Fsa2VyLlN0b3AoKQ0KCQl3YWl0KDgwMCwxNDAwKQ0KCQlTZWxmLlNheVRvTnBjKCJoaSIpDQoJCXdhaXQoODAwLDE0MDApDQoJCVNlbGYuU2F5VG9OcGMoImRlcG9zaXQgYWxsIikNCgkJd2FpdCg4MDAsMTQwMCkNCgkJU2VsZi5TYXlUb05wYygieWVzIikNCgkJd2FpdCgxODAwLDI0MDApDQoJCVNlbGYuV2l0aGRyYXdNb25leSgoUHJlY29NUCooUXVhbnRpZGFkZU1QLVNlbGYuSXRlbUNvdW50KE1hbmFQb3RJRCkpKSs1MCkNCgkJd2FpdCg4MDAsMTQwMCkNCgkJU2VsZi5XaXRoZHJhd01vbmV5KChQcmVjb0hQKihRdWFudGlkYWRlSFAtU2VsZi5JdGVtQ291bnQoSGVhbHRoUG90SUQpKSkrNTApDQoJCXdhaXQoODAwLDE0MDApDQoJCVNlbGYuV2l0aGRyYXdNb25leSgoUHJlY29SdW5hKihRdWFudGlkYWRlUnVuYS1TZWxmLkl0ZW1Db3VudChSdW5hSUQpKSkrNTApDQoJCXdhaXQoODAwLDE0MDApDQoJCVNlbGYuV2l0aGRyYXdNb25leSgoUHJlY29NdW5pY2FvKihRdWFudGlkYWRlTXVuaWNhby1TZWxmLkl0ZW1Db3VudChJRE11bmljYW8pKSkrNTApDQoJCXdhaXQoODAwLDE0MDApDQogICAgICAgIFNlbGYuU2F5VG9OcGMoImJhbGFuY2UiKQ0KCQlXYWxrZXIuU3RhcnQoKQ0KDQoJCS0tIENPTVBSQSBBUyBSVU5BcyBRVUUgRVNUQSBERUZJTklETyBMQSBFTSBDSU1BIC0tDQoJICAgIGVsc2VpZiAobGFiZWxOYW1lID09ICJDb21wcmFyUnVuYXMiKSB0aGVuDQoJICAgIHByaW50KFtbQ09NUFJBTkRPIFJVTkFzLi4uXV0pDQoJCVdhbGtlci5TdG9wKCkNCgkJd2FpdCg4MDAsMTUwMCkNCgkgICAgU2VsZi5TYXlUb05wYyh7IkhpIiwgIlRyYWRlIn0sIDgwKQ0KCSAgICB3YWl0KDgwMCwxNzQwKQ0KCSAgICBTZWxmLlNob3BCdXlJdGVtc1VwVG8oUnVuYUlELCBRdWFudGlkYWRlUnVuYSkNCiAgICAgICAgd2FpdCgyMDAwLDMwMDApDQoJICAgIFdhbGtlci5TdGFydCgpDQoJCUxvb3Rlci5TdG9wKCkNCg0KDQoJCS0tIENPTVBSQSBPUyBQT1RTIFFVRSBFU1RBIERFRklOSURPIExBIEVNIENJTUEgLS0NCgkgICAgZWxzZWlmIChsYWJlbE5hbWUgPT0gIkNvbXByYXJQb3RzIikgdGhlbg0KCSAgICBwcmludChbW0NPTVBSQU5ETyBQT1RzLi4uXV0pDQoJCVdhbGtlci5TdG9wKCkNCgkJd2FpdCg1MDAsMTAwMCkNCgkgICAgU2VsZi5TYXlUb05wYyh7IkhpIiwgIlZpYWwiLCAieWVzIiwgInRyYWRlIn0sIDgwKQ0KCSAgICB3YWl0KDUwMCwxMDAwKQ0KCSAgICBTZWxmLlNob3BCdXlJdGVtc1VwVG8oTWFuYVBvdElELCBRdWFudGlkYWRlTVApDQoJICAgIHdhaXQoNTAwLDEwMDApDQogICAgICAgIFNlbGYuU2hvcEJ1eUl0ZW1zVXBUbyhIZWFsdGhQb3RJRCwgUXVhbnRpZGFkZUhQKQ0KICAgICAgICB3YWl0KDUwMCwxMDAwKQ0KCQlXYWxrZXIuU3RhcnQoKQ0KCQlMb290ZXIuU3RvcCgpDQoNCgkgICAgLS0gQ09NUFJBIE9TIEZMRVhBUyBRVUUgRVNUQSBERUZJTklETyBMQSBFTSBDSU1BIC0tDQoJICAgIGVsc2VpZiAobGFiZWxOYW1lID09ICJDb21wcmFyRmxleGFzIikgdGhlbg0KCSAgICBwcmludChbW0NPTVBSQU5ETyBGTEVYQVMuLl1dKQ0KCQlXYWxrZXIuU3RvcCgpDQogICAgICAgIHdhaXQoNTAwLDEwMDApDQogICAgICAgIFNlbGYuU2F5VG9OcGMoeyJIaSIsICJUcmFkZSJ9LCA4MCkNCiAgICAgICAgd2FpdCg1MDAsMTAwMCkNCgkgICAgU2VsZi5TaG9wQnV5SXRlbXNVcFRvKElETXVuaWNhbywgUXVhbnRpZGFkZU11bmljYW8pDQoJICAgIHdhaXQoNTAwLDEwMDApDQoJICAgIFdhbGtlci5TdGFydCgpDQoNCgllbmQNCiAgICBlbmQNCg0KDQoJZnVuY3Rpb24gU2VsZi5EZXBvc2l0SXRlbXMyKERQQm94LCAuLi4pDQogICAgaWYgKCNhcmcgPiAwKSB0aGVuIHNldEJvdEVuYWJsZWQoZmFsc2UpIGVuZA0KICAgIGxvY2FsIGRlcG9zaXRJbmZvID0ge30NCg0KICAgIGZ1bmN0aW9uIG1ha2VEZXBvc2l0SW5mbyhpbnB1dCkNCiAgICAgICAgbG9jYWwgcmV0ID0ge30NCiAgICAgICAgZm9yIGkgPSAxLCAjaW5wdXQgZG8NCiAgICAgICAgICAgIGxvY2FsIGRhdGEgPSBpbnB1dFtpXQ0KICAgICAgICAgICAgbG9jYWwgc3BvdCA9IDANCiAgICAgICAgICAgIGxvY2FsIGlkID0gMA0KICAgICAgICAgICAgaWYgKHR5cGUoZGF0YSkgPT0gJ3RhYmxlJykgdGhlbg0KICAgICAgICAgICAgICAgIHNwb3QgPSBkYXRhWzJdDQogICAgICAgICAgICAgICAgaWQgPSBJdGVtLkdldEl0ZW1JREZyb21EdWFsSW5wdXQoZGF0YVsxXSkNCiAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICBzcG90ID0gMA0KICAgICAgICAgICAgICAgIGlkID0gSXRlbS5HZXRJdGVtSURGcm9tRHVhbElucHV0KGRhdGEpDQogICAgICAgICAgICBlbmQNCg0KICAgICAgICAgICAgaWYgKG5vdCByZXRbc3BvdF0pIHRoZW4NCiAgICAgICAgICAgICAgICByZXRbc3BvdF0gPSB7fQ0KICAgICAgICAgICAgICAgIHJldFtzcG90XS5yZWFsSW5kZXggPSAtMQ0KICAgICAgICAgICAgICAgIHJldFtzcG90XS5pdGVtcyA9IHt9DQogICAgICAgICAgICBlbmQNCiAgICAgICAgICAgIHRhYmxlLmluc2VydChyZXRbc3BvdF0uaXRlbXMsIGlkKQ0KICAgICAgICBlbmQNCiAgICAgICAgcmV0dXJuIHJldA0KICAgIGVuZA0KDQogICAgaWYgKCNhcmcgPiAwKSB0aGVuDQogICAgICAgIGRlcG9zaXRJbmZvID0gbWFrZURlcG9zaXRJbmZvKGFyZykNCiAgICBlbHNlDQogICAgICAgIGxvY2FsIF9pbnB1dCA9IGdldERlcG9zaXRvckxpc3QoKQ0KICAgICAgICBsb2NhbCBfcmVhbElucHV0ID0ge30NCiAgICAgICAgZm9yIGkgPSAxLCAjX2lucHV0LCAyIGRvDQogICAgICAgICAgICBsb2NhbCB0ZW1wSW5wdXQgPSB7fQ0KICAgICAgICAgICAgdGVtcElucHV0WzFdID0gX2lucHV0W2ldDQogICAgICAgICAgICB0ZW1wSW5wdXRbMl0gPSBfaW5wdXRbaSsxXQ0KICAgICAgICAgICAgdGFibGUuaW5zZXJ0KF9yZWFsSW5wdXQsIHRlbXBJbnB1dCkNCiAgICAgICAgZW5kDQogICAgICAgIGRlcG9zaXRJbmZvID0gbWFrZURlcG9zaXRJbmZvKF9yZWFsSW5wdXQpDQogICAgZW5kDQoNCg0KICAgIGxvY2FsIGluZGV4ZXMgPSBDb250YWluZXIuR2V0QWxsKCkgLS0gbGlzdCBvZiBjb250YWluZXJzIG9wZW4gYmVmb3JlIHdlIHN0YXJ0IGRlcG9zaXRpbmcNCiAgICBsb2NhbCBkZXBvdCA9IFNlbGYuT3BlbkRlcG90KCkNCiAgICBsb2NhbCBiYWRJbmRleGVzID0gI2luZGV4ZXMgPT0gMA0KICAgIGlmIChiYWRJbmRleGVzIG9yIG5vdCBkZXBvdCkgdGhlbg0KICAgICAgICBpZiAoYmFkSW5kZXhlcykgdGhlbg0KICAgICAgICAgICAgcHJpbnQoIlhlbm9Cb3Q6IFVuYWJsZSB0byBmaW5kIG9wZW4gYmFja3BhY2tzIHRvIGRlcG9zaXQgZnJvbS4iKQ0KICAgICAgICBlbHNlDQogICAgICAgICAgICBwcmludCgiWGVub0JvdDogRGVwb3NpdG9yIGZhaWxlZCB0byBvcGVuIGRlcG90LiIpDQogICAgICAgIGVuZA0KICAgICAgICBpZiAoI2FyZyA+IDApIHRoZW4gc2V0Qm90RW5hYmxlZCh0cnVlKSBlbmQNCiAgICAgICAgcmV0dXJuIGZhbHNlDQogICAgZW5kDQoNCiAgICBkZXBvdDpNaW5pbWl6ZSgpDQoNCiAgICBmb3IgaSA9IDAsIGRlcG90Okl0ZW1Db3VudCgpLTEgZG8NCiAgICAgICAgaWYgKGRlcG90OkdldEl0ZW1EYXRhKGkpLmlkID09IDIyNzk2ICsgRFBCb3gpIHRoZW4NCiAgICAgICAgICAgIGRlcG90OlVzZUl0ZW0oaSwgdHJ1ZSkgd2FpdChTZWxmLlBpbmcoKSAqIDIsIFNlbGYuUGluZygpICogMykNCiAgICAgICAgZW5kDQogICAgZW5kDQoNCiAgICBmb3Igc3BvdCwgZGF0YSBpbiBwYWlycyhkZXBvc2l0SW5mbykgZG8gLS0gbG9vcCB0byBvcGVuIGFsbCB0aGUgbmVlZGVkIGJhY2twYWNrcw0KICAgICAgICBsb2NhbCBjdXJyZW50U3BvdCA9IDANCiAgICAgICAgZm9yIGkgPSAwLCBkZXBvdDpJdGVtQ291bnQoKSAtIDEgZG8gLS0gc2VhcmNoIGFsbCBpdGVtcyBpbiB0aGUgZGVwb3QNCiAgICAgICAgICAgIGlmIChJdGVtLmlzQ29udGFpbmVyKGRlcG90OkdldEl0ZW1EYXRhKGkpLmlkKSkgdGhlbiAtLSBvbmx5IGNvbnNpZGVyIGNvbnRhaW5lcnMNCiAgICAgICAgICAgICAgICBpZiAoY3VycmVudFNwb3QgPT0gc3BvdCkgdGhlbiAtLSBzaG91bGQgd2Ugb3BlbiB0aGlzPw0KICAgICAgICAgICAgICAgICAgICBkYXRhLnJlYWxJbmRleCA9IENvbnRhaW5lci5HZXRGcmVlU2xvdCgpDQogICAgICAgICAgICAgICAgICAgIHdoaWxlIChkZXBvdDpVc2VJdGVtKHNwb3QpIH49IDEpIGRvDQogICAgICAgICAgICAgICAgICAgICAgICB3YWl0KDEwMCkNCiAgICAgICAgICAgICAgICAgICAgZW5kDQogICAgICAgICAgICAgICAgICAgIHdhaXQoU2VsZi5QaW5nKCkgKyAzMDApDQogICAgICAgICAgICAgICAgICAgIENvbnRhaW5lci5NaW5pbWl6ZShkYXRhLnJlYWxJbmRleCkNCiAgICAgICAgICAgICAgICBlbmQNCiAgICAgICAgICAgICAgICBjdXJyZW50U3BvdCA9IGN1cnJlbnRTcG90ICsgMSAtLSBpbmNyZW1lbnQNCiAgICAgICAgICAgIGVuZA0KICAgICAgICBlbmQNCiAgICBlbmQNCiAgICBsb2NhbCB0ZW1wRGVwb3NpdEluZm8gPSB7fSAtLSB3YXJuIGFib3V0IGFuZCBnZXQgcmlkIG9mIGFsbCBkZXBvdCBiYWNrcGFja3Mgd2hpY2ggY2FudCBiZSBvcGVuZWQNCiAgICBmb3Igc3BvdCwgZGF0YSBpbiBwYWlycyhkZXBvc2l0SW5mbykgZG8NCiAgICAgICAgaWYgKGRhdGEucmVhbEluZGV4IH49IC0xKSB0aGVuDQogICAgICAgICAgICB0ZW1wRGVwb3NpdEluZm9bc3BvdF0gPSBkYXRhDQogICAgICAgIGVsc2UNCiAgICAgICAgICAgIHByaW50KCJYZW5vQm90OiBEZXBvc2l0b3IgaXMgbWlzc2luZyBhIGNvbnRhaW5lciBpbiBkZXBvdCBzbG90ICMiIC4uIHNwb3QgLi4gIi4gUGxlYXNlIHBsYWNlIGNhc2NhZGluZyBjb250YWluZXJzIGF0IHRoZSByZXF1aXJlZCBzbG90IGluIHlvdXIgZGVwb3QuIikNCiAgICAgICAgZW5kDQogICAgZW5kDQogICAgZGVwb3NpdEluZm8gPSB0ZW1wRGVwb3NpdEluZm8NCiAgICBmdW5jdGlvbiBkZXBvc2l0SXRlbShkZXBvc2l0SW5mbywgY29udEZyb20sIHNwb3QpIC0td2hlbiB0aGlzIHJldHVybnMgdHJ1ZSwgd2Ugc2tpcCB0aGUgaXRlbSBiZWNhdXNlIHdlIGNhbnQgZGVwb3NpdCBpdA0KICAgICAgICBsb2NhbCBjdXJyZW50SXRlbSA9IGNvbnRGcm9tOkdldEl0ZW1EYXRhKHNwb3QpDQogICAgICAgIGZvciBfLCBkYXRhIGluIHBhaXJzKGRlcG9zaXRJbmZvKSBkbyAtLSBsb29wIHRocm91Z2ggYWxsIG9mIG91ciBkZXBvc2l0IGl0ZW1zDQogICAgICAgICAgICBpZiAodGFibGUuY29udGFpbnMoZGF0YS5pdGVtcywgY3VycmVudEl0ZW0uaWQpKSB0aGVuIC0tIHNob3VsZCB3ZSBkZXBvc2l0IHRoaXMgc3BlY2lmaWMgb25lPyB0cnkNCiAgICAgICAgICAgICAgICBsb2NhbCBkZXBvc2l0QnAgPSBDb250YWluZXIuTmV3KGRhdGEucmVhbEluZGV4KQ0KICAgICAgICAgICAgICAgIGlmIChub3QgZGVwb3NpdEJwOmlzT3BlbigpKSB0aGVuIC0tIGRlc3QgY29udGFpbmVyIG5vdCBvcGVuLCBza2lwIHRoaXMgaXRlbQ0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZQ0KICAgICAgICAgICAgICAgIGVuZA0KICAgICAgICAgICAgICAgIGlmIChkZXBvc2l0QnA6SXRlbUNvdW50KCkgPCBkZXBvc2l0QnA6SXRlbUNhcGFjaXR5KCkpIHRoZW4gLS0gaWYgdGhlIGJhY2twYWNrIGlzbid0IGZ1bGwsIGxldCdzIHVzZSB0aGUgZmluYWwgc2xvdA0KICAgICAgICAgICAgICAgICAgICBjb250RnJvbTpNb3ZlSXRlbVRvQ29udGFpbmVyKHNwb3QsIGRhdGEucmVhbEluZGV4LCBkZXBvc2l0QnA6SXRlbUNhcGFjaXR5KCkgLSAxKQ0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2UNCiAgICAgICAgICAgICAgICBlbHNlaWYgKGRlcG9zaXRCcDpJRCgpID49IDIyNzk3IGFuZCBkZXBvc2l0QnA6SUQoKSA8PSAyMjgxMykgdGhlbg0KICAgICAgICAgICAgICAgICAgICBjb250RnJvbTpNb3ZlSXRlbVRvQ29udGFpbmVyKHNwb3QsIGRhdGEucmVhbEluZGV4LCBtYXRoLnJhbmRvbSgwLCAzKSkNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlDQogICAgICAgICAgICAgICAgZWxzZSAtLSBpdHMgZnVsbCwgbGV0cyBlaXRoZXIgb3BlbiB0aGUgbmV4dCBvbmUgb3IgZmluZCBhIGdvb2Qgc3BvdA0KICAgICAgICAgICAgICAgICAgICBsb2NhbCB0b1Nwb3QgPSAtMSAtLSBmaW5lIHRoZSBiZXN0IHBsYWNlIHRvIHB1dCBpdCBpZiB3ZSBjYW4gc3RpbGwgZml0IGl0DQogICAgICAgICAgICAgICAgICAgIGZvciBzcCA9IDAsIGRlcG9zaXRCcDpJdGVtQ291bnQoKSAtIDEgZG8NCiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsIHNwRGF0YSA9IGRlcG9zaXRCcDpHZXRJdGVtRGF0YShzcCkNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzcERhdGEuaWQgPT0gY3VycmVudEl0ZW0uaWQgYW5kIHNwRGF0YS5jb3VudCB+PSAxMDApIHRoZW4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b1Nwb3QgPSBzcA0KICAgICAgICAgICAgICAgICAgICAgICAgZW5kDQogICAgICAgICAgICAgICAgICAgIGVuZA0KICAgICAgICAgICAgICAgICAgICBpZiAobm90IEl0ZW0uaXNTdGFja2FibGUoY3VycmVudEl0ZW0uaWQpIG9yIHRvU3BvdCA9PSAtMSkgdGhlbiAtLSBubyByb29tIGZvciB0aGlzLCBvcGVuIGEgbmV3IGNvbnRhaW5lcg0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5vdCBJdGVtLmlzQ29udGFpbmVyKGRlcG9zaXRCcDpHZXRJdGVtRGF0YShkZXBvc2l0QnA6SXRlbUNhcGFjaXR5KCkgLSAxKS5pZCkpIHRoZW4gLS0gY2FudCBvcGVuIHRoaXMgY29udGFpbmVyLCBjb250aW51ZSB0byB0aGUgbmV4dCBpdGVtDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5vdCBkYXRhLndhcm5lZCkgdGhlbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLndhcm5lZCA9IHRydWUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQoIlhlbm9Cb3Q6IERlcG9zaXRvciBpcyB1bmFibGUgdG8gZmluZCByb29tIGluIGRlcG9zaXQgY29udGFpbmVyICMiIC4uIGRhdGEucmVhbEluZGV4IC4uICIuIikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZQ0KICAgICAgICAgICAgICAgICAgICAgICAgZW5kDQogICAgICAgICAgICAgICAgICAgICAgICBkZXBvc2l0QnA6VXNlSXRlbShkZXBvc2l0QnA6SXRlbUNhcGFjaXR5KCkgLSAxLCB0cnVlKQ0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlDQogICAgICAgICAgICAgICAgICAgIGVsc2UgLS0gdGhlcmUncyBhdCBsZWFzdCBzb21lIHJvb20sIGxldHMgZmlsbCBpdCB1cA0KICAgICAgICAgICAgICAgICAgICAgICAgY29udEZyb206TW92ZUl0ZW1Ub0NvbnRhaW5lcihzcG90LCBkYXRhLnJlYWxJbmRleCwgdG9TcG90KQ0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlDQogICAgICAgICAgICAgICAgICAgIGVuZA0KICAgICAgICAgICAgICAgIGVuZA0KICAgICAgICAgICAgZW5kDQogICAgICAgIGVuZA0KICAgICAgICByZXR1cm4gdHJ1ZQ0KICAgIGVuZA0KICAgIGZ1bmN0aW9uIGRlcG9zaXRJdGVtcyhkZXBvc2l0SW5mbywgaW5kZXhlcykNCiAgICAgICAgbG9jYWwgY29udGFpbmVycyA9IHt9DQogICAgICAgIGZvciBfLCBpbmRleCBpbiBpcGFpcnMoaW5kZXhlcykgZG8gLS0gYWN0dWFsbHkgZGVwb3NpdCBub3cNCiAgICAgICAgICAgIGxvY2FsIGNvbnRhaW5lciA9IENvbnRhaW5lci5OZXcoaW5kZXgpDQogICAgICAgICAgICBpZiAoY29udGFpbmVyOmlzT3BlbigpKSB0aGVuDQogICAgICAgICAgICAgICAgbG9jYWwgY2hlY2tTcG90ID0gMA0KICAgICAgICAgICAgICAgIHdoaWxlIChjaGVja1Nwb3QgPCBjb250YWluZXI6SXRlbUNvdW50KCkpIGRvIC0tIGxvb3AgdW50aWwgbm8gbW9yZSBpdGVtcyB0byBkZXBvc2l0DQogICAgICAgICAgICAgICAgICAgIGlmIChkZXBvc2l0SXRlbShkZXBvc2l0SW5mbywgY29udGFpbmVyLCBjaGVja1Nwb3QpKSB0aGVuDQogICAgICAgICAgICAgICAgICAgICAgICBjaGVja1Nwb3QgPSBjaGVja1Nwb3QgKyAxIC0tIGlmIHdlIGNhbnQgZGVwb3NpdCB0aGlzLCBza2lwIGl0DQogICAgICAgICAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb250YWluZXJzW2luZGV4XSA9PSBuaWwpIHRoZW4gY29udGFpbmVyc1tpbmRleF0gPSAwIGVuZA0KICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyc1tpbmRleF0gPSBjb250YWluZXJzW2luZGV4XSArIDENCiAgICAgICAgICAgICAgICAgICAgICAgIHdhaXQoMzAwLCA3MDApDQogICAgICAgICAgICAgICAgICAgIGVuZA0KICAgICAgICAgICAgICAgIGVuZA0KICAgICAgICAgICAgZW5kDQogICAgICAgIGVuZA0KICAgICAgICByZXR1cm4gY29udGFpbmVycw0KICAgIGVuZA0KICAgIC0tIGRlcG9zaXQgaXRlbXMsIGNhc2NhZGluZyBpbnRvIG5ldyBiYWNrcGFja3MNCiAgICBsb2NhbCBjYXNjYWRlZEJwcyA9IHt9DQogICAgd2hpbGUgKHRydWUpIGRvDQogICAgICAgIGxvY2FsIGNhc2NhZGVzID0gZGVwb3NpdEl0ZW1zKGRlcG9zaXRJbmZvLCBpbmRleGVzKQ0KICAgICAgICB3YWl0KFNlbGYuUGluZygpICsgMjAwKQ0KDQogICAgICAgIGxvY2FsIG9wZW5lZCA9IGZhbHNlDQogICAgICAgIGZvciBpbmRleCwgY291bnQgaW4gcGFpcnMoY2FzY2FkZXMpIGRvDQogICAgICAgICAgICBpZiAoY291bnQgPiAwKSB0aGVuDQogICAgICAgICAgICAgICAgbG9jYWwgY29udCA9IENvbnRhaW5lci5OZXcoaW5kZXgpDQogICAgICAgICAgICAgICAgbG9jYWwgbGFzdEl0ZW0gPSBjb250OkdldEl0ZW1EYXRhKGNvbnQ6SXRlbUNvdW50KCkgLSAxKQ0KICAgICAgICAgICAgICAgIGlmIChJdGVtLmlzQ29udGFpbmVyKGxhc3RJdGVtLmlkKSkgdGhlbg0KICAgICAgICAgICAgICAgICAgICBpZiAoY2FzY2FkZWRCcHNbaW5kZXhdID09IG5pbCkgdGhlbiBjYXNjYWRlZEJwc1tpbmRleF0gPSAwIGVuZA0KICAgICAgICAgICAgICAgICAgICByZXBlYXQNCiAgICAgICAgICAgICAgICAgICAgICAgIHdhaXQoU2VsZi5QaW5nKCkgKyA3MDApDQogICAgICAgICAgICAgICAgICAgIHVudGlsIChjb250OlVzZUl0ZW0oY29udDpJdGVtQ291bnQoKSAtIDEsIHRydWUpIH49IDApDQogICAgICAgICAgICAgICAgICAgIHdhaXQoU2VsZi5QaW5nKCkgKyA3MDApDQogICAgICAgICAgICAgICAgICAgIGNhc2NhZGVkQnBzW2luZGV4XSA9IGNhc2NhZGVkQnBzW2luZGV4XSArIDENCiAgICAgICAgICAgICAgICAgICAgb3BlbmVkID0gdHJ1ZQ0KICAgICAgICAgICAgICAgIGVuZA0KICAgICAgICAgICAgZW5kDQogICAgICAgIGVuZA0KDQogICAgICAgIGlmIChvcGVuZWQgPT0gZmFsc2UpIHRoZW4gYnJlYWsgZW5kDQogICAgZW5kDQogICAgLS0gZ28gYmFjayB0byBwYXJlbnQgYmFja3BhY2tzDQogICAgZm9yIGluZGV4LCB0aW1lcyBpbiBwYWlycyhjYXNjYWRlZEJwcykgZG8NCiAgICAgICAgZm9yIGkgPSAxLCB0aW1lcyBkbw0KICAgICAgICAgICAgQ29udGFpbmVyLkdvQmFjayhpbmRleCkNCiAgICAgICAgICAgIHdhaXQoMzAwLCA3MDApDQogICAgICAgIGVuZA0KICAgIGVuZA0KICAgIHdhaXQoODAwLCAxMzAwKQ0KICAgIC0tIGNsb3NlIGV2ZXJ5dGhpbmcNCiAgICBkZXBvdDpDbG9zZSgpDQogICAgd2FpdCgzMDAsIDYwMCkNCiAgICBmb3Igc3BvdCwgZGF0YSBpbiBwYWlycyhkZXBvc2l0SW5mbykgZG8NCiAgICAgICAgQ29udGFpbmVyLk5ldyhkYXRhLnJlYWxJbmRleCk6Q2xvc2UoKQ0KICAgICAgICB3YWl0KDIwMCwgNDAwKQ0KICAgIGVuZA0KICAgIHdhaXQoMTUwMCkNCiAgICBkZWxheVdhbGtlcigyNTAwKQ0KICAgIGlmICgjYXJnID4gMCkgdGhlbiBzZXRCb3RFbmFibGVkKHRydWUpIGVuZA0KICAgIHJldHVybiB0cnVlDQplbmQNCg0KDQo=]]></script>
- <script name="Dropar Vials.lua"><![CDATA[ZnVuY3Rpb24gZHJvcEl0ZW0oaWQpIApsb2NhbCBjb250ID0gQ29udGFpbmVyLkdldEZpcnN0KCkKIAp3aGlsZSAoY29udDppc09wZW4oKSkgZG8KICAgIGZvciBzcG90ID0gMCwgY29udDpJdGVtQ291bnQoKSBkbwogICAgICAgICAgICBsb2NhbCBpdGVtID0gY29udDpHZXRJdGVtRGF0YShzcG90KSAKICAgIGlmIChpdGVtLmlkID09IGlkKSB0aGVuCiAgICAgICAgICAgIGNvbnQ6TW92ZUl0ZW1Ub0dyb3VuZChzcG90LCBTZWxmLlBvc2l0aW9uKCkueCwgU2VsZi5Qb3NpdGlvbigpLnksIFNlbGYuUG9zaXRpb24oKS56KSAKICAgICAgICByZXR1cm4gdHJ1ZQogICAgZW5kCmVuZAogCmNvbnQgPSBjb250OkdldE5leHQoKSAKZW5kCiAKcmV0dXJuIGZhbHNlCmVuZAogCiAKd2hpbGUodHJ1ZSkgZG8KICAgIGxvY2FsIGMgPSBDb250YWluZXIuR2V0QnlOYW1lKCJCYWNrcGFjayBvZiBob2xkaW5nIikKICAgIGxvY2FsIHZpYWxzID0gMQogICAgIAogICBpZihjOkNvdW50SXRlbXNPZklEKDI4NSkgPj0gdmlhbHMpIHRoZW4KICAgICAgZHJvcEl0ZW0oMjg1KQplbmQKICAgd2FpdCg3MDAsMTIwMCkKZW5kCg==]]></script>
- <script name="ChangeGold.lua"><![CDATA[ZnVuY3Rpb24gdXNlQ29pbnMoaWQpICANCg0KICAgIGxvY2FsIGNvbnQgPSBDb250YWluZXIuR2V0Rmlyc3QoKSAgDQoNCg0KDQogICAgd2hpbGUgKGNvbnQ6aXNPcGVuKCkpIGRvICANCg0KICAgICAgICBmb3Igc3BvdCA9IDAsIGNvbnQ6SXRlbUNvdW50KCkgZG8gIA0KDQogICAgICAgICAgICBsb2NhbCBpdGVtID0gY29udDpHZXRJdGVtRGF0YShzcG90KSAgDQoNCiAgICAgICAgICAgIGlmIChpdGVtLmlkID09IGlkKSB0aGVuICANCg0KICAgICAgICAgICAgICAgIGlmIChpdGVtLmNvdW50ID09IDEwMCkgdGhlbg0KDQogICAgICAgICAgICAgICAgICAgIGNvbnQ6VXNlSXRlbShzcG90LCBUcnVlKQ0KDQogICAgICAgICAgICAgICAgICAgIHNsZWVwKDEwMCkNCg0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZQ0KDQogICAgICAgICAgICAgICAgZW5kDQoNCiAgICAgICAgICAgIGVuZCAgDQoNCiAgICAgICAgZW5kICANCg0KDQoNCiAgICAgICAgY29udCA9IGNvbnQ6R2V0TmV4dCgpICANCg0KICAgIGVuZCAgDQoNCiAgICAgDQoNCiAgICByZXR1cm4gZmFsc2UgIA0KDQplbmQgIA0KDQoNCg0KTW9kdWxlLk5ldygnY2hhbmdlZGVoc2hpZXQnLCBmdW5jdGlvbihtb2QpDQoNCiAgICB1c2VDb2lucygzMDMxKQ0KDQogICAgd2FpdCg1MDApDQoNCiAgICB1c2VDb2lucygzMDM1KQ0KDQogICAgbW9kOkRlbGF5KDEwMDApDQoNCmVuZCkNCg==]]></script>
- </control>
- </panel>
- <panel name="Advertising">
- <control name="watchSellingWords" value="item, item2"/>
- <control name="watchSellingEnable" value="0"/>
- <control name="watchBuyingWords" value="item, item2"/>
- <control name="watchBuyingEnable" value="0"/>
- <control name="blockLinksEnable" value="0"/>
- <control name="reduceSpamEnable" value="0"/>
- </panel>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement