[{"data":1,"prerenderedAt":1309},["ShallowReactive",2],{"i-lucide:search":3,"i-lucide:sun":8,"i-lucide:github":10,"i-lucide:menu":13,"i-lucide:git-pull-request-arrow":15,"machine-gottlieb-haunted-house-1982":17,"i-lucide:chevron-right":1273,"i-lucide:database":1275,"i-lucide:file-json-2":1277,"i-lucide:shield-check":1279,"i-lucide:toggle-left":1281,"i-lucide:zap":1283,"i-lucide:disc-3":1285,"i-lucide:library-big":1287,"i-lucide:plug-zap":1289,"i-lucide:arrow-up-right":1291,"i-lucide:info":1293,"i-lucide:chevron-down":1295,"i-lucide:archive":1297,"i-lucide:file-code-2":1299,"i-lucide:list":1301,"i-lucide:external-link":1303,"i-lucide:notebook-pen":1305,"i-lucide:message-square-warning":1307},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":7},0,24,false,"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"m21 21l-4.34-4.34\"\u002F>\u003Ccircle cx=\"11\" cy=\"11\" r=\"8\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":9},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"4\"\u002F>\u003Cpath d=\"M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32l1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":11,"hidden":12},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5c.08-1.25-.27-2.48-1-3.5c.28-1.15.28-2.35 0-3.5c0 0-1 0-3 1.5c-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.4 5.4 0 0 0 4 9c0 3.5 3 5.5 6 5.5c-.39.49-.68 1.05-.85 1.65S8.93 17.38 9 18v4\"\u002F>\u003Cpath d=\"M9 18c-4.51 2-5-2-7-2\"\u002F>\u003C\u002Fg>",true,{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":14},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 5h16M4 12h16M4 19h16\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":16},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"5\" cy=\"6\" r=\"3\"\u002F>\u003Cpath d=\"M5 9v12\"\u002F>\u003Ccircle cx=\"19\" cy=\"18\" r=\"3\"\u002F>\u003Cpath d=\"m15 9l-3-3l3-3\"\u002F>\u003Cpath d=\"M12 6h5a2 2 0 0 1 2 2v7\"\u002F>\u003C\u002Fg>",{"detail":18,"summary":1272},{"conflicts":19,"controller":20,"coverage":22,"displays":42,"drivers":43,"format":77,"inputs":78,"knowledge":681,"machine":683,"mechanisms":688,"outputs":689,"relationships":1203,"schema_version":108,"sources":1204,"slug":1219,"sourcePath":1220,"knowledgePath":682,"knowledgeHtml":1221,"knowledgeHeadings":1222,"knowledgeSummary":1256,"catalogDrivers":1260,"related":1271,"family":1272},[],{"inversion_applied_by_emulator":12,"platform":21},"pinmame.gts80",{"status":23,"missing":24,"dimensions":38},"partial",[25,26,27,28,29,30,31,32,33,34,35,36,37],"identity","controller_platform","input_enumeration","input_semantics","output_enumeration","output_semantics","display_inventory","mechanism_inventory","mechanism_behavior","polarity","variant_differences","recreation_notes","provenance",{"address_enumeration":39,"catalog_identity":40,"mechanisms":41,"physical_wiring":39,"recreation_knowledge":39,"semantic_naming":39,"variant_coverage":39},"candidate","observed","unknown",[],[44,50,55,58,62,65,68,71,74],{"clone_of":45,"description":46,"flags":4,"id":47,"manufacturer":48,"year":49},"gts80","Haunted House (rev. 2)","hh","Gottlieb","1982",{"clone_of":47,"description":51,"flags":4,"id":52,"manufacturer":53,"year":54},"Haunted House (rev. 2, 7-digit conversion)","hh7","Oliver","2008",{"clone_of":47,"description":56,"flags":4,"id":57,"manufacturer":48,"year":49},"Haunted House (rev. 1)","hh_1",{"clone_of":47,"description":59,"flags":4,"id":60,"manufacturer":61,"year":49},"Haunted House (rev. 3 unofficial MOD)","hh_3","Flipprojets",{"clone_of":47,"description":63,"flags":4,"id":64,"manufacturer":61,"year":49},"Haunted House (rev. 3 unofficial MOD, LED)","hh_3a",{"clone_of":47,"description":66,"flags":4,"id":67,"manufacturer":61,"year":49},"Haunted House (rev. 3 unofficial MOD, LED+Secret Tunnel)","hh_3b",{"clone_of":47,"description":69,"flags":4,"id":70,"manufacturer":61,"year":49},"Haunted House (rev. 4 unofficial Votrax speech MOD)","hh_4",{"clone_of":47,"description":72,"flags":4,"id":73,"manufacturer":61,"year":49},"Haunted House (rev. 4 unofficial Votrax speech MOD, LED)","hh_4a",{"clone_of":47,"description":75,"flags":4,"id":76,"manufacturer":61,"year":49},"Haunted House (rev. 4 unofficial Votrax speech MOD, LED+Secret Tunnel)","hh_4b","pinmame-machine-definition",[79,98,113,128,143,158,173,188,201,214,227,240,253,266,279,292,305,318,331,343,356,369,382,395,408,421,434,447,460,473,486,499,512,525,538,551,564,577,590,603,616,629,642,655,668],{"aliases":80,"binding":90,"id":92,"kind":93,"label":94,"provenance":95},[81,84,86,88],{"namespace":82,"value":83},"pinmame.switch","0",{"namespace":85,"value":83},"vpe-legacy.switch",{"namespace":85,"value":87},"00",{"namespace":85,"value":89},"000",{"device":4,"group":91},"pinmame.input.switch","switch.lower-drop-target-1","switch","Lower Drop Target 1",{"source_refs":96,"status":39},[97],"legacy.game.hauntedhouse",{"aliases":99,"binding":107,"id":109,"kind":93,"label":110,"provenance":111},[100,102,103,105],{"namespace":82,"value":101},"1",{"namespace":85,"value":101},{"namespace":85,"value":104},"01",{"namespace":85,"value":106},"001",{"device":108,"group":91},1,"switch.lower-pop-bumper","Lower Pop Bumper",{"source_refs":112,"status":39},[97],{"aliases":114,"binding":122,"id":124,"kind":93,"label":125,"provenance":126},[115,117,118,120],{"namespace":82,"value":116},"2",{"namespace":85,"value":116},{"namespace":85,"value":119},"02",{"namespace":85,"value":121},"002",{"device":123,"group":91},2,"switch.upper-drop-target-1","Upper Drop Target 1",{"source_refs":127,"status":39},[97],{"aliases":129,"binding":137,"id":139,"kind":93,"label":140,"provenance":141},[130,132,133,135],{"namespace":82,"value":131},"3",{"namespace":85,"value":131},{"namespace":85,"value":134},"03",{"namespace":85,"value":136},"003",{"device":138,"group":91},3,"switch.upper-standup-target-1","Upper Standup Target 1",{"source_refs":142,"status":39},[97],{"aliases":144,"binding":152,"id":154,"kind":93,"label":155,"provenance":156},[145,147,148,150],{"namespace":82,"value":146},"4",{"namespace":85,"value":146},{"namespace":85,"value":149},"04",{"namespace":85,"value":151},"004",{"device":153,"group":91},4,"switch.upper-left-lane","Upper Left Lane",{"source_refs":157,"status":39},[97],{"aliases":159,"binding":167,"id":169,"kind":93,"label":170,"provenance":171},[160,162,163,165],{"namespace":82,"value":161},"5",{"namespace":85,"value":161},{"namespace":85,"value":164},"05",{"namespace":85,"value":166},"005",{"device":168,"group":91},5,"switch.main-standup-target-1","Main Standup Target 1",{"source_refs":172,"status":39},[97],{"aliases":174,"binding":182,"id":184,"kind":93,"label":185,"provenance":186},[175,177,178,180],{"namespace":82,"value":176},"6",{"namespace":85,"value":176},{"namespace":85,"value":179},"06",{"namespace":85,"value":181},"006",{"device":183,"group":91},6,"switch.lower-through-lane-1","Lower Through Lane 1",{"source_refs":187,"status":39},[97],{"aliases":189,"binding":195,"id":197,"kind":93,"label":198,"provenance":199},[190,192,193],{"namespace":82,"value":191},"10",{"namespace":85,"value":191},{"namespace":85,"value":194},"010",{"device":196,"group":91},10,"switch.lower-drop-target-2","Lower Drop Target 2",{"source_refs":200,"status":39},[97],{"aliases":202,"binding":208,"id":210,"kind":93,"label":211,"provenance":212},[203,205,206],{"namespace":82,"value":204},"11",{"namespace":85,"value":204},{"namespace":85,"value":207},"011",{"device":209,"group":91},11,"switch.kicking-target-1","Kicking Target 1",{"source_refs":213,"status":39},[97],{"aliases":215,"binding":221,"id":223,"kind":93,"label":224,"provenance":225},[216,218,219],{"namespace":82,"value":217},"12",{"namespace":85,"value":217},{"namespace":85,"value":220},"012",{"device":222,"group":91},12,"switch.upper-drop-target-2","Upper Drop Target 2",{"source_refs":226,"status":39},[97],{"aliases":228,"binding":234,"id":236,"kind":93,"label":237,"provenance":238},[229,231,232],{"namespace":82,"value":230},"13",{"namespace":85,"value":230},{"namespace":85,"value":233},"013",{"device":235,"group":91},13,"switch.upper-standup-target-2","Upper Standup Target 2",{"source_refs":239,"status":39},[97],{"aliases":241,"binding":247,"id":249,"kind":93,"label":250,"provenance":251},[242,244,245],{"namespace":82,"value":243},"14",{"namespace":85,"value":243},{"namespace":85,"value":246},"014",{"device":248,"group":91},14,"switch.kicking-target-2","Kicking Target 2",{"source_refs":252,"status":39},[97],{"aliases":254,"binding":260,"id":262,"kind":93,"label":263,"provenance":264},[255,257,258],{"namespace":82,"value":256},"15",{"namespace":85,"value":256},{"namespace":85,"value":259},"015",{"device":261,"group":91},15,"switch.main-standup-target-2","Main Standup Target 2",{"source_refs":265,"status":39},[97],{"aliases":267,"binding":273,"id":275,"kind":93,"label":276,"provenance":277},[268,270,271],{"namespace":82,"value":269},"16",{"namespace":85,"value":269},{"namespace":85,"value":272},"016",{"device":274,"group":91},16,"switch.lower-through-lane-2","Lower Through Lane 2",{"source_refs":278,"status":39},[97],{"aliases":280,"binding":286,"id":288,"kind":93,"label":289,"provenance":290},[281,283,284],{"namespace":82,"value":282},"20",{"namespace":85,"value":282},{"namespace":85,"value":285},"020",{"device":287,"group":91},20,"switch.lower-drop-target-3","Lower Drop Target 3",{"source_refs":291,"status":39},[97],{"aliases":293,"binding":299,"id":301,"kind":93,"label":302,"provenance":303},[294,296,297],{"namespace":82,"value":295},"21",{"namespace":85,"value":295},{"namespace":85,"value":298},"021",{"device":300,"group":91},21,"switch.upper-wire-rollover","Upper Wire Rollover",{"source_refs":304,"status":39},[97],{"aliases":306,"binding":312,"id":314,"kind":93,"label":315,"provenance":316},[307,309,310],{"namespace":82,"value":308},"22",{"namespace":85,"value":308},{"namespace":85,"value":311},"022",{"device":313,"group":91},22,"switch.upper-drop-target-3","Upper Drop Target 3",{"source_refs":317,"status":39},[97],{"aliases":319,"binding":325,"id":327,"kind":93,"label":328,"provenance":329},[320,322,323],{"namespace":82,"value":321},"23",{"namespace":85,"value":321},{"namespace":85,"value":324},"023",{"device":326,"group":91},23,"switch.upper-standup-target-3","Upper Standup Target 3",{"source_refs":330,"status":39},[97],{"aliases":332,"binding":338,"id":339,"kind":93,"label":340,"provenance":341},[333,335,336],{"namespace":82,"value":334},"24",{"namespace":85,"value":334},{"namespace":85,"value":337},"024",{"device":5,"group":91},"switch.kicking-target-3","Kicking Target 3",{"source_refs":342,"status":39},[97],{"aliases":344,"binding":350,"id":352,"kind":93,"label":353,"provenance":354},[345,347,348],{"namespace":82,"value":346},"25",{"namespace":85,"value":346},{"namespace":85,"value":349},"025",{"device":351,"group":91},25,"switch.kicking-target-4","Kicking Target 4",{"source_refs":355,"status":39},[97],{"aliases":357,"binding":363,"id":365,"kind":93,"label":366,"provenance":367},[358,360,361],{"namespace":82,"value":359},"26",{"namespace":85,"value":359},{"namespace":85,"value":362},"026",{"device":364,"group":91},26,"switch.lower-through-lane-3","Lower Through Lane 3",{"source_refs":368,"status":39},[97],{"aliases":370,"binding":376,"id":378,"kind":93,"label":379,"provenance":380},[371,373,374],{"namespace":82,"value":372},"30",{"namespace":85,"value":372},{"namespace":85,"value":375},"030",{"device":377,"group":91},30,"switch.lower-drop-target-4","Lower Drop Target 4",{"source_refs":381,"status":39},[97],{"aliases":383,"binding":389,"id":391,"kind":93,"label":392,"provenance":393},[384,386,387],{"namespace":82,"value":385},"31",{"namespace":85,"value":385},{"namespace":85,"value":388},"031",{"device":390,"group":91},31,"switch.basement-kicker","Basement Kicker",{"source_refs":394,"status":39},[97],{"aliases":396,"binding":402,"id":404,"kind":93,"label":405,"provenance":406},[397,399,400],{"namespace":82,"value":398},"32",{"namespace":85,"value":398},{"namespace":85,"value":401},"032",{"device":403,"group":91},32,"switch.upper-drop-target-4","Upper Drop Target 4",{"source_refs":407,"status":39},[97],{"aliases":409,"binding":415,"id":417,"kind":93,"label":418,"provenance":419},[410,412,413],{"namespace":82,"value":411},"33",{"namespace":85,"value":411},{"namespace":85,"value":414},"033",{"device":416,"group":91},33,"switch.upper-standup-target-4","Upper Standup Target 4",{"source_refs":420,"status":39},[97],{"aliases":422,"binding":428,"id":430,"kind":93,"label":431,"provenance":432},[423,425,426],{"namespace":82,"value":424},"34",{"namespace":85,"value":424},{"namespace":85,"value":427},"034",{"device":429,"group":91},34,"switch.main-playfield-rollover","Main Playfield Rollover",{"source_refs":433,"status":39},[97],{"aliases":435,"binding":441,"id":443,"kind":93,"label":444,"provenance":445},[436,438,439],{"namespace":82,"value":437},"35",{"namespace":85,"value":437},{"namespace":85,"value":440},"035",{"device":442,"group":91},35,"switch.main-playfield-gate","Main Playfield Gate",{"source_refs":446,"status":39},[97],{"aliases":448,"binding":454,"id":456,"kind":93,"label":457,"provenance":458},[449,451,452],{"namespace":82,"value":450},"36",{"namespace":85,"value":450},{"namespace":85,"value":453},"036",{"device":455,"group":91},36,"switch.lower-through-lane-4","Lower Through Lane 4",{"source_refs":459,"status":39},[97],{"aliases":461,"binding":467,"id":469,"kind":93,"label":470,"provenance":471},[462,464,465],{"namespace":82,"value":463},"40",{"namespace":85,"value":463},{"namespace":85,"value":466},"040",{"device":468,"group":91},40,"switch.lower-drop-target-5","Lower Drop Target 5",{"source_refs":472,"status":39},[97],{"aliases":474,"binding":480,"id":482,"kind":93,"label":483,"provenance":484},[475,477,478],{"namespace":82,"value":476},"41",{"namespace":85,"value":476},{"namespace":85,"value":479},"041",{"device":481,"group":91},41,"switch.basement-special-kicker","Basement Special Kicker",{"source_refs":485,"status":39},[97],{"aliases":487,"binding":493,"id":495,"kind":93,"label":496,"provenance":497},[488,490,491],{"namespace":82,"value":489},"42",{"namespace":85,"value":489},{"namespace":85,"value":492},"042",{"device":494,"group":91},42,"switch.upper-scoring-rubber","Upper Scoring Rubber",{"source_refs":498,"status":39},[97],{"aliases":500,"binding":506,"id":508,"kind":93,"label":509,"provenance":510},[501,503,504],{"namespace":82,"value":502},"43",{"namespace":85,"value":502},{"namespace":85,"value":505},"043",{"device":507,"group":91},43,"switch.upper-pop-bumper","Upper Pop Bumper",{"source_refs":511,"status":39},[97],{"aliases":513,"binding":519,"id":521,"kind":93,"label":522,"provenance":523},[514,516,517],{"namespace":82,"value":515},"44",{"namespace":85,"value":515},{"namespace":85,"value":518},"044",{"device":520,"group":91},44,"switch.main-pop-bumpers","Main Pop Bumpers",{"source_refs":524,"status":39},[97],{"aliases":526,"binding":532,"id":534,"kind":93,"label":535,"provenance":536},[527,529,530],{"namespace":82,"value":528},"45",{"namespace":85,"value":528},{"namespace":85,"value":531},"045",{"device":533,"group":91},45,"switch.main-playfield-kicker","Main Playfield Kicker",{"source_refs":537,"status":39},[97],{"aliases":539,"binding":545,"id":547,"kind":93,"label":548,"provenance":549},[540,542,543],{"namespace":82,"value":541},"46",{"namespace":85,"value":541},{"namespace":85,"value":544},"046",{"device":546,"group":91},46,"switch.main-playfield-saucer-ball-start","Main Playfield Saucer \u002F Ball Start",{"source_refs":550,"status":39},[97],{"aliases":552,"binding":558,"id":560,"kind":93,"label":561,"provenance":562},[553,555,556],{"namespace":82,"value":554},"50",{"namespace":85,"value":554},{"namespace":85,"value":557},"050",{"device":559,"group":91},50,"switch.lower-standup-target-1","Lower Standup Target 1",{"source_refs":563,"status":39},[97],{"aliases":565,"binding":571,"id":573,"kind":93,"label":574,"provenance":575},[566,568,569],{"namespace":82,"value":567},"51",{"namespace":85,"value":567},{"namespace":85,"value":570},"051",{"device":572,"group":91},51,"switch.lower-slingshot","Lower Slingshot",{"source_refs":576,"status":39},[97],{"aliases":578,"binding":584,"id":586,"kind":93,"label":587,"provenance":588},[579,581,582],{"namespace":82,"value":580},"54",{"namespace":85,"value":580},{"namespace":85,"value":583},"054",{"device":585,"group":91},54,"switch.main-playfield-lane","Main Playfield Lane",{"source_refs":589,"status":39},[97],{"aliases":591,"binding":597,"id":599,"kind":93,"label":600,"provenance":601},[592,594,595],{"namespace":82,"value":593},"55",{"namespace":85,"value":593},{"namespace":85,"value":596},"055",{"device":598,"group":91},55,"switch.main-standup-target-3","Main Standup Target 3",{"source_refs":602,"status":39},[97],{"aliases":604,"binding":610,"id":612,"kind":93,"label":613,"provenance":614},[605,607,608],{"namespace":82,"value":606},"57",{"namespace":85,"value":606},{"namespace":85,"value":609},"057",{"device":611,"group":91},57,"switch.tilt","Tilt",{"source_refs":615,"status":39},[97],{"aliases":617,"binding":623,"id":625,"kind":93,"label":626,"provenance":627},[618,620,621],{"namespace":82,"value":619},"60",{"namespace":85,"value":619},{"namespace":85,"value":622},"060",{"device":624,"group":91},60,"switch.lower-standup-target-2","Lower Standup Target 2",{"source_refs":628,"status":39},[97],{"aliases":630,"binding":636,"id":638,"kind":93,"label":639,"provenance":640},[631,633,634],{"namespace":82,"value":632},"64",{"namespace":85,"value":632},{"namespace":85,"value":635},"064",{"device":637,"group":91},64,"switch.upper-playfield-gate","Upper Playfield Gate",{"source_refs":641,"status":39},[97],{"aliases":643,"binding":649,"id":651,"kind":93,"label":652,"provenance":653},[644,646,647],{"namespace":82,"value":645},"65",{"namespace":85,"value":645},{"namespace":85,"value":648},"065",{"device":650,"group":91},65,"switch.shooter-lane-auto-plunger","Shooter Lane \u002F Auto Plunger",{"source_refs":654,"status":39},[97],{"aliases":656,"binding":662,"id":664,"kind":93,"label":665,"provenance":666},[657,659,660],{"namespace":82,"value":658},"66",{"namespace":85,"value":658},{"namespace":85,"value":661},"066",{"device":663,"group":91},66,"switch.upper-slingshot-main-scoring-rubber","Upper Slingshot \u002F Main Scoring Rubber",{"source_refs":667,"status":39},[97],{"aliases":669,"binding":675,"id":677,"kind":93,"label":678,"provenance":679},[670,672,673],{"namespace":82,"value":671},"67",{"namespace":85,"value":671},{"namespace":85,"value":674},"067",{"device":676,"group":91},67,"switch.trough","Trough",{"source_refs":680,"status":39},[97],{"path":682,"status":23},"knowledge\u002Fgottlieb\u002Fhaunted-house-1982.md",{"id":684,"ipdb_id":685,"manufacturer":48,"name":686,"year":687},"gottlieb.haunted-house.1982",1133,"Haunted House",1982,[],[690,705,716,730,741,751,761,771,785,797,809,818,827,836,846,855,864,873,885,897,909,918,927,936,945,954,963,972,984,996,1008,1017,1026,1035,1044,1053,1062,1074,1083,1097,1108,1119,1130,1141,1156,1166,1176,1188],{"aliases":691,"binding":698,"id":700,"kind":701,"label":702,"provenance":703},[692,694,696,697],{"namespace":693,"value":116},"pinmame.lamp",{"namespace":695,"value":116},"vpe-legacy.lamp",{"namespace":695,"value":119},{"namespace":695,"value":121},{"device":123,"group":699},"pinmame.output.lamp","lamp.upper-playfield-insert","lamp","Upper Playfield Insert",{"source_refs":704,"status":39},[97],{"aliases":706,"binding":711,"id":712,"kind":701,"label":713,"provenance":714},[707,708,709,710],{"namespace":693,"value":131},{"namespace":695,"value":131},{"namespace":695,"value":134},{"namespace":695,"value":136},{"device":138,"group":699},"lamp.main-playfield-insert","Main Playfield Insert",{"source_refs":715,"status":39},[97],{"aliases":717,"binding":725,"id":727,"kind":701,"label":713,"provenance":728},[718,720,721,723],{"namespace":693,"value":719},"8",{"namespace":695,"value":719},{"namespace":695,"value":722},"08",{"namespace":695,"value":724},"008",{"device":726,"group":699},8,"lamp.main-playfield-insert.8",{"source_refs":729,"status":39},[97],{"aliases":731,"binding":735,"id":736,"kind":737,"label":738,"provenance":739},[732,733,734],{"namespace":693,"value":217},{"namespace":695,"value":217},{"namespace":695,"value":220},{"device":222,"group":699},"device.basement-up-kick-sw31","coil","Basement Up Kick (sw31)",{"source_refs":740,"status":39},[97],{"aliases":742,"binding":746,"id":747,"kind":737,"label":748,"provenance":749},[743,744,745],{"namespace":693,"value":230},{"namespace":695,"value":230},{"namespace":695,"value":233},{"device":235,"group":699},"device.lower-drop-targets-reset","Lower Drop Targets Reset",{"source_refs":750,"status":39},[97],{"aliases":752,"binding":756,"id":757,"kind":737,"label":758,"provenance":759},[753,754,755],{"namespace":693,"value":256},{"namespace":695,"value":256},{"namespace":695,"value":259},{"device":261,"group":699},"device.auto-plunger-kick-sw65","Auto Plunger Kick (sw65)",{"source_refs":760,"status":39},[97],{"aliases":762,"binding":766,"id":767,"kind":737,"label":768,"provenance":769},[763,764,765],{"namespace":693,"value":269},{"namespace":695,"value":269},{"namespace":695,"value":272},{"device":274,"group":699},"device.trap-door","Trap Door",{"source_refs":770,"status":39},[97],{"aliases":772,"binding":778,"id":780,"kind":781,"label":782,"provenance":783},[773,775,776],{"namespace":693,"value":774},"17",{"namespace":695,"value":774},{"namespace":695,"value":777},"017",{"device":779,"group":699},17,"device.gi-state-relay","relay","GI State Relay",{"source_refs":784,"status":39},[97],{"aliases":786,"binding":792,"id":794,"kind":701,"label":713,"provenance":795},[787,789,790],{"namespace":693,"value":788},"18",{"namespace":695,"value":788},{"namespace":695,"value":791},"018",{"device":793,"group":699},18,"lamp.main-playfield-insert.18",{"source_refs":796,"status":39},[97],{"aliases":798,"binding":804,"id":806,"kind":701,"label":713,"provenance":807},[799,801,802],{"namespace":693,"value":800},"19",{"namespace":695,"value":800},{"namespace":695,"value":803},"019",{"device":805,"group":699},19,"lamp.main-playfield-insert.19",{"source_refs":808,"status":39},[97],{"aliases":810,"binding":814,"id":815,"kind":701,"label":713,"provenance":816},[811,812,813],{"namespace":693,"value":282},{"namespace":695,"value":282},{"namespace":695,"value":285},{"device":287,"group":699},"lamp.main-playfield-insert.20",{"source_refs":817,"status":39},[97],{"aliases":819,"binding":823,"id":824,"kind":701,"label":702,"provenance":825},[820,821,822],{"namespace":693,"value":295},{"namespace":695,"value":295},{"namespace":695,"value":298},{"device":300,"group":699},"lamp.upper-playfield-insert.21",{"source_refs":826,"status":39},[97],{"aliases":828,"binding":832,"id":833,"kind":701,"label":713,"provenance":834},[829,830,831],{"namespace":693,"value":308},{"namespace":695,"value":308},{"namespace":695,"value":311},{"device":313,"group":699},"lamp.main-playfield-insert.22",{"source_refs":835,"status":39},[97],{"aliases":837,"binding":841,"id":842,"kind":701,"label":843,"provenance":844},[838,839,840],{"namespace":693,"value":321},{"namespace":695,"value":321},{"namespace":695,"value":324},{"device":326,"group":699},"lamp.lower-playfield-insert","Lower Playfield Insert",{"source_refs":845,"status":39},[97],{"aliases":847,"binding":851,"id":852,"kind":701,"label":843,"provenance":853},[848,849,850],{"namespace":693,"value":334},{"namespace":695,"value":334},{"namespace":695,"value":337},{"device":5,"group":699},"lamp.lower-playfield-insert.24",{"source_refs":854,"status":39},[97],{"aliases":856,"binding":860,"id":861,"kind":701,"label":843,"provenance":862},[857,858,859],{"namespace":693,"value":346},{"namespace":695,"value":346},{"namespace":695,"value":349},{"device":351,"group":699},"lamp.lower-playfield-insert.25",{"source_refs":863,"status":39},[97],{"aliases":865,"binding":869,"id":870,"kind":701,"label":843,"provenance":871},[866,867,868],{"namespace":693,"value":359},{"namespace":695,"value":359},{"namespace":695,"value":362},{"device":364,"group":699},"lamp.lower-playfield-insert.26",{"source_refs":872,"status":39},[97],{"aliases":874,"binding":880,"id":882,"kind":701,"label":713,"provenance":883},[875,877,878],{"namespace":693,"value":876},"27",{"namespace":695,"value":876},{"namespace":695,"value":879},"027",{"device":881,"group":699},27,"lamp.main-playfield-insert.27",{"source_refs":884,"status":39},[97],{"aliases":886,"binding":892,"id":894,"kind":701,"label":713,"provenance":895},[887,889,890],{"namespace":693,"value":888},"28",{"namespace":695,"value":888},{"namespace":695,"value":891},"028",{"device":893,"group":699},28,"lamp.main-playfield-insert.28",{"source_refs":896,"status":39},[97],{"aliases":898,"binding":904,"id":906,"kind":701,"label":713,"provenance":907},[899,901,902],{"namespace":693,"value":900},"29",{"namespace":695,"value":900},{"namespace":695,"value":903},"029",{"device":905,"group":699},29,"lamp.main-playfield-insert.29",{"source_refs":908,"status":39},[97],{"aliases":910,"binding":914,"id":915,"kind":701,"label":713,"provenance":916},[911,912,913],{"namespace":693,"value":372},{"namespace":695,"value":372},{"namespace":695,"value":375},{"device":377,"group":699},"lamp.main-playfield-insert.30",{"source_refs":917,"status":39},[97],{"aliases":919,"binding":923,"id":924,"kind":701,"label":713,"provenance":925},[920,921,922],{"namespace":693,"value":385},{"namespace":695,"value":385},{"namespace":695,"value":388},{"device":390,"group":699},"lamp.main-playfield-insert.31",{"source_refs":926,"status":39},[97],{"aliases":928,"binding":932,"id":933,"kind":701,"label":713,"provenance":934},[929,930,931],{"namespace":693,"value":398},{"namespace":695,"value":398},{"namespace":695,"value":401},{"device":403,"group":699},"lamp.main-playfield-insert.32",{"source_refs":935,"status":39},[97],{"aliases":937,"binding":941,"id":942,"kind":701,"label":713,"provenance":943},[938,939,940],{"namespace":693,"value":411},{"namespace":695,"value":411},{"namespace":695,"value":414},{"device":416,"group":699},"lamp.main-playfield-insert.33",{"source_refs":944,"status":39},[97],{"aliases":946,"binding":950,"id":951,"kind":701,"label":713,"provenance":952},[947,948,949],{"namespace":693,"value":424},{"namespace":695,"value":424},{"namespace":695,"value":427},{"device":429,"group":699},"lamp.main-playfield-insert.34",{"source_refs":953,"status":39},[97],{"aliases":955,"binding":959,"id":960,"kind":701,"label":713,"provenance":961},[956,957,958],{"namespace":693,"value":437},{"namespace":695,"value":437},{"namespace":695,"value":440},{"device":442,"group":699},"lamp.main-playfield-insert.35",{"source_refs":962,"status":39},[97],{"aliases":964,"binding":968,"id":969,"kind":701,"label":713,"provenance":970},[965,966,967],{"namespace":693,"value":450},{"namespace":695,"value":450},{"namespace":695,"value":453},{"device":455,"group":699},"lamp.main-playfield-insert.36",{"source_refs":971,"status":39},[97],{"aliases":973,"binding":979,"id":981,"kind":701,"label":713,"provenance":982},[974,976,977],{"namespace":693,"value":975},"37",{"namespace":695,"value":975},{"namespace":695,"value":978},"037",{"device":980,"group":699},37,"lamp.main-playfield-insert.37",{"source_refs":983,"status":39},[97],{"aliases":985,"binding":991,"id":993,"kind":701,"label":713,"provenance":994},[986,988,989],{"namespace":693,"value":987},"38",{"namespace":695,"value":987},{"namespace":695,"value":990},"038",{"device":992,"group":699},38,"lamp.main-playfield-insert.38",{"source_refs":995,"status":39},[97],{"aliases":997,"binding":1003,"id":1005,"kind":701,"label":713,"provenance":1006},[998,1000,1001],{"namespace":693,"value":999},"39",{"namespace":695,"value":999},{"namespace":695,"value":1002},"039",{"device":1004,"group":699},39,"lamp.main-playfield-insert.39",{"source_refs":1007,"status":39},[97],{"aliases":1009,"binding":1013,"id":1014,"kind":701,"label":702,"provenance":1015},[1010,1011,1012],{"namespace":693,"value":463},{"namespace":695,"value":463},{"namespace":695,"value":466},{"device":468,"group":699},"lamp.upper-playfield-insert.40",{"source_refs":1016,"status":39},[97],{"aliases":1018,"binding":1022,"id":1023,"kind":701,"label":702,"provenance":1024},[1019,1020,1021],{"namespace":693,"value":476},{"namespace":695,"value":476},{"namespace":695,"value":479},{"device":481,"group":699},"lamp.upper-playfield-insert.41",{"source_refs":1025,"status":39},[97],{"aliases":1027,"binding":1031,"id":1032,"kind":701,"label":702,"provenance":1033},[1028,1029,1030],{"namespace":693,"value":489},{"namespace":695,"value":489},{"namespace":695,"value":492},{"device":494,"group":699},"lamp.upper-playfield-insert.42",{"source_refs":1034,"status":39},[97],{"aliases":1036,"binding":1040,"id":1041,"kind":701,"label":702,"provenance":1042},[1037,1038,1039],{"namespace":693,"value":515},{"namespace":695,"value":515},{"namespace":695,"value":518},{"device":520,"group":699},"lamp.upper-playfield-insert.44",{"source_refs":1043,"status":39},[97],{"aliases":1045,"binding":1049,"id":1050,"kind":701,"label":843,"provenance":1051},[1046,1047,1048],{"namespace":693,"value":528},{"namespace":695,"value":528},{"namespace":695,"value":531},{"device":533,"group":699},"lamp.lower-playfield-insert.45",{"source_refs":1052,"status":39},[97],{"aliases":1054,"binding":1058,"id":1059,"kind":701,"label":713,"provenance":1060},[1055,1056,1057],{"namespace":693,"value":541},{"namespace":695,"value":541},{"namespace":695,"value":544},{"device":546,"group":699},"lamp.main-playfield-insert.46",{"source_refs":1061,"status":39},[97],{"aliases":1063,"binding":1069,"id":1071,"kind":701,"label":713,"provenance":1072},[1064,1066,1067],{"namespace":693,"value":1065},"47",{"namespace":695,"value":1065},{"namespace":695,"value":1068},"047",{"device":1070,"group":699},47,"lamp.main-playfield-insert.47",{"source_refs":1073,"status":39},[97],{"aliases":1075,"binding":1079,"id":1080,"kind":701,"label":713,"provenance":1081},[1076,1077,1078],{"namespace":693,"value":567},{"namespace":695,"value":567},{"namespace":695,"value":570},{"device":572,"group":699},"lamp.main-playfield-insert.51",{"source_refs":1082,"status":39},[97],{"aliases":1084,"binding":1091,"id":1093,"kind":737,"label":1094,"provenance":1095},[1085,1087,1089,1090],{"namespace":1086,"value":101},"pinmame.coil",{"namespace":1088,"value":101},"vpe-legacy.coil",{"namespace":1088,"value":104},{"namespace":1088,"value":106},{"device":108,"group":1092},"pinmame.output.solenoid","device.saucer-kick-sw46","Saucer Kick (sw46)",{"source_refs":1096,"status":39},[97],{"aliases":1098,"binding":1103,"id":1104,"kind":737,"label":1105,"provenance":1106},[1099,1100,1101,1102],{"namespace":1086,"value":116},{"namespace":1088,"value":116},{"namespace":1088,"value":119},{"namespace":1088,"value":121},{"device":123,"group":1092},"device.up-kick-sw45","Up Kick (sw45)",{"source_refs":1107,"status":39},[97],{"aliases":1109,"binding":1114,"id":1115,"kind":737,"label":1116,"provenance":1117},[1110,1111,1112,1113],{"namespace":1086,"value":161},{"namespace":1088,"value":161},{"namespace":1088,"value":164},{"namespace":1088,"value":166},{"device":168,"group":1092},"device.upper-drop-targets-reset","Upper Drop Targets Reset",{"source_refs":1118,"status":39},[97],{"aliases":1120,"binding":1125,"id":1126,"kind":737,"label":1127,"provenance":1128},[1121,1122,1123,1124],{"namespace":1086,"value":176},{"namespace":1088,"value":176},{"namespace":1088,"value":179},{"namespace":1088,"value":181},{"device":183,"group":1092},"device.basement-special-kick-sw41","Basement Special Kick (sw41)",{"source_refs":1129,"status":39},[97],{"aliases":1131,"binding":1136,"id":1137,"kind":737,"label":1138,"provenance":1139},[1132,1133,1134,1135],{"namespace":1086,"value":719},{"namespace":1088,"value":719},{"namespace":1088,"value":722},{"namespace":1088,"value":724},{"device":726,"group":1092},"device.knocker","Knocker",{"source_refs":1140,"status":39},[97],{"aliases":1142,"binding":1150,"id":1152,"kind":737,"label":1153,"provenance":1154},[1143,1145,1146,1148],{"namespace":1086,"value":1144},"9",{"namespace":1088,"value":1144},{"namespace":1088,"value":1147},"09",{"namespace":1088,"value":1149},"009",{"device":1151,"group":1092},9,"device.ball-release-trough-kick","Ball Release \u002F Trough Kick",{"source_refs":1155,"status":39},[97],{"aliases":1157,"binding":1161,"id":1162,"kind":737,"label":1163,"provenance":1164},[1158,1159,1160],{"namespace":1086,"value":191},{"namespace":1088,"value":191},{"namespace":1088,"value":194},{"device":196,"group":1092},"device.game-over-relay","Game Over Relay",{"source_refs":1165,"status":39},[97],{"aliases":1167,"binding":1171,"id":1172,"kind":781,"label":1173,"provenance":1174},[1168,1169,1170],{"namespace":1086,"value":204},{"namespace":1088,"value":204},{"namespace":1088,"value":207},{"device":209,"group":1092},"device.gi-relay","GI Relay",{"source_refs":1175,"status":39},[97],{"aliases":1177,"binding":1183,"id":1184,"kind":737,"label":1185,"provenance":1186},[1178,1179,1180,1181],{"namespace":1086,"value":541},{"namespace":1088,"value":541},{"namespace":1088,"value":544},{"namespace":1088,"value":1182},"c_flipper_lower_right",{"device":546,"group":1092},"device.flipper-lower-right","Right Flipper (Main)",{"source_refs":1187,"status":39},[97],{"aliases":1189,"binding":1197,"id":1199,"kind":737,"label":1200,"provenance":1201},[1190,1192,1193,1195],{"namespace":1086,"value":1191},"48",{"namespace":1088,"value":1191},{"namespace":1088,"value":1194},"048",{"namespace":1088,"value":1196},"c_flipper_lower_left",{"device":1198,"group":1092},48,"device.flipper-lower-left","Left Flipper (Main)",{"source_refs":1202,"status":39},[97],[],[1205,1211],{"attribution":1206,"id":97,"kind":1207,"locator":1208,"revision":1209,"uri":1210},"pinmame-game-defs contributors","legacy_json","games\u002Fhauntedhouse.json; origin=vbscript-parser","4ea106d080728648a693af3b4dcabb091eee0a02","https:\u002F\u002Fgithub.com\u002Fvpinball\u002Fpinmame-game-defs",{"attribution":1212,"id":1213,"kind":1214,"license":1215,"locator":1216,"revision":1217,"uri":1218},"PinMAME contributors","pinmame.catalog.4ec52ff0ac13","pinmame_catalog","BSD-3-Clause","PinmameGetGames","4ec52ff0ac133ac251681518aed2249e19fe26eb","https:\u002F\u002Fgithub.com\u002Fvpinball\u002Fpinmame","gottlieb-haunted-house-1982","machines\u002Fpartial\u002Fgottlieb\u002Fhaunted-house-1982.json","\u003Ch2 id=\"overview\">Overview\u003C\u002Fh2>\n\u003Cp>Legacy evidence identifies this candidate as Gottlieb (1982). The information below is preserved for recreation work but is not automatically treated as validated physical-machine fact.\u003C\u002Fp>\n\u003Ch2 id=\"playfield-devices\">Playfield devices\u003C\u002Fh2>\n\u003Cp>Switch, lamp\u002FGI, and controlled-device candidates are in the adjacent machine definition. Source-specific implementation notes are retained below.\u003C\u002Fp>\n\u003Ch2 id=\"custom-mechanisms\">Custom mechanisms\u003C\u002Fh2>\n\u003Cp>No custom mechanism conclusion has been validated. Manuals, schematics, PinMAME source, and gameplay evidence still need to be checked.\u003C\u002Fp>\n\u003Ch2 id=\"ball-state-transitions\">Ball-state transitions\u003C\u002Fh2>\n\u003Cp>Ball paths, trough ordering, locks, kickouts, and causal transitions have not yet been normalized. Relevant source notes follow under Evidence notes.\u003C\u002Fp>\n\u003Ch2 id=\"controller-interactions\">Controller interactions\u003C\u002Fh2>\n\u003Cp>Controller callbacks and bindings are candidate evidence only until reconciled against PinMAME and physical documentation.\u003C\u002Fp>\n\u003Ch2 id=\"service-and-setup-information\">Service and setup information\u003C\u002Fh2>\n\u003Cp>Unknown; locate operator\u002Fservice documentation.\u003C\u002Fp>\n\u003Ch2 id=\"timing-and-tuning-observations\">Timing and tuning observations\u003C\u002Fh2>\n\u003Cp>Source timing values may describe a particular VPX implementation rather than physical hardware and require review.\u003C\u002Fp>\n\u003Ch2 id=\"recreation-guidance\">Recreation guidance\u003C\u002Fh2>\n\u003Cp>Do not treat this partial definition as a complete authoring specification. Resolve every coverage requirement and conflict before promotion.\u003C\u002Fp>\n\u003Ch2 id=\"evidence-notes\">Evidence notes\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F0._inferred_type\u003C\u002Fcode>: drop_target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F0._note\u003C\u002Fcode>: Lower\u002Fbasement playfield drop target bank\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F1._inferred_type\u003C\u002Fcode>: bumper\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F1._note\u003C\u002Fcode>: Bumper4 (LPF) — pulsed via vpmTimer.PulseSw(1)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F2._inferred_type\u003C\u002Fcode>: drop_target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F2._note\u003C\u002Fcode>: Upper drop target bank (UPF)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F3._inferred_type\u003C\u002Fcode>: standup_target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F3._note\u003C\u002Fcode>: Upper playfield standup\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F4._note\u003C\u002Fcode>: Switch — Controller.Switch set\u002Funset on hit\u002Funhit\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F5._inferred_type\u003C\u002Fcode>: standup_target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F5._note\u003C\u002Fcode>: Main playfield standup\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F6._note\u003C\u002Fcode>: Lower playfield through-lane switch (LPF)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F7._inferred_type\u003C\u002Fcode>: drop_target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F7._note\u003C\u002Fcode>: Lower\u002Fbasement drop target bank\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F8._inferred_type\u003C\u002Fcode>: kicking_target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F8._note\u003C\u002Fcode>: Main playfield kicking target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F9._inferred_type\u003C\u002Fcode>: drop_target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F9._note\u003C\u002Fcode>: Upper drop target bank (UPF)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F10._inferred_type\u003C\u002Fcode>: standup_target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F10._note\u003C\u002Fcode>: Upper playfield standup\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F11._inferred_type\u003C\u002Fcode>: kicking_target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F11._note\u003C\u002Fcode>: Main playfield kicking target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F12._inferred_type\u003C\u002Fcode>: standup_target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F12._note\u003C\u002Fcode>: Main playfield standup\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F13._note\u003C\u002Fcode>: Lower playfield through-lane switch (LPF)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F14._inferred_type\u003C\u002Fcode>: drop_target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F14._note\u003C\u002Fcode>: Lower\u002Fbasement drop target bank\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F15._note\u003C\u002Fcode>: Switch — Controller.Switch set\u002Funset on hit\u002Funhit (UPF)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F16._inferred_type\u003C\u002Fcode>: drop_target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F16._note\u003C\u002Fcode>: Upper drop target bank (UPF)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F17._inferred_type\u003C\u002Fcode>: standup_target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F17._note\u003C\u002Fcode>: Upper playfield standup\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F18._inferred_type\u003C\u002Fcode>: kicking_target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F18._note\u003C\u002Fcode>: Main playfield kicking target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F19._inferred_type\u003C\u002Fcode>: kicking_target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F19._note\u003C\u002Fcode>: Main playfield kicking target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F20._note\u003C\u002Fcode>: Lower playfield through-lane switch (LPF)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F21._inferred_type\u003C\u002Fcode>: drop_target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F21._note\u003C\u002Fcode>: Lower\u002Fbasement drop target bank\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F22._inferred_type\u003C\u002Fcode>: kicker\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F22._note\u003C\u002Fcode>: Basement up-kick saucer — kicks ball back up to main playfield. Activated via LampCallback on Controller.Lamp(12)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F23._inferred_type\u003C\u002Fcode>: drop_target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F23._note\u003C\u002Fcode>: Upper drop target bank (UPF)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F24._inferred_type\u003C\u002Fcode>: standup_target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F24._note\u003C\u002Fcode>: Upper playfield standup\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F25._note\u003C\u002Fcode>: Switch — Controller.Switch set\u002Funset on hit\u002Funhit (MPF)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F26._note\u003C\u002Fcode>: Gate switch (MPF) — also controls Gate4 damping animation\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F27._note\u003C\u002Fcode>: Lower playfield through-lane switch (LPF)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F28._inferred_type\u003C\u002Fcode>: drop_target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F28._note\u003C\u002Fcode>: Lower\u002Fbasement drop target bank\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F29._inferred_type\u003C\u002Fcode>: kicker\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F29._note\u003C\u002Fcode>: Basement special saucer — kicked by solenoid 6 (BS callback)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F30._inferred_type\u003C\u002Fcode>: rubber\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F30._note\u003C\u002Fcode>: Upper playfield scoring rubber — sw42a and sw42b both pulse sw42. Also sw42b_Hit.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F31._inferred_type\u003C\u002Fcode>: bumper\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F31._note\u003C\u002Fcode>: Bumper3 (UPF) — pulsed via vpmTimer.PulseSw(43)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F32._inferred_type\u003C\u002Fcode>: bumper\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F32._note\u003C\u002Fcode>: Bumper1 (bottom) and Bumper2 (top) on MPF — both pulse sw44\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F33._inferred_type\u003C\u002Fcode>: kicker\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F33._note\u003C\u002Fcode>: Main playfield saucer — kicked by solenoid 2 (UpKick callback)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F34._inferred_type\u003C\u002Fcode>: kicker\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F34._note\u003C\u002Fcode>: Main playfield saucer — kicked by solenoid 1 (Kick46 callback). Ball starts here at init. Multi-step kick animation with TWKicker1 prim.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F35._inferred_type\u003C\u002Fcode>: standup_target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F35._note\u003C\u002Fcode>: Lower\u002Fbasement playfield standup\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F36._inferred_type\u003C\u002Fcode>: slingshot\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F36._note\u003C\u002Fcode>: Lower playfield slingshot — pulsed via vpmTimer.PulseSw(51). Also scoring rubber sw51a\u002Fsw51b pulse sw51.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F37._note\u003C\u002Fcode>: Switch — Controller.Switch set\u002Funset on hit\u002Funhit (MPF)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F38._inferred_type\u003C\u002Fcode>: standup_target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F38._note\u003C\u002Fcode>: Main playfield standup\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F39._note\u003C\u002Fcode>: Tilt switch — vpmNudge.TiltSwitch = 57\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F40._inferred_type\u003C\u002Fcode>: standup_target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F40._note\u003C\u002Fcode>: Lower\u002Fbasement playfield standup\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F41._note\u003C\u002Fcode>: Gate switch (UPF) — also controls Gate3 damping animation\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F42._note\u003C\u002Fcode>: Impulse plunger switch — used by plungerIM (cvpmImpulseP). Kicked by lamp 15 via LampCallback.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F43._inferred_type\u003C\u002Fcode>: slingshot\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F43._note\u003C\u002Fcode>: Upper playfield slingshot — pulsed via vpmTimer.PulseSw(66). Also sw66b_hit pulses sw66 (main scoring rubber).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fswitches\u002F44._note\u003C\u002Fcode>: Single-ball trough kicker. Ball release via solenoid 9 (KickBallToLane). Drain directs ball here.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fcoils\u002F0._vbscript_callback\u003C\u002Fcode>: Kick46\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fcoils\u002F0._inferred_type\u003C\u002Fcode>: kicker\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fcoils\u002F0._note\u003C\u002Fcode>: Kicks ball from sw46 saucer with multi-step animation (TWKicker1 prim). Ball start position.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fcoils\u002F1._vbscript_callback\u003C\u002Fcode>: UpKick\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fcoils\u002F1._inferred_type\u003C\u002Fcode>: kicker\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fcoils\u002F1._note\u003C\u002Fcode>: Kicks ball from sw45 saucer on main playfield\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fcoils\u002F2._vbscript_callback\u003C\u002Fcode>: UpperDropsUp\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fcoils\u002F2._inferred_type\u003C\u002Fcode>: drop_target_reset\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fcoils\u002F2._note\u003C\u002Fcode>: Raises all four upper drop targets (sw2, sw12, sw22, sw32)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fcoils\u002F3._vbscript_callback\u003C\u002Fcode>: BS\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fcoils\u002F3._inferred_type\u003C\u002Fcode>: kicker\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fcoils\u002F3._note\u003C\u002Fcode>: Kicks ball from sw41 basement special saucer\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fcoils\u002F4._vbscript_callback\u003C\u002Fcode>: PlayKnocker\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fcoils\u002F4._inferred_type\u003C\u002Fcode>: knocker\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fcoils\u002F5._vbscript_callback\u003C\u002Fcode>: KickBallToLane\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fcoils\u002F5._inferred_type\u003C\u002Fcode>: ball_management\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fcoils\u002F5._note\u003C\u002Fcode>: Kicks ball from Kicker1 (sw67 trough) to shooter lane\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fcoils\u002F6._vbscript_callback\u003C\u002Fcode>: GameOver\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fcoils\u002F6._inferred_type\u003C\u002Fcode>: game_on\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fcoils\u002F6._note\u003C\u002Fcode>: Sets GameInPlay flag — controls whether upper\u002Flower flippers can activate\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fcoils\u002F7._vbscript_callback\u003C\u002Fcode>: SolGi\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fcoils\u002F7._inferred_type\u003C\u002Fcode>: gi_relay\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fcoils\u002F7._note\u003C\u002Fcode>: Controls GI relay sound effect only — actual GI switching done via Controller.Lamp(17) in LampCallback\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fcoils\u002F8._vbscript_callback\u003C\u002Fcode>: SolRFlipper\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fcoils\u002F8._inferred_type\u003C\u002Fcode>: flipper\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fcoils\u002F8._note\u003C\u002Fcode>: Main right flipper (RightFlipper\u002FRightFlipper2). Also cascades to SolRUFlipper when FlipperKeyMod=2.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fcoils\u002F9._vbscript_callback\u003C\u002Fcode>: SolLFlipper\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fcoils\u002F9._inferred_type\u003C\u002Fcode>: flipper\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fcoils\u002F9._note\u003C\u002Fcode>: Main left flipper (LeftFlipper\u002FLeftFlipper2). Also cascades to SolLUFlipper when FlipperKeyMod=2.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F0._playfield\u003C\u002Fcode>: UPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F1._playfield\u003C\u002Fcode>: MPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F2._playfield\u003C\u002Fcode>: MPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F2._note\u003C\u002Fcode>: Near sw55 standup target area and upper slingshot\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F3._playfield\u003C\u002Fcode>: MPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F3._note\u003C\u002Fcode>: Near secret target area and lower left region\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F4._playfield\u003C\u002Fcode>: MPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F5._playfield\u003C\u002Fcode>: MPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F6._playfield\u003C\u002Fcode>: UPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F6._note\u003C\u002Fcode>: Near upper rubber\u002Fsling area\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F7._playfield\u003C\u002Fcode>: MPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F8._playfield\u003C\u002Fcode>: LPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F8._note\u003C\u002Fcode>: Positioned in Backdrop_Init for desktop mode\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F9._playfield\u003C\u002Fcode>: LPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F9._note\u003C\u002Fcode>: Positioned in Backdrop_Init for desktop mode\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F10._playfield\u003C\u002Fcode>: LPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F10._note\u003C\u002Fcode>: Near sw60 standup target. Positioned in Backdrop_Init.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F11._playfield\u003C\u002Fcode>: LPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F11._note\u003C\u002Fcode>: Positioned in Backdrop_Init for desktop mode\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F12._playfield\u003C\u002Fcode>: MPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F13._playfield\u003C\u002Fcode>: MPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F14._playfield\u003C\u002Fcode>: MPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F15._playfield\u003C\u002Fcode>: MPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F15._note\u003C\u002Fcode>: Near sw20\u002Fsw30 lower drop target area\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F16._playfield\u003C\u002Fcode>: MPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F17._playfield\u003C\u002Fcode>: MPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F18._playfield\u003C\u002Fcode>: MPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F19._playfield\u003C\u002Fcode>: MPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F20._playfield\u003C\u002Fcode>: MPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F20._note\u003C\u002Fcode>: Near lower left\u002Fright flipper area and secret target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F21._playfield\u003C\u002Fcode>: MPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F22._playfield\u003C\u002Fcode>: MPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F23._playfield\u003C\u002Fcode>: MPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F24._playfield\u003C\u002Fcode>: MPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F24._note\u003C\u002Fcode>: Near upper slingshot area\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F25._playfield\u003C\u002Fcode>: UPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F25._note\u003C\u002Fcode>: Near sw13 standup target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F26._playfield\u003C\u002Fcode>: UPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F26._note\u003C\u002Fcode>: Near sw13\u002Fsw23\u002Fsw33 standup targets\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F27._playfield\u003C\u002Fcode>: UPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F27._note\u003C\u002Fcode>: Near sw33 standup target\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F28._playfield\u003C\u002Fcode>: UPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F29._playfield\u003C\u002Fcode>: LPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F29._note\u003C\u002Fcode>: Positioned in Backdrop_Init for desktop mode\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F30._playfield\u003C\u002Fcode>: MPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F30._note\u003C\u002Fcode>: Near sw34 rollover area\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F31._playfield\u003C\u002Fcode>: MPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F31._note\u003C\u002Fcode>: Near trap door and Gate3 area\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F32._playfield\u003C\u002Fcode>: MPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamps\u002F32._note\u003C\u002Fcode>: Near sw05\u002Fsw15 standup target area and lower right flipper region\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fgi\u002F0\u003C\u002Fcode>: Unbound legacy outputs record \u003Ccode>giUL1\u003C\u002Fcode> was retained as a migration note only.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fgi\u002F0._playfield\u003C\u002Fcode>: UPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fgi\u002F0._note\u003C\u002Fcode>: Part of GIUpper array — controlled by GI relay state\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fgi\u002F1\u003C\u002Fcode>: Unbound legacy outputs record \u003Ccode>giUL2\u003C\u002Fcode> was retained as a migration note only.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fgi\u002F1._playfield\u003C\u002Fcode>: UPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fgi\u002F1._note\u003C\u002Fcode>: Part of GIUpper array — listed as &#39;gUL2&#39; in VLM (typo)\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fgi\u002F2\u003C\u002Fcode>: Unbound legacy outputs record \u003Ccode>giUL3\u003C\u002Fcode> was retained as a migration note only.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fgi\u002F2._playfield\u003C\u002Fcode>: UPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fgi\u002F3\u003C\u002Fcode>: Unbound legacy outputs record \u003Ccode>giUL4\u003C\u002Fcode> was retained as a migration note only.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fgi\u002F3._playfield\u003C\u002Fcode>: UPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fgi\u002F4\u003C\u002Fcode>: Unbound legacy outputs record \u003Ccode>giUL5\u003C\u002Fcode> was retained as a migration note only.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fgi\u002F4._playfield\u003C\u002Fcode>: UPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fgi\u002F5\u003C\u002Fcode>: Unbound legacy outputs record \u003Ccode>giUL6\u003C\u002Fcode> was retained as a migration note only.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fgi\u002F5._playfield\u003C\u002Fcode>: UPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fgi\u002F6\u003C\u002Fcode>: Unbound legacy outputs record \u003Ccode>giML1\u003C\u002Fcode> was retained as a migration note only.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fgi\u002F6._playfield\u003C\u002Fcode>: MPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fgi\u002F6._note\u003C\u002Fcode>: Part of GIMain array — controlled by GI relay state\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fgi\u002F7\u003C\u002Fcode>: Unbound legacy outputs record \u003Ccode>giML2\u003C\u002Fcode> was retained as a migration note only.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fgi\u002F7._playfield\u003C\u002Fcode>: MPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fgi\u002F8\u003C\u002Fcode>: Unbound legacy outputs record \u003Ccode>giML3\u003C\u002Fcode> was retained as a migration note only.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fgi\u002F8._playfield\u003C\u002Fcode>: MPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fgi\u002F9\u003C\u002Fcode>: Unbound legacy outputs record \u003Ccode>giML4\u003C\u002Fcode> was retained as a migration note only.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fgi\u002F9._playfield\u003C\u002Fcode>: MPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fgi\u002F10\u003C\u002Fcode>: Unbound legacy outputs record \u003Ccode>giML5\u003C\u002Fcode> was retained as a migration note only.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fgi\u002F10._playfield\u003C\u002Fcode>: MPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fgi\u002F11\u003C\u002Fcode>: Unbound legacy outputs record \u003Ccode>giML6\u003C\u002Fcode> was retained as a migration note only.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fgi\u002F11._playfield\u003C\u002Fcode>: MPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fgi\u002F12\u003C\u002Fcode>: Unbound legacy outputs record \u003Ccode>giLL1\u003C\u002Fcode> was retained as a migration note only.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fgi\u002F12._playfield\u003C\u002Fcode>: LPF\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Fgi\u002F12._note\u003C\u002Fcode>: Part of GILower array — only GI string for basement. ON when GI relay on (Lamp 17 = 1), OFF when relay off.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamp_coils\u002F0._inferred_type\u003C\u002Fcode>: kicker\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamp_coils\u002F0._note\u003C\u002Fcode>: Lamp used as coil via LampCallback. When Controller.Lamp(12) turns on, kicks ball from sw31 basement saucer.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamp_coils\u002F1._inferred_type\u003C\u002Fcode>: drop_target_reset\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamp_coils\u002F1._note\u003C\u002Fcode>: Lamp used as coil via LampCallback. When Controller.Lamp(13) turns on, raises all five lower drop targets (sw0, sw10, sw20, sw30, sw40).\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamp_coils\u002F2._inferred_type\u003C\u002Fcode>: kicker\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamp_coils\u002F2._note\u003C\u002Fcode>: Lamp used as coil via LampCallback. When Controller.Lamp(15) turns on, fires plungerIM (cvpmImpulseP) auto-fire.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamp_coils\u002F3._inferred_type\u003C\u002Fcode>: trap_door\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamp_coils\u002F3._note\u003C\u002Fcode>: Lamp used as coil via LampCallback. On = opens trap door (TrapDoorR not collidable), Off = closes trap door. Animated with TrapDoorTimer.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamp_coils\u002F4._inferred_type\u003C\u002Fcode>: gi_relay\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002Flamp_coils\u002F4._note\u003C\u002Fcode>: Lamp used as coil via LampCallback. On = SolGIOn (lower PF lit, upper+main off). Off = SolGIOff (upper+main lit, lower off). Also gates upper\u002Flower flipper activation.\u003C\u002Fli>\n\u003Cli>\u003Ccode>games\u002Fhauntedhouse.json#\u002F_source\u002Fconfidence_notes\u003C\u002Fcode>: High confidence on switches\u002Fcoils from SolCallback and Controller.Switch handlers. Uses sys80.VBS (Gottlieb System 80). Three-playfield design (Upper, Main, Lower\u002FBasement) — unique architecture for 1982. Lamp numbers inferred from VLM insert array naming (LM_inserts_{playfield}_l{N}) and Backdrop_Init light object names. Lamps 12\u002F13\u002F15\u002F16\u002F17 are used as coil outputs via LampCallback (lamp-as-solenoid pattern common on System 80). No cvpmTrough — single-ball physical trough with Kicker1 (sw67). Ball starts in sw46 kicker (main playfield saucer) at init. Upper flippers (FlipperUL\u002FFlipperUR) and basement flippers (FlipperLL\u002FFlipperLR) are controlled via MagnaSave keys, not via separate SolCallbacks — they are VBS-only, activated when Controller.Lamp(17) is on (GI state). GI relay (sol 11) controls which playfield is lit: off = upper+main lit, on = lower\u002Fbasement lit. UseSolenoids=2 (modulated), UseLamps=1, UseGI=0.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"unresolved-questions\">Unresolved questions\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>Is the I\u002FO enumeration complete for every supported physical\u002Fcontroller variant?\u003C\u002Fli>\n\u003Cli>Which inferred VPX behaviors reflect real hardware, and which are table-script conveniences?\u003C\u002Fli>\n\u003Cli>Are all mechanism home states, sensors, motion constraints, and ball interactions documented?\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"sources\">Sources\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Ccode>legacy.game.hauntedhouse\u003C\u002Fcode>: \u003Ccode>games\u002Fhauntedhouse.json\u003C\u002Fcode> at the pinned migration revision.\u003C\u002Fli>\n\u003C\u002Ful>\n",[1223,1226,1229,1232,1235,1238,1241,1244,1247,1250,1253],{"id":1224,"text":1225},"overview","Overview",{"id":1227,"text":1228},"playfield-devices","Playfield devices",{"id":1230,"text":1231},"custom-mechanisms","Custom mechanisms",{"id":1233,"text":1234},"ball-state-transitions","Ball-state transitions",{"id":1236,"text":1237},"controller-interactions","Controller interactions",{"id":1239,"text":1240},"service-and-setup-information","Service and setup information",{"id":1242,"text":1243},"timing-and-tuning-observations","Timing and tuning observations",{"id":1245,"text":1246},"recreation-guidance","Recreation guidance",{"id":1248,"text":1249},"evidence-notes","Evidence notes",{"id":1251,"text":1252},"unresolved-questions","Unresolved questions",{"id":1254,"text":1255},"sources","Sources",[1257],{"label":1258,"value":1259},"Coverage","partial - source-derived recreation knowledge requiring validation",[1261,1263,1264,1265,1266,1267,1268,1269,1270],{"clone_of":45,"coverage_status":23,"definition":1220,"definition_sha256":1262,"description":46,"flags":4,"id":47,"machine_id":684,"manufacturer":48,"root_driver":47,"year":49},"a2438c8f885d481bfc3ad3763ff88d0d59b7c18dd9b1ee310f3dcc90fe39fd48",{"clone_of":47,"coverage_status":23,"definition":1220,"definition_sha256":1262,"description":51,"flags":4,"id":52,"machine_id":684,"manufacturer":53,"root_driver":47,"year":54},{"clone_of":47,"coverage_status":23,"definition":1220,"definition_sha256":1262,"description":56,"flags":4,"id":57,"machine_id":684,"manufacturer":48,"root_driver":47,"year":49},{"clone_of":47,"coverage_status":23,"definition":1220,"definition_sha256":1262,"description":59,"flags":4,"id":60,"machine_id":684,"manufacturer":61,"root_driver":47,"year":49},{"clone_of":47,"coverage_status":23,"definition":1220,"definition_sha256":1262,"description":63,"flags":4,"id":64,"machine_id":684,"manufacturer":61,"root_driver":47,"year":49},{"clone_of":47,"coverage_status":23,"definition":1220,"definition_sha256":1262,"description":66,"flags":4,"id":67,"machine_id":684,"manufacturer":61,"root_driver":47,"year":49},{"clone_of":47,"coverage_status":23,"definition":1220,"definition_sha256":1262,"description":69,"flags":4,"id":70,"machine_id":684,"manufacturer":61,"root_driver":47,"year":49},{"clone_of":47,"coverage_status":23,"definition":1220,"definition_sha256":1262,"description":72,"flags":4,"id":73,"machine_id":684,"manufacturer":61,"root_driver":47,"year":49},{"clone_of":47,"coverage_status":23,"definition":1220,"definition_sha256":1262,"description":75,"flags":4,"id":76,"machine_id":684,"manufacturer":61,"root_driver":47,"year":49},[],null,{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1274},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m9 18l6-6l-6-6\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1276},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cellipse cx=\"12\" cy=\"5\" rx=\"9\" ry=\"3\"\u002F>\u003Cpath d=\"M3 5v14a9 3 0 0 0 18 0V5\"\u002F>\u003Cpath d=\"M3 12a9 3 0 0 0 18 0\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1278,"hidden":12},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4\"\u002F>\u003Cpath d=\"M14 2v4a2 2 0 0 0 2 2h4M4 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1a1 1 0 0 1 1 1v1a1 1 0 0 0 1 1m4 0a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1a1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1280},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\"\u002F>\u003Cpath d=\"m9 12l2 2l4-4\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1282},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"9\" cy=\"12\" r=\"3\"\u002F>\u003Crect width=\"20\" height=\"14\" x=\"2\" y=\"5\" rx=\"7\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1284},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15.914 4a1.5 1.5 0 0 0-2.474-1.561l-9 9A1.5 1.5 0 0 0 5.5 14h4.002a.5.5 0 0 1 .471.666L8.086 20a1.5 1.5 0 0 0 2.475 1.56l9-9A1.5 1.5 0 0 0 18.5 10h-3.997a.5.5 0 0 1-.472-.667z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1286},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cpath d=\"M6 12c0-1.7.7-3.2 1.8-4.2\"\u002F>\u003Ccircle cx=\"12\" cy=\"12\" r=\"2\"\u002F>\u003Cpath d=\"M18 12c0 1.7-.7 3.2-1.8 4.2\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1288},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"8\" height=\"18\" x=\"3\" y=\"3\" rx=\"1\"\u002F>\u003Cpath d=\"M7 3v18m13.4-2.1c.2.5-.1 1.1-.6 1.3l-1.9.7c-.5.2-1.1-.1-1.3-.6L11.1 5.1c-.2-.5.1-1.1.6-1.3l1.9-.7c.5-.2 1.1.1 1.3.6Z\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1290},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6l-2.3 2.3a2.4 2.4 0 0 0 0 3.4ZM2 22l3-3m2.5-5.5L10 11m.5 5.5L13 14m5-11l-4 4h6l-4 4\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1292},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M7 7h10v10M7 17L17 7\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1294},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cpath d=\"M12 16v-4m0-4h.01\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1296},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m6 9l6 6l6-6\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1298},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"20\" height=\"5\" x=\"2\" y=\"3\" rx=\"1\"\u002F>\u003Cpath d=\"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8m-10 4h4\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1300,"hidden":12},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4\"\u002F>\u003Cpath d=\"M14 2v4a2 2 0 0 0 2 2h4M5 12l-3 3l3 3m4 0l3-3l-3-3\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1302},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M3 5h.01M3 12h.01M3 19h.01M8 5h13M8 12h13M8 19h13\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1304},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15 3h6v6m-11 5L21 3m-3 10v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1306},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4M2 6h4m-4 4h4m-4 4h4m-4 4h4\"\u002F>\u003Cpath d=\"M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":1308},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2zm-10-2h.01M12 7v4\"\u002F>",1785881382461]