{
    "shortName": "limited_tech",
    "name" : "limited tech v1.0"
 "description" : "units can randomly morph and constructors have random build options",
    "options" : { 
"option_notes" : "units can randomly morph and constructors have random build options",
"noelo" : 1,
"equalcom" : "enable",
"tweakunits" : 
"ewpzdHJpZGVyaHViID0gewpoZWFsdGggPSAyNTAwMCwKbWV0YWxjb3N0ID0gNDAwMCwKfSwKZmFjdG9yeWNsb2FrID0gewpoZWFsdGggPSAyNTAwMCwKbWV0YWxjb3N0ID0gNDAwMCwKfSwKZmFjdG9yeXNoaWVsZCA9IHsKaGVhbHRoID0gMjUwMDAsCm1ldGFsY29zdCA9IDQwMDAsCn0sCmZhY3Rvcnlob3ZlciA9IHsKaGVhbHRoID0gMjUwMDAsCm1ldGFsY29zdCA9IDQwMDAsCn0sCmZhY3RvcnlndW5zaGlwID0gewpoZWFsdGggPSAyNTAwMCwKbWV0YWxjb3N0ID0gNDAwMCwKfSwKZmFjdG9yeXBsYW5lID0gewpoZWFsdGggPSAyNTAwMCwKbWV0YWxjb3N0ID0gNDAwMCwKfSwKZmFjdG9yeXNwaWRlciA9IHsKaGVhbHRoID0gMjUwMDAsCm1ldGFsY29zdCA9IDQwMDAsCn0sCmZhY3RvcnlqdW1wID0gewpoZWFsdGggPSAyNTAwMCwKbWV0YWxjb3N0ID0gNDAwMCwKfSwKZmFjdG9yeXRhbmsgPSB7CmhlYWx0aCA9IDI1MDAwLAptZXRhbGNvc3QgPSA0MDAwLAp9LApmYWN0b3J5YW1waCA9IHsKaGVhbHRoID0gMjUwMDAsCm1ldGFsY29zdCA9IDQwMDAsCn0sCmZhY3RvcnlzaGlwID0gewpoZWFsdGggPSAyNTAwMCwKbWV0YWxjb3N0ID0gNDAwMCwKfSwKZmFjdG9yeXZlaCA9IHsKaGVhbHRoID0gMjUwMDAsCm1ldGFsY29zdCA9IDQwMDAsCn0sCn0=",
"tweakdefs" :
"bG9jYWwgY29udmFsaWR1bml0bmFtZXMgPSB7CiAgICBbIkZ1bm5lbHdlYiJdID0gdHJ1ZSwKICAgIFsiQ29uanVyZXIiXSA9IHRydWUsCiAgICBbIkNvbnZpY3QiXSA9IHRydWUsCiAgICBbIk1hc29uIl0gPSB0cnVlLAogICAgWyJRdWlsbCJdID0gdHJ1ZSwKICAgIFsiV2FzcCJdID0gdHJ1ZSwKICAgIFsiQ3JhbmUiXSA9IHRydWUsCiAgICBbIldlYXZlciJdID0gdHJ1ZSwKICAgIFsiQ29uc3RhYmxlIl0gPSB0cnVlLAogICAgWyJXZWxkZXIiXSA9IHRydWUsCiAgICBbIkNvbmNoIl0gPSB0cnVlLAogICAgWyJNYXJpbmVyIl0gPSB0cnVlLAp9Cgpsb2NhbCBjb212YWxpZHVuaXRuYW1lcyA9IHsKICAgIFsiR3VhcmRpYW4gQ29tbWFuZGVyIl0gPSB0cnVlLAogICAgWyJTdHJpa2UgQ29tbWFuZGVyIl0gPSB0cnVlLAogICAgWyJSZWNvbiBDb21tYW5kZXIiXSA9IHRydWUsCiAgICBbIkVuZ2luZWVyIENvbW1hbmRlciJdID0gdHJ1ZSwKfQoKbG9jYWwgY29uYnVpbGRvcHRpb25zID0gewogICAgImZhY3RvcnljbG9hayIsICJmYWN0b3J5c2hpZWxkIiwgImZhY3Rvcnl2ZWgiLCAiZmFjdG9yeWhvdmVyIiwgImZhY3RvcnlndW5zaGlwIiwgImZhY3RvcnlwbGFuZSIsICJmYWN0b3J5c3BpZGVyIiwgImZhY3RvcnlqdW1wIiwgImZhY3Rvcnl0YW5rIiwgImZhY3RvcnlhbXBoIiwgImZhY3RvcnlzaGlwIiwgInN0cmlkZXJodWIiLCAidHVycmV0bGFzZXIiLCAidHVycmV0bWlzc2lsZSIsICJ0dXJyZXRyaW90IiwgInR1cnJldGVtcCIsICJ0dXJyZXRnYXVzcyIsICJ0dXJyZXRoZWF2eWxhc2VyIiwgInR1cnJldGFhY2xvc2UiLCAidHVycmV0YWFsYXNlciIsICJ0dXJyZXRhYWZsYWsiLCAidHVycmV0YWFmYXIiLCAidHVycmV0YWFoZWF2eSIsICJ0dXJyZXRpbXB1bHNlIiwgInR1cnJldHRvcnBlZG8iLCAidHVycmV0aGVhdnkiLCAidHVycmV0YW50aWhlYXZ5IiwgInN0YXRpY3NoaWVsZCIsICJzdGF0aWNyYWRhciIsICJzdGF0aWNqYW1tZXIiLCAic3RhdGljaGVhdnlyYWRhciIsICJzdGF0aWNtaXNzaWxlc2lsbyIsICJzdGF0aWNhbnRpbnVrZSIsICJzdGF0aWNhcnR5IiwgInN0YXRpY2hlYXZ5YXJ0eSIsICJzdGF0aWNudWtlIiwgInplbml0aCIsICJyYXZlcGFydHkiLCAibWFobGF6ZXIiLCAiY2xvYWtjb24iLCAiY2xvYWtyYWlkIiwgImNsb2Frc2tpcm0iLCAiY2xvYWtyaW90IiwgImNsb2FrYXNzYXVsdCIsICJjbG9ha2FydHkiLCAiY2xvYWtoZWF2eXJhaWQiLCAiY2xvYWthYSIsICJjbG9ha3NuaXBlIiwgImNsb2FrYm9tYiIsICJjbG9ha2phbW1lciIsICJzaGllbGRjb24iLCAic2hpZWxkcmFpZCIsICJzaGllbGRza2lybSIsICJzaGllbGRyaW90IiwgInNoaWVsZGFzc2F1bHQiLCAic2hpZWxkYXJ0eSIsICJzaGllbGRzY291dCIsICJzaGllbGRhYSIsICJzaGllbGRmZWxvbiIsICJzaGllbGRib21iIiwgInNoaWVsZHNoaWVsZCIsICJ2ZWhjb24iLCAidmVocmFpZCIsICJ2ZWhzdXBwb3J0IiwgInZlaHJpb3QiLCAidmVoYXNzYXVsdCIsICJ2ZWhhcnR5IiwgInZlaHNjb3V0IiwgInZlaGFhIiwgInZlaGhlYXZ5YXJ0eSIsICJ2ZWhjYXB0dXJlIiwgImhvdmVyY29uIiwgImhvdmVycmFpZCIsICJob3ZlcnNraXJtIiwgImhvdmVycmlvdCIsICJob3ZlcmFzc2F1bHQiLCAiaG92ZXJhcnR5IiwgImhvdmVyaGVhdnlyYWlkIiwgImhvdmVyYWEiLCAiaG92ZXJkZXB0aGNoYXJnZSIsICJndW5zaGlwY29uIiwgImd1bnNoaXByYWlkIiwgImd1bnNoaXBza2lybSIsICJndW5zaGlwYm9tYiIsICJndW5zaGlwYXNzYXVsdCIsICJndW5zaGlwaGVhdnlza2lybSIsICJndW5zaGlwZW1wIiwgImd1bnNoaXBhYSIsICJndW5zaGlwa3JvdyIsICJndW5zaGlwdHJhbnMiLCAiZ3Vuc2hpcGhlYXZ5dHJhbnMiLCAibWFncGllIiwgInBsYW5lY29uIiwgInBsYW5lZmlnaHRlciIsICJib21iZXJyaW90IiwgImJvbWJlcnByZWMiLCAicGxhbmVsaWdodHNjb3V0IiwgInBsYW5laGVhdnlmaWdodGVyIiwgImJvbWJlcmhlYXZ5IiwgImJvbWJlcmRpc2FybSIsICJwbGFuZXNjb3V0IiwgIm9kaW4iLCAic3BpZGVyY29uIiwgInNwaWRlcnNjb3V0IiwgInNwaWRlcnNraXJtIiwgInNwaWRlcnJpb3QiLCAic3BpZGVyYXNzYXVsdCIsICJzcGlkZXJlbXAiLCAic3BpZGVyYWEiLCAic3BpZGVyY3JhYmUiLCAic3BpZGVyYW50aWhlYXZ5IiwgImp1bXBjb24iLCAianVtcHJhaWQiLCAianVtcHNraXJtIiwgImp1bXBibGFja2hvbGUiLCAianVtcGFzc2F1bHQiLCAianVtcGFydHkiLCAianVtcHNjb3V0IiwgImp1bXBhYSIsICJqdW1wc3VtbyIsICJqdW1wYm9tYiIsICJ0YW5rY29uIiwgInRhbmtoZWF2eXJhaWQiLCAidGFua3Jpb3QiLCAidGFua2Fzc2F1bHQiLCAidGFua2FydHkiLCAidGFua3JhaWQiLCAidGFua2FhIiwgInRhbmtoZWF2eWFzc2F1bHQiLCAidGFua2hlYXZ5YXJ0eSIsICJhbXBoY29uIiwgImFtcGhyYWlkIiwgImFtcGhmbG9hdGVyIiwgImFtcGhyaW90IiwgImFtcGhzdXBwb3J0IiwgImFtcGhsYXVuY2giLCAiYW1waGltcHVsc2UiLCAiYW1waGFhIiwgImFtcGhhc3NhdWx0IiwgImFtcGhib21iIiwgImFtcGh0ZWxlIiwgInNoaXBjb24iLCAic2hpcHRvcnByYWlkZXIiLCAic2hpcHNraXJtIiwgInNoaXByaW90IiwgInNoaXBhc3NhdWx0IiwgInNoaXBhcnR5IiwgInNoaXBzY291dCIsICJzaGlwYWEiLCAic3VicmFpZGVyIiwgImF0aGVuYSIsICJzdHJpZGVyYW50aWhlYXZ5IiwgInN0cmlkZXJzY29ycGlvbiIsICJzdHJpZGVyZGFudGUiLCAic3RyaWRlcmFydHkiLCAic3RyaWRlcmZ1bm5lbHdlYiIsICJzdHJpZGVyYmFudGhhIiwgInN0cmlkZXJkZXRyaW1lbnQiLCAic2hpcGhlYXZ5YXJ0eSIsICJzaGlwY2FycmllciIsICJzdWJ0YWNtaXNzaWxlIiwKfQoKbG9jYWwgY29tYnVpbGRvcHRpb25zID0gewogICAgInN0cmlkZXJodWIiLCAidHVycmV0bGFzZXIiLCAidHVycmV0bWlzc2lsZSIsICJ0dXJyZXRyaW90IiwgInR1cnJldGVtcCIsICJ0dXJyZXRnYXVzcyIsICJ0dXJyZXRoZWF2eWxhc2VyIiwgInR1cnJldGFhY2xvc2UiLCAidHVycmV0YWFsYXNlciIsICJ0dXJyZXRhYWZsYWsiLCAidHVycmV0YWFmYXIiLCAidHVycmV0YWFoZWF2eSIsICJ0dXJyZXRpbXB1bHNlIiwgInR1cnJldHRvcnBlZG8iLCAidHVycmV0aGVhdnkiLCAidHVycmV0YW50aWhlYXZ5IiwgInN0YXRpY3NoaWVsZCIsICJzdGF0aWNyYWRhciIsICJzdGF0aWNqYW1tZXIiLCAic3RhdGljaGVhdnlyYWRhciIsICJzdGF0aWNtaXNzaWxlc2lsbyIsICJzdGF0aWNhbnRpbnVrZSIsICJzdGF0aWNhcnR5IiwgInN0YXRpY2hlYXZ5YXJ0eSIsICJzdGF0aWNudWtlIiwgInplbml0aCIsICJyYXZlcGFydHkiLCAibWFobGF6ZXIiLAp9Cgpsb2NhbCBjb25zcGVjaWZpY2J1aWxkb3B0aW9ucyA9IHsKICAgICJzdGF0aWNtZXgiLAogICAgImVuZXJneXdpbmQiLAogICAgImVuZXJneXNvbGFyIiwKICAgICJlbmVyZ3lnZW8iLAogICAgImVuZXJneWZ1c2lvbiIsCiAgICAiZW5lcmd5c2luZ3UiLAogICAgInN0YXRpY3N0b3JhZ2UiLAogICAgImVuZXJneXB5bG9uIiwKICAgICJzdGF0aWNjb24iLAogICAgInN0YXRpY3JlYXJtIiwKfQoKbG9jYWwgY29tc3BlY2lmaWNidWlsZG9wdGlvbnMgPSB7CiAgICAic3RhdGljbWV4IiwKICAgICJlbmVyZ3l3aW5kIiwKICAgICJlbmVyZ3lzb2xhciIsCiAgICAiZW5lcmd5Z2VvIiwKICAgICJlbmVyZ3lmdXNpb24iLAogICAgImVuZXJneXNpbmd1IiwKICAgICJzdGF0aWNzdG9yYWdlIiwKICAgICJlbmVyZ3lweWxvbiIsCiAgICAic3RhdGljY29uIiwKICAgICJzdGF0aWNyZWFybSIsCiAgICAiZmFjdG9yeWNsb2FrIiwgCiAgICAiZmFjdG9yeXNoaWVsZCIsIAogICAgImZhY3Rvcnl2ZWgiLCAKICAgICJmYWN0b3J5aG92ZXIiLCAKICAgICJmYWN0b3J5Z3Vuc2hpcCIsIAogICAgImZhY3RvcnlwbGFuZSIsIAogICAgImZhY3RvcnlzcGlkZXIiLCAKICAgICJmYWN0b3J5anVtcCIsIAogICAgImZhY3Rvcnl0YW5rIiwgCiAgICAiZmFjdG9yeWFtcGgiLCAKICAgICJmYWN0b3J5c2hpcCIsCn0KCmxvY2FsIGZ1bmN0aW9uIHNodWZmbGUodGJsKQogICAgbG9jYWwgbGVuID0gI3RibAogICAgZm9yIGkgPSBsZW4sIDIsIC0xIGRvCiAgICAgICAgbG9jYWwgaiA9IG1hdGgucmFuZG9tKGkpCiAgICAgICAgdGJsW2ldLCB0Ymxbal0gPSB0Ymxbal0sIHRibFtpXQogICAgZW5kCiAgICByZXR1cm4gdGJsCmVuZAoKbG9jYWwgZnVuY3Rpb24gZ3JwKG1pbnAsIG1heHApCiAgICBsb2NhbCBtaWQgPSAobWlucCArIG1heHApIC8gMgogICAgbG9jYWwgcmFuZ2UgPSBtYXhwIC0gbWlucAogICAgbG9jYWwgeiA9IG5vcm1hbHJhbmRvbSgpCiAgICBsb2NhbCBwZXJjID0gbWlkICsgKHogKiAocmFuZ2UgLyA0KSkKICAgIHBlcmMgPSBtYXRoLm1heChtaW5wLCBtYXRoLm1pbihtYXhwLCBwZXJjKSkKICAgIHJldHVybiBwZXJjIC8gMTAwCmVuZAoKZm9yIG5hbWUsIHVkIGluIHBhaXJzKFVuaXREZWZzKSBkbwogICAgaWYgY29udmFsaWR1bml0bmFtZXNbdWQubmFtZV0gdGhlbgogICAgICAgIGxvY2FsIHNodWZmbGVkb3B0aW9ucyA9IHNodWZmbGUoY29uYnVpbGRvcHRpb25zKQogICAgICAgIGxvY2FsIHNlbGVjdGVkb3B0aW9ucyA9IHt9CiAgICAgICAgZm9yIF8sIG9wdGlvbiBpbiBpcGFpcnMoY29uc3BlY2lmaWNidWlsZG9wdGlvbnMpIGRvCiAgICAgICAgICAgIHRhYmxlLmluc2VydChzZWxlY3RlZG9wdGlvbnMsIG9wdGlvbikKICAgICAgICBlbmQKICAgICAgICBmb3IgaSA9IDEsIDggZG8KICAgICAgICAgICAgdGFibGUuaW5zZXJ0KHNlbGVjdGVkb3B0aW9ucywgc2h1ZmZsZWRvcHRpb25zW2ldKQogICAgICAgIGVuZAogICAgICAgIHVkLmJ1aWxkb3B0aW9ucyA9IHNlbGVjdGVkb3B0aW9ucwogICAgZW5kCmVuZAoKZm9yIG5hbWUsIHVkIGluIHBhaXJzKFVuaXREZWZzKSBkbwogICAgaWYgY29tdmFsaWR1bml0bmFtZXNbdWQubmFtZV0gdGhlbgogICAgICAgIGxvY2FsIHNodWZmbGVkb3B0aW9ucyA9IHNodWZmbGUoY29tYnVpbGRvcHRpb25zKQogICAgICAgIGxvY2FsIHNlbGVjdGVkb3B0aW9ucyA9IHt9CiAgICAgICAgZm9yIF8sIG9wdGlvbiBpbiBpcGFpcnMoY29tc3BlY2lmaWNidWlsZG9wdGlvbnMpIGRvCiAgICAgICAgICAgIHRhYmxlLmluc2VydChzZWxlY3RlZG9wdGlvbnMsIG9wdGlvbikKICAgICAgICBlbmQKICAgICAgICBmb3IgaSA9IDEsIDggZG8KICAgICAgICAgICAgdGFibGUuaW5zZXJ0KHNlbGVjdGVkb3B0aW9ucywgc2h1ZmZsZWRvcHRpb25zW2ldKQogICAgICAgIGVuZAogICAgICAgIHVkLmJ1aWxkb3B0aW9ucyA9IHNlbGVjdGVkb3B0aW9ucwogICAgZW5kCmVuZAoKbG9jYWwgbW9ycGh0YXJnZXRzID0gewoiZHluYXNzYXVsdDEiLAoiZHlucmVjb24xIiwKImR5bnN0cmlrZTEiLAoiZHluc3VwcG9ydDEiLAoibmVidWxhIiwKImZhY3RvcnljbG9hayIsCiJmYWN0b3J5c2hpZWxkIiwKImZhY3Rvcnl2ZWgiLAoiZmFjdG9yeWhvdmVyIiwKImZhY3RvcnlndW5zaGlwIiwKImZhY3RvcnlwbGFuZSIsCiJmYWN0b3J5c3BpZGVyIiwKImZhY3RvcnlqdW1wIiwKImZhY3Rvcnl0YW5rIiwKImZhY3RvcnlhbXBoIiwKImZhY3RvcnlzaGlwIiwKInN0cmlkZXJodWIiLAoic3RhdGljbWV4IiwKImVuZXJneXdpbmQiLAoiZW5lcmd5c29sYXIiLAoiZW5lcmd5Z2VvIiwKImVuZXJneWZ1c2lvbiIsCiJlbmVyZ3lzaW5ndSIsCiJzdGF0aWNzdG9yYWdlIiwKImVuZXJneXB5bG9uIiwKInN0YXRpY2NvbiIsCiJzdGF0aWNyZWFybSIsCiJ0dXJyZXRsYXNlciIsCiJ0dXJyZXRtaXNzaWxlIiwKInR1cnJldHJpb3QiLAoidHVycmV0ZW1wIiwKInR1cnJldGdhdXNzIiwKInR1cnJldGhlYXZ5bGFzZXIiLAoidHVycmV0YWFjbG9zZSIsCiJ0dXJyZXRhYWxhc2VyIiwKInR1cnJldGFhZmxhayIsCiJ0dXJyZXRhYWZhciIsCiJ0dXJyZXRhYWhlYXZ5IiwKInR1cnJldGltcHVsc2UiLAoidHVycmV0dG9ycGVkbyIsCiJ0dXJyZXRoZWF2eSIsCiJ0dXJyZXRhbnRpaGVhdnkiLAoic3RhdGljc2hpZWxkIiwKInN0YXRpY3JhZGFyIiwKInN0YXRpY2phbW1lciIsCiJzdGF0aWNoZWF2eXJhZGFyIiwKInN0YXRpY21pc3NpbGVzaWxvIiwKInN0YXRpY2FudGludWtlIiwKInN0YXRpY2FydHkiLAoic3RhdGljaGVhdnlhcnR5IiwKInN0YXRpY251a2UiLAoiemVuaXRoIiwKInJhdmVwYXJ0eSIsCiJtYWhsYXplciIsCiJjbG9ha2NvbiIsCiJjbG9ha3JhaWQiLAoiY2xvYWtza2lybSIsCiJjbG9ha3Jpb3QiLAoiY2xvYWthc3NhdWx0IiwKImNsb2FrYXJ0eSIsCiJjbG9ha2hlYXZ5cmFpZCIsCiJjbG9ha2FhIiwKImNsb2Frc25pcGUiLAoiY2xvYWtib21iIiwKImNsb2FramFtbWVyIiwKInNoaWVsZGNvbiIsCiJzaGllbGRyYWlkIiwKInNoaWVsZHNraXJtIiwKInNoaWVsZHJpb3QiLAoic2hpZWxkYXNzYXVsdCIsCiJzaGllbGRhcnR5IiwKInNoaWVsZHNjb3V0IiwKInNoaWVsZGFhIiwKInNoaWVsZGZlbG9uIiwKInNoaWVsZGJvbWIiLAoic2hpZWxkc2hpZWxkIiwKInZlaGNvbiIsCiJ2ZWhyYWlkIiwKInZlaHN1cHBvcnQiLAoidmVocmlvdCIsCiJ2ZWhhc3NhdWx0IiwKInZlaGFydHkiLAoidmVoc2NvdXQiLAoidmVoYWEiLAoidmVoaGVhdnlhcnR5IiwKInZlaGNhcHR1cmUiLAoiaG92ZXJjb24iLAoiaG92ZXJyYWlkIiwKImhvdmVyc2tpcm0iLAoiaG92ZXJyaW90IiwKImhvdmVyYXNzYXVsdCIsCiJob3ZlcmFydHkiLAoiaG92ZXJoZWF2eXJhaWQiLAoiaG92ZXJhYSIsCiJob3ZlcmRlcHRoY2hhcmdlIiwKImd1bnNoaXBjb24iLAoiZ3Vuc2hpcHJhaWQiLAoiZ3Vuc2hpcHNraXJtIiwKImd1bnNoaXBib21iIiwKImd1bnNoaXBhc3NhdWx0IiwKImd1bnNoaXBoZWF2eXNraXJtIiwKImd1bnNoaXBlbXAiLAoiZ3Vuc2hpcGFhIiwKImd1bnNoaXBrcm93IiwKImd1bnNoaXB0cmFucyIsCiJndW5zaGlwaGVhdnl0cmFucyIsCiJtYWdwaWUiLAoicGxhbmVjb24iLAoicGxhbmVmaWdodGVyIiwKImJvbWJlcnJpb3QiLAoiYm9tYmVycHJlYyIsCiJwbGFuZWxpZ2h0c2NvdXQiLAoicGxhbmVoZWF2eWZpZ2h0ZXIiLAoiYm9tYmVyaGVhdnkiLAoiYm9tYmVyZGlzYXJtIiwKInBsYW5lc2NvdXQiLAoib2RpbiIsCiJzcGlkZXJjb24iLAoic3BpZGVyc2NvdXQiLAoic3BpZGVyc2tpcm0iLAoic3BpZGVycmlvdCIsCiJzcGlkZXJhc3NhdWx0IiwKInNwaWRlcmVtcCIsCiJzcGlkZXJhYSIsCiJzcGlkZXJjcmFiZSIsCiJzcGlkZXJhbnRpaGVhdnkiLAoianVtcGNvbiIsCiJqdW1wcmFpZCIsCiJqdW1wc2tpcm0iLAoianVtcGJsYWNraG9sZSIsCiJqdW1wYXNzYXVsdCIsCiJqdW1wYXJ0eSIsCiJqdW1wc2NvdXQiLAoianVtcGFhIiwKImp1bXBzdW1vIiwKImp1bXBib21iIiwKInRhbmtjb24iLAoidGFua2hlYXZ5cmFpZCIsCiJ0YW5rcmlvdCIsCiJ0YW5rYXNzYXVsdCIsCiJ0YW5rYXJ0eSIsCiJ0YW5rcmFpZCIsCiJ0YW5rYWEiLAoidGFua2hlYXZ5YXNzYXVsdCIsCiJ0YW5raGVhdnlhcnR5IiwKImFtcGhjb24iLAoiYW1waHJhaWQiLAoiYW1waGZsb2F0ZXIiLAoiYW1waHJpb3QiLAoiYW1waHN1cHBvcnQiLAoiYW1waGxhdW5jaCIsCiJhbXBoaW1wdWxzZSIsCiJhbXBoYWEiLAoiYW1waGFzc2F1bHQiLAoiYW1waGJvbWIiLAoiYW1waHRlbGUiLAoic2hpcGNvbiIsCiJzaGlwdG9ycHJhaWRlciIsCiJzaGlwc2tpcm0iLAoic2hpcHJpb3QiLAoic2hpcGFzc2F1bHQiLAoic2hpcGFydHkiLAoic2hpcHNjb3V0IiwKInNoaXBhYSIsCiJzdWJyYWlkZXIiLAoiYXRoZW5hIiwKInN0cmlkZXJhbnRpaGVhdnkiLAoic3RyaWRlcnNjb3JwaW9uIiwKInN0cmlkZXJkYW50ZSIsCiJzdHJpZGVyYXJ0eSIsCiJzdHJpZGVyZnVubmVsd2ViIiwKInN0cmlkZXJiYW50aGEiLAoic3RyaWRlcmRldHJpbWVudCIsCiJzaGlwaGVhdnlhcnR5IiwKInNoaXBjYXJyaWVyIiwKInN1YnRhY21pc3NpbGUiLAp9CmxvY2FsIHZhbGlkdW5pdG5hbWVzID0gewogICAgWyJHbGFpdmUiXSA9IHRydWUsCiAgICBbIlJvbmluIl0gPSB0cnVlLAogICAgWyJSZWF2ZXIiXSA9IHRydWUsCiAgICBbIktuaWdodCJdID0gdHJ1ZSwKICAgIFsiU2xpbmciXSA9IHRydWUsCiAgICBbIlNjeXRoZSJdID0gdHJ1ZSwKICAgIFsiUGhhbnRvbSJdID0gdHJ1ZSwKICAgIFsiSW1wIl0gPSB0cnVlLAogICAgWyJCYW5kaXQiXSA9IHRydWUsCiAgICBbIlJvZ3VlIl0gPSB0cnVlLAogICAgWyJPdXRsYXciXSA9IHRydWUsCiAgICBbIlRodWciXSA9IHRydWUsCiAgICBbIlJhY2tldGVlciJdID0gdHJ1ZSwKICAgIFsiRGlydGJhZyJdID0gdHJ1ZSwKICAgIFsiRmVsb24iXSA9IHRydWUsCiAgICBbIlNuaXRjaCJdID0gdHJ1ZSwKICAgIFsiU2NvcmNoZXIiXSA9IHRydWUsCiAgICBbIkZlbmNlciJdID0gdHJ1ZSwKICAgIFsiUmlwcGVyIl0gPSB0cnVlLAogICAgWyJSYXZhZ2VyIl0gPSB0cnVlLAogICAgWyJCYWRnZXIiXSA9IHRydWUsCiAgICBbIkRhcnQiXSA9IHRydWUsCiAgICBbIkltcGFsZXIiXSA9IHRydWUsCiAgICBbIkRvbWluYXRyaXgiXSA9IHRydWUsCiAgICBbIlF1aWxsIl0gPSB0cnVlLAogICAgWyJEYWdnZXIiXSA9IHRydWUsCiAgICBbIlNjYWxwZWwiXSA9IHRydWUsCiAgICBbIk1hY2UiXSA9IHRydWUsCiAgICBbIkhhbGJlcmQiXSA9IHRydWUsCiAgICBbIkxhbmNlIl0gPSB0cnVlLAogICAgWyJCb2xhcyJdID0gdHJ1ZSwKICAgIFsiRmxhaWwiXSA9IHRydWUsCiAgICBbIkNsYXltb3JlIl0gPSB0cnVlLAogICAgWyJXYXNwIl0gPSB0cnVlLAogICAgWyJMb2N1c3QiXSA9IHRydWUsCiAgICBbIkhhcnB5Il0gPSB0cnVlLAogICAgWyJCbGFzdHdpbmciXSA9IHRydWUsCiAgICBbIlJldmVuYW50Il0gPSB0cnVlLAogICAgWyJOaW1idXMiXSA9IHRydWUsCiAgICBbIkduYXQiXSA9IHRydWUsCiAgICBbIlRyaWRlbnQiXSA9IHRydWUsCiAgICBbIktyb3ciXSA9IHRydWUsCiAgICBbIkNoYXJvbiJdID0gdHJ1ZSwKICAgIFsiSGVyY3VsZXMiXSA9IHRydWUsCiAgICBbIkNyYW5lIl0gPSB0cnVlLAogICAgWyJTd2lmdCJdID0gdHJ1ZSwKICAgIFsiUGhvZW5peCJdID0gdHJ1ZSwKICAgIFsiUmF2ZW4iXSA9IHRydWUsCiAgICBbIlNwYXJyb3ciXSA9IHRydWUsCiAgICBbIlJhcHRvciJdID0gdHJ1ZSwKICAgIFsiTGlraG8iXSA9IHRydWUsCiAgICBbIlRodW5kZXJiaXJkIl0gPSB0cnVlLAogICAgWyJPd2wiXSA9IHRydWUsCiAgICBbIldlYXZlciJdID0gdHJ1ZSwKICAgIFsiRmxlYSJdID0gdHJ1ZSwKICAgIFsiUmVjbHVzZSJdID0gdHJ1ZSwKICAgIFsiUmVkYmFjayJdID0gdHJ1ZSwKICAgIFsiSGVybWl0Il0gPSB0cnVlLAogICAgWyJWZW5vbSJdID0gdHJ1ZSwKICAgIFsiVGFyYW50dWxhIl0gPSB0cnVlLAogICAgWyJDcmFiIl0gPSB0cnVlLAogICAgWyJXaWRvdyJdID0gdHJ1ZSwKICAgIFsiQ29uc3RhYmxlIl0gPSB0cnVlLAogICAgWyJQeXJvIl0gPSB0cnVlLAogICAgWyJNb2RlcmF0b3IiXSA9IHRydWUsCiAgICBbIlBsYWNlaG9sZGVyIl0gPSB0cnVlLAogICAgWyJKYWNrIl0gPSB0cnVlLAogICAgWyJGaXJld2Fsa2VyIl0gPSB0cnVlLAogICAgWyJQdXBweSJdID0gdHJ1ZSwKICAgIFsiVG9hZCJdID0gdHJ1ZSwKICAgIFsiSnVnZ2xlbmF1dCJdID0gdHJ1ZSwKICAgIFsiU2t1dHRsZSJdID0gdHJ1ZSwKICAgIFsiV2VsZGVyIl0gPSB0cnVlLAogICAgWyJCbGl0eiJdID0gdHJ1ZSwKICAgIFsiT2dyZSJdID0gdHJ1ZSwKICAgIFsiTWlub3RhdXIiXSA9IHRydWUsCiAgICBbIkVtaXNzYXJ5Il0gPSB0cnVlLAogICAgWyJLb2RhY2hpIl0gPSB0cnVlLAogICAgWyJFdHRpbiJdID0gdHJ1ZSwKICAgIFsiQ3ljbG9wcyJdID0gdHJ1ZSwKICAgIFsiVHJlbW9yIl0gPSB0cnVlLAogICAgWyJDb25jaCJdID0gdHJ1ZSwKICAgIFsiRHVjayJdID0gdHJ1ZSwKICAgIFsiQnVveSJdID0gdHJ1ZSwKICAgIFsiU2NhbGxvcCJdID0gdHJ1ZSwKICAgIFsiQnVsa2hlYWQiXSA9IHRydWUsCiAgICBbIkxvYnN0ZXIiXSA9IHRydWUsCiAgICBbIkFyY2hlciJdID0gdHJ1ZSwKICAgIFsiQW5nbGVyIl0gPSB0cnVlLAogICAgWyJHcml6emx5Il0gPSB0cnVlLAogICAgWyJMaW1wZXQiXSA9IHRydWUsCiAgICBbIkRqaW5uIl0gPSB0cnVlLAogICAgWyJNYXJpbmVyIl0gPSB0cnVlLAogICAgWyJIdW50ZXIiXSA9IHRydWUsCiAgICBbIk1pc3RyYWwiXSA9IHRydWUsCiAgICBbIkNvcnNhaXIiXSA9IHRydWUsCiAgICBbIlNpcmVuIl0gPSB0cnVlLAogICAgWyJFbnZveSJdID0gdHJ1ZSwKICAgIFsiQ3V0dGVyIl0gPSB0cnVlLAogICAgWyJaZXBoeXIiXSA9IHRydWUsCiAgICBbIlNlYXdvbGYiXSA9IHRydWUsCiAgICBbIkF0aGVuYSJdID0gdHJ1ZSwKICAgIFsiVWx0aW1hdHVtIl0gPSB0cnVlLAogICAgWyJTY29ycGlvbiJdID0gdHJ1ZSwKICAgIFsiRGFudGUiXSA9IHRydWUsCiAgICBbIk1lcmxpbiJdID0gdHJ1ZSwKICAgIFsiRnVubmVsd2ViIl0gPSB0cnVlLAogICAgWyJQYWxhZGluIl0gPSB0cnVlLAogICAgWyJEZXRyaW1lbnQiXSA9IHRydWUsCiAgICBbIlNob2d1biJdID0gdHJ1ZSwKICAgIFsiUmVlZiJdID0gdHJ1ZSwKICAgIFsiU2N5bGxhIl0gPSB0cnVlLAogICAgWyJMb3R1cyJdID0gdHJ1ZSwKICAgIFsiUGlja2V0Il0gPSB0cnVlLAogICAgWyJTdGFyZHVzdCJdID0gdHJ1ZSwKICAgIFsiRmFyYWRheSJdID0gdHJ1ZSwKICAgIFsiR2F1c3MiXSA9IHRydWUsCiAgICBbIlN0aW5nZXIiXSA9IHRydWUsCiAgICBbIkhhY2tzYXciXSA9IHRydWUsCiAgICBbIlJhem9yIl0gPSB0cnVlLAogICAgWyJUaHJlc2hlciJdID0gdHJ1ZSwKICAgIFsiQ2hhaW5zYXciXSA9IHRydWUsCiAgICBbIkFydGVtaXMiXSA9IHRydWUsCiAgICBbIk5ld3RvbiJdID0gdHJ1ZSwKICAgIFsiVXJjaGluIl0gPSB0cnVlLAogICAgWyJEZXNvbGF0b3IiXSA9IHRydWUsCiAgICBbIkx1Y2lmZXIiXSA9IHRydWUsCiAgICBbIkNlcmJlcnVzIl0gPSB0cnVlLAogICAgWyJCaWcgQmVydGhhIl0gPSB0cnVlLAogICAgWyJaZW5pdGgiXSA9IHRydWUsCiAgICBbInJhdmVwYXJ0eSJdID0gdHJ1ZSwKICAgIFsibWFobGF6ZXIiXSA9IHRydWUsCn0KbG9jYWwgZnVuY3Rpb24gZ2V0cmFuZG9tZWxlbWVudCh0YmwpCiAgICByZXR1cm4gdGJsW21hdGgucmFuZG9tKCN0YmwpXQplbmQKCmZvciBuYW1lLCB1ZCBpbiBwYWlycyhVbml0RGVmcykgZG8KICAgIGlmIHZhbGlkdW5pdG5hbWVzW3VkLm5hbWVdIHRoZW4KICAgICAgICAgICBpZiBub3QgdWQuY3VzdG9tcGFyYW1zIHRoZW4KICAgICAgICAgICAgdWQuY3VzdG9tcGFyYW1zID0ge30KICAgICAgICAgICBlbmQKICAgICAgICAgICBpZiBub3QgdWQuY3VzdG9tcGFyYW1zLm1vcnBodG8gdGhlbgogICAgICAgICAgICB1ZC5jdXN0b21wYXJhbXMubW9ycGh0byA9ICIiCiAgICAgICAgICAgZW5kCiAgICAgICAgICAgaWYgbm90IHVkLmN1c3RvbXBhcmFtcy5tb3JwaHRpbWUgdGhlbgogICAgICAgICAgICB1ZC5jdXN0b21wYXJhbXMubW9ycGh0aW1lID0gNAogICAgICAgICAgIGVuZAogICAgICAgICAgIHVkLmN1c3RvbXBhcmFtcy5tb3JwaHRvID0gZ2V0cmFuZG9tZWxlbWVudChtb3JwaHRhcmdldHMpCiAgICBlbmQKZW5k"
    }
}