{"D:\\jsdoc-tsd\\src\\core\\jsdoc-tsd-parser.ts":{"path":"D:\\jsdoc-tsd\\src\\core\\jsdoc-tsd-parser.ts","statementMap":{"0":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"1":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"2":{"start":{"line":3,"column":26},"end":{"line":3,"column":33}},"3":{"start":{"line":4,"column":15},"end":{"line":4,"column":52}},"4":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":68}},"6":{"start":{"line":6,"column":51},"end":{"line":6,"column":63}},"7":{"start":{"line":8,"column":4},"end":{"line":8,"column":39}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"9":{"start":{"line":10,"column":26},"end":{"line":10,"column":33}},"10":{"start":{"line":11,"column":4},"end":{"line":11,"column":17}},"11":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"12":{"start":{"line":14,"column":4},"end":{"line":14,"column":72}},"13":{"start":{"line":16,"column":4},"end":{"line":16,"column":21}},"14":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"15":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"16":{"start":{"line":19,"column":31},"end":{"line":19,"column":42}},"17":{"start":{"line":20,"column":17},"end":{"line":20,"column":19}},"18":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"19":{"start":{"line":21,"column":21},"end":{"line":21,"column":141}},"20":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"21":{"start":{"line":21,"column":109},"end":{"line":21,"column":141}},"22":{"start":{"line":22,"column":4},"end":{"line":22,"column":36}},"23":{"start":{"line":23,"column":4},"end":{"line":23,"column":18}},"24":{"start":{"line":25,"column":15},"end":{"line":35,"column":1}},"25":{"start":{"line":26,"column":12},"end":{"line":26,"column":59}},"26":{"start":{"line":26,"column":65},"end":{"line":26,"column":74}},"27":{"start":{"line":26,"column":80},"end":{"line":26,"column":81}},"28":{"start":{"line":27,"column":4},"end":{"line":27,"column":28}},"29":{"start":{"line":27,"column":11},"end":{"line":27,"column":28}},"30":{"start":{"line":28,"column":4},"end":{"line":33,"column":6}},"31":{"start":{"line":28,"column":43},"end":{"line":33,"column":6}},"32":{"start":{"line":30,"column":12},"end":{"line":30,"column":47}},"33":{"start":{"line":30,"column":36},"end":{"line":30,"column":47}},"34":{"start":{"line":31,"column":12},"end":{"line":31,"column":52}},"35":{"start":{"line":34,"column":4},"end":{"line":34,"column":91}},"36":{"start":{"line":36,"column":13},"end":{"line":51,"column":1}},"37":{"start":{"line":37,"column":12},"end":{"line":37,"column":62}},"38":{"start":{"line":38,"column":4},"end":{"line":38,"column":21}},"39":{"start":{"line":38,"column":12},"end":{"line":38,"column":21}},"40":{"start":{"line":39,"column":12},"end":{"line":39,"column":21}},"41":{"start":{"line":39,"column":31},"end":{"line":39,"column":33}},"42":{"start":{"line":40,"column":4},"end":{"line":49,"column":5}},"43":{"start":{"line":41,"column":8},"end":{"line":41,"column":83}},"44":{"start":{"line":41,"column":66},"end":{"line":41,"column":83}},"45":{"start":{"line":43,"column":20},"end":{"line":43,"column":41}},"46":{"start":{"line":45,"column":8},"end":{"line":48,"column":41}},"47":{"start":{"line":46,"column":12},"end":{"line":46,"column":61}},"48":{"start":{"line":46,"column":51},"end":{"line":46,"column":61}},"49":{"start":{"line":48,"column":18},"end":{"line":48,"column":39}},"50":{"start":{"line":48,"column":25},"end":{"line":48,"column":39}},"51":{"start":{"line":50,"column":4},"end":{"line":50,"column":14}},"52":{"start":{"line":52,"column":20},"end":{"line":60,"column":1}},"53":{"start":{"line":53,"column":4},"end":{"line":58,"column":5}},"54":{"start":{"line":53,"column":40},"end":{"line":58,"column":5}},"55":{"start":{"line":53,"column":53},"end":{"line":53,"column":54}},"56":{"start":{"line":53,"column":60},"end":{"line":53,"column":71}},"57":{"start":{"line":54,"column":8},"end":{"line":57,"column":9}},"58":{"start":{"line":55,"column":12},"end":{"line":55,"column":65}},"59":{"start":{"line":55,"column":21},"end":{"line":55,"column":65}},"60":{"start":{"line":56,"column":12},"end":{"line":56,"column":28}},"61":{"start":{"line":59,"column":4},"end":{"line":59,"column":61}},"62":{"start":{"line":61,"column":0},"end":{"line":61,"column":62}},"63":{"start":{"line":62,"column":0},"end":{"line":62,"column":32}},"64":{"start":{"line":63,"column":23},"end":{"line":63,"column":48}},"65":{"start":{"line":64,"column":10},"end":{"line":64,"column":42}},"66":{"start":{"line":65,"column":16},"end":{"line":65,"column":34}},"67":{"start":{"line":66,"column":11},"end":{"line":66,"column":24}},"68":{"start":{"line":67,"column":22},"end":{"line":67,"column":48}},"69":{"start":{"line":68,"column":15},"end":{"line":68,"column":34}},"70":{"start":{"line":69,"column":36},"end":{"line":1137,"column":3}},"71":{"start":{"line":71,"column":8},"end":{"line":71,"column":36}},"72":{"start":{"line":75,"column":8},"end":{"line":79,"column":10}},"73":{"start":{"line":80,"column":8},"end":{"line":80,"column":37}},"74":{"start":{"line":81,"column":8},"end":{"line":81,"column":29}},"75":{"start":{"line":82,"column":8},"end":{"line":82,"column":68}},"76":{"start":{"line":88,"column":4},"end":{"line":125,"column":6}},"77":{"start":{"line":90,"column":21},"end":{"line":90,"column":23}},"78":{"start":{"line":91,"column":22},"end":{"line":91,"column":56}},"79":{"start":{"line":92,"column":22},"end":{"line":106,"column":9}},"80":{"start":{"line":93,"column":12},"end":{"line":105,"column":13}},"81":{"start":{"line":94,"column":16},"end":{"line":94,"column":41}},"82":{"start":{"line":107,"column":21},"end":{"line":107,"column":25}},"83":{"start":{"line":108,"column":8},"end":{"line":120,"column":9}},"84":{"start":{"line":109,"column":12},"end":{"line":112,"column":13}},"85":{"start":{"line":109,"column":26},"end":{"line":109,"column":53}},"86":{"start":{"line":109,"column":60},"end":{"line":109,"column":69}},"87":{"start":{"line":110,"column":25},"end":{"line":110,"column":44}},"88":{"start":{"line":110,"column":57},"end":{"line":110,"column":62}},"89":{"start":{"line":110,"column":71},"end":{"line":110,"column":76}},"90":{"start":{"line":111,"column":16},"end":{"line":111,"column":40}},"91":{"start":{"line":114,"column":24},"end":{"line":114,"column":47}},"92":{"start":{"line":116,"column":12},"end":{"line":119,"column":49}},"93":{"start":{"line":117,"column":16},"end":{"line":117,"column":68}},"94":{"start":{"line":117,"column":56},"end":{"line":117,"column":68}},"95":{"start":{"line":119,"column":22},"end":{"line":119,"column":47}},"96":{"start":{"line":119,"column":31},"end":{"line":119,"column":47}},"97":{"start":{"line":121,"column":8},"end":{"line":123,"column":9}},"98":{"start":{"line":122,"column":12},"end":{"line":122,"column":56}},"99":{"start":{"line":124,"column":8},"end":{"line":124,"column":22}},"100":{"start":{"line":131,"column":4},"end":{"line":139,"column":6}},"101":{"start":{"line":132,"column":19},"end":{"line":132,"column":45}},"102":{"start":{"line":133,"column":8},"end":{"line":138,"column":9}},"103":{"start":{"line":134,"column":12},"end":{"line":134,"column":63}},"104":{"start":{"line":134,"column":43},"end":{"line":134,"column":59}},"105":{"start":{"line":137,"column":12},"end":{"line":137,"column":92}},"106":{"start":{"line":143,"column":4},"end":{"line":150,"column":6}},"107":{"start":{"line":144,"column":22},"end":{"line":144,"column":82}},"108":{"start":{"line":145,"column":25},"end":{"line":147,"column":10}},"109":{"start":{"line":146,"column":12},"end":{"line":146,"column":79}},"110":{"start":{"line":146,"column":58},"end":{"line":146,"column":74}},"111":{"start":{"line":149,"column":8},"end":{"line":149,"column":35}},"112":{"start":{"line":151,"column":4},"end":{"line":193,"column":6}},"113":{"start":{"line":153,"column":8},"end":{"line":153,"column":29}},"114":{"start":{"line":154,"column":8},"end":{"line":192,"column":9}},"115":{"start":{"line":155,"column":12},"end":{"line":184,"column":13}},"116":{"start":{"line":155,"column":36},"end":{"line":155,"column":56}},"117":{"start":{"line":155,"column":75},"end":{"line":155,"column":94}},"118":{"start":{"line":156,"column":27},"end":{"line":156,"column":47}},"119":{"start":{"line":160,"column":16},"end":{"line":183,"column":17}},"120":{"start":{"line":161,"column":38},"end":{"line":161,"column":79}},"121":{"start":{"line":162,"column":20},"end":{"line":164,"column":21}},"122":{"start":{"line":163,"column":24},"end":{"line":163,"column":51}},"123":{"start":{"line":165,"column":37},"end":{"line":165,"column":62}},"124":{"start":{"line":166,"column":20},"end":{"line":182,"column":21}},"125":{"start":{"line":167,"column":24},"end":{"line":170,"column":25}},"126":{"start":{"line":169,"column":28},"end":{"line":169,"column":91}},"127":{"start":{"line":171,"column":24},"end":{"line":173,"column":25}},"128":{"start":{"line":172,"column":28},"end":{"line":172,"column":63}},"129":{"start":{"line":174,"column":24},"end":{"line":174,"column":58}},"130":{"start":{"line":175,"column":24},"end":{"line":180,"column":27}},"131":{"start":{"line":181,"column":24},"end":{"line":181,"column":73}},"132":{"start":{"line":186,"column":24},"end":{"line":186,"column":47}},"133":{"start":{"line":188,"column":12},"end":{"line":191,"column":49}},"134":{"start":{"line":189,"column":16},"end":{"line":189,"column":112}},"135":{"start":{"line":189,"column":90},"end":{"line":189,"column":112}},"136":{"start":{"line":191,"column":22},"end":{"line":191,"column":47}},"137":{"start":{"line":191,"column":31},"end":{"line":191,"column":47}},"138":{"start":{"line":201,"column":4},"end":{"line":284,"column":6}},"139":{"start":{"line":203,"column":8},"end":{"line":283,"column":9}},"140":{"start":{"line":204,"column":12},"end":{"line":204,"column":38}},"141":{"start":{"line":207,"column":42},"end":{"line":207,"column":51}},"142":{"start":{"line":208,"column":12},"end":{"line":280,"column":13}},"143":{"start":{"line":209,"column":16},"end":{"line":272,"column":17}},"144":{"start":{"line":209,"column":30},"end":{"line":209,"column":65}},"145":{"start":{"line":209,"column":72},"end":{"line":209,"column":81}},"146":{"start":{"line":210,"column":38},"end":{"line":210,"column":46}},"147":{"start":{"line":211,"column":20},"end":{"line":271,"column":21}},"148":{"start":{"line":212,"column":24},"end":{"line":263,"column":25}},"149":{"start":{"line":212,"column":50},"end":{"line":212,"column":85}},"150":{"start":{"line":212,"column":106},"end":{"line":212,"column":126}},"151":{"start":{"line":213,"column":45},"end":{"line":213,"column":66}},"152":{"start":{"line":214,"column":28},"end":{"line":220,"column":29}},"153":{"start":{"line":215,"column":49},"end":{"line":215,"column":90}},"154":{"start":{"line":216,"column":32},"end":{"line":219,"column":33}},"155":{"start":{"line":217,"column":52},"end":{"line":217,"column":69}},"156":{"start":{"line":218,"column":36},"end":{"line":218,"column":68}},"157":{"start":{"line":221,"column":28},"end":{"line":262,"column":29}},"158":{"start":{"line":225,"column":49},"end":{"line":225,"column":114}},"159":{"start":{"line":226,"column":32},"end":{"line":255,"column":33}},"160":{"start":{"line":228,"column":50},"end":{"line":228,"column":67}},"161":{"start":{"line":229,"column":47},"end":{"line":229,"column":62}},"162":{"start":{"line":230,"column":36},"end":{"line":251,"column":37}},"163":{"start":{"line":232,"column":44},"end":{"line":232,"column":97}},"164":{"start":{"line":233,"column":44},"end":{"line":233,"column":50}},"165":{"start":{"line":235,"column":44},"end":{"line":235,"column":93}},"166":{"start":{"line":236,"column":44},"end":{"line":236,"column":50}},"167":{"start":{"line":238,"column":44},"end":{"line":238,"column":92}},"168":{"start":{"line":239,"column":44},"end":{"line":239,"column":50}},"169":{"start":{"line":241,"column":44},"end":{"line":241,"column":97}},"170":{"start":{"line":242,"column":44},"end":{"line":242,"column":50}},"171":{"start":{"line":244,"column":44},"end":{"line":244,"column":94}},"172":{"start":{"line":245,"column":44},"end":{"line":245,"column":50}},"173":{"start":{"line":254,"column":36},"end":{"line":254,"column":175}},"174":{"start":{"line":259,"column":32},"end":{"line":261,"column":33}},"175":{"start":{"line":260,"column":36},"end":{"line":260,"column":104}},"176":{"start":{"line":265,"column":36},"end":{"line":265,"column":59}},"177":{"start":{"line":267,"column":24},"end":{"line":270,"column":61}},"178":{"start":{"line":268,"column":28},"end":{"line":268,"column":128}},"179":{"start":{"line":268,"column":105},"end":{"line":268,"column":128}},"180":{"start":{"line":270,"column":34},"end":{"line":270,"column":59}},"181":{"start":{"line":270,"column":43},"end":{"line":270,"column":59}},"182":{"start":{"line":274,"column":28},"end":{"line":274,"column":51}},"183":{"start":{"line":276,"column":16},"end":{"line":279,"column":53}},"184":{"start":{"line":277,"column":20},"end":{"line":277,"column":72}},"185":{"start":{"line":277,"column":60},"end":{"line":277,"column":72}},"186":{"start":{"line":279,"column":26},"end":{"line":279,"column":51}},"187":{"start":{"line":279,"column":35},"end":{"line":279,"column":51}},"188":{"start":{"line":281,"column":12},"end":{"line":281,"column":57}},"189":{"start":{"line":282,"column":12},"end":{"line":282,"column":43}},"190":{"start":{"line":290,"column":4},"end":{"line":355,"column":6}},"191":{"start":{"line":292,"column":8},"end":{"line":292,"column":58}},"192":{"start":{"line":292,"column":37},"end":{"line":292,"column":56}},"193":{"start":{"line":293,"column":25},"end":{"line":307,"column":10}},"194":{"start":{"line":308,"column":29},"end":{"line":308,"column":31}},"195":{"start":{"line":309,"column":8},"end":{"line":353,"column":9}},"196":{"start":{"line":310,"column":33},"end":{"line":310,"column":69}},"197":{"start":{"line":311,"column":12},"end":{"line":352,"column":13}},"198":{"start":{"line":312,"column":36},"end":{"line":312,"column":53}},"199":{"start":{"line":315,"column":38},"end":{"line":315,"column":40}},"200":{"start":{"line":316,"column":16},"end":{"line":318,"column":17}},"201":{"start":{"line":317,"column":20},"end":{"line":317,"column":64}},"202":{"start":{"line":319,"column":16},"end":{"line":348,"column":17}},"203":{"start":{"line":321,"column":20},"end":{"line":340,"column":21}},"204":{"start":{"line":321,"column":34},"end":{"line":321,"column":62}},"205":{"start":{"line":321,"column":69},"end":{"line":321,"column":78}},"206":{"start":{"line":322,"column":41},"end":{"line":322,"column":49}},"207":{"start":{"line":323,"column":24},"end":{"line":339,"column":25}},"208":{"start":{"line":324,"column":28},"end":{"line":324,"column":69}},"209":{"start":{"line":325,"column":43},"end":{"line":325,"column":98}},"210":{"start":{"line":326,"column":28},"end":{"line":335,"column":29}},"211":{"start":{"line":330,"column":53},"end":{"line":330,"column":78}},"212":{"start":{"line":331,"column":32},"end":{"line":333,"column":33}},"213":{"start":{"line":332,"column":36},"end":{"line":332,"column":77}},"214":{"start":{"line":334,"column":32},"end":{"line":334,"column":118}},"215":{"start":{"line":337,"column":29},"end":{"line":339,"column":25}},"216":{"start":{"line":338,"column":28},"end":{"line":338,"column":93}},"217":{"start":{"line":342,"column":32},"end":{"line":342,"column":55}},"218":{"start":{"line":344,"column":20},"end":{"line":347,"column":57}},"219":{"start":{"line":345,"column":24},"end":{"line":345,"column":76}},"220":{"start":{"line":345,"column":64},"end":{"line":345,"column":76}},"221":{"start":{"line":347,"column":30},"end":{"line":347,"column":55}},"222":{"start":{"line":347,"column":39},"end":{"line":347,"column":55}},"223":{"start":{"line":349,"column":16},"end":{"line":351,"column":17}},"224":{"start":{"line":350,"column":20},"end":{"line":350,"column":94}},"225":{"start":{"line":354,"column":8},"end":{"line":354,"column":30}},"226":{"start":{"line":362,"column":4},"end":{"line":462,"column":6}},"227":{"start":{"line":363,"column":20},"end":{"line":363,"column":24}},"228":{"start":{"line":364,"column":24},"end":{"line":364,"column":26}},"229":{"start":{"line":367,"column":8},"end":{"line":460,"column":9}},"230":{"start":{"line":367,"column":21},"end":{"line":367,"column":22}},"231":{"start":{"line":368,"column":24},"end":{"line":368,"column":33}},"232":{"start":{"line":369,"column":35},"end":{"line":369,"column":62}},"233":{"start":{"line":370,"column":38},"end":{"line":370,"column":102}},"234":{"start":{"line":371,"column":29},"end":{"line":371,"column":52}},"235":{"start":{"line":372,"column":27},"end":{"line":372,"column":33}},"236":{"start":{"line":374,"column":12},"end":{"line":452,"column":13}},"237":{"start":{"line":377,"column":16},"end":{"line":377,"column":34}},"238":{"start":{"line":379,"column":16},"end":{"line":387,"column":18}},"239":{"start":{"line":388,"column":16},"end":{"line":388,"column":46}},"240":{"start":{"line":390,"column":17},"end":{"line":452,"column":13}},"241":{"start":{"line":392,"column":16},"end":{"line":395,"column":17}},"242":{"start":{"line":397,"column":27},"end":{"line":403,"column":17}},"243":{"start":{"line":404,"column":16},"end":{"line":404,"column":46}},"244":{"start":{"line":405,"column":16},"end":{"line":443,"column":17}},"245":{"start":{"line":407,"column":20},"end":{"line":410,"column":21}},"246":{"start":{"line":413,"column":47},"end":{"line":413,"column":116}},"247":{"start":{"line":414,"column":35},"end":{"line":414,"column":57}},"248":{"start":{"line":415,"column":20},"end":{"line":415,"column":119}},"249":{"start":{"line":416,"column":39},"end":{"line":416,"column":72}},"250":{"start":{"line":417,"column":20},"end":{"line":442,"column":21}},"251":{"start":{"line":418,"column":24},"end":{"line":423,"column":32}},"252":{"start":{"line":425,"column":44},"end":{"line":425,"column":50}},"253":{"start":{"line":426,"column":24},"end":{"line":431,"column":25}},"254":{"start":{"line":427,"column":28},"end":{"line":427,"column":75}},"255":{"start":{"line":430,"column":28},"end":{"line":430,"column":97}},"256":{"start":{"line":432,"column":24},"end":{"line":434,"column":25}},"257":{"start":{"line":433,"column":28},"end":{"line":433,"column":194}},"258":{"start":{"line":433,"column":137},"end":{"line":433,"column":180}},"259":{"start":{"line":435,"column":24},"end":{"line":435,"column":87}},"260":{"start":{"line":436,"column":24},"end":{"line":438,"column":25}},"261":{"start":{"line":437,"column":28},"end":{"line":437,"column":73}},"262":{"start":{"line":441,"column":24},"end":{"line":441,"column":140}},"263":{"start":{"line":445,"column":17},"end":{"line":452,"column":13}},"264":{"start":{"line":447,"column":16},"end":{"line":447,"column":111}},"265":{"start":{"line":451,"column":16},"end":{"line":451,"column":74}},"266":{"start":{"line":453,"column":12},"end":{"line":459,"column":13}},"267":{"start":{"line":454,"column":16},"end":{"line":456,"column":17}},"268":{"start":{"line":455,"column":20},"end":{"line":455,"column":65}},"269":{"start":{"line":457,"column":16},"end":{"line":457,"column":50}},"270":{"start":{"line":458,"column":16},"end":{"line":458,"column":41}},"271":{"start":{"line":461,"column":8},"end":{"line":461,"column":25}},"272":{"start":{"line":467,"column":4},"end":{"line":474,"column":6}},"273":{"start":{"line":468,"column":8},"end":{"line":473,"column":9}},"274":{"start":{"line":469,"column":12},"end":{"line":469,"column":101}},"275":{"start":{"line":472,"column":12},"end":{"line":472,"column":24}},"276":{"start":{"line":475,"column":4},"end":{"line":495,"column":6}},"277":{"start":{"line":476,"column":8},"end":{"line":478,"column":9}},"278":{"start":{"line":477,"column":12},"end":{"line":477,"column":19}},"279":{"start":{"line":479,"column":22},"end":{"line":479,"column":42}},"280":{"start":{"line":480,"column":21},"end":{"line":493,"column":45}},"281":{"start":{"line":482,"column":12},"end":{"line":491,"column":13}},"282":{"start":{"line":483,"column":32},"end":{"line":486,"column":18}},"283":{"start":{"line":484,"column":20},"end":{"line":485,"column":97}},"284":{"start":{"line":487,"column":16},"end":{"line":487,"column":53}},"285":{"start":{"line":490,"column":16},"end":{"line":490,"column":23}},"286":{"start":{"line":493,"column":33},"end":{"line":493,"column":42}},"287":{"start":{"line":494,"column":8},"end":{"line":494,"column":22}},"288":{"start":{"line":501,"column":4},"end":{"line":514,"column":6}},"289":{"start":{"line":504,"column":25},"end":{"line":504,"column":65}},"290":{"start":{"line":505,"column":8},"end":{"line":512,"column":9}},"291":{"start":{"line":506,"column":12},"end":{"line":511,"column":13}},"292":{"start":{"line":507,"column":16},"end":{"line":507,"column":44}},"293":{"start":{"line":509,"column":17},"end":{"line":511,"column":13}},"294":{"start":{"line":510,"column":16},"end":{"line":510,"column":182}},"295":{"start":{"line":513,"column":8},"end":{"line":513,"column":20}},"296":{"start":{"line":515,"column":4},"end":{"line":549,"column":6}},"297":{"start":{"line":517,"column":8},"end":{"line":519,"column":9}},"298":{"start":{"line":518,"column":12},"end":{"line":518,"column":40}},"299":{"start":{"line":520,"column":28},"end":{"line":520,"column":30}},"300":{"start":{"line":521,"column":8},"end":{"line":547,"column":9}},"301":{"start":{"line":522,"column":12},"end":{"line":539,"column":13}},"302":{"start":{"line":522,"column":26},"end":{"line":522,"column":61}},"303":{"start":{"line":522,"column":68},"end":{"line":522,"column":77}},"304":{"start":{"line":523,"column":28},"end":{"line":523,"column":36}},"305":{"start":{"line":524,"column":16},"end":{"line":538,"column":17}},"306":{"start":{"line":525,"column":20},"end":{"line":530,"column":21}},"307":{"start":{"line":525,"column":40},"end":{"line":525,"column":69}},"308":{"start":{"line":525,"column":84},"end":{"line":525,"column":98}},"309":{"start":{"line":526,"column":35},"end":{"line":526,"column":50}},"310":{"start":{"line":527,"column":24},"end":{"line":529,"column":25}},"311":{"start":{"line":528,"column":28},"end":{"line":528,"column":53}},"312":{"start":{"line":532,"column":32},"end":{"line":532,"column":55}},"313":{"start":{"line":534,"column":20},"end":{"line":537,"column":57}},"314":{"start":{"line":535,"column":24},"end":{"line":535,"column":100}},"315":{"start":{"line":535,"column":83},"end":{"line":535,"column":100}},"316":{"start":{"line":537,"column":30},"end":{"line":537,"column":55}},"317":{"start":{"line":537,"column":39},"end":{"line":537,"column":55}},"318":{"start":{"line":541,"column":24},"end":{"line":541,"column":47}},"319":{"start":{"line":543,"column":12},"end":{"line":546,"column":49}},"320":{"start":{"line":544,"column":16},"end":{"line":544,"column":68}},"321":{"start":{"line":544,"column":56},"end":{"line":544,"column":68}},"322":{"start":{"line":546,"column":22},"end":{"line":546,"column":47}},"323":{"start":{"line":546,"column":31},"end":{"line":546,"column":47}},"324":{"start":{"line":548,"column":8},"end":{"line":548,"column":52}},"325":{"start":{"line":554,"column":4},"end":{"line":571,"column":6}},"326":{"start":{"line":556,"column":8},"end":{"line":569,"column":9}},"327":{"start":{"line":557,"column":12},"end":{"line":564,"column":13}},"328":{"start":{"line":558,"column":16},"end":{"line":558,"column":103}},"329":{"start":{"line":562,"column":16},"end":{"line":562,"column":124}},"330":{"start":{"line":563,"column":16},"end":{"line":563,"column":51}},"331":{"start":{"line":568,"column":12},"end":{"line":568,"column":48}},"332":{"start":{"line":570,"column":8},"end":{"line":570,"column":35}},"333":{"start":{"line":575,"column":4},"end":{"line":591,"column":6}},"334":{"start":{"line":576,"column":8},"end":{"line":576,"column":46}},"335":{"start":{"line":577,"column":8},"end":{"line":577,"column":55}},"336":{"start":{"line":578,"column":8},"end":{"line":582,"column":24}},"337":{"start":{"line":583,"column":8},"end":{"line":583,"column":91}},"338":{"start":{"line":584,"column":8},"end":{"line":584,"column":96}},"339":{"start":{"line":585,"column":8},"end":{"line":585,"column":97}},"340":{"start":{"line":586,"column":8},"end":{"line":586,"column":105}},"341":{"start":{"line":587,"column":19},"end":{"line":587,"column":22}},"342":{"start":{"line":588,"column":8},"end":{"line":590,"column":9}},"343":{"start":{"line":589,"column":12},"end":{"line":589,"column":54}},"344":{"start":{"line":595,"column":4},"end":{"line":624,"column":6}},"345":{"start":{"line":597,"column":8},"end":{"line":623,"column":9}},"346":{"start":{"line":598,"column":12},"end":{"line":616,"column":13}},"347":{"start":{"line":599,"column":16},"end":{"line":608,"column":17}},"348":{"start":{"line":599,"column":30},"end":{"line":599,"column":51}},"349":{"start":{"line":599,"column":58},"end":{"line":599,"column":67}},"350":{"start":{"line":600,"column":30},"end":{"line":600,"column":38}},"351":{"start":{"line":601,"column":20},"end":{"line":607,"column":21}},"352":{"start":{"line":603,"column":28},"end":{"line":605,"column":29}},"353":{"start":{"line":604,"column":32},"end":{"line":604,"column":93}},"354":{"start":{"line":606,"column":28},"end":{"line":606,"column":34}},"355":{"start":{"line":610,"column":28},"end":{"line":610,"column":51}},"356":{"start":{"line":612,"column":16},"end":{"line":615,"column":53}},"357":{"start":{"line":613,"column":20},"end":{"line":613,"column":72}},"358":{"start":{"line":613,"column":60},"end":{"line":613,"column":72}},"359":{"start":{"line":615,"column":26},"end":{"line":615,"column":51}},"360":{"start":{"line":615,"column":35},"end":{"line":615,"column":51}},"361":{"start":{"line":618,"column":13},"end":{"line":623,"column":9}},"362":{"start":{"line":619,"column":26},"end":{"line":619,"column":78}},"363":{"start":{"line":620,"column":12},"end":{"line":622,"column":13}},"364":{"start":{"line":621,"column":16},"end":{"line":621,"column":78}},"365":{"start":{"line":625,"column":4},"end":{"line":642,"column":6}},"366":{"start":{"line":627,"column":23},"end":{"line":627,"column":25}},"367":{"start":{"line":628,"column":8},"end":{"line":640,"column":9}},"368":{"start":{"line":629,"column":12},"end":{"line":632,"column":13}},"369":{"start":{"line":629,"column":31},"end":{"line":629,"column":46}},"370":{"start":{"line":629,"column":60},"end":{"line":629,"column":74}},"371":{"start":{"line":630,"column":27},"end":{"line":630,"column":42}},"372":{"start":{"line":631,"column":16},"end":{"line":631,"column":69}},"373":{"start":{"line":634,"column":24},"end":{"line":634,"column":47}},"374":{"start":{"line":636,"column":12},"end":{"line":639,"column":49}},"375":{"start":{"line":637,"column":16},"end":{"line":637,"column":92}},"376":{"start":{"line":637,"column":75},"end":{"line":637,"column":92}},"377":{"start":{"line":639,"column":22},"end":{"line":639,"column":47}},"378":{"start":{"line":639,"column":31},"end":{"line":639,"column":47}},"379":{"start":{"line":641,"column":8},"end":{"line":641,"column":42}},"380":{"start":{"line":643,"column":4},"end":{"line":693,"column":6}},"381":{"start":{"line":646,"column":25},"end":{"line":646,"column":37}},"382":{"start":{"line":647,"column":8},"end":{"line":649,"column":9}},"383":{"start":{"line":648,"column":12},"end":{"line":648,"column":32}},"384":{"start":{"line":650,"column":8},"end":{"line":661,"column":9}},"385":{"start":{"line":651,"column":12},"end":{"line":657,"column":13}},"386":{"start":{"line":652,"column":28},"end":{"line":652,"column":76}},"387":{"start":{"line":653,"column":16},"end":{"line":653,"column":61}},"388":{"start":{"line":656,"column":16},"end":{"line":656,"column":81}},"389":{"start":{"line":658,"column":12},"end":{"line":660,"column":13}},"390":{"start":{"line":659,"column":16},"end":{"line":659,"column":57}},"391":{"start":{"line":662,"column":8},"end":{"line":681,"column":9}},"392":{"start":{"line":665,"column":35},"end":{"line":665,"column":83}},"393":{"start":{"line":666,"column":12},"end":{"line":680,"column":13}},"394":{"start":{"line":667,"column":38},"end":{"line":667,"column":57}},"395":{"start":{"line":668,"column":32},"end":{"line":668,"column":163}},"396":{"start":{"line":669,"column":16},"end":{"line":671,"column":49}},"397":{"start":{"line":673,"column":29},"end":{"line":673,"column":126}},"398":{"start":{"line":674,"column":16},"end":{"line":674,"column":64}},"399":{"start":{"line":677,"column":16},"end":{"line":677,"column":56}},"400":{"start":{"line":679,"column":16},"end":{"line":679,"column":73}},"401":{"start":{"line":682,"column":8},"end":{"line":691,"column":9}},"402":{"start":{"line":684,"column":36},"end":{"line":684,"column":88}},"403":{"start":{"line":685,"column":12},"end":{"line":690,"column":13}},"404":{"start":{"line":686,"column":16},"end":{"line":686,"column":111}},"405":{"start":{"line":689,"column":16},"end":{"line":689,"column":81}},"406":{"start":{"line":692,"column":8},"end":{"line":692,"column":26}},"407":{"start":{"line":694,"column":4},"end":{"line":738,"column":6}},"408":{"start":{"line":695,"column":28},"end":{"line":695,"column":30}},"409":{"start":{"line":696,"column":25},"end":{"line":696,"column":29}},"410":{"start":{"line":697,"column":8},"end":{"line":730,"column":9}},"411":{"start":{"line":698,"column":12},"end":{"line":698,"column":38}},"412":{"start":{"line":700,"column":13},"end":{"line":730,"column":9}},"413":{"start":{"line":701,"column":12},"end":{"line":701,"column":39}},"414":{"start":{"line":703,"column":13},"end":{"line":730,"column":9}},"415":{"start":{"line":704,"column":12},"end":{"line":704,"column":34}},"416":{"start":{"line":709,"column":38},"end":{"line":709,"column":82}},"417":{"start":{"line":710,"column":12},"end":{"line":717,"column":13}},"418":{"start":{"line":711,"column":33},"end":{"line":711,"column":55}},"419":{"start":{"line":712,"column":33},"end":{"line":712,"column":99}},"420":{"start":{"line":713,"column":16},"end":{"line":713,"column":43}},"421":{"start":{"line":714,"column":16},"end":{"line":716,"column":17}},"422":{"start":{"line":715,"column":20},"end":{"line":715,"column":60}},"423":{"start":{"line":719,"column":12},"end":{"line":722,"column":13}},"424":{"start":{"line":720,"column":16},"end":{"line":720,"column":66}},"425":{"start":{"line":721,"column":16},"end":{"line":721,"column":86}},"426":{"start":{"line":725,"column":39},"end":{"line":725,"column":82}},"427":{"start":{"line":726,"column":12},"end":{"line":729,"column":13}},"428":{"start":{"line":728,"column":16},"end":{"line":728,"column":176}},"429":{"start":{"line":731,"column":8},"end":{"line":733,"column":9}},"430":{"start":{"line":732,"column":12},"end":{"line":732,"column":57}},"431":{"start":{"line":734,"column":8},"end":{"line":736,"column":9}},"432":{"start":{"line":735,"column":12},"end":{"line":735,"column":39}},"433":{"start":{"line":737,"column":8},"end":{"line":737,"column":26}},"434":{"start":{"line":739,"column":4},"end":{"line":758,"column":6}},"435":{"start":{"line":740,"column":8},"end":{"line":743,"column":9}},"436":{"start":{"line":741,"column":12},"end":{"line":741,"column":56}},"437":{"start":{"line":742,"column":12},"end":{"line":742,"column":56}},"438":{"start":{"line":744,"column":8},"end":{"line":756,"column":9}},"439":{"start":{"line":746,"column":41},"end":{"line":746,"column":47}},"440":{"start":{"line":747,"column":12},"end":{"line":753,"column":13}},"441":{"start":{"line":748,"column":16},"end":{"line":748,"column":157}},"442":{"start":{"line":752,"column":16},"end":{"line":752,"column":68}},"443":{"start":{"line":754,"column":12},"end":{"line":754,"column":92}},"444":{"start":{"line":755,"column":12},"end":{"line":755,"column":58}},"445":{"start":{"line":757,"column":8},"end":{"line":757,"column":24}},"446":{"start":{"line":759,"column":4},"end":{"line":768,"column":6}},"447":{"start":{"line":760,"column":8},"end":{"line":762,"column":9}},"448":{"start":{"line":761,"column":12},"end":{"line":761,"column":45}},"449":{"start":{"line":763,"column":27},"end":{"line":763,"column":39}},"450":{"start":{"line":764,"column":8},"end":{"line":766,"column":9}},"451":{"start":{"line":765,"column":12},"end":{"line":765,"column":81}},"452":{"start":{"line":767,"column":8},"end":{"line":767,"column":62}},"453":{"start":{"line":769,"column":4},"end":{"line":804,"column":6}},"454":{"start":{"line":771,"column":8},"end":{"line":774,"column":9}},"455":{"start":{"line":775,"column":22},"end":{"line":775,"column":86}},"456":{"start":{"line":776,"column":8},"end":{"line":802,"column":9}},"457":{"start":{"line":777,"column":12},"end":{"line":801,"column":13}},"458":{"start":{"line":778,"column":16},"end":{"line":793,"column":17}},"459":{"start":{"line":778,"column":30},"end":{"line":778,"column":60}},"460":{"start":{"line":778,"column":67},"end":{"line":778,"column":76}},"461":{"start":{"line":779,"column":35},"end":{"line":779,"column":43}},"462":{"start":{"line":780,"column":38},"end":{"line":780,"column":43}},"463":{"start":{"line":781,"column":20},"end":{"line":789,"column":21}},"464":{"start":{"line":782,"column":24},"end":{"line":788,"column":25}},"465":{"start":{"line":783,"column":28},"end":{"line":783,"column":62}},"466":{"start":{"line":784,"column":28},"end":{"line":784,"column":47}},"467":{"start":{"line":787,"column":28},"end":{"line":787,"column":48}},"468":{"start":{"line":790,"column":40},"end":{"line":790,"column":124}},"469":{"start":{"line":791,"column":20},"end":{"line":791,"column":90}},"470":{"start":{"line":792,"column":20},"end":{"line":792,"column":56}},"471":{"start":{"line":795,"column":29},"end":{"line":795,"column":54}},"472":{"start":{"line":797,"column":16},"end":{"line":800,"column":55}},"473":{"start":{"line":798,"column":20},"end":{"line":798,"column":72}},"474":{"start":{"line":798,"column":60},"end":{"line":798,"column":72}},"475":{"start":{"line":800,"column":26},"end":{"line":800,"column":53}},"476":{"start":{"line":800,"column":36},"end":{"line":800,"column":53}},"477":{"start":{"line":803,"column":8},"end":{"line":803,"column":23}},"478":{"start":{"line":805,"column":4},"end":{"line":827,"column":6}},"479":{"start":{"line":806,"column":34},"end":{"line":806,"column":72}},"480":{"start":{"line":808,"column":8},"end":{"line":818,"column":9}},"481":{"start":{"line":809,"column":12},"end":{"line":809,"column":54}},"482":{"start":{"line":810,"column":12},"end":{"line":817,"column":15}},"483":{"start":{"line":819,"column":8},"end":{"line":825,"column":9}},"484":{"start":{"line":820,"column":12},"end":{"line":820,"column":150}},"485":{"start":{"line":824,"column":12},"end":{"line":824,"column":87}},"486":{"start":{"line":826,"column":8},"end":{"line":826,"column":27}},"487":{"start":{"line":828,"column":4},"end":{"line":830,"column":6}},"488":{"start":{"line":829,"column":8},"end":{"line":829,"column":52}},"489":{"start":{"line":839,"column":4},"end":{"line":884,"column":6}},"490":{"start":{"line":840,"column":8},"end":{"line":883,"column":9}},"491":{"start":{"line":842,"column":16},"end":{"line":842,"column":48}},"492":{"start":{"line":844,"column":16},"end":{"line":844,"column":48}},"493":{"start":{"line":846,"column":16},"end":{"line":851,"column":17}},"494":{"start":{"line":847,"column":20},"end":{"line":847,"column":48}},"495":{"start":{"line":850,"column":20},"end":{"line":850,"column":50}},"496":{"start":{"line":853,"column":16},"end":{"line":853,"column":49}},"497":{"start":{"line":855,"column":16},"end":{"line":855,"column":54}},"498":{"start":{"line":857,"column":16},"end":{"line":868,"column":17}},"499":{"start":{"line":858,"column":38},"end":{"line":858,"column":73}},"500":{"start":{"line":859,"column":20},"end":{"line":867,"column":21}},"501":{"start":{"line":861,"column":42},"end":{"line":861,"column":130}},"502":{"start":{"line":861,"column":85},"end":{"line":861,"column":127}},"503":{"start":{"line":862,"column":24},"end":{"line":866,"column":25}},"504":{"start":{"line":864,"column":28},"end":{"line":864,"column":73}},"505":{"start":{"line":865,"column":28},"end":{"line":865,"column":40}},"506":{"start":{"line":869,"column":16},"end":{"line":869,"column":45}},"507":{"start":{"line":871,"column":16},"end":{"line":871,"column":49}},"508":{"start":{"line":873,"column":16},"end":{"line":873,"column":46}},"509":{"start":{"line":876,"column":16},"end":{"line":876,"column":28}},"510":{"start":{"line":878,"column":16},"end":{"line":881,"column":17}},"511":{"start":{"line":882,"column":16},"end":{"line":882,"column":28}},"512":{"start":{"line":885,"column":4},"end":{"line":895,"column":6}},"513":{"start":{"line":886,"column":8},"end":{"line":889,"column":9}},"514":{"start":{"line":890,"column":27},"end":{"line":890,"column":39}},"515":{"start":{"line":891,"column":8},"end":{"line":893,"column":9}},"516":{"start":{"line":892,"column":12},"end":{"line":892,"column":81}},"517":{"start":{"line":894,"column":8},"end":{"line":894,"column":65}},"518":{"start":{"line":896,"column":4},"end":{"line":898,"column":6}},"519":{"start":{"line":897,"column":8},"end":{"line":897,"column":49}},"520":{"start":{"line":899,"column":4},"end":{"line":901,"column":6}},"521":{"start":{"line":900,"column":8},"end":{"line":900,"column":52}},"522":{"start":{"line":902,"column":4},"end":{"line":925,"column":6}},"523":{"start":{"line":903,"column":21},"end":{"line":903,"column":25}},"524":{"start":{"line":904,"column":8},"end":{"line":923,"column":9}},"525":{"start":{"line":905,"column":30},"end":{"line":905,"column":171}},"526":{"start":{"line":905,"column":74},"end":{"line":905,"column":144}},"527":{"start":{"line":906,"column":12},"end":{"line":917,"column":13}},"528":{"start":{"line":907,"column":16},"end":{"line":907,"column":71}},"529":{"start":{"line":908,"column":16},"end":{"line":908,"column":124}},"530":{"start":{"line":908,"column":82},"end":{"line":908,"column":120}},"531":{"start":{"line":910,"column":17},"end":{"line":917,"column":13}},"532":{"start":{"line":911,"column":16},"end":{"line":911,"column":69}},"533":{"start":{"line":912,"column":16},"end":{"line":912,"column":122}},"534":{"start":{"line":912,"column":82},"end":{"line":912,"column":118}},"535":{"start":{"line":915,"column":16},"end":{"line":915,"column":67}},"536":{"start":{"line":916,"column":16},"end":{"line":916,"column":45}},"537":{"start":{"line":922,"column":12},"end":{"line":922,"column":65}},"538":{"start":{"line":924,"column":8},"end":{"line":924,"column":22}},"539":{"start":{"line":926,"column":4},"end":{"line":931,"column":6}},"540":{"start":{"line":929,"column":27},"end":{"line":929,"column":183}},"541":{"start":{"line":930,"column":8},"end":{"line":930,"column":62}},"542":{"start":{"line":932,"column":4},"end":{"line":958,"column":6}},"543":{"start":{"line":934,"column":27},"end":{"line":934,"column":63}},"544":{"start":{"line":935,"column":8},"end":{"line":956,"column":9}},"545":{"start":{"line":936,"column":12},"end":{"line":955,"column":13}},"546":{"start":{"line":937,"column":16},"end":{"line":947,"column":17}},"547":{"start":{"line":937,"column":30},"end":{"line":937,"column":60}},"548":{"start":{"line":937,"column":67},"end":{"line":937,"column":76}},"549":{"start":{"line":938,"column":35},"end":{"line":938,"column":43}},"550":{"start":{"line":939,"column":39},"end":{"line":939,"column":51}},"551":{"start":{"line":940,"column":20},"end":{"line":942,"column":21}},"552":{"start":{"line":941,"column":24},"end":{"line":941,"column":92}},"553":{"start":{"line":943,"column":38},"end":{"line":943,"column":86}},"554":{"start":{"line":944,"column":20},"end":{"line":944,"column":68}},"555":{"start":{"line":945,"column":20},"end":{"line":945,"column":60}},"556":{"start":{"line":946,"column":20},"end":{"line":946,"column":59}},"557":{"start":{"line":949,"column":29},"end":{"line":949,"column":54}},"558":{"start":{"line":951,"column":16},"end":{"line":954,"column":55}},"559":{"start":{"line":952,"column":20},"end":{"line":952,"column":72}},"560":{"start":{"line":952,"column":60},"end":{"line":952,"column":72}},"561":{"start":{"line":954,"column":26},"end":{"line":954,"column":53}},"562":{"start":{"line":954,"column":36},"end":{"line":954,"column":53}},"563":{"start":{"line":957,"column":8},"end":{"line":957,"column":28}},"564":{"start":{"line":959,"column":4},"end":{"line":969,"column":6}},"565":{"start":{"line":960,"column":20},"end":{"line":960,"column":24}},"566":{"start":{"line":961,"column":21},"end":{"line":961,"column":25}},"567":{"start":{"line":962,"column":8},"end":{"line":967,"column":9}},"568":{"start":{"line":963,"column":12},"end":{"line":963,"column":244}},"569":{"start":{"line":966,"column":12},"end":{"line":966,"column":152}},"570":{"start":{"line":966,"column":94},"end":{"line":966,"column":137}},"571":{"start":{"line":968,"column":8},"end":{"line":968,"column":22}},"572":{"start":{"line":975,"column":4},"end":{"line":999,"column":6}},"573":{"start":{"line":976,"column":31},"end":{"line":976,"column":35}},"574":{"start":{"line":977,"column":19},"end":{"line":977,"column":35}},"575":{"start":{"line":978,"column":8},"end":{"line":995,"column":9}},"576":{"start":{"line":982,"column":42},"end":{"line":982,"column":53}},"577":{"start":{"line":983,"column":16},"end":{"line":983,"column":98}},"578":{"start":{"line":984,"column":16},"end":{"line":984,"column":22}},"579":{"start":{"line":989,"column":16},"end":{"line":989,"column":47}},"580":{"start":{"line":990,"column":16},"end":{"line":990,"column":22}},"581":{"start":{"line":996,"column":8},"end":{"line":998,"column":9}},"582":{"start":{"line":997,"column":12},"end":{"line":997,"column":55}},"583":{"start":{"line":1005,"column":4},"end":{"line":1013,"column":6}},"584":{"start":{"line":1007,"column":31},"end":{"line":1009,"column":10}},"585":{"start":{"line":1008,"column":12},"end":{"line":1008,"column":51}},"586":{"start":{"line":1010,"column":8},"end":{"line":1012,"column":9}},"587":{"start":{"line":1011,"column":12},"end":{"line":1011,"column":48}},"588":{"start":{"line":1019,"column":4},"end":{"line":1038,"column":6}},"589":{"start":{"line":1020,"column":35},"end":{"line":1020,"column":39}},"590":{"start":{"line":1021,"column":8},"end":{"line":1034,"column":9}},"591":{"start":{"line":1025,"column":16},"end":{"line":1025,"column":98}},"592":{"start":{"line":1026,"column":16},"end":{"line":1026,"column":22}},"593":{"start":{"line":1028,"column":16},"end":{"line":1028,"column":55}},"594":{"start":{"line":1029,"column":16},"end":{"line":1029,"column":22}},"595":{"start":{"line":1035,"column":8},"end":{"line":1037,"column":9}},"596":{"start":{"line":1036,"column":12},"end":{"line":1036,"column":63}},"597":{"start":{"line":1044,"column":4},"end":{"line":1073,"column":6}},"598":{"start":{"line":1045,"column":32},"end":{"line":1045,"column":36}},"599":{"start":{"line":1046,"column":8},"end":{"line":1066,"column":9}},"600":{"start":{"line":1049,"column":16},"end":{"line":1049,"column":118}},"601":{"start":{"line":1050,"column":16},"end":{"line":1050,"column":22}},"602":{"start":{"line":1060,"column":16},"end":{"line":1060,"column":49}},"603":{"start":{"line":1061,"column":16},"end":{"line":1061,"column":22}},"604":{"start":{"line":1067,"column":8},"end":{"line":1072,"column":9}},"605":{"start":{"line":1068,"column":12},"end":{"line":1070,"column":13}},"606":{"start":{"line":1069,"column":16},"end":{"line":1069,"column":70}},"607":{"start":{"line":1071,"column":12},"end":{"line":1071,"column":57}},"608":{"start":{"line":1079,"column":4},"end":{"line":1113,"column":6}},"609":{"start":{"line":1080,"column":35},"end":{"line":1080,"column":39}},"610":{"start":{"line":1081,"column":8},"end":{"line":1106,"column":9}},"611":{"start":{"line":1084,"column":16},"end":{"line":1084,"column":100}},"612":{"start":{"line":1085,"column":16},"end":{"line":1085,"column":22}},"613":{"start":{"line":1090,"column":16},"end":{"line":1090,"column":55}},"614":{"start":{"line":1091,"column":16},"end":{"line":1091,"column":22}},"615":{"start":{"line":1100,"column":16},"end":{"line":1100,"column":55}},"616":{"start":{"line":1101,"column":16},"end":{"line":1101,"column":22}},"617":{"start":{"line":1107,"column":8},"end":{"line":1112,"column":9}},"618":{"start":{"line":1108,"column":12},"end":{"line":1110,"column":13}},"619":{"start":{"line":1109,"column":16},"end":{"line":1109,"column":68}},"620":{"start":{"line":1111,"column":12},"end":{"line":1111,"column":63}},"621":{"start":{"line":1118,"column":4},"end":{"line":1124,"column":6}},"622":{"start":{"line":1119,"column":32},"end":{"line":1119,"column":166}},"623":{"start":{"line":1120,"column":8},"end":{"line":1120,"column":78}},"624":{"start":{"line":1121,"column":8},"end":{"line":1121,"column":64}},"625":{"start":{"line":1122,"column":8},"end":{"line":1122,"column":74}},"626":{"start":{"line":1123,"column":8},"end":{"line":1123,"column":33}},"627":{"start":{"line":1129,"column":4},"end":{"line":1135,"column":6}},"628":{"start":{"line":1130,"column":34},"end":{"line":1130,"column":105}},"629":{"start":{"line":1131,"column":8},"end":{"line":1131,"column":66}},"630":{"start":{"line":1132,"column":8},"end":{"line":1132,"column":62}},"631":{"start":{"line":1133,"column":8},"end":{"line":1133,"column":76}},"632":{"start":{"line":1134,"column":8},"end":{"line":1134,"column":35}},"633":{"start":{"line":1136,"column":4},"end":{"line":1136,"column":26}},"634":{"start":{"line":1138,"column":0},"end":{"line":1138,"column":40}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":74},"end":{"line":2,"column":75}},"loc":{"start":{"line":2,"column":96},"end":{"line":9,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":38},"end":{"line":6,"column":39}},"loc":{"start":{"line":6,"column":49},"end":{"line":6,"column":65}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":6},"end":{"line":9,"column":7}},"loc":{"start":{"line":9,"column":28},"end":{"line":12,"column":1}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":13,"column":80},"end":{"line":13,"column":81}},"loc":{"start":{"line":13,"column":95},"end":{"line":15,"column":1}},"line":13},"4":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":5},"end":{"line":15,"column":6}},"loc":{"start":{"line":15,"column":20},"end":{"line":17,"column":1}},"line":15},"5":{"name":"(anonymous_5)","decl":{"start":{"line":18,"column":50},"end":{"line":18,"column":51}},"loc":{"start":{"line":18,"column":65},"end":{"line":24,"column":1}},"line":18},"6":{"name":"(anonymous_6)","decl":{"start":{"line":25,"column":42},"end":{"line":25,"column":43}},"loc":{"start":{"line":25,"column":54},"end":{"line":35,"column":1}},"line":25},"7":{"name":"(anonymous_7)","decl":{"start":{"line":29,"column":14},"end":{"line":29,"column":15}},"loc":{"start":{"line":29,"column":26},"end":{"line":32,"column":9}},"line":29},"8":{"name":"(anonymous_8)","decl":{"start":{"line":36,"column":38},"end":{"line":36,"column":39}},"loc":{"start":{"line":36,"column":54},"end":{"line":51,"column":1}},"line":36},"9":{"name":"(anonymous_9)","decl":{"start":{"line":52,"column":52},"end":{"line":52,"column":53}},"loc":{"start":{"line":52,"column":78},"end":{"line":60,"column":1}},"line":52},"10":{"name":"(anonymous_10)","decl":{"start":{"line":69,"column":36},"end":{"line":69,"column":37}},"loc":{"start":{"line":69,"column":48},"end":{"line":1137,"column":1}},"line":69},"11":{"name":"JSDocTsdParser","decl":{"start":{"line":70,"column":13},"end":{"line":70,"column":27}},"loc":{"start":{"line":70,"column":36},"end":{"line":83,"column":5}},"line":70},"12":{"name":"(anonymous_12)","decl":{"start":{"line":88,"column":54},"end":{"line":88,"column":55}},"loc":{"start":{"line":88,"column":76},"end":{"line":125,"column":5}},"line":88},"13":{"name":"(anonymous_13)","decl":{"start":{"line":92,"column":22},"end":{"line":92,"column":23}},"loc":{"start":{"line":92,"column":48},"end":{"line":106,"column":9}},"line":92},"14":{"name":"(anonymous_14)","decl":{"start":{"line":131,"column":45},"end":{"line":131,"column":46}},"loc":{"start":{"line":131,"column":61},"end":{"line":139,"column":5}},"line":131},"15":{"name":"(anonymous_15)","decl":{"start":{"line":134,"column":28},"end":{"line":134,"column":29}},"loc":{"start":{"line":134,"column":41},"end":{"line":134,"column":61}},"line":134},"16":{"name":"(anonymous_16)","decl":{"start":{"line":143,"column":46},"end":{"line":143,"column":47}},"loc":{"start":{"line":143,"column":58},"end":{"line":150,"column":5}},"line":143},"17":{"name":"(anonymous_17)","decl":{"start":{"line":145,"column":37},"end":{"line":145,"column":38}},"loc":{"start":{"line":145,"column":54},"end":{"line":147,"column":9}},"line":145},"18":{"name":"(anonymous_18)","decl":{"start":{"line":146,"column":43},"end":{"line":146,"column":44}},"loc":{"start":{"line":146,"column":56},"end":{"line":146,"column":76}},"line":146},"19":{"name":"(anonymous_19)","decl":{"start":{"line":151,"column":37},"end":{"line":151,"column":38}},"loc":{"start":{"line":151,"column":59},"end":{"line":193,"column":5}},"line":151},"20":{"name":"(anonymous_20)","decl":{"start":{"line":201,"column":59},"end":{"line":201,"column":60}},"loc":{"start":{"line":201,"column":71},"end":{"line":284,"column":5}},"line":201},"21":{"name":"(anonymous_21)","decl":{"start":{"line":290,"column":49},"end":{"line":290,"column":50}},"loc":{"start":{"line":290,"column":80},"end":{"line":355,"column":5}},"line":290},"22":{"name":"(anonymous_22)","decl":{"start":{"line":362,"column":47},"end":{"line":362,"column":48}},"loc":{"start":{"line":362,"column":90},"end":{"line":462,"column":5}},"line":362},"23":{"name":"(anonymous_23)","decl":{"start":{"line":433,"column":122},"end":{"line":433,"column":123}},"loc":{"start":{"line":433,"column":135},"end":{"line":433,"column":182}},"line":433},"24":{"name":"(anonymous_24)","decl":{"start":{"line":467,"column":48},"end":{"line":467,"column":49}},"loc":{"start":{"line":467,"column":64},"end":{"line":474,"column":5}},"line":467},"25":{"name":"(anonymous_25)","decl":{"start":{"line":475,"column":47},"end":{"line":475,"column":48}},"loc":{"start":{"line":475,"column":69},"end":{"line":495,"column":5}},"line":475},"26":{"name":"(anonymous_26)","decl":{"start":{"line":481,"column":17},"end":{"line":481,"column":18}},"loc":{"start":{"line":481,"column":37},"end":{"line":492,"column":9}},"line":481},"27":{"name":"(anonymous_27)","decl":{"start":{"line":483,"column":45},"end":{"line":483,"column":46}},"loc":{"start":{"line":483,"column":60},"end":{"line":486,"column":17}},"line":483},"28":{"name":"(anonymous_28)","decl":{"start":{"line":493,"column":18},"end":{"line":493,"column":19}},"loc":{"start":{"line":493,"column":31},"end":{"line":493,"column":44}},"line":493},"29":{"name":"(anonymous_29)","decl":{"start":{"line":501,"column":46},"end":{"line":501,"column":47}},"loc":{"start":{"line":501,"column":101},"end":{"line":514,"column":5}},"line":501},"30":{"name":"(anonymous_30)","decl":{"start":{"line":515,"column":45},"end":{"line":515,"column":46}},"loc":{"start":{"line":515,"column":57},"end":{"line":549,"column":5}},"line":515},"31":{"name":"(anonymous_31)","decl":{"start":{"line":554,"column":54},"end":{"line":554,"column":55}},"loc":{"start":{"line":554,"column":75},"end":{"line":571,"column":5}},"line":554},"32":{"name":"(anonymous_32)","decl":{"start":{"line":575,"column":43},"end":{"line":575,"column":44}},"loc":{"start":{"line":575,"column":66},"end":{"line":591,"column":5}},"line":575},"33":{"name":"(anonymous_33)","decl":{"start":{"line":595,"column":42},"end":{"line":595,"column":43}},"loc":{"start":{"line":595,"column":65},"end":{"line":624,"column":5}},"line":595},"34":{"name":"(anonymous_34)","decl":{"start":{"line":625,"column":47},"end":{"line":625,"column":48}},"loc":{"start":{"line":625,"column":75},"end":{"line":642,"column":5}},"line":625},"35":{"name":"(anonymous_35)","decl":{"start":{"line":643,"column":47},"end":{"line":643,"column":48}},"loc":{"start":{"line":643,"column":82},"end":{"line":693,"column":5}},"line":643},"36":{"name":"(anonymous_36)","decl":{"start":{"line":694,"column":53},"end":{"line":694,"column":54}},"loc":{"start":{"line":694,"column":88},"end":{"line":738,"column":5}},"line":694},"37":{"name":"(anonymous_37)","decl":{"start":{"line":739,"column":42},"end":{"line":739,"column":43}},"loc":{"start":{"line":739,"column":73},"end":{"line":758,"column":5}},"line":739},"38":{"name":"(anonymous_38)","decl":{"start":{"line":759,"column":45},"end":{"line":759,"column":46}},"loc":{"start":{"line":759,"column":66},"end":{"line":768,"column":5}},"line":759},"39":{"name":"(anonymous_39)","decl":{"start":{"line":769,"column":41},"end":{"line":769,"column":42}},"loc":{"start":{"line":769,"column":62},"end":{"line":804,"column":5}},"line":769},"40":{"name":"(anonymous_40)","decl":{"start":{"line":805,"column":45},"end":{"line":805,"column":46}},"loc":{"start":{"line":805,"column":66},"end":{"line":827,"column":5}},"line":805},"41":{"name":"(anonymous_41)","decl":{"start":{"line":828,"column":46},"end":{"line":828,"column":47}},"loc":{"start":{"line":828,"column":67},"end":{"line":830,"column":5}},"line":828},"42":{"name":"(anonymous_42)","decl":{"start":{"line":839,"column":46},"end":{"line":839,"column":47}},"loc":{"start":{"line":839,"column":62},"end":{"line":884,"column":5}},"line":839},"43":{"name":"(anonymous_43)","decl":{"start":{"line":861,"column":61},"end":{"line":861,"column":62}},"loc":{"start":{"line":861,"column":83},"end":{"line":861,"column":129}},"line":861},"44":{"name":"(anonymous_44)","decl":{"start":{"line":885,"column":43},"end":{"line":885,"column":44}},"loc":{"start":{"line":885,"column":64},"end":{"line":895,"column":5}},"line":885},"45":{"name":"(anonymous_45)","decl":{"start":{"line":896,"column":43},"end":{"line":896,"column":44}},"loc":{"start":{"line":896,"column":64},"end":{"line":898,"column":5}},"line":896},"46":{"name":"(anonymous_46)","decl":{"start":{"line":899,"column":46},"end":{"line":899,"column":47}},"loc":{"start":{"line":899,"column":67},"end":{"line":901,"column":5}},"line":899},"47":{"name":"(anonymous_47)","decl":{"start":{"line":902,"column":51},"end":{"line":902,"column":52}},"loc":{"start":{"line":902,"column":72},"end":{"line":925,"column":5}},"line":902},"48":{"name":"(anonymous_48)","decl":{"start":{"line":905,"column":59},"end":{"line":905,"column":60}},"loc":{"start":{"line":905,"column":72},"end":{"line":905,"column":146}},"line":905},"49":{"name":"(anonymous_49)","decl":{"start":{"line":908,"column":67},"end":{"line":908,"column":68}},"loc":{"start":{"line":908,"column":80},"end":{"line":908,"column":122}},"line":908},"50":{"name":"(anonymous_50)","decl":{"start":{"line":912,"column":67},"end":{"line":912,"column":68}},"loc":{"start":{"line":912,"column":80},"end":{"line":912,"column":120}},"line":912},"51":{"name":"(anonymous_51)","decl":{"start":{"line":926,"column":61},"end":{"line":926,"column":62}},"loc":{"start":{"line":926,"column":82},"end":{"line":931,"column":5}},"line":926},"52":{"name":"(anonymous_52)","decl":{"start":{"line":932,"column":59},"end":{"line":932,"column":60}},"loc":{"start":{"line":932,"column":80},"end":{"line":958,"column":5}},"line":932},"53":{"name":"(anonymous_53)","decl":{"start":{"line":959,"column":57},"end":{"line":959,"column":58}},"loc":{"start":{"line":959,"column":78},"end":{"line":969,"column":5}},"line":959},"54":{"name":"(anonymous_54)","decl":{"start":{"line":966,"column":79},"end":{"line":966,"column":80}},"loc":{"start":{"line":966,"column":92},"end":{"line":966,"column":139}},"line":966},"55":{"name":"(anonymous_55)","decl":{"start":{"line":975,"column":54},"end":{"line":975,"column":55}},"loc":{"start":{"line":975,"column":90},"end":{"line":999,"column":5}},"line":975},"56":{"name":"(anonymous_56)","decl":{"start":{"line":1005,"column":53},"end":{"line":1005,"column":54}},"loc":{"start":{"line":1005,"column":87},"end":{"line":1013,"column":5}},"line":1005},"57":{"name":"(anonymous_57)","decl":{"start":{"line":1007,"column":55},"end":{"line":1007,"column":56}},"loc":{"start":{"line":1007,"column":73},"end":{"line":1009,"column":9}},"line":1007},"58":{"name":"(anonymous_58)","decl":{"start":{"line":1019,"column":58},"end":{"line":1019,"column":59}},"loc":{"start":{"line":1019,"column":102},"end":{"line":1038,"column":5}},"line":1019},"59":{"name":"(anonymous_59)","decl":{"start":{"line":1044,"column":55},"end":{"line":1044,"column":56}},"loc":{"start":{"line":1044,"column":93},"end":{"line":1073,"column":5}},"line":1044},"60":{"name":"(anonymous_60)","decl":{"start":{"line":1079,"column":58},"end":{"line":1079,"column":59}},"loc":{"start":{"line":1079,"column":102},"end":{"line":1113,"column":5}},"line":1079},"61":{"name":"(anonymous_61)","decl":{"start":{"line":1118,"column":68},"end":{"line":1118,"column":69}},"loc":{"start":{"line":1118,"column":99},"end":{"line":1124,"column":5}},"line":1118},"62":{"name":"(anonymous_62)","decl":{"start":{"line":1129,"column":70},"end":{"line":1129,"column":71}},"loc":{"start":{"line":1129,"column":101},"end":{"line":1135,"column":5}},"line":1129}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":22},"end":{"line":12,"column":3}},"type":"binary-expr","locations":[{"start":{"line":2,"column":23},"end":{"line":2,"column":27}},{"start":{"line":2,"column":31},"end":{"line":2,"column":51}},{"start":{"line":2,"column":57},"end":{"line":12,"column":2}}],"line":2},"1":{"loc":{"start":{"line":2,"column":57},"end":{"line":12,"column":2}},"type":"cond-expr","locations":[{"start":{"line":2,"column":74},"end":{"line":9,"column":1}},{"start":{"line":9,"column":6},"end":{"line":12,"column":1}}],"line":2},"2":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":33}},{"start":{"line":3,"column":4},"end":{"line":3,"column":33}}],"line":3},"3":{"loc":{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":7,"column":5}},{"start":{"line":5,"column":4},"end":{"line":7,"column":5}}],"line":5},"4":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":85}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":13}},{"start":{"line":5,"column":18},"end":{"line":5,"column":84}}],"line":5},"5":{"loc":{"start":{"line":5,"column":18},"end":{"line":5,"column":84}},"type":"cond-expr","locations":[{"start":{"line":5,"column":34},"end":{"line":5,"column":47}},{"start":{"line":5,"column":50},"end":{"line":5,"column":84}}],"line":5},"6":{"loc":{"start":{"line":5,"column":50},"end":{"line":5,"column":84}},"type":"binary-expr","locations":[{"start":{"line":5,"column":50},"end":{"line":5,"column":63}},{"start":{"line":5,"column":67},"end":{"line":5,"column":84}}],"line":5},"7":{"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":10,"column":33}},{"start":{"line":10,"column":4},"end":{"line":10,"column":33}}],"line":10},"8":{"loc":{"start":{"line":13,"column":25},"end":{"line":17,"column":2}},"type":"binary-expr","locations":[{"start":{"line":13,"column":26},"end":{"line":13,"column":30}},{"start":{"line":13,"column":34},"end":{"line":13,"column":57}},{"start":{"line":13,"column":63},"end":{"line":17,"column":1}}],"line":13},"9":{"loc":{"start":{"line":13,"column":63},"end":{"line":17,"column":1}},"type":"cond-expr","locations":[{"start":{"line":13,"column":80},"end":{"line":15,"column":1}},{"start":{"line":15,"column":5},"end":{"line":17,"column":1}}],"line":13},"10":{"loc":{"start":{"line":18,"column":19},"end":{"line":24,"column":1}},"type":"binary-expr","locations":[{"start":{"line":18,"column":20},"end":{"line":18,"column":24}},{"start":{"line":18,"column":28},"end":{"line":18,"column":45}},{"start":{"line":18,"column":50},"end":{"line":24,"column":1}}],"line":18},"11":{"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},"type":"if","locations":[{"start":{"line":19,"column":4},"end":{"line":19,"column":42}},{"start":{"line":19,"column":4},"end":{"line":19,"column":42}}],"line":19},"12":{"loc":{"start":{"line":19,"column":8},"end":{"line":19,"column":29}},"type":"binary-expr","locations":[{"start":{"line":19,"column":8},"end":{"line":19,"column":11}},{"start":{"line":19,"column":15},"end":{"line":19,"column":29}}],"line":19},"13":{"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":21,"column":141}},{"start":{"line":21,"column":4},"end":{"line":21,"column":141}}],"line":21},"14":{"loc":{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},"type":"if","locations":[{"start":{"line":21,"column":40},"end":{"line":21,"column":141}},{"start":{"line":21,"column":40},"end":{"line":21,"column":141}}],"line":21},"15":{"loc":{"start":{"line":21,"column":44},"end":{"line":21,"column":107}},"type":"binary-expr","locations":[{"start":{"line":21,"column":44},"end":{"line":21,"column":59}},{"start":{"line":21,"column":63},"end":{"line":21,"column":107}}],"line":21},"16":{"loc":{"start":{"line":25,"column":15},"end":{"line":35,"column":1}},"type":"binary-expr","locations":[{"start":{"line":25,"column":16},"end":{"line":25,"column":20}},{"start":{"line":25,"column":24},"end":{"line":25,"column":37}},{"start":{"line":25,"column":42},"end":{"line":35,"column":1}}],"line":25},"17":{"loc":{"start":{"line":26,"column":12},"end":{"line":26,"column":59}},"type":"binary-expr","locations":[{"start":{"line":26,"column":12},"end":{"line":26,"column":40}},{"start":{"line":26,"column":44},"end":{"line":26,"column":59}}],"line":26},"18":{"loc":{"start":{"line":26,"column":65},"end":{"line":26,"column":74}},"type":"binary-expr","locations":[{"start":{"line":26,"column":65},"end":{"line":26,"column":66}},{"start":{"line":26,"column":70},"end":{"line":26,"column":74}}],"line":26},"19":{"loc":{"start":{"line":27,"column":4},"end":{"line":27,"column":28}},"type":"if","locations":[{"start":{"line":27,"column":4},"end":{"line":27,"column":28}},{"start":{"line":27,"column":4},"end":{"line":27,"column":28}}],"line":27},"20":{"loc":{"start":{"line":28,"column":4},"end":{"line":33,"column":6}},"type":"if","locations":[{"start":{"line":28,"column":4},"end":{"line":33,"column":6}},{"start":{"line":28,"column":4},"end":{"line":33,"column":6}}],"line":28},"21":{"loc":{"start":{"line":28,"column":8},"end":{"line":28,"column":41}},"type":"binary-expr","locations":[{"start":{"line":28,"column":8},"end":{"line":28,"column":9}},{"start":{"line":28,"column":13},"end":{"line":28,"column":41}}],"line":28},"22":{"loc":{"start":{"line":30,"column":12},"end":{"line":30,"column":47}},"type":"if","locations":[{"start":{"line":30,"column":12},"end":{"line":30,"column":47}},{"start":{"line":30,"column":12},"end":{"line":30,"column":47}}],"line":30},"23":{"loc":{"start":{"line":30,"column":16},"end":{"line":30,"column":34}},"type":"binary-expr","locations":[{"start":{"line":30,"column":16},"end":{"line":30,"column":17}},{"start":{"line":30,"column":21},"end":{"line":30,"column":34}}],"line":30},"24":{"loc":{"start":{"line":31,"column":28},"end":{"line":31,"column":39}},"type":"binary-expr","locations":[{"start":{"line":31,"column":28},"end":{"line":31,"column":29}},{"start":{"line":31,"column":33},"end":{"line":31,"column":39}}],"line":31},"25":{"loc":{"start":{"line":34,"column":24},"end":{"line":34,"column":89}},"type":"cond-expr","locations":[{"start":{"line":34,"column":28},"end":{"line":34,"column":53}},{"start":{"line":34,"column":56},"end":{"line":34,"column":89}}],"line":34},"26":{"loc":{"start":{"line":36,"column":13},"end":{"line":51,"column":1}},"type":"binary-expr","locations":[{"start":{"line":36,"column":14},"end":{"line":36,"column":18}},{"start":{"line":36,"column":22},"end":{"line":36,"column":33}},{"start":{"line":36,"column":38},"end":{"line":51,"column":1}}],"line":36},"27":{"loc":{"start":{"line":37,"column":12},"end":{"line":37,"column":62}},"type":"binary-expr","locations":[{"start":{"line":37,"column":12},"end":{"line":37,"column":40}},{"start":{"line":37,"column":44},"end":{"line":37,"column":62}}],"line":37},"28":{"loc":{"start":{"line":38,"column":4},"end":{"line":38,"column":21}},"type":"if","locations":[{"start":{"line":38,"column":4},"end":{"line":38,"column":21}},{"start":{"line":38,"column":4},"end":{"line":38,"column":21}}],"line":38},"29":{"loc":{"start":{"line":41,"column":15},"end":{"line":41,"column":64}},"type":"binary-expr","locations":[{"start":{"line":41,"column":16},"end":{"line":41,"column":28}},{"start":{"line":41,"column":32},"end":{"line":41,"column":39}},{"start":{"line":41,"column":44},"end":{"line":41,"column":64}}],"line":41},"30":{"loc":{"start":{"line":46,"column":12},"end":{"line":46,"column":61}},"type":"if","locations":[{"start":{"line":46,"column":12},"end":{"line":46,"column":61}},{"start":{"line":46,"column":12},"end":{"line":46,"column":61}}],"line":46},"31":{"loc":{"start":{"line":46,"column":16},"end":{"line":46,"column":49}},"type":"binary-expr","locations":[{"start":{"line":46,"column":16},"end":{"line":46,"column":17}},{"start":{"line":46,"column":21},"end":{"line":46,"column":28}},{"start":{"line":46,"column":33},"end":{"line":46,"column":48}}],"line":46},"32":{"loc":{"start":{"line":48,"column":18},"end":{"line":48,"column":39}},"type":"if","locations":[{"start":{"line":48,"column":18},"end":{"line":48,"column":39}},{"start":{"line":48,"column":18},"end":{"line":48,"column":39}}],"line":48},"33":{"loc":{"start":{"line":52,"column":20},"end":{"line":60,"column":1}},"type":"binary-expr","locations":[{"start":{"line":52,"column":21},"end":{"line":52,"column":25}},{"start":{"line":52,"column":29},"end":{"line":52,"column":47}},{"start":{"line":52,"column":52},"end":{"line":60,"column":1}}],"line":52},"34":{"loc":{"start":{"line":53,"column":4},"end":{"line":58,"column":5}},"type":"if","locations":[{"start":{"line":53,"column":4},"end":{"line":58,"column":5}},{"start":{"line":53,"column":4},"end":{"line":58,"column":5}}],"line":53},"35":{"loc":{"start":{"line":53,"column":8},"end":{"line":53,"column":38}},"type":"binary-expr","locations":[{"start":{"line":53,"column":8},"end":{"line":53,"column":12}},{"start":{"line":53,"column":16},"end":{"line":53,"column":38}}],"line":53},"36":{"loc":{"start":{"line":54,"column":8},"end":{"line":57,"column":9}},"type":"if","locations":[{"start":{"line":54,"column":8},"end":{"line":57,"column":9}},{"start":{"line":54,"column":8},"end":{"line":57,"column":9}}],"line":54},"37":{"loc":{"start":{"line":54,"column":12},"end":{"line":54,"column":30}},"type":"binary-expr","locations":[{"start":{"line":54,"column":12},"end":{"line":54,"column":14}},{"start":{"line":54,"column":18},"end":{"line":54,"column":30}}],"line":54},"38":{"loc":{"start":{"line":55,"column":12},"end":{"line":55,"column":65}},"type":"if","locations":[{"start":{"line":55,"column":12},"end":{"line":55,"column":65}},{"start":{"line":55,"column":12},"end":{"line":55,"column":65}}],"line":55},"39":{"loc":{"start":{"line":59,"column":21},"end":{"line":59,"column":59}},"type":"binary-expr","locations":[{"start":{"line":59,"column":21},"end":{"line":59,"column":23}},{"start":{"line":59,"column":27},"end":{"line":59,"column":59}}],"line":59},"40":{"loc":{"start":{"line":82,"column":22},"end":{"line":82,"column":67}},"type":"binary-expr","locations":[{"start":{"line":82,"column":22},"end":{"line":82,"column":28}},{"start":{"line":82,"column":32},"end":{"line":82,"column":67}}],"line":82},"41":{"loc":{"start":{"line":117,"column":16},"end":{"line":117,"column":68}},"type":"if","locations":[{"start":{"line":117,"column":16},"end":{"line":117,"column":68}},{"start":{"line":117,"column":16},"end":{"line":117,"column":68}}],"line":117},"42":{"loc":{"start":{"line":117,"column":20},"end":{"line":117,"column":54}},"type":"binary-expr","locations":[{"start":{"line":117,"column":20},"end":{"line":117,"column":22}},{"start":{"line":117,"column":26},"end":{"line":117,"column":34}},{"start":{"line":117,"column":39},"end":{"line":117,"column":53}}],"line":117},"43":{"loc":{"start":{"line":119,"column":22},"end":{"line":119,"column":47}},"type":"if","locations":[{"start":{"line":119,"column":22},"end":{"line":119,"column":47}},{"start":{"line":119,"column":22},"end":{"line":119,"column":47}}],"line":119},"44":{"loc":{"start":{"line":121,"column":8},"end":{"line":123,"column":9}},"type":"if","locations":[{"start":{"line":121,"column":8},"end":{"line":123,"column":9}},{"start":{"line":121,"column":8},"end":{"line":123,"column":9}}],"line":121},"45":{"loc":{"start":{"line":133,"column":8},"end":{"line":138,"column":9}},"type":"if","locations":[{"start":{"line":133,"column":8},"end":{"line":138,"column":9}},{"start":{"line":133,"column":8},"end":{"line":138,"column":9}}],"line":133},"46":{"loc":{"start":{"line":160,"column":16},"end":{"line":183,"column":17}},"type":"if","locations":[{"start":{"line":160,"column":16},"end":{"line":183,"column":17}},{"start":{"line":160,"column":16},"end":{"line":183,"column":17}}],"line":160},"47":{"loc":{"start":{"line":160,"column":20},"end":{"line":160,"column":259}},"type":"binary-expr","locations":[{"start":{"line":160,"column":20},"end":{"line":160,"column":47}},{"start":{"line":160,"column":51},"end":{"line":160,"column":63}},{"start":{"line":160,"column":68},"end":{"line":160,"column":86}},{"start":{"line":160,"column":90},"end":{"line":160,"column":119}},{"start":{"line":160,"column":124},"end":{"line":160,"column":139}},{"start":{"line":160,"column":143},"end":{"line":160,"column":179}},{"start":{"line":160,"column":184},"end":{"line":160,"column":197}},{"start":{"line":160,"column":201},"end":{"line":160,"column":258}}],"line":160},"48":{"loc":{"start":{"line":160,"column":203},"end":{"line":160,"column":257}},"type":"binary-expr","locations":[{"start":{"line":160,"column":203},"end":{"line":160,"column":231}},{"start":{"line":160,"column":235},"end":{"line":160,"column":257}}],"line":160},"49":{"loc":{"start":{"line":161,"column":38},"end":{"line":161,"column":79}},"type":"binary-expr","locations":[{"start":{"line":161,"column":38},"end":{"line":161,"column":73}},{"start":{"line":161,"column":77},"end":{"line":161,"column":79}}],"line":161},"50":{"loc":{"start":{"line":162,"column":20},"end":{"line":164,"column":21}},"type":"if","locations":[{"start":{"line":162,"column":20},"end":{"line":164,"column":21}},{"start":{"line":162,"column":20},"end":{"line":164,"column":21}}],"line":162},"51":{"loc":{"start":{"line":166,"column":20},"end":{"line":182,"column":21}},"type":"if","locations":[{"start":{"line":166,"column":20},"end":{"line":182,"column":21}},{"start":{"line":166,"column":20},"end":{"line":182,"column":21}}],"line":166},"52":{"loc":{"start":{"line":167,"column":24},"end":{"line":170,"column":25}},"type":"if","locations":[{"start":{"line":167,"column":24},"end":{"line":170,"column":25}},{"start":{"line":167,"column":24},"end":{"line":170,"column":25}}],"line":167},"53":{"loc":{"start":{"line":171,"column":24},"end":{"line":173,"column":25}},"type":"if","locations":[{"start":{"line":171,"column":24},"end":{"line":173,"column":25}},{"start":{"line":171,"column":24},"end":{"line":173,"column":25}}],"line":171},"54":{"loc":{"start":{"line":189,"column":16},"end":{"line":189,"column":112}},"type":"if","locations":[{"start":{"line":189,"column":16},"end":{"line":189,"column":112}},{"start":{"line":189,"column":16},"end":{"line":189,"column":112}}],"line":189},"55":{"loc":{"start":{"line":189,"column":20},"end":{"line":189,"column":88}},"type":"binary-expr","locations":[{"start":{"line":189,"column":20},"end":{"line":189,"column":34}},{"start":{"line":189,"column":38},"end":{"line":189,"column":58}},{"start":{"line":189,"column":63},"end":{"line":189,"column":87}}],"line":189},"56":{"loc":{"start":{"line":191,"column":22},"end":{"line":191,"column":47}},"type":"if","locations":[{"start":{"line":191,"column":22},"end":{"line":191,"column":47}},{"start":{"line":191,"column":22},"end":{"line":191,"column":47}}],"line":191},"57":{"loc":{"start":{"line":203,"column":8},"end":{"line":283,"column":9}},"type":"if","locations":[{"start":{"line":203,"column":8},"end":{"line":283,"column":9}},{"start":{"line":203,"column":8},"end":{"line":283,"column":9}}],"line":203},"58":{"loc":{"start":{"line":214,"column":28},"end":{"line":220,"column":29}},"type":"if","locations":[{"start":{"line":214,"column":28},"end":{"line":220,"column":29}},{"start":{"line":214,"column":28},"end":{"line":220,"column":29}}],"line":214},"59":{"loc":{"start":{"line":214,"column":32},"end":{"line":214,"column":100}},"type":"binary-expr","locations":[{"start":{"line":214,"column":32},"end":{"line":214,"column":68}},{"start":{"line":214,"column":72},"end":{"line":214,"column":100}}],"line":214},"60":{"loc":{"start":{"line":216,"column":32},"end":{"line":219,"column":33}},"type":"if","locations":[{"start":{"line":216,"column":32},"end":{"line":219,"column":33}},{"start":{"line":216,"column":32},"end":{"line":219,"column":33}}],"line":216},"61":{"loc":{"start":{"line":221,"column":28},"end":{"line":262,"column":29}},"type":"if","locations":[{"start":{"line":221,"column":28},"end":{"line":262,"column":29}},{"start":{"line":221,"column":28},"end":{"line":262,"column":29}}],"line":221},"62":{"loc":{"start":{"line":226,"column":32},"end":{"line":255,"column":33}},"type":"if","locations":[{"start":{"line":226,"column":32},"end":{"line":255,"column":33}},{"start":{"line":226,"column":32},"end":{"line":255,"column":33}}],"line":226},"63":{"loc":{"start":{"line":230,"column":36},"end":{"line":251,"column":37}},"type":"switch","locations":[{"start":{"line":231,"column":40},"end":{"line":233,"column":50}},{"start":{"line":234,"column":40},"end":{"line":236,"column":50}},{"start":{"line":237,"column":40},"end":{"line":239,"column":50}},{"start":{"line":240,"column":40},"end":{"line":242,"column":50}},{"start":{"line":243,"column":40},"end":{"line":245,"column":50}}],"line":230},"64":{"loc":{"start":{"line":259,"column":32},"end":{"line":261,"column":33}},"type":"if","locations":[{"start":{"line":259,"column":32},"end":{"line":261,"column":33}},{"start":{"line":259,"column":32},"end":{"line":261,"column":33}}],"line":259},"65":{"loc":{"start":{"line":268,"column":28},"end":{"line":268,"column":128}},"type":"if","locations":[{"start":{"line":268,"column":28},"end":{"line":268,"column":128}},{"start":{"line":268,"column":28},"end":{"line":268,"column":128}}],"line":268},"66":{"loc":{"start":{"line":268,"column":32},"end":{"line":268,"column":103}},"type":"binary-expr","locations":[{"start":{"line":268,"column":32},"end":{"line":268,"column":47}},{"start":{"line":268,"column":51},"end":{"line":268,"column":72}},{"start":{"line":268,"column":77},"end":{"line":268,"column":102}}],"line":268},"67":{"loc":{"start":{"line":270,"column":34},"end":{"line":270,"column":59}},"type":"if","locations":[{"start":{"line":270,"column":34},"end":{"line":270,"column":59}},{"start":{"line":270,"column":34},"end":{"line":270,"column":59}}],"line":270},"68":{"loc":{"start":{"line":277,"column":20},"end":{"line":277,"column":72}},"type":"if","locations":[{"start":{"line":277,"column":20},"end":{"line":277,"column":72}},{"start":{"line":277,"column":20},"end":{"line":277,"column":72}}],"line":277},"69":{"loc":{"start":{"line":277,"column":24},"end":{"line":277,"column":58}},"type":"binary-expr","locations":[{"start":{"line":277,"column":24},"end":{"line":277,"column":26}},{"start":{"line":277,"column":30},"end":{"line":277,"column":38}},{"start":{"line":277,"column":43},"end":{"line":277,"column":57}}],"line":277},"70":{"loc":{"start":{"line":279,"column":26},"end":{"line":279,"column":51}},"type":"if","locations":[{"start":{"line":279,"column":26},"end":{"line":279,"column":51}},{"start":{"line":279,"column":26},"end":{"line":279,"column":51}}],"line":279},"71":{"loc":{"start":{"line":292,"column":8},"end":{"line":292,"column":58}},"type":"if","locations":[{"start":{"line":292,"column":8},"end":{"line":292,"column":58}},{"start":{"line":292,"column":8},"end":{"line":292,"column":58}}],"line":292},"72":{"loc":{"start":{"line":309,"column":8},"end":{"line":353,"column":9}},"type":"if","locations":[{"start":{"line":309,"column":8},"end":{"line":353,"column":9}},{"start":{"line":309,"column":8},"end":{"line":353,"column":9}}],"line":309},"73":{"loc":{"start":{"line":311,"column":12},"end":{"line":352,"column":13}},"type":"if","locations":[{"start":{"line":311,"column":12},"end":{"line":352,"column":13}},{"start":{"line":311,"column":12},"end":{"line":352,"column":13}}],"line":311},"74":{"loc":{"start":{"line":316,"column":16},"end":{"line":318,"column":17}},"type":"if","locations":[{"start":{"line":316,"column":16},"end":{"line":318,"column":17}},{"start":{"line":316,"column":16},"end":{"line":318,"column":17}}],"line":316},"75":{"loc":{"start":{"line":323,"column":24},"end":{"line":339,"column":25}},"type":"if","locations":[{"start":{"line":323,"column":24},"end":{"line":339,"column":25}},{"start":{"line":323,"column":24},"end":{"line":339,"column":25}}],"line":323},"76":{"loc":{"start":{"line":323,"column":28},"end":{"line":323,"column":92}},"type":"binary-expr","locations":[{"start":{"line":323,"column":28},"end":{"line":323,"column":58}},{"start":{"line":323,"column":62},"end":{"line":323,"column":92}}],"line":323},"77":{"loc":{"start":{"line":326,"column":28},"end":{"line":335,"column":29}},"type":"if","locations":[{"start":{"line":326,"column":28},"end":{"line":335,"column":29}},{"start":{"line":326,"column":28},"end":{"line":335,"column":29}}],"line":326},"78":{"loc":{"start":{"line":331,"column":32},"end":{"line":333,"column":33}},"type":"if","locations":[{"start":{"line":331,"column":32},"end":{"line":333,"column":33}},{"start":{"line":331,"column":32},"end":{"line":333,"column":33}}],"line":331},"79":{"loc":{"start":{"line":337,"column":29},"end":{"line":339,"column":25}},"type":"if","locations":[{"start":{"line":337,"column":29},"end":{"line":339,"column":25}},{"start":{"line":337,"column":29},"end":{"line":339,"column":25}}],"line":337},"80":{"loc":{"start":{"line":345,"column":24},"end":{"line":345,"column":76}},"type":"if","locations":[{"start":{"line":345,"column":24},"end":{"line":345,"column":76}},{"start":{"line":345,"column":24},"end":{"line":345,"column":76}}],"line":345},"81":{"loc":{"start":{"line":345,"column":28},"end":{"line":345,"column":62}},"type":"binary-expr","locations":[{"start":{"line":345,"column":28},"end":{"line":345,"column":30}},{"start":{"line":345,"column":34},"end":{"line":345,"column":42}},{"start":{"line":345,"column":47},"end":{"line":345,"column":61}}],"line":345},"82":{"loc":{"start":{"line":347,"column":30},"end":{"line":347,"column":55}},"type":"if","locations":[{"start":{"line":347,"column":30},"end":{"line":347,"column":55}},{"start":{"line":347,"column":30},"end":{"line":347,"column":55}}],"line":347},"83":{"loc":{"start":{"line":349,"column":16},"end":{"line":351,"column":17}},"type":"if","locations":[{"start":{"line":349,"column":16},"end":{"line":351,"column":17}},{"start":{"line":349,"column":16},"end":{"line":351,"column":17}}],"line":349},"84":{"loc":{"start":{"line":370,"column":38},"end":{"line":370,"column":102}},"type":"binary-expr","locations":[{"start":{"line":370,"column":39},"end":{"line":370,"column":60}},{"start":{"line":370,"column":66},"end":{"line":370,"column":101}}],"line":370},"85":{"loc":{"start":{"line":374,"column":12},"end":{"line":452,"column":13}},"type":"if","locations":[{"start":{"line":374,"column":12},"end":{"line":452,"column":13}},{"start":{"line":374,"column":12},"end":{"line":452,"column":13}}],"line":374},"86":{"loc":{"start":{"line":374,"column":16},"end":{"line":374,"column":55}},"type":"binary-expr","locations":[{"start":{"line":374,"column":16},"end":{"line":374,"column":32}},{"start":{"line":374,"column":36},"end":{"line":374,"column":55}}],"line":374},"87":{"loc":{"start":{"line":390,"column":17},"end":{"line":452,"column":13}},"type":"if","locations":[{"start":{"line":390,"column":17},"end":{"line":452,"column":13}},{"start":{"line":390,"column":17},"end":{"line":452,"column":13}}],"line":390},"88":{"loc":{"start":{"line":392,"column":16},"end":{"line":395,"column":17}},"type":"if","locations":[{"start":{"line":392,"column":16},"end":{"line":395,"column":17}},{"start":{"line":392,"column":16},"end":{"line":395,"column":17}}],"line":392},"89":{"loc":{"start":{"line":392,"column":20},"end":{"line":392,"column":51}},"type":"binary-expr","locations":[{"start":{"line":392,"column":20},"end":{"line":392,"column":28}},{"start":{"line":392,"column":32},"end":{"line":392,"column":51}}],"line":392},"90":{"loc":{"start":{"line":405,"column":16},"end":{"line":443,"column":17}},"type":"if","locations":[{"start":{"line":405,"column":16},"end":{"line":443,"column":17}},{"start":{"line":405,"column":16},"end":{"line":443,"column":17}}],"line":405},"91":{"loc":{"start":{"line":405,"column":20},"end":{"line":405,"column":53}},"type":"binary-expr","locations":[{"start":{"line":405,"column":20},"end":{"line":405,"column":29}},{"start":{"line":405,"column":33},"end":{"line":405,"column":53}}],"line":405},"92":{"loc":{"start":{"line":407,"column":20},"end":{"line":410,"column":21}},"type":"if","locations":[{"start":{"line":407,"column":20},"end":{"line":410,"column":21}},{"start":{"line":407,"column":20},"end":{"line":410,"column":21}}],"line":407},"93":{"loc":{"start":{"line":415,"column":45},"end":{"line":415,"column":117}},"type":"cond-expr","locations":[{"start":{"line":415,"column":70},"end":{"line":415,"column":93}},{"start":{"line":415,"column":96},"end":{"line":415,"column":117}}],"line":415},"94":{"loc":{"start":{"line":417,"column":20},"end":{"line":442,"column":21}},"type":"if","locations":[{"start":{"line":417,"column":20},"end":{"line":442,"column":21}},{"start":{"line":417,"column":20},"end":{"line":442,"column":21}}],"line":417},"95":{"loc":{"start":{"line":426,"column":24},"end":{"line":431,"column":25}},"type":"if","locations":[{"start":{"line":426,"column":24},"end":{"line":431,"column":25}},{"start":{"line":426,"column":24},"end":{"line":431,"column":25}}],"line":426},"96":{"loc":{"start":{"line":432,"column":24},"end":{"line":434,"column":25}},"type":"if","locations":[{"start":{"line":432,"column":24},"end":{"line":434,"column":25}},{"start":{"line":432,"column":24},"end":{"line":434,"column":25}}],"line":432},"97":{"loc":{"start":{"line":432,"column":28},"end":{"line":432,"column":89}},"type":"binary-expr","locations":[{"start":{"line":432,"column":28},"end":{"line":432,"column":40}},{"start":{"line":432,"column":44},"end":{"line":432,"column":56}},{"start":{"line":432,"column":60},"end":{"line":432,"column":89}}],"line":432},"98":{"loc":{"start":{"line":436,"column":24},"end":{"line":438,"column":25}},"type":"if","locations":[{"start":{"line":436,"column":24},"end":{"line":438,"column":25}},{"start":{"line":436,"column":24},"end":{"line":438,"column":25}}],"line":436},"99":{"loc":{"start":{"line":445,"column":17},"end":{"line":452,"column":13}},"type":"if","locations":[{"start":{"line":445,"column":17},"end":{"line":452,"column":13}},{"start":{"line":445,"column":17},"end":{"line":452,"column":13}}],"line":445},"100":{"loc":{"start":{"line":445,"column":21},"end":{"line":445,"column":62}},"type":"binary-expr","locations":[{"start":{"line":445,"column":21},"end":{"line":445,"column":31}},{"start":{"line":445,"column":35},"end":{"line":445,"column":62}}],"line":445},"101":{"loc":{"start":{"line":453,"column":12},"end":{"line":459,"column":13}},"type":"if","locations":[{"start":{"line":453,"column":12},"end":{"line":459,"column":13}},{"start":{"line":453,"column":12},"end":{"line":459,"column":13}}],"line":453},"102":{"loc":{"start":{"line":454,"column":16},"end":{"line":456,"column":17}},"type":"if","locations":[{"start":{"line":454,"column":16},"end":{"line":456,"column":17}},{"start":{"line":454,"column":16},"end":{"line":456,"column":17}}],"line":454},"103":{"loc":{"start":{"line":468,"column":8},"end":{"line":473,"column":9}},"type":"if","locations":[{"start":{"line":468,"column":8},"end":{"line":473,"column":9}},{"start":{"line":468,"column":8},"end":{"line":473,"column":9}}],"line":468},"104":{"loc":{"start":{"line":468,"column":12},"end":{"line":468,"column":63}},"type":"binary-expr","locations":[{"start":{"line":468,"column":12},"end":{"line":468,"column":42}},{"start":{"line":468,"column":46},"end":{"line":468,"column":63}}],"line":468},"105":{"loc":{"start":{"line":476,"column":8},"end":{"line":478,"column":9}},"type":"if","locations":[{"start":{"line":476,"column":8},"end":{"line":478,"column":9}},{"start":{"line":476,"column":8},"end":{"line":478,"column":9}}],"line":476},"106":{"loc":{"start":{"line":484,"column":27},"end":{"line":485,"column":96}},"type":"binary-expr","locations":[{"start":{"line":484,"column":27},"end":{"line":484,"column":52}},{"start":{"line":485,"column":25},"end":{"line":485,"column":55}},{"start":{"line":485,"column":59},"end":{"line":485,"column":95}}],"line":484},"107":{"loc":{"start":{"line":487,"column":23},"end":{"line":487,"column":52}},"type":"binary-expr","locations":[{"start":{"line":487,"column":23},"end":{"line":487,"column":32}},{"start":{"line":487,"column":36},"end":{"line":487,"column":52}}],"line":487},"108":{"loc":{"start":{"line":505,"column":8},"end":{"line":512,"column":9}},"type":"if","locations":[{"start":{"line":505,"column":8},"end":{"line":512,"column":9}},{"start":{"line":505,"column":8},"end":{"line":512,"column":9}}],"line":505},"109":{"loc":{"start":{"line":506,"column":12},"end":{"line":511,"column":13}},"type":"if","locations":[{"start":{"line":506,"column":12},"end":{"line":511,"column":13}},{"start":{"line":506,"column":12},"end":{"line":511,"column":13}}],"line":506},"110":{"loc":{"start":{"line":509,"column":17},"end":{"line":511,"column":13}},"type":"if","locations":[{"start":{"line":509,"column":17},"end":{"line":511,"column":13}},{"start":{"line":509,"column":17},"end":{"line":511,"column":13}}],"line":509},"111":{"loc":{"start":{"line":517,"column":8},"end":{"line":519,"column":9}},"type":"if","locations":[{"start":{"line":517,"column":8},"end":{"line":519,"column":9}},{"start":{"line":517,"column":8},"end":{"line":519,"column":9}}],"line":517},"112":{"loc":{"start":{"line":527,"column":24},"end":{"line":529,"column":25}},"type":"if","locations":[{"start":{"line":527,"column":24},"end":{"line":529,"column":25}},{"start":{"line":527,"column":24},"end":{"line":529,"column":25}}],"line":527},"113":{"loc":{"start":{"line":535,"column":24},"end":{"line":535,"column":100}},"type":"if","locations":[{"start":{"line":535,"column":24},"end":{"line":535,"column":100}},{"start":{"line":535,"column":24},"end":{"line":535,"column":100}}],"line":535},"114":{"loc":{"start":{"line":535,"column":28},"end":{"line":535,"column":81}},"type":"binary-expr","locations":[{"start":{"line":535,"column":28},"end":{"line":535,"column":37}},{"start":{"line":535,"column":41},"end":{"line":535,"column":56}},{"start":{"line":535,"column":61},"end":{"line":535,"column":80}}],"line":535},"115":{"loc":{"start":{"line":537,"column":30},"end":{"line":537,"column":55}},"type":"if","locations":[{"start":{"line":537,"column":30},"end":{"line":537,"column":55}},{"start":{"line":537,"column":30},"end":{"line":537,"column":55}}],"line":537},"116":{"loc":{"start":{"line":544,"column":16},"end":{"line":544,"column":68}},"type":"if","locations":[{"start":{"line":544,"column":16},"end":{"line":544,"column":68}},{"start":{"line":544,"column":16},"end":{"line":544,"column":68}}],"line":544},"117":{"loc":{"start":{"line":544,"column":20},"end":{"line":544,"column":54}},"type":"binary-expr","locations":[{"start":{"line":544,"column":20},"end":{"line":544,"column":22}},{"start":{"line":544,"column":26},"end":{"line":544,"column":34}},{"start":{"line":544,"column":39},"end":{"line":544,"column":53}}],"line":544},"118":{"loc":{"start":{"line":546,"column":22},"end":{"line":546,"column":47}},"type":"if","locations":[{"start":{"line":546,"column":22},"end":{"line":546,"column":47}},{"start":{"line":546,"column":22},"end":{"line":546,"column":47}}],"line":546},"119":{"loc":{"start":{"line":556,"column":8},"end":{"line":569,"column":9}},"type":"if","locations":[{"start":{"line":556,"column":8},"end":{"line":569,"column":9}},{"start":{"line":556,"column":8},"end":{"line":569,"column":9}}],"line":556},"120":{"loc":{"start":{"line":556,"column":12},"end":{"line":556,"column":61}},"type":"binary-expr","locations":[{"start":{"line":556,"column":12},"end":{"line":556,"column":29}},{"start":{"line":556,"column":33},"end":{"line":556,"column":61}}],"line":556},"121":{"loc":{"start":{"line":557,"column":12},"end":{"line":564,"column":13}},"type":"if","locations":[{"start":{"line":557,"column":12},"end":{"line":564,"column":13}},{"start":{"line":557,"column":12},"end":{"line":564,"column":13}}],"line":557},"122":{"loc":{"start":{"line":578,"column":21},"end":{"line":582,"column":23}},"type":"cond-expr","locations":[{"start":{"line":579,"column":14},"end":{"line":581,"column":43}},{"start":{"line":582,"column":14},"end":{"line":582,"column":23}}],"line":578},"123":{"loc":{"start":{"line":578,"column":21},"end":{"line":578,"column":73}},"type":"binary-expr","locations":[{"start":{"line":578,"column":21},"end":{"line":578,"column":36}},{"start":{"line":578,"column":40},"end":{"line":578,"column":73}}],"line":578},"124":{"loc":{"start":{"line":579,"column":14},"end":{"line":581,"column":43}},"type":"cond-expr","locations":[{"start":{"line":580,"column":18},"end":{"line":580,"column":45}},{"start":{"line":581,"column":18},"end":{"line":581,"column":43}}],"line":579},"125":{"loc":{"start":{"line":583,"column":21},"end":{"line":583,"column":90}},"type":"cond-expr","locations":[{"start":{"line":583,"column":39},"end":{"line":583,"column":62}},{"start":{"line":583,"column":65},"end":{"line":583,"column":90}}],"line":583},"126":{"loc":{"start":{"line":584,"column":21},"end":{"line":584,"column":95}},"type":"cond-expr","locations":[{"start":{"line":584,"column":38},"end":{"line":584,"column":67}},{"start":{"line":584,"column":70},"end":{"line":584,"column":95}}],"line":584},"127":{"loc":{"start":{"line":585,"column":21},"end":{"line":585,"column":96}},"type":"cond-expr","locations":[{"start":{"line":585,"column":39},"end":{"line":585,"column":68}},{"start":{"line":585,"column":71},"end":{"line":585,"column":96}}],"line":585},"128":{"loc":{"start":{"line":586,"column":21},"end":{"line":586,"column":104}},"type":"cond-expr","locations":[{"start":{"line":586,"column":49},"end":{"line":586,"column":76}},{"start":{"line":586,"column":79},"end":{"line":586,"column":104}}],"line":586},"129":{"loc":{"start":{"line":588,"column":8},"end":{"line":590,"column":9}},"type":"if","locations":[{"start":{"line":588,"column":8},"end":{"line":590,"column":9}},{"start":{"line":588,"column":8},"end":{"line":590,"column":9}}],"line":588},"130":{"loc":{"start":{"line":588,"column":12},"end":{"line":588,"column":107}},"type":"binary-expr","locations":[{"start":{"line":588,"column":12},"end":{"line":588,"column":27}},{"start":{"line":588,"column":31},"end":{"line":588,"column":55}},{"start":{"line":588,"column":59},"end":{"line":588,"column":107}}],"line":588},"131":{"loc":{"start":{"line":597,"column":8},"end":{"line":623,"column":9}},"type":"if","locations":[{"start":{"line":597,"column":8},"end":{"line":623,"column":9}},{"start":{"line":597,"column":8},"end":{"line":623,"column":9}}],"line":597},"132":{"loc":{"start":{"line":601,"column":20},"end":{"line":607,"column":21}},"type":"switch","locations":[{"start":{"line":602,"column":24},"end":{"line":606,"column":34}}],"line":601},"133":{"loc":{"start":{"line":603,"column":28},"end":{"line":605,"column":29}},"type":"if","locations":[{"start":{"line":603,"column":28},"end":{"line":605,"column":29}},{"start":{"line":603,"column":28},"end":{"line":605,"column":29}}],"line":603},"134":{"loc":{"start":{"line":613,"column":20},"end":{"line":613,"column":72}},"type":"if","locations":[{"start":{"line":613,"column":20},"end":{"line":613,"column":72}},{"start":{"line":613,"column":20},"end":{"line":613,"column":72}}],"line":613},"135":{"loc":{"start":{"line":613,"column":24},"end":{"line":613,"column":58}},"type":"binary-expr","locations":[{"start":{"line":613,"column":24},"end":{"line":613,"column":26}},{"start":{"line":613,"column":30},"end":{"line":613,"column":38}},{"start":{"line":613,"column":43},"end":{"line":613,"column":57}}],"line":613},"136":{"loc":{"start":{"line":615,"column":26},"end":{"line":615,"column":51}},"type":"if","locations":[{"start":{"line":615,"column":26},"end":{"line":615,"column":51}},{"start":{"line":615,"column":26},"end":{"line":615,"column":51}}],"line":615},"137":{"loc":{"start":{"line":618,"column":13},"end":{"line":623,"column":9}},"type":"if","locations":[{"start":{"line":618,"column":13},"end":{"line":623,"column":9}},{"start":{"line":618,"column":13},"end":{"line":623,"column":9}}],"line":618},"138":{"loc":{"start":{"line":620,"column":12},"end":{"line":622,"column":13}},"type":"if","locations":[{"start":{"line":620,"column":12},"end":{"line":622,"column":13}},{"start":{"line":620,"column":12},"end":{"line":622,"column":13}}],"line":620},"139":{"loc":{"start":{"line":637,"column":16},"end":{"line":637,"column":92}},"type":"if","locations":[{"start":{"line":637,"column":16},"end":{"line":637,"column":92}},{"start":{"line":637,"column":16},"end":{"line":637,"column":92}}],"line":637},"140":{"loc":{"start":{"line":637,"column":20},"end":{"line":637,"column":73}},"type":"binary-expr","locations":[{"start":{"line":637,"column":20},"end":{"line":637,"column":29}},{"start":{"line":637,"column":33},"end":{"line":637,"column":48}},{"start":{"line":637,"column":53},"end":{"line":637,"column":72}}],"line":637},"141":{"loc":{"start":{"line":639,"column":22},"end":{"line":639,"column":47}},"type":"if","locations":[{"start":{"line":639,"column":22},"end":{"line":639,"column":47}},{"start":{"line":639,"column":22},"end":{"line":639,"column":47}}],"line":639},"142":{"loc":{"start":{"line":647,"column":8},"end":{"line":649,"column":9}},"type":"if","locations":[{"start":{"line":647,"column":8},"end":{"line":649,"column":9}},{"start":{"line":647,"column":8},"end":{"line":649,"column":9}}],"line":647},"143":{"loc":{"start":{"line":650,"column":8},"end":{"line":661,"column":9}},"type":"if","locations":[{"start":{"line":650,"column":8},"end":{"line":661,"column":9}},{"start":{"line":650,"column":8},"end":{"line":661,"column":9}}],"line":650},"144":{"loc":{"start":{"line":650,"column":12},"end":{"line":650,"column":90}},"type":"binary-expr","locations":[{"start":{"line":650,"column":12},"end":{"line":650,"column":21}},{"start":{"line":650,"column":25},"end":{"line":650,"column":43}},{"start":{"line":650,"column":47},"end":{"line":650,"column":90}}],"line":650},"145":{"loc":{"start":{"line":651,"column":12},"end":{"line":657,"column":13}},"type":"if","locations":[{"start":{"line":651,"column":12},"end":{"line":657,"column":13}},{"start":{"line":651,"column":12},"end":{"line":657,"column":13}}],"line":651},"146":{"loc":{"start":{"line":658,"column":12},"end":{"line":660,"column":13}},"type":"if","locations":[{"start":{"line":658,"column":12},"end":{"line":660,"column":13}},{"start":{"line":658,"column":12},"end":{"line":660,"column":13}}],"line":658},"147":{"loc":{"start":{"line":658,"column":16},"end":{"line":658,"column":76}},"type":"binary-expr","locations":[{"start":{"line":658,"column":16},"end":{"line":658,"column":44}},{"start":{"line":658,"column":48},"end":{"line":658,"column":76}}],"line":658},"148":{"loc":{"start":{"line":666,"column":12},"end":{"line":680,"column":13}},"type":"if","locations":[{"start":{"line":666,"column":12},"end":{"line":680,"column":13}},{"start":{"line":666,"column":12},"end":{"line":680,"column":13}}],"line":666},"149":{"loc":{"start":{"line":666,"column":16},"end":{"line":666,"column":55}},"type":"binary-expr","locations":[{"start":{"line":666,"column":16},"end":{"line":666,"column":32}},{"start":{"line":666,"column":36},"end":{"line":666,"column":55}}],"line":666},"150":{"loc":{"start":{"line":668,"column":32},"end":{"line":668,"column":163}},"type":"cond-expr","locations":[{"start":{"line":668,"column":78},"end":{"line":668,"column":106}},{"start":{"line":668,"column":109},"end":{"line":668,"column":163}}],"line":668},"151":{"loc":{"start":{"line":669,"column":29},"end":{"line":671,"column":48}},"type":"cond-expr","locations":[{"start":{"line":670,"column":22},"end":{"line":670,"column":47}},{"start":{"line":671,"column":22},"end":{"line":671,"column":48}}],"line":669},"152":{"loc":{"start":{"line":682,"column":8},"end":{"line":691,"column":9}},"type":"if","locations":[{"start":{"line":682,"column":8},"end":{"line":691,"column":9}},{"start":{"line":682,"column":8},"end":{"line":691,"column":9}}],"line":682},"153":{"loc":{"start":{"line":685,"column":12},"end":{"line":690,"column":13}},"type":"if","locations":[{"start":{"line":685,"column":12},"end":{"line":690,"column":13}},{"start":{"line":685,"column":12},"end":{"line":690,"column":13}}],"line":685},"154":{"loc":{"start":{"line":685,"column":16},"end":{"line":685,"column":67}},"type":"binary-expr","locations":[{"start":{"line":685,"column":16},"end":{"line":685,"column":33}},{"start":{"line":685,"column":37},"end":{"line":685,"column":67}}],"line":685},"155":{"loc":{"start":{"line":697,"column":8},"end":{"line":730,"column":9}},"type":"if","locations":[{"start":{"line":697,"column":8},"end":{"line":730,"column":9}},{"start":{"line":697,"column":8},"end":{"line":730,"column":9}}],"line":697},"156":{"loc":{"start":{"line":700,"column":13},"end":{"line":730,"column":9}},"type":"if","locations":[{"start":{"line":700,"column":13},"end":{"line":730,"column":9}},{"start":{"line":700,"column":13},"end":{"line":730,"column":9}}],"line":700},"157":{"loc":{"start":{"line":703,"column":13},"end":{"line":730,"column":9}},"type":"if","locations":[{"start":{"line":703,"column":13},"end":{"line":730,"column":9}},{"start":{"line":703,"column":13},"end":{"line":730,"column":9}}],"line":703},"158":{"loc":{"start":{"line":710,"column":12},"end":{"line":717,"column":13}},"type":"if","locations":[{"start":{"line":710,"column":12},"end":{"line":717,"column":13}},{"start":{"line":710,"column":12},"end":{"line":717,"column":13}}],"line":710},"159":{"loc":{"start":{"line":712,"column":33},"end":{"line":712,"column":99}},"type":"cond-expr","locations":[{"start":{"line":712,"column":70},"end":{"line":712,"column":92}},{"start":{"line":712,"column":95},"end":{"line":712,"column":99}}],"line":712},"160":{"loc":{"start":{"line":714,"column":16},"end":{"line":716,"column":17}},"type":"if","locations":[{"start":{"line":714,"column":16},"end":{"line":716,"column":17}},{"start":{"line":714,"column":16},"end":{"line":716,"column":17}}],"line":714},"161":{"loc":{"start":{"line":719,"column":12},"end":{"line":722,"column":13}},"type":"if","locations":[{"start":{"line":719,"column":12},"end":{"line":722,"column":13}},{"start":{"line":719,"column":12},"end":{"line":722,"column":13}}],"line":719},"162":{"loc":{"start":{"line":719,"column":16},"end":{"line":719,"column":79}},"type":"binary-expr","locations":[{"start":{"line":719,"column":16},"end":{"line":719,"column":30}},{"start":{"line":719,"column":34},"end":{"line":719,"column":45}},{"start":{"line":719,"column":49},"end":{"line":719,"column":79}}],"line":719},"163":{"loc":{"start":{"line":726,"column":12},"end":{"line":729,"column":13}},"type":"if","locations":[{"start":{"line":726,"column":12},"end":{"line":729,"column":13}},{"start":{"line":726,"column":12},"end":{"line":729,"column":13}}],"line":726},"164":{"loc":{"start":{"line":726,"column":16},"end":{"line":726,"column":106}},"type":"binary-expr","locations":[{"start":{"line":726,"column":16},"end":{"line":726,"column":30}},{"start":{"line":726,"column":34},"end":{"line":726,"column":45}},{"start":{"line":726,"column":49},"end":{"line":726,"column":69}},{"start":{"line":726,"column":73},"end":{"line":726,"column":106}}],"line":726},"165":{"loc":{"start":{"line":731,"column":8},"end":{"line":733,"column":9}},"type":"if","locations":[{"start":{"line":731,"column":8},"end":{"line":733,"column":9}},{"start":{"line":731,"column":8},"end":{"line":733,"column":9}}],"line":731},"166":{"loc":{"start":{"line":732,"column":26},"end":{"line":732,"column":55}},"type":"binary-expr","locations":[{"start":{"line":732,"column":26},"end":{"line":732,"column":39}},{"start":{"line":732,"column":43},"end":{"line":732,"column":55}}],"line":732},"167":{"loc":{"start":{"line":734,"column":8},"end":{"line":736,"column":9}},"type":"if","locations":[{"start":{"line":734,"column":8},"end":{"line":736,"column":9}},{"start":{"line":734,"column":8},"end":{"line":736,"column":9}}],"line":734},"168":{"loc":{"start":{"line":740,"column":8},"end":{"line":743,"column":9}},"type":"if","locations":[{"start":{"line":740,"column":8},"end":{"line":743,"column":9}},{"start":{"line":740,"column":8},"end":{"line":743,"column":9}}],"line":740},"169":{"loc":{"start":{"line":744,"column":8},"end":{"line":756,"column":9}},"type":"if","locations":[{"start":{"line":744,"column":8},"end":{"line":756,"column":9}},{"start":{"line":744,"column":8},"end":{"line":756,"column":9}}],"line":744},"170":{"loc":{"start":{"line":747,"column":12},"end":{"line":753,"column":13}},"type":"if","locations":[{"start":{"line":747,"column":12},"end":{"line":753,"column":13}},{"start":{"line":747,"column":12},"end":{"line":753,"column":13}}],"line":747},"171":{"loc":{"start":{"line":747,"column":16},"end":{"line":747,"column":63}},"type":"binary-expr","locations":[{"start":{"line":747,"column":16},"end":{"line":747,"column":32}},{"start":{"line":747,"column":36},"end":{"line":747,"column":63}}],"line":747},"172":{"loc":{"start":{"line":760,"column":8},"end":{"line":762,"column":9}},"type":"if","locations":[{"start":{"line":760,"column":8},"end":{"line":762,"column":9}},{"start":{"line":760,"column":8},"end":{"line":762,"column":9}}],"line":760},"173":{"loc":{"start":{"line":764,"column":8},"end":{"line":766,"column":9}},"type":"if","locations":[{"start":{"line":764,"column":8},"end":{"line":766,"column":9}},{"start":{"line":764,"column":8},"end":{"line":766,"column":9}}],"line":764},"174":{"loc":{"start":{"line":764,"column":12},"end":{"line":764,"column":61}},"type":"binary-expr","locations":[{"start":{"line":764,"column":12},"end":{"line":764,"column":26}},{"start":{"line":764,"column":30},"end":{"line":764,"column":61}}],"line":764},"175":{"loc":{"start":{"line":771,"column":8},"end":{"line":774,"column":9}},"type":"if","locations":[{"start":{"line":771,"column":8},"end":{"line":774,"column":9}},{"start":{"line":771,"column":8},"end":{"line":774,"column":9}}],"line":771},"176":{"loc":{"start":{"line":776,"column":8},"end":{"line":802,"column":9}},"type":"if","locations":[{"start":{"line":776,"column":8},"end":{"line":802,"column":9}},{"start":{"line":776,"column":8},"end":{"line":802,"column":9}}],"line":776},"177":{"loc":{"start":{"line":781,"column":20},"end":{"line":789,"column":21}},"type":"if","locations":[{"start":{"line":781,"column":20},"end":{"line":789,"column":21}},{"start":{"line":781,"column":20},"end":{"line":789,"column":21}}],"line":781},"178":{"loc":{"start":{"line":790,"column":76},"end":{"line":790,"column":123}},"type":"cond-expr","locations":[{"start":{"line":790,"column":90},"end":{"line":790,"column":99}},{"start":{"line":790,"column":102},"end":{"line":790,"column":123}}],"line":790},"179":{"loc":{"start":{"line":798,"column":20},"end":{"line":798,"column":72}},"type":"if","locations":[{"start":{"line":798,"column":20},"end":{"line":798,"column":72}},{"start":{"line":798,"column":20},"end":{"line":798,"column":72}}],"line":798},"180":{"loc":{"start":{"line":798,"column":24},"end":{"line":798,"column":58}},"type":"binary-expr","locations":[{"start":{"line":798,"column":24},"end":{"line":798,"column":26}},{"start":{"line":798,"column":30},"end":{"line":798,"column":38}},{"start":{"line":798,"column":43},"end":{"line":798,"column":57}}],"line":798},"181":{"loc":{"start":{"line":800,"column":26},"end":{"line":800,"column":53}},"type":"if","locations":[{"start":{"line":800,"column":26},"end":{"line":800,"column":53}},{"start":{"line":800,"column":26},"end":{"line":800,"column":53}}],"line":800},"182":{"loc":{"start":{"line":808,"column":8},"end":{"line":818,"column":9}},"type":"if","locations":[{"start":{"line":808,"column":8},"end":{"line":818,"column":9}},{"start":{"line":808,"column":8},"end":{"line":818,"column":9}}],"line":808},"183":{"loc":{"start":{"line":809,"column":31},"end":{"line":809,"column":53}},"type":"binary-expr","locations":[{"start":{"line":809,"column":31},"end":{"line":809,"column":47}},{"start":{"line":809,"column":51},"end":{"line":809,"column":53}}],"line":809},"184":{"loc":{"start":{"line":819,"column":8},"end":{"line":825,"column":9}},"type":"if","locations":[{"start":{"line":819,"column":8},"end":{"line":825,"column":9}},{"start":{"line":819,"column":8},"end":{"line":825,"column":9}}],"line":819},"185":{"loc":{"start":{"line":819,"column":12},"end":{"line":819,"column":59}},"type":"binary-expr","locations":[{"start":{"line":819,"column":12},"end":{"line":819,"column":28}},{"start":{"line":819,"column":32},"end":{"line":819,"column":59}}],"line":819},"186":{"loc":{"start":{"line":840,"column":8},"end":{"line":883,"column":9}},"type":"switch","locations":[{"start":{"line":841,"column":12},"end":{"line":842,"column":48}},{"start":{"line":843,"column":12},"end":{"line":844,"column":48}},{"start":{"line":845,"column":12},"end":{"line":851,"column":17}},{"start":{"line":852,"column":12},"end":{"line":853,"column":49}},{"start":{"line":854,"column":12},"end":{"line":855,"column":54}},{"start":{"line":856,"column":12},"end":{"line":869,"column":45}},{"start":{"line":870,"column":12},"end":{"line":871,"column":49}},{"start":{"line":872,"column":12},"end":{"line":873,"column":46}},{"start":{"line":875,"column":12},"end":{"line":876,"column":28}},{"start":{"line":877,"column":12},"end":{"line":882,"column":28}}],"line":840},"187":{"loc":{"start":{"line":846,"column":16},"end":{"line":851,"column":17}},"type":"if","locations":[{"start":{"line":846,"column":16},"end":{"line":851,"column":17}},{"start":{"line":846,"column":16},"end":{"line":851,"column":17}}],"line":846},"188":{"loc":{"start":{"line":857,"column":16},"end":{"line":868,"column":17}},"type":"if","locations":[{"start":{"line":857,"column":16},"end":{"line":868,"column":17}},{"start":{"line":857,"column":16},"end":{"line":868,"column":17}}],"line":857},"189":{"loc":{"start":{"line":859,"column":20},"end":{"line":867,"column":21}},"type":"if","locations":[{"start":{"line":859,"column":20},"end":{"line":867,"column":21}},{"start":{"line":859,"column":20},"end":{"line":867,"column":21}}],"line":859},"190":{"loc":{"start":{"line":862,"column":24},"end":{"line":866,"column":25}},"type":"if","locations":[{"start":{"line":862,"column":24},"end":{"line":866,"column":25}},{"start":{"line":862,"column":24},"end":{"line":866,"column":25}}],"line":862},"191":{"loc":{"start":{"line":878,"column":16},"end":{"line":881,"column":17}},"type":"if","locations":[{"start":{"line":878,"column":16},"end":{"line":881,"column":17}},{"start":{"line":878,"column":16},"end":{"line":881,"column":17}}],"line":878},"192":{"loc":{"start":{"line":878,"column":20},"end":{"line":878,"column":71}},"type":"binary-expr","locations":[{"start":{"line":878,"column":20},"end":{"line":878,"column":43}},{"start":{"line":878,"column":47},"end":{"line":878,"column":71}}],"line":878},"193":{"loc":{"start":{"line":886,"column":8},"end":{"line":889,"column":9}},"type":"if","locations":[{"start":{"line":886,"column":8},"end":{"line":889,"column":9}},{"start":{"line":886,"column":8},"end":{"line":889,"column":9}}],"line":886},"194":{"loc":{"start":{"line":891,"column":8},"end":{"line":893,"column":9}},"type":"if","locations":[{"start":{"line":891,"column":8},"end":{"line":893,"column":9}},{"start":{"line":891,"column":8},"end":{"line":893,"column":9}}],"line":891},"195":{"loc":{"start":{"line":891,"column":12},"end":{"line":891,"column":61}},"type":"binary-expr","locations":[{"start":{"line":891,"column":12},"end":{"line":891,"column":26}},{"start":{"line":891,"column":30},"end":{"line":891,"column":61}}],"line":891},"196":{"loc":{"start":{"line":904,"column":8},"end":{"line":923,"column":9}},"type":"if","locations":[{"start":{"line":904,"column":8},"end":{"line":923,"column":9}},{"start":{"line":904,"column":8},"end":{"line":923,"column":9}}],"line":904},"197":{"loc":{"start":{"line":904,"column":12},"end":{"line":904,"column":79}},"type":"binary-expr","locations":[{"start":{"line":904,"column":12},"end":{"line":904,"column":26}},{"start":{"line":904,"column":30},"end":{"line":904,"column":44}},{"start":{"line":904,"column":48},"end":{"line":904,"column":79}}],"line":904},"198":{"loc":{"start":{"line":905,"column":31},"end":{"line":905,"column":156}},"type":"binary-expr","locations":[{"start":{"line":905,"column":31},"end":{"line":905,"column":150}},{"start":{"line":905,"column":154},"end":{"line":905,"column":156}}],"line":905},"199":{"loc":{"start":{"line":905,"column":81},"end":{"line":905,"column":143}},"type":"binary-expr","locations":[{"start":{"line":905,"column":81},"end":{"line":905,"column":109}},{"start":{"line":905,"column":113},"end":{"line":905,"column":143}}],"line":905},"200":{"loc":{"start":{"line":906,"column":12},"end":{"line":917,"column":13}},"type":"if","locations":[{"start":{"line":906,"column":12},"end":{"line":917,"column":13}},{"start":{"line":906,"column":12},"end":{"line":917,"column":13}}],"line":906},"201":{"loc":{"start":{"line":910,"column":17},"end":{"line":917,"column":13}},"type":"if","locations":[{"start":{"line":910,"column":17},"end":{"line":917,"column":13}},{"start":{"line":910,"column":17},"end":{"line":917,"column":13}}],"line":910},"202":{"loc":{"start":{"line":929,"column":51},"end":{"line":929,"column":142}},"type":"cond-expr","locations":[{"start":{"line":929,"column":72},"end":{"line":929,"column":137}},{"start":{"line":929,"column":140},"end":{"line":929,"column":142}}],"line":929},"203":{"loc":{"start":{"line":935,"column":8},"end":{"line":956,"column":9}},"type":"if","locations":[{"start":{"line":935,"column":8},"end":{"line":956,"column":9}},{"start":{"line":935,"column":8},"end":{"line":956,"column":9}}],"line":935},"204":{"loc":{"start":{"line":940,"column":20},"end":{"line":942,"column":21}},"type":"if","locations":[{"start":{"line":940,"column":20},"end":{"line":942,"column":21}},{"start":{"line":940,"column":20},"end":{"line":942,"column":21}}],"line":940},"205":{"loc":{"start":{"line":952,"column":20},"end":{"line":952,"column":72}},"type":"if","locations":[{"start":{"line":952,"column":20},"end":{"line":952,"column":72}},{"start":{"line":952,"column":20},"end":{"line":952,"column":72}}],"line":952},"206":{"loc":{"start":{"line":952,"column":24},"end":{"line":952,"column":58}},"type":"binary-expr","locations":[{"start":{"line":952,"column":24},"end":{"line":952,"column":26}},{"start":{"line":952,"column":30},"end":{"line":952,"column":38}},{"start":{"line":952,"column":43},"end":{"line":952,"column":57}}],"line":952},"207":{"loc":{"start":{"line":954,"column":26},"end":{"line":954,"column":53}},"type":"if","locations":[{"start":{"line":954,"column":26},"end":{"line":954,"column":53}},{"start":{"line":954,"column":26},"end":{"line":954,"column":53}}],"line":954},"208":{"loc":{"start":{"line":962,"column":8},"end":{"line":967,"column":9}},"type":"if","locations":[{"start":{"line":962,"column":8},"end":{"line":967,"column":9}},{"start":{"line":962,"column":8},"end":{"line":967,"column":9}}],"line":962},"209":{"loc":{"start":{"line":978,"column":8},"end":{"line":995,"column":9}},"type":"switch","locations":[{"start":{"line":980,"column":12},"end":{"line":984,"column":22}},{"start":{"line":985,"column":12},"end":{"line":985,"column":35}},{"start":{"line":986,"column":12},"end":{"line":986,"column":31}},{"start":{"line":987,"column":12},"end":{"line":987,"column":28}},{"start":{"line":988,"column":12},"end":{"line":990,"column":22}}],"line":978},"210":{"loc":{"start":{"line":996,"column":8},"end":{"line":998,"column":9}},"type":"if","locations":[{"start":{"line":996,"column":8},"end":{"line":998,"column":9}},{"start":{"line":996,"column":8},"end":{"line":998,"column":9}}],"line":996},"211":{"loc":{"start":{"line":1010,"column":8},"end":{"line":1012,"column":9}},"type":"if","locations":[{"start":{"line":1010,"column":8},"end":{"line":1012,"column":9}},{"start":{"line":1010,"column":8},"end":{"line":1012,"column":9}}],"line":1010},"212":{"loc":{"start":{"line":1021,"column":8},"end":{"line":1034,"column":9}},"type":"switch","locations":[{"start":{"line":1023,"column":12},"end":{"line":1026,"column":22}},{"start":{"line":1027,"column":12},"end":{"line":1029,"column":22}}],"line":1021},"213":{"loc":{"start":{"line":1035,"column":8},"end":{"line":1037,"column":9}},"type":"if","locations":[{"start":{"line":1035,"column":8},"end":{"line":1037,"column":9}},{"start":{"line":1035,"column":8},"end":{"line":1037,"column":9}}],"line":1035},"214":{"loc":{"start":{"line":1046,"column":8},"end":{"line":1066,"column":9}},"type":"switch","locations":[{"start":{"line":1048,"column":12},"end":{"line":1050,"column":22}},{"start":{"line":1051,"column":12},"end":{"line":1051,"column":28}},{"start":{"line":1052,"column":12},"end":{"line":1052,"column":25}},{"start":{"line":1053,"column":12},"end":{"line":1053,"column":29}},{"start":{"line":1054,"column":12},"end":{"line":1054,"column":25}},{"start":{"line":1055,"column":12},"end":{"line":1055,"column":29}},{"start":{"line":1056,"column":12},"end":{"line":1056,"column":25}},{"start":{"line":1057,"column":12},"end":{"line":1057,"column":23}},{"start":{"line":1059,"column":12},"end":{"line":1061,"column":22}}],"line":1046},"215":{"loc":{"start":{"line":1067,"column":8},"end":{"line":1072,"column":9}},"type":"if","locations":[{"start":{"line":1067,"column":8},"end":{"line":1072,"column":9}},{"start":{"line":1067,"column":8},"end":{"line":1072,"column":9}}],"line":1067},"216":{"loc":{"start":{"line":1068,"column":12},"end":{"line":1070,"column":13}},"type":"if","locations":[{"start":{"line":1068,"column":12},"end":{"line":1070,"column":13}},{"start":{"line":1068,"column":12},"end":{"line":1070,"column":13}}],"line":1068},"217":{"loc":{"start":{"line":1068,"column":16},"end":{"line":1068,"column":144}},"type":"binary-expr","locations":[{"start":{"line":1068,"column":16},"end":{"line":1068,"column":34}},{"start":{"line":1068,"column":40},"end":{"line":1068,"column":88}},{"start":{"line":1068,"column":94},"end":{"line":1068,"column":142}}],"line":1068},"218":{"loc":{"start":{"line":1081,"column":8},"end":{"line":1106,"column":9}},"type":"switch","locations":[{"start":{"line":1083,"column":12},"end":{"line":1085,"column":22}},{"start":{"line":1086,"column":12},"end":{"line":1091,"column":22}},{"start":{"line":1093,"column":12},"end":{"line":1093,"column":24}},{"start":{"line":1094,"column":12},"end":{"line":1094,"column":29}},{"start":{"line":1095,"column":12},"end":{"line":1095,"column":25}},{"start":{"line":1096,"column":12},"end":{"line":1096,"column":29}},{"start":{"line":1097,"column":12},"end":{"line":1097,"column":23}},{"start":{"line":1098,"column":12},"end":{"line":1098,"column":25}},{"start":{"line":1099,"column":12},"end":{"line":1101,"column":22}}],"line":1081},"219":{"loc":{"start":{"line":1107,"column":8},"end":{"line":1112,"column":9}},"type":"if","locations":[{"start":{"line":1107,"column":8},"end":{"line":1112,"column":9}},{"start":{"line":1107,"column":8},"end":{"line":1112,"column":9}}],"line":1107},"220":{"loc":{"start":{"line":1108,"column":12},"end":{"line":1110,"column":13}},"type":"if","locations":[{"start":{"line":1108,"column":12},"end":{"line":1110,"column":13}},{"start":{"line":1108,"column":12},"end":{"line":1110,"column":13}}],"line":1108},"221":{"loc":{"start":{"line":1108,"column":16},"end":{"line":1108,"column":153}},"type":"binary-expr","locations":[{"start":{"line":1108,"column":16},"end":{"line":1108,"column":37}},{"start":{"line":1108,"column":43},"end":{"line":1108,"column":94}},{"start":{"line":1108,"column":100},"end":{"line":1108,"column":151}}],"line":1108}},"s":{"0":1,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":1,"12":0,"13":0,"14":1,"15":1,"16":1,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":1,"25":680,"26":680,"27":680,"28":680,"29":680,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":1,"37":57,"38":57,"39":0,"40":57,"41":57,"42":57,"43":57,"44":61,"45":0,"46":57,"47":57,"48":0,"49":57,"50":0,"51":57,"52":1,"53":51,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":51,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":131,"72":131,"73":131,"74":131,"75":131,"76":1,"77":5,"78":5,"79":5,"80":6,"81":6,"82":5,"83":5,"84":5,"85":5,"86":5,"87":6,"88":6,"89":6,"90":6,"91":0,"92":5,"93":5,"94":0,"95":5,"96":0,"97":5,"98":1,"99":5,"100":1,"101":54,"102":54,"103":53,"104":53,"105":1,"106":1,"107":50,"108":50,"109":48,"110":48,"111":50,"112":1,"113":130,"114":130,"115":130,"116":130,"117":130,"118":282,"119":282,"120":258,"121":258,"122":254,"123":258,"124":258,"125":192,"126":157,"127":192,"128":178,"129":192,"130":192,"131":192,"132":0,"133":130,"134":130,"135":0,"136":130,"137":0,"138":1,"139":55,"140":3,"141":52,"142":52,"143":52,"144":52,"145":52,"146":117,"147":117,"148":117,"149":117,"150":117,"151":117,"152":117,"153":3,"154":3,"155":3,"156":3,"157":117,"158":51,"159":51,"160":48,"161":48,"162":48,"163":4,"164":4,"165":15,"166":15,"167":10,"168":10,"169":8,"170":8,"171":11,"172":11,"173":3,"174":66,"175":66,"176":0,"177":117,"178":117,"179":0,"180":117,"181":0,"182":0,"183":52,"184":52,"185":0,"186":52,"187":0,"188":52,"189":52,"190":1,"191":205,"192":205,"193":205,"194":205,"195":205,"196":188,"197":188,"198":188,"199":188,"200":188,"201":87,"202":188,"203":188,"204":188,"205":188,"206":348,"207":348,"208":102,"209":102,"210":102,"211":100,"212":100,"213":3,"214":100,"215":246,"216":14,"217":0,"218":188,"219":188,"220":0,"221":188,"222":0,"223":188,"224":101,"225":205,"226":1,"227":53,"228":53,"229":53,"230":53,"231":73,"232":73,"233":73,"234":73,"235":73,"236":73,"237":9,"238":9,"239":9,"240":64,"241":14,"242":14,"243":14,"244":14,"245":9,"246":9,"247":9,"248":9,"249":9,"250":9,"251":9,"252":9,"253":9,"254":4,"255":5,"256":9,"257":1,"258":1,"259":9,"260":9,"261":1,"262":0,"263":50,"264":49,"265":1,"266":73,"267":59,"268":8,"269":59,"270":59,"271":53,"272":1,"273":282,"274":20,"275":262,"276":1,"277":3,"278":0,"279":3,"280":3,"281":3,"282":3,"283":3,"284":3,"285":0,"286":3,"287":3,"288":1,"289":51,"290":51,"291":48,"292":48,"293":0,"294":0,"295":3,"296":1,"297":3,"298":0,"299":3,"300":3,"301":3,"302":3,"303":3,"304":12,"305":12,"306":12,"307":12,"308":12,"309":12,"310":12,"311":6,"312":0,"313":12,"314":12,"315":0,"316":12,"317":0,"318":0,"319":3,"320":3,"321":0,"322":3,"323":0,"324":3,"325":1,"326":84,"327":40,"328":39,"329":1,"330":1,"331":44,"332":84,"333":1,"334":264,"335":264,"336":264,"337":264,"338":264,"339":264,"340":264,"341":264,"342":264,"343":2,"344":1,"345":192,"346":1,"347":1,"348":1,"349":1,"350":1,"351":1,"352":1,"353":1,"354":1,"355":0,"356":1,"357":1,"358":0,"359":1,"360":0,"361":191,"362":182,"363":182,"364":0,"365":1,"366":147,"367":147,"368":147,"369":147,"370":147,"371":169,"372":169,"373":0,"374":147,"375":147,"376":0,"377":147,"378":0,"379":147,"380":1,"381":179,"382":179,"383":1,"384":178,"385":3,"386":1,"387":1,"388":2,"389":3,"390":3,"391":178,"392":31,"393":31,"394":21,"395":21,"396":21,"397":21,"398":21,"399":10,"400":10,"401":178,"402":152,"403":152,"404":2,"405":150,"406":178,"407":1,"408":169,"409":169,"410":169,"411":2,"412":167,"413":1,"414":166,"415":2,"416":164,"417":164,"418":1,"419":1,"420":1,"421":1,"422":1,"423":164,"424":1,"425":1,"426":164,"427":164,"428":2,"429":169,"430":166,"431":169,"432":0,"433":169,"434":1,"435":37,"436":35,"437":35,"438":37,"439":36,"440":36,"441":4,"442":32,"443":36,"444":36,"445":37,"446":1,"447":3,"448":1,"449":2,"450":2,"451":2,"452":2,"453":1,"454":7,"455":7,"456":7,"457":7,"458":7,"459":7,"460":7,"461":12,"462":12,"463":12,"464":12,"465":12,"466":6,"467":6,"468":12,"469":12,"470":12,"471":0,"472":7,"473":7,"474":0,"475":7,"476":0,"477":7,"478":1,"479":83,"480":83,"481":2,"482":2,"483":83,"484":48,"485":35,"486":83,"487":1,"488":6,"489":1,"490":258,"491":83,"492":3,"493":36,"494":6,"495":30,"496":7,"497":15,"498":37,"499":2,"500":2,"501":2,"502":2,"503":2,"504":2,"505":2,"506":35,"507":6,"508":7,"509":1,"510":63,"511":63,"512":1,"513":30,"514":30,"515":30,"516":29,"517":30,"518":1,"519":7,"520":1,"521":7,"522":1,"523":24,"524":24,"525":23,"526":27,"527":23,"528":1,"529":1,"530":1,"531":22,"532":18,"533":18,"534":19,"535":4,"536":4,"537":1,"538":24,"539":1,"540":1,"541":1,"542":1,"543":19,"544":19,"545":18,"546":18,"547":18,"548":18,"549":27,"550":27,"551":27,"552":27,"553":27,"554":27,"555":27,"556":27,"557":0,"558":18,"559":18,"560":0,"561":18,"562":0,"563":19,"564":1,"565":4,"566":4,"567":4,"568":0,"569":4,"570":7,"571":4,"572":1,"573":15,"574":15,"575":15,"576":5,"577":5,"578":5,"579":10,"580":10,"581":15,"582":15,"583":1,"584":10,"585":14,"586":10,"587":0,"588":1,"589":8,"590":8,"591":6,"592":6,"593":2,"594":2,"595":8,"596":8,"597":1,"598":13,"599":13,"600":2,"601":2,"602":11,"603":11,"604":13,"605":11,"606":0,"607":11,"608":1,"609":4,"610":4,"611":0,"612":0,"613":1,"614":1,"615":3,"616":3,"617":4,"618":4,"619":4,"620":4,"621":1,"622":11,"623":11,"624":11,"625":11,"626":11,"627":1,"628":2,"629":2,"630":2,"631":2,"632":2,"633":1,"634":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1,"6":680,"7":0,"8":57,"9":51,"10":1,"11":131,"12":5,"13":6,"14":54,"15":53,"16":50,"17":48,"18":48,"19":130,"20":55,"21":205,"22":53,"23":1,"24":282,"25":3,"26":3,"27":3,"28":3,"29":51,"30":3,"31":84,"32":264,"33":192,"34":147,"35":179,"36":169,"37":37,"38":3,"39":7,"40":83,"41":6,"42":258,"43":2,"44":30,"45":7,"46":7,"47":24,"48":27,"49":1,"50":19,"51":1,"52":19,"53":4,"54":7,"55":15,"56":10,"57":14,"58":8,"59":13,"60":4,"61":11,"62":2},"b":{"0":[1,1,1],"1":[1,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[1,1,1],"9":[1,0],"10":[1,1,1],"11":[1,0],"12":[1,1],"13":[0,0],"14":[0,0],"15":[0,0],"16":[1,1,1],"17":[680,680],"18":[680,680],"19":[680,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[1,1,1],"27":[57,57],"28":[0,57],"29":[118,18,112],"30":[0,57],"31":[57,57,6],"32":[0,57],"33":[1,1,1],"34":[0,51],"35":[51,51],"36":[0,0],"37":[0,0],"38":[0,0],"39":[51,51],"40":[131,113],"41":[0,5],"42":[5,5,0],"43":[0,5],"44":[1,4],"45":[53,1],"46":[258,24],"47":[282,274,274,13,262,259,259,187],"48":[187,12],"49":[258,254],"50":[254,4],"51":[192,66],"52":[157,35],"53":[178,14],"54":[0,130],"55":[130,130,0],"56":[0,130],"57":[3,52],"58":[3,114],"59":[117,16],"60":[3,0],"61":[51,66],"62":[48,3],"63":[4,15,10,8,11],"64":[66,0],"65":[0,117],"66":[117,117,0],"67":[0,117],"68":[0,52],"69":[52,52,0],"70":[0,52],"71":[205,0],"72":[188,17],"73":[188,0],"74":[87,101],"75":[102,246],"76":[348,103],"77":[100,2],"78":[3,97],"79":[14,232],"80":[0,188],"81":[188,188,0],"82":[0,188],"83":[101,87],"84":[73,20],"85":[9,64],"86":[73,59],"87":[14,50],"88":[0,14],"89":[14,14],"90":[9,5],"91":[14,5],"92":[0,9],"93":[4,5],"94":[9,0],"95":[4,5],"96":[1,8],"97":[9,9,9],"98":[1,8],"99":[49,1],"100":[50,49],"101":[59,14],"102":[8,51],"103":[20,262],"104":[282,21],"105":[0,3],"106":[3,0,0],"107":[3,3],"108":[48,3],"109":[48,0],"110":[0,0],"111":[0,3],"112":[6,6],"113":[0,12],"114":[12,12,0],"115":[0,12],"116":[0,3],"117":[3,3,0],"118":[0,3],"119":[40,44],"120":[84,40],"121":[39,1],"122":[22,242],"123":[264,254],"124":[22,0],"125":[0,264],"126":[0,264],"127":[0,264],"128":[80,184],"129":[2,262],"130":[264,10,2],"131":[1,191],"132":[1],"133":[1,0],"134":[0,1],"135":[1,1,0],"136":[0,1],"137":[182,9],"138":[0,182],"139":[0,147],"140":[147,147,0],"141":[0,147],"142":[1,178],"143":[3,175],"144":[178,178,121],"145":[1,2],"146":[3,0],"147":[3,1],"148":[21,10],"149":[31,21],"150":[2,19],"151":[21,0],"152":[152,26],"153":[2,150],"154":[152,2],"155":[2,167],"156":[1,166],"157":[2,164],"158":[1,163],"159":[1,0],"160":[1,0],"161":[1,163],"162":[164,163,163],"163":[2,162],"164":[164,163,162,2],"165":[166,3],"166":[166,160],"167":[0,169],"168":[35,2],"169":[36,1],"170":[4,32],"171":[36,30],"172":[1,2],"173":[2,0],"174":[2,2],"175":[0,7],"176":[7,0],"177":[12,0],"178":[6,6],"179":[0,7],"180":[7,7,0],"181":[0,7],"182":[2,81],"183":[2,1],"184":[48,35],"185":[83,73],"186":[83,3,36,7,15,37,6,7,1,63],"187":[6,30],"188":[2,35],"189":[2,0],"190":[2,0],"191":[0,63],"192":[63,0],"193":[0,30],"194":[29,1],"195":[30,29],"196":[23,1],"197":[24,23,23],"198":[23,4],"199":[27,9],"200":[1,22],"201":[18,4],"202":[1,0],"203":[18,1],"204":[27,0],"205":[0,18],"206":[18,18,0],"207":[0,18],"208":[0,4],"209":[5,0,0,10,10],"210":[15,0],"211":[0,10],"212":[6,2],"213":[8,0],"214":[2,5,5,8,8,8,8,10,11],"215":[11,2],"216":[0,11],"217":[11,0,0],"218":[0,1,2,2,3,3,3,3,3],"219":[4,0],"220":[4,0],"221":[4,4,4]},"inputSourceMap":{"version":3,"file":"D:/jsdoc-tsd/src/core/jsdoc-tsd-parser.ts","sources":["D:/jsdoc-tsd/src/core/jsdoc-tsd-parser.ts"],"names":[],"mappings":"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","sourcesContent":["import { parse as jsdocCommentParser } from \"comment-parser\";\r\nimport * as dom from \"dts-dom\";\r\nimport { ParameterFlags } from \"dts-dom\";\r\nimport { writeFileSync } from \"fs\";\r\nimport { Configuration } from \"./Configuration\";\r\nimport { Logger } from \"./Logger\";\r\n\r\nexport interface IParsedJSDocItem {\r\n\tlongname: string;\r\n\tmemberof?: string;\r\n\toriginal: TDoclet;\r\n\tparsed: dom.DeclarationBase;\r\n}\r\n\r\nexport class JSDocTsdParser {\r\n\tprivate _parsedClassess: IParsedJSDocItem[] | null = null;\r\n\r\n\t/**\r\n\t * Maps the access flags from JSDoc to declaration flags of dts-dom\r\n\t */\r\n\tprivate accessFlagMap: { [key: string]: dom.DeclarationFlags } = {\r\n\t\tprivate: dom.DeclarationFlags.Private,\r\n\t\tprotected: dom.DeclarationFlags.Protected,\r\n\t\tpublic: dom.DeclarationFlags.None,\r\n\t};\r\n\r\n\t/**\r\n\t * Configuration of of this template.\r\n\t */\r\n\tprivate config: Configuration;\r\n\r\n\t/**\r\n\t * JSDoc items which were parsed from the passed in taffy db\r\n\t */\r\n\tprivate jsdocItems: TDoclet[];\r\n\r\n\t/**\r\n\t * Tranformed JSDoc items (to declaration bases) which can\r\n\t * be passed in to dts-dom for output the d.ts-file.\r\n\t *\r\n\t * The membership is not resolved. JSDoc allows a lot of bullshit.\r\n\t * E. g. items with same name of different types can be added. This\r\n\t * is not valid in typescript, but we will simply ignore this to enforce\r\n\t * the user of this module to correct their JSDoc comments. For that reason\r\n\t * we store all items with same longname (Pattern: <membership>.<name>) in\r\n\t * an array. Once all items are parsed, we can resolve the memberships\r\n\t * (@see resolveMembership).\r\n\t */\r\n\tprivate parsedItems: Map<string, IParsedJSDocItem[]>;\r\n\r\n\t/**\r\n\t * Already resolved items. Will be set by \"resolvedItems\"\r\n\t */\r\n\tprivate resolvedItems: Map<string, dom.TopLevelDeclaration> | undefined;\r\n\r\n\tconstructor(config?: Configuration) {\r\n\t\tthis.parsedItems = new Map();\r\n\t\tthis.jsdocItems = [];\r\n\t\tthis.config = config || new Configuration();\r\n\t}\r\n\r\n\t/**\r\n\t * Creates the type definition file as string\r\n\t * @param targetPath If passed, the output will be written to the passed file path\r\n\t */\r\n\tpublic generateTypeDefinition(targetPath?: string): string {\r\n\t\tlet output = \"\";\r\n\r\n\t\tconst results = this.resolveMembershipAndExtends();\r\n\t\tfor (const [longname, item] of results.entries()) {\r\n\t\t\ttry {\r\n\t\t\t\toutput += dom.emit(item);\r\n\r\n\t\t\t} catch (err) {\r\n\t\t\t\t/* istanbul ignore next */\r\n\t\t\t\tLogger.log(`Unexpected error. Please report this error on github!\\nCan't emit item ${longname}: ${err}\\n\\n${JSON.stringify(item, null, \"\\t\")}`, console.error);\r\n\t\t\t\t/* istanbul ignore next */\r\n\t\t\t\tconst jsdocItems = this.jsdocItems.filter((elem) => {\r\n\t\t\t\t\treturn (elem.hasOwnProperty(\"name\") && elem.name.endsWith(longname)) || (elem.hasOwnProperty(\"longname\") && elem.longname === longname);\r\n\t\t\t\t});\r\n\t\t\t\t/* istanbul ignore next */\r\n\t\t\t\tLogger.log(`JSDoc items: \\n${JSON.stringify(jsdocItems, null, \"\\t\")}`);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (targetPath) {\r\n\t\t\twriteFileSync(targetPath, output);\r\n\t\t}\r\n\r\n\t\treturn output;\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the parsed Declaration Base of an jsdoc item\r\n\t * @param name The longname of the jsdoc item (name including membership, e.g. \"myNamespace.myMember\")\r\n\t * @throws {Error} When no item with this name was parsed\r\n\t */\r\n\tpublic getParsedItem(name: string): dom.DeclarationBase[] {\r\n\t\tconst item = this.parsedItems.get(name);\r\n\t\tif (item) {\r\n\t\t\treturn item.map((i) => i.parsed);\r\n\t\t} else {\r\n\t\t\tthrow new Error(`Item with name '${name}' not found in result items`);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Returns all parsed Declaration Bases\r\n\t */\r\n\tpublic getParsedItems(): Map<string, dom.DeclarationBase[]> {\r\n\t\tconst entries = [...this.parsedItems.entries()];\r\n\t\tconst newEntries = entries.map((entry) => {\r\n\t\t\treturn [entry[0], entry[1].map((i) => i.parsed)];\r\n\t\t});\r\n\r\n\t\t// @ts-ignore\r\n\t\treturn new Map(newEntries);\r\n\t}\r\n\r\n\tpublic parse(jsdocItems: TDoclet[]) {\r\n\t\tthis.jsdocItems = [];\r\n\r\n\t\tfor (const item of jsdocItems) {\r\n\t\t\t// Ignore inherited items\r\n\t\t\t// JDoc will duplicate inherited items. If we don't ignore them,\r\n\t\t\t// inherited items will also be duplicated in the output\r\n\t\t\tif (this.evaluateSinceTag(item) && !item.ignore && (!item.undocumented || !this.config.skipUndocumented) && !item.inherited && !this.config.ignoreScope(item.scope) && (!item.comment || !(item.comment.match(\"@type \") && item.scope === \"inner\"))) {\r\n\t\t\t\tconst parsedItems: IParsedJSDocItem[] = this.parsedItems.get(item.longname) || [];\r\n\t\t\t\tif (parsedItems.length === 0) {\r\n\t\t\t\t\tthis.jsdocItems.push(item);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst parsedItem: dom.DeclarationBase | null = this.parseJSDocItem(item);\r\n\t\t\t\tif (parsedItem) {\r\n\t\t\t\t\tif (item.kind !== \"class\") {\r\n\t\t\t\t\t\t// @ts-ignore\r\n\t\t\t\t\t\tparsedItem.jsDocComment = this.cleanJSDocComment(item.comment);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (\"flags\" in parsedItem) {\r\n\t\t\t\t\t\tthis.handleFlags(item, parsedItem);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.handleTags(item, parsedItem);\r\n\t\t\t\t\tparsedItems.push({\r\n\t\t\t\t\t\tlongname: item.longname,\r\n\t\t\t\t\t\tmemberof: item.memberof,\r\n\t\t\t\t\t\toriginal: item,\r\n\t\t\t\t\t\tparsed: parsedItem,\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.parsedItems.set(item.longname, parsedItems);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Resolves the membership of all parsed items. For example a namspace member will be\r\n\t * added to the member-property of the parsed namespace, if the namespace was parsed.\r\n\t * Otherwise the member will be added to the top level declaration.\r\n\t * @returns Map with the top level declarations and resolved memberships. The key is the\r\n\t *          long name of the item, the value is the @see {dom.TopLevelDeclaration}\r\n\t */\r\n\tpublic resolveMembershipAndExtends(): Map<string, dom.TopLevelDeclaration> {\r\n\t\tif (this.resolvedItems) {\r\n\t\t\treturn this.resolvedItems;\r\n\t\t} else {\r\n\t\t\tconst domTopLevelDeclarations: Map<string, dom.TopLevelDeclaration> = new Map();\r\n\t\t\tfor (const parsedItems of this.parsedItems.values()) {\r\n\t\t\t\tfor (const parsedItem of parsedItems) {\r\n\r\n\t\t\t\t\tif (parsedItem.original.kind === \"class\" && parsedItem.original.augments) {\r\n\t\t\t\t\t\tconst parentItem: dom.ClassDeclaration | undefined =\r\n\t\t\t\t\t\t\tthis.findClassParent(parsedItem.original as IClassDoclet);\r\n\r\n\t\t\t\t\t\tif (parentItem) {\r\n\t\t\t\t\t\t\tconst classItem = parsedItem.parsed as dom.ClassDeclaration;\r\n\t\t\t\t\t\t\tclassItem.baseType = parentItem;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (parsedItem.memberof) {\r\n\t\t\t\t\t\t// @todo Do not pass the domTopLevelDeclarations but the parsedItems map.\r\n\t\t\t\t\t\t//       Maybe the parent item was not processed yet, then it will not be\r\n\t\t\t\t\t\t//       found\r\n\t\t\t\t\t\tconst parentItem = this.findParentItem(parsedItem.memberof, domTopLevelDeclarations);\r\n\r\n\t\t\t\t\t\tif (parentItem) {\r\n\t\t\t\t\t\t\t// add the items we parsed before as a member of the top level declaration\r\n\t\t\t\t\t\t\tconst dtsItem = parsedItem.parsed;\r\n\t\t\t\t\t\t\tconst kind = (parentItem as any).kind;\r\n\t\t\t\t\t\t\tswitch (kind) {\r\n\t\t\t\t\t\t\t\tcase \"namespace\":\r\n\t\t\t\t\t\t\t\t\tthis.resolveNamespaceMembership(dtsItem as dom.NamespaceMember, parentItem as dom.NamespaceDeclaration);\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\r\n\t\t\t\t\t\t\t\tcase \"class\":\r\n\t\t\t\t\t\t\t\t\tthis.resolveClassMembership(dtsItem as dom.ClassMember, parentItem as dom.ClassDeclaration);\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\r\n\t\t\t\t\t\t\t\tcase \"enum\":\r\n\t\t\t\t\t\t\t\t\tthis.resolveEnumMembership(dtsItem as dom.EnumMemberDeclaration, parentItem as dom.EnumDeclaration);\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\r\n\t\t\t\t\t\t\t\tcase \"interface\":\r\n\t\t\t\t\t\t\t\t\tthis.resolveInterfaceMembership(dtsItem as dom.ObjectTypeMember, parentItem as dom.InterfaceDeclaration);\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\r\n\t\t\t\t\t\t\t\tcase \"module\":\r\n\t\t\t\t\t\t\t\t\tthis.resolveModuleMembership(dtsItem as dom.ModuleMember, parentItem as dom.ModuleDeclaration);\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\r\n\t\t\t\t\t\t\t\t/* istanbul ignore next */\r\n\t\t\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\t\t\t// parent type not supported\r\n\t\t\t\t\t\t\t\t\tLogger.log(`Can't add member '${parsedItem.longname}' to parent item '${(parentItem as any).name}'. Unsupported parent member type: '${kind}'.`);\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tLogger.log(\"Missing top level declaration '\" + parsedItem.memberof + \"' for member '\" + parsedItem.longname + \"'.\", console.warn);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// member has no parent, add the item as top-level declaration\r\n\t\t\t\t\t\tif (!domTopLevelDeclarations.has(parsedItem.longname)) {\r\n\t\t\t\t\t\t\tdomTopLevelDeclarations.set(\r\n\t\t\t\t\t\t\t\tparsedItem.longname,\r\n\t\t\t\t\t\t\t\tparsedItem.parsed as dom.TopLevelDeclaration,\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tthis.resolvedItems = domTopLevelDeclarations;\r\n\t\t\treturn domTopLevelDeclarations;\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Creates the comment for the jsdoc item\r\n\t * @param comment The complete comment text of the item\r\n\t * @param addExample Indicates if examples should be omitted or not\r\n\t */\r\n\tprivate cleanJSDocComment(comment: string | undefined, addExample = false): string {\r\n\t\tconst tagsToPass = new Map([\r\n\t\t\t[\"author\", true],\r\n\t\t\t[\"copyright\", true],\r\n\t\t\t[\"deprecated\", true],\r\n\t\t\t[\"example\", addExample],\r\n\t\t\t[\"returns\", true],\r\n\t\t\t[\"see\", true],\r\n\t\t\t[\"throws\", true],\r\n\t\t\t[\"todo\", true],\r\n\t\t\t[\"param\", true],\r\n\t\t\t[\"tutorial\", true],\r\n\t\t\t[\"variation\", true],\r\n\t\t\t[\"version\", true],\r\n\t\t\t[\"license\", true],\r\n\t\t]);\r\n\r\n\t\tlet cleanedComment = \"\";\r\n\t\tif (comment) {\r\n\t\t\tconst parsedComments = jsdocCommentParser(comment);\r\n\t\t\tif (parsedComments.length > 0) { // This should be maximum 1 element (except you pass more than one jsdoc comment, which is here never the case)\r\n\t\t\t\tconst parsedComment = parsedComments[0];\r\n\r\n\t\t\t\t// First, add the description\r\n\t\t\t\t// The comment parser removes the \" * \" by line breaks, so we have to add these again\r\n\t\t\t\tlet itemDescription = \"\";\r\n\t\t\t\tif (parsedComment.description.length > 0) {\r\n\t\t\t\t\titemDescription = parsedComment.description;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Then add all tags as we receive them\r\n\t\t\t\tfor (const annotation of parsedComment.tags) {\r\n\t\t\t\t\tif (tagsToPass.has(annotation.tag) && tagsToPass.get(annotation.tag)) {\r\n\t\t\t\t\t\tcleanedComment += \"\\n@\" + annotation.tag;\r\n\r\n\t\t\t\t\t\tconst tagValue = (annotation.name + \" \" + annotation.description).trim();\r\n\t\t\t\t\t\tif (tagValue.length > 0) {\r\n\t\t\t\t\t\t\t// The comment parser removes the \" * \" by line breaks, so we have to add these again\r\n\t\t\t\t\t\t\t// The format everything well, we insert as much spaces as the annotation name + 2, because\r\n\t\t\t\t\t\t\t// of the \"@\" char and a white space\r\n\t\t\t\t\t\t\tlet spacesToInsert = annotation.tag.length + 2;\r\n\t\t\t\t\t\t\tif (annotation.name === \"param\") {\r\n\t\t\t\t\t\t\t\tspacesToInsert += annotation.name.length;\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tcleanedComment += \" \" + tagValue.replace(/\\r?\\n/g, \"\\n\" + \" \".repeat(spacesToInsert));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else if (annotation.tag === \"description\") {\r\n\t\t\t\t\t\titemDescription = annotation.name + \" \" + annotation.description;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (itemDescription.length > 0) {\r\n\t\t\t\t\tcleanedComment = itemDescription.replace(/\\r?\\n/g, \"\\n\") + cleanedComment;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn cleanedComment;\r\n\t}\r\n\r\n\t/**\r\n\t * Creates parameters for functions, constructors etc.\r\n\t * @todo This function needs to be refactored.\r\n\t * @param params\r\n\t * @param functionName\r\n\t */\r\n\tprivate createDomParams(params: IDocletProp[], functionName: string, jsdocItem: TDoclet): dom.Parameter[] {\r\n\t\tconst domParams: dom.Parameter[] = [];\r\n\t\tlet typeDef: ITypedefDoclet | undefined;\r\n\t\tlet propParam: IDocletProp | undefined;\r\n\r\n\t\tfor (let i = 0; i < params.length; i++) {\r\n\t\t\tconst param = params[i];\r\n\t\t\tconst paramIsProperty = (param.name.indexOf(\".\") > 0);\r\n\t\t\tconst nextParamIsProperty = (i + 1 < params.length) && (params[i + 1].name.indexOf(\".\") > 0);\r\n\t\t\tconst lastParam = (i + 1 === params.length);\r\n\t\t\tlet domParam: dom.Parameter | undefined;\r\n\r\n\t\t\t// check the type of the parameter\r\n\t\t\tif (!paramIsProperty && nextParamIsProperty) {\r\n\t\t\t\t// the parameter is a parameter with properties\r\n\r\n\t\t\t\t// remember the parameter\r\n\t\t\t\tpropParam = param;\r\n\r\n\t\t\t\t// create a new typedef\r\n\t\t\t\ttypeDef = {\r\n\t\t\t\t\tkind: \"typedef\",\r\n\t\t\t\t\tlongname: functionName + \"_\" + param.name,\r\n\t\t\t\t\tmeta: param.meta,\r\n\t\t\t\t\tname: functionName + \"_\" + param.name,\r\n\t\t\t\t\tproperties: [],\r\n\t\t\t\t\tscope: \"\",\r\n\t\t\t\t\ttype: param.type,\r\n\t\t\t\t};\r\n\t\t\t\tthis.jsdocItems.push(typeDef);\r\n\r\n\t\t\t} else if (paramIsProperty) {\r\n\t\t\t\t// the parameter is a property\r\n\r\n\t\t\t\tif (!typeDef || !typeDef.properties) {\r\n\t\t\t\t\t/* istanbul ignore next */\r\n\t\t\t\t\tthrow new Error(`Parent of property ${param.name} is missing or incorrect`);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// add the property to the typedef\r\n\t\t\t\tconst prop: IDocletProp = {\r\n\t\t\t\t\tcomment: param.comment,\r\n\t\t\t\t\tdescription: param.description,\r\n\t\t\t\t\tname: param.name.substr(param.name.indexOf(\".\") + 1),\r\n\t\t\t\t\toptional: param.optional,\r\n\t\t\t\t\ttype: param.type,\r\n\t\t\t\t};\r\n\t\t\t\ttypeDef.properties.push(prop);\r\n\r\n\t\t\t\tif (lastParam || !nextParamIsProperty) {\r\n\t\t\t\t\t// the parameter is the last property\r\n\r\n\t\t\t\t\tif (!propParam) {\r\n\t\t\t\t\t\t/* istanbul ignore next */\r\n\t\t\t\t\t\tthrow new Error(`Parent of property ${param.name} is missing or incorrect`);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// create an interface from the typedef\r\n\t\t\t\t\t// the property param can also be an array, e. g. @param {fuu[]}, @param {fuu[].bar}\r\n\t\t\t\t\tconst interfaceTypeMatches = typeDef.type.names[0].match(/(?:Array\\.<([^>]+)>)|(?:([^\\[]*)\\[\\])/i);\r\n\t\t\t\t\tconst isArray = (!!interfaceTypeMatches);\r\n\t\t\t\t\ttypeDef.type.names[0] = ((interfaceTypeMatches) ? interfaceTypeMatches[1] : typeDef.type.names[0]) as any;\r\n\t\t\t\t\tconst domInterface: dom.InterfaceDeclaration = this.parseTypeDefinition(typeDef) as dom.InterfaceDeclaration;\r\n\t\t\t\t\tif (domInterface) {\r\n\t\t\t\t\t\tthis.parsedItems.set(typeDef.longname, [{\r\n\t\t\t\t\t\t\tlongname: typeDef.longname,\r\n\t\t\t\t\t\t\tmemberof: typeDef.memberof,\r\n\t\t\t\t\t\t\toriginal: typeDef,\r\n\t\t\t\t\t\t\tparsed: domInterface,\r\n\t\t\t\t\t\t}]);\r\n\r\n\t\t\t\t\t\t// create the parameter with the interface as type\r\n\t\t\t\t\t\tlet interfaceType;\r\n\t\t\t\t\t\tif (isArray) {\r\n\t\t\t\t\t\t\tinterfaceType = dom.create.array(domInterface);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tinterfaceType = dom.create.typeParameter(typeDef.name, domInterface);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (typeDef.type && typeDef.type && typeDef.type.names.length > 0) {\r\n\t\t\t\t\t\t\tinterfaceType = dom.create.union([interfaceType, ...typeDef.type.names.map(n => this.mapVariableType(n, jsdocItem))]);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tdomParam = dom.create.parameter(propParam.name, interfaceType);\r\n\t\t\t\t\t\tif (propParam.optional) {\r\n\t\t\t\t\t\t\tdomParam.flags = dom.ParameterFlags.Optional;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tLogger.log(`Can't create interface for property param. Invalid typedef: ${JSON.stringify(typeDef)}`);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t} else if (param.type && param.type.names.length > 0) {\r\n\t\t\t\t// the param has a simple type\r\n\t\t\t\tdomParam = dom.create.parameter(param.name, this.mapTypesToUnion(param.type.names, jsdocItem));\r\n\r\n\t\t\t} else {\r\n\t\t\t\t// the param has no type => map to \"any\"\r\n\t\t\t\tdomParam = dom.create.parameter(param.name, dom.type.any);\r\n\t\t\t}\r\n\r\n\t\t\tif (domParam) {\r\n\t\t\t\tif (param.optional) {\r\n\t\t\t\t\tdomParam.flags = dom.ParameterFlags.Optional;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.handleFlags(param, domParam);\r\n\t\t\t\tdomParams.push(domParam);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn domParams;\r\n\t}\r\n\r\n\t/**\r\n\t * Uses the configured version comparator to check if the passed since tag is in range of the\r\n\t * configured latest since tag.\r\n\t */\r\n\tprivate evaluateSinceTag(item: TDoclet) {\r\n\t\tif (typeof item.since === \"string\" && item.since !== \"\") {\r\n\t\t\treturn this.config.compareVersions(item.since, this.config.latestVersion, item.longname);\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\r\n\tprivate findClassParent(parsedItem: IClassDoclet): dom.ClassDeclaration | undefined {\r\n\t\tif (!parsedItem.augments) { return; }\r\n\r\n\t\tconst classes = this.getAllClasses();\r\n\t\tconst output = parsedItem.augments\r\n\t\t\t.map((augments) => {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tconst classItem = classes.find(\r\n\t\t\t\t\t\t(cls) => {\r\n\t\t\t\t\t\t\treturn cls.longname === augments ||\r\n\t\t\t\t\t\t\t\t(cls.original.name === augments && parsedItem.memberof === cls.memberof);\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t);\r\n\r\n\t\t\t\t\treturn classItem && classItem.parsed;\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.find((x) => x) as dom.ClassDeclaration;\r\n\r\n\t\treturn output;\r\n\t}\r\n\r\n\t/**\r\n\t * Tries to find the parent item of the passed jsdoc item\r\n\t * @param parentItemLongname Long name of the searched item\r\n\t * @param domTopLevelDeclarations Source items to search in\r\n\t */\r\n\tprivate findParentItem(parentItemLongname: string, domTopLevelDeclarations: Map<string, dom.TopLevelDeclaration>): dom.DeclarationBase | null {\r\n\t\t// The parsed items are stored with their longname and by reference.\r\n\t\t// This is why we can simply return the stored elements in the parsedItems-map\r\n\t\tconst parentItem = this.parsedItems.get(parentItemLongname);\r\n\t\tif (parentItem) {\r\n\t\t\tif (parentItem.length === 1) {\r\n\t\t\t\treturn parentItem[0].parsed;\r\n\t\t\t} else if (parentItem.length > 1) {\r\n\t\t\t\tthrow new Error(`Found ${parentItem.length} items with name ${parentItemLongname} as possible parent items: ${JSON.stringify(parentItem)}`);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t}\r\n\r\n\tprivate getAllClasses(): IParsedJSDocItem[] {\r\n\t\tif (this._parsedClassess) { return this._parsedClassess; }\r\n\r\n\t\tconst parsedClasses: IParsedJSDocItem[] = [];\r\n\t\tfor (const items of this.parsedItems.values()) {\r\n\t\t\tfor (const item of items) {\r\n\t\t\t\tif (item.original.kind === \"class\") { parsedClasses.push(item); }\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this._parsedClassess = parsedClasses;\r\n\t}\r\n\r\n\t/**\r\n\t * Determines the return value of a function declaration\r\n\t * @param jsdocItem\r\n\t */\r\n\tprivate getFunctionReturnValue(jsdocItem: IFunctionDoclet): dom.Type {\r\n\t\tlet functionReturnValue: dom.Type;\r\n\r\n\t\tif (jsdocItem.returns && jsdocItem.returns.length > 0) {\r\n\t\t\tif (jsdocItem.returns[0].type) {\r\n\t\t\t\tfunctionReturnValue = this.mapTypesToUnion(jsdocItem.returns[0].type.names, jsdocItem);\r\n\t\t\t} else {\r\n\t\t\t\t// the jsdoc comment is incomplete, there is no type information for the return value\r\n\t\t\t\tLogger.log(`Invalid return type. Check the documentation of function ${jsdocItem.longname}`);\r\n\t\t\t\tfunctionReturnValue = dom.type.any;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// If no return value was specified, the function has implicity the return type \"void\"\r\n\t\t\tfunctionReturnValue = dom.type.void;\r\n\t\t}\r\n\r\n\t\treturn functionReturnValue;\r\n\t}\r\n\r\n\t/**\r\n\t * Sets the correct export flags to the declaration base.\r\n\t */\r\n\tprivate handleFlags(doclet: any, obj: dom.DeclarationBase | dom.Parameter) {\r\n\t\tobj.flags = dom.DeclarationFlags.None;\r\n\r\n\t\tobj.flags |= this.accessFlagMap[doclet.access];\r\n\t\tobj.flags |= doclet.optional || doclet.defaultvalue !== undefined\r\n\t\t\t? doclet.kind !== \"function\"\r\n\t\t\t\t? dom.ParameterFlags.Optional\r\n\t\t\t\t: dom.DeclarationFlags.None\r\n\t\t\t: obj.flags\r\n\t\tobj.flags |= doclet.variable ? dom.ParameterFlags.Rest : dom.DeclarationFlags.None;\r\n\t\tobj.flags |= doclet.virtual ? dom.DeclarationFlags.Abstract : dom.DeclarationFlags.None;\r\n\t\tobj.flags |= doclet.readonly ? dom.DeclarationFlags.ReadOnly : dom.DeclarationFlags.None;\r\n\t\tobj.flags |= doclet.scope === \"static\" ? dom.DeclarationFlags.Static : dom.DeclarationFlags.None;\r\n\r\n\t\tconst cast = obj as any;\r\n\t\tif (doclet.optional && cast.kind === \"property\" && cast.flags === ParameterFlags.Optional) {\r\n\t\t\tobj.flags = dom.DeclarationFlags.Optional;\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Handler for template-functions.\r\n\t */\r\n\tprivate handleTags(doclet: IDocletBase, obj: any) {\r\n\t\tif (doclet.tags) {\r\n\t\t\tfor (const tag of doclet.tags) {\r\n\t\t\t\tswitch (tag.title) {\r\n\t\t\t\t\tcase \"template\":\r\n\t\t\t\t\t\tif (obj.typeParameters) {\r\n\t\t\t\t\t\t\tobj.typeParameters.push(\r\n\t\t\t\t\t\t\t\tdom.create.typeParameter(tag.value),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if (doclet.comment) {\r\n\t\t\tconst matches = doclet.comment.match(/@template\\s?([^\\r\\n]+)\\r?\\n?/);\r\n\t\t\tif (matches) {\r\n\t\t\t\tobj.typeParameters.push(\r\n\t\t\t\t\tdom.create.typeParameter(matches[1]),\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate mapTypesToUnion(types: string[], jsdocItem: TDoclet): dom.UnionType {\r\n\t\tconst domTypes: dom.Type[] = [];\r\n\t\tfor (const type of types) {\r\n\t\t\tdomTypes.push(this.mapVariableType(type, jsdocItem));\r\n\t\t}\r\n\r\n\t\treturn dom.create.union(domTypes);\r\n\t}\r\n\r\n\tprivate mapVariableType(variableType: string, jsdocItem: TDoclet) {\r\n\t\t// resolve array types\r\n\t\t// jsdoc will provide arrays always as \"Array.<>\" if it's typed or as \"Array\" if it's not typed\r\n\t\tlet resultType: dom.Type = dom.type.any;\r\n\t\tif (variableType.startsWith(\"external:\")) {\r\n\t\t\treturn dom.type.any;\r\n\t\t}\r\n\r\n\t\tif (jsdocItem && jsdocItem.memberof && variableType.startsWith(jsdocItem.memberof)) {\r\n\t\t\tif (variableType === jsdocItem.memberof) {\r\n\t\t\t\tconst index = variableType.replace(/~/g, \".\").lastIndexOf(\".\");\r\n\t\t\t\tvariableType = variableType.substring(index);\r\n\t\t\t} else {\r\n\t\t\t\tvariableType = variableType.substring(jsdocItem.memberof.length);\r\n\t\t\t}\r\n\r\n\t\t\tif (variableType.startsWith(\".\") || variableType.startsWith(\"~\")) {\r\n\t\t\t\tvariableType = variableType.substring(1);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\twhile (/^Array/i.test(variableType)) {\r\n\t\t\t// it's an array, check if it's typed\r\n\t\t\t//                                           Array.< (bllaaa|bla)  >\r\n\t\t\tconst arrayTypeMatches = variableType.match(/Array\\.<(\\(?[\\w|~:]+\\)?)>/i); // @todo: can contain namepaths\r\n\t\t\tif (arrayTypeMatches && arrayTypeMatches[1]) {\r\n\t\t\t\tconst arrayTypeString: string = arrayTypeMatches[1];\r\n\t\t\t\tconst arrayType = (arrayTypeString.toLowerCase() === \"array\") ? dom.type.array(dom.type.any) : this.mapVariableTypeString(arrayTypeString, jsdocItem);\r\n\t\t\t\tresultType = (resultType === dom.type.any)\r\n\t\t\t\t\t? dom.type.array(arrayType)\r\n\t\t\t\t\t: dom.type.array(resultType); // nested array\r\n\r\n\t\t\t\t// remove the string from the variable type (nested arrays)\r\n\t\t\t\tconst regExp = new RegExp(`Array.<${arrayTypeString.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\")}>`, \"i\");\r\n\t\t\t\tvariableType = variableType.replace(regExp, \"\");\r\n\t\t\t} else {\r\n\t\t\t\tresultType = dom.type.array(resultType);\r\n\r\n\t\t\t\t// remove the array keyword\r\n\t\t\t\tvariableType = variableType.replace(/^Array(\\.<)?/i, \"\");\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (resultType === dom.type.any) {\r\n\t\t\t// check if it's an object type (Object.<string, number>)\r\n\t\t\tconst objectTypeMatches = variableType.match(/^Object\\.<([^,]+),\\s?([^>]+)>$/);\r\n\t\t\tif (objectTypeMatches && objectTypeMatches.length === 3) {\r\n\t\t\t\tresultType = `{ [key: ${objectTypeMatches[1]}]: ${objectTypeMatches[2]} }` as dom.Type;\r\n\t\t\t} else {\r\n\t\t\t\tresultType = this.mapVariableTypeString(variableType, jsdocItem);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn resultType;\r\n\t}\r\n\r\n\tprivate mapVariableTypeString(variableType: string, jsdocItem: TDoclet): dom.Type {\r\n\t\tlet resultTypeStr: string = \"\";\r\n\t\tlet resultType: dom.Type | null = null;\r\n\t\tif (variableType === \"bool\") {\r\n\t\t\tresultTypeStr = \"boolean\";\r\n\t\t} else if (variableType === \"function\") {\r\n\t\t\tresultTypeStr = \"Function\";\r\n\t\t} else if (variableType === \"*\") {\r\n\t\t\tresultTypeStr = \"any\";\r\n\t\t} else {\r\n\t\t\t// check if it's a module member\r\n\t\t\t// e.g. module:<moduleName> or module:<moduleName>~<moduleMember>\r\n\t\t\tconst moduleMemberMatches = variableType.match(/^module:([^~]+)~?(.*)$/);\r\n\t\t\tif (moduleMemberMatches) {\r\n\t\t\t\tconst moduleName = moduleMemberMatches[1];\r\n\t\t\t\tconst memberName = (moduleMemberMatches.length === 3) ? moduleMemberMatches[2] : null;\r\n\t\t\t\tresultTypeStr = moduleName;\r\n\t\t\t\tif (memberName) {\r\n\t\t\t\t\tresultTypeStr += `.${memberName}`;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// check if it's a union type\r\n\t\t\tif (!resultTypeStr && !resultType && variableType.indexOf(\"|\") > -1) {\r\n\t\t\t\tvariableType = variableType.replace(/\\(|\\)/g, \"\");\r\n\t\t\t\tresultType = this.mapTypesToUnion(variableType.split(\"|\"), jsdocItem);\r\n\t\t\t}\r\n\r\n\t\t\t// check if it's a type parameter\r\n\t\t\t// e.g. \"Promise.<*>\" (JSDoc always separate the type with a dot)\r\n\t\t\tconst typeParameterMatches = variableType.match(/^([^<.]+)\\.<([^>]+)>$/);\r\n\t\t\tif (!resultTypeStr && !resultType && typeParameterMatches && typeParameterMatches.length === 3) {\r\n\t\t\t\t// it's not a pretty nice solution, but it works for now\r\n\t\t\t\tresultType = dom.create.typeParameter(\r\n\t\t\t\t\t`${typeParameterMatches[1]}<${this.mapVariableType(typeParameterMatches[2], jsdocItem).toString()}>`,\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!resultType) {\r\n\t\t\tresultType = (resultTypeStr || variableType) as dom.Type;\r\n\t\t}\r\n\r\n\t\tif (resultType === null) {\r\n\t\t\tresultType = dom.type.null;\r\n\t\t}\r\n\r\n\t\treturn resultType;\r\n\t}\r\n\r\n\tprivate parseClass(jsdocItem: IClassDoclet, domClass?: dom.ClassDeclaration): dom.DeclarationBase {\r\n\t\tif (!domClass) {\r\n\t\t\tdomClass = dom.create.class(jsdocItem.name);\r\n\t\t\tdomClass.jsDocComment = jsdocItem.classdesc;\r\n\t\t}\r\n\r\n\t\tif (!jsdocItem.hideconstructor) {\r\n\t\t\t// Add the constructor\r\n\t\t\tlet constructorDeclaration: dom.ConstructorDeclaration;\r\n\t\t\tif (jsdocItem.params && jsdocItem.params.length > 0) {\r\n\t\t\t\tconstructorDeclaration = dom.create.constructor(this.createDomParams(jsdocItem.params, `${jsdocItem.name}Constructor`, jsdocItem));\r\n\t\t\t} else {\r\n\t\t\t\t// no params\r\n\t\t\t\tconstructorDeclaration = dom.create.constructor([]);\r\n\t\t\t}\r\n\r\n\t\t\tconstructorDeclaration.jsDocComment = this.cleanJSDocComment(jsdocItem.comment);\r\n\t\t\tdomClass.members.push(constructorDeclaration);\r\n\t\t}\r\n\r\n\t\treturn domClass;\r\n\t}\r\n\r\n\tprivate parseConstant(jsdocItem: IMemberDoclet) {\r\n\t\tif (jsdocItem.isEnum) {\r\n\t\t\treturn this.parseEnum(jsdocItem);\r\n\t\t}\r\n\r\n\t\tlet propertyType: dom.Type = dom.type.any;\r\n\t\tif (jsdocItem.type && jsdocItem.type.names.length > 0) {\r\n\t\t\tpropertyType = this.mapTypesToUnion(jsdocItem.type.names, jsdocItem);\r\n\t\t}\r\n\r\n\t\treturn dom.create.const(jsdocItem.name, propertyType);\r\n\t}\r\n\r\n\tprivate parseEnum(jsdocItem: IMemberDoclet): dom.DeclarationBase {\r\n\t\tif (!jsdocItem.isEnum) {\r\n\t\t\t/* istanbul ignore next */\r\n\t\t\tthrow new Error(`item ${jsdocItem.longname} is not an enum`);\r\n\t\t}\r\n\r\n\t\tconst domEnum: dom.EnumDeclaration = dom.create.enum(jsdocItem.name, (jsdocItem.kind === \"constant\"));\r\n\t\tif (jsdocItem.properties) {\r\n\t\t\tfor (const property of jsdocItem.properties) {\r\n\t\t\t\tlet isJSONValue = false;\r\n\t\t\t\tif (property.defaultvalue) {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tJSON.parse(property.defaultvalue as string);\r\n\t\t\t\t\t\tisJSONValue = true;\r\n\t\t\t\t\t} catch (err) {\r\n\t\t\t\t\t\tisJSONValue = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst domEnumMember: dom.EnumMemberDeclaration = dom.create.enumValue(property.name, isJSONValue ? undefined : property.defaultvalue);\r\n\t\t\t\tdomEnumMember.jsDocComment = this.cleanJSDocComment(property.comment);\r\n\t\t\t\tdomEnum.members.push(domEnumMember);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn domEnum;\r\n\t}\r\n\r\n\tprivate parseFunction(jsdocItem: IFunctionDoclet): dom.DeclarationBase {\r\n\t\tconst functionReturnValue: dom.Type = this.getFunctionReturnValue(jsdocItem);\r\n\t\tlet domFunction: dom.FunctionDeclaration;\r\n\t\tif (jsdocItem.this) {\r\n\t\t\tjsdocItem.params = jsdocItem.params || [];\r\n\t\t\tjsdocItem.params.unshift({\r\n\t\t\t\tcomment: \"\",\r\n\t\t\t\tdescription: \"\",\r\n\t\t\t\tname: \"this\",\r\n\t\t\t\ttype: {\r\n\t\t\t\t\tnames: [jsdocItem.this],\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (jsdocItem.params && jsdocItem.params.length > 0) {\r\n\t\t\tdomFunction = dom.create.function(jsdocItem.name, this.createDomParams(jsdocItem.params, jsdocItem.name, jsdocItem), functionReturnValue);\r\n\t\t} else {\r\n\t\t\t// no params => create a single function declaration\r\n\t\t\tdomFunction = dom.create.function(jsdocItem.name, [], functionReturnValue);\r\n\t\t}\r\n\r\n\t\treturn domFunction;\r\n\t}\r\n\r\n\tprivate parseInterface(jsdocItem: IClassDoclet) {\r\n\t\treturn dom.create.interface(jsdocItem.name);\r\n\t}\r\n\r\n\t/**\r\n\t * Converts a JSDoc item to a declaration base which can be printed\r\n\t * with the dts-dom module in a declaration file.\r\n\t *\r\n\t * The resulting item can be passed to dts-dom.emit which will then\r\n\t * output the item in the declaration file.\r\n\t * @param item JSDoc item from the taffy DB\r\n\t */\r\n\tprivate parseJSDocItem(item: TDoclet): dom.DeclarationBase | null {\r\n\t\tswitch (item.kind) {\r\n\t\t\tcase \"function\":\r\n\t\t\t\treturn this.parseFunction(item as IFunctionDoclet);\r\n\r\n\t\t\tcase \"constant\":\r\n\t\t\t\treturn this.parseConstant(item as IMemberDoclet);\r\n\r\n\t\t\tcase \"member\":\r\n\t\t\t\tif (item.isEnum) {\r\n\t\t\t\t\treturn this.parseEnum(item as IMemberDoclet);\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn this.parseMember(item as IMemberDoclet);\r\n\t\t\t\t}\r\n\r\n\t\t\tcase \"namespace\":\r\n\t\t\t\treturn this.parseNamespace(item as INamespaceDoclet);\r\n\r\n\t\t\tcase \"typedef\":\r\n\t\t\t\treturn this.parseTypeDefinition(item as ITypedefDoclet);\r\n\r\n\t\t\tcase \"class\":\r\n\t\t\t\tif (this.parsedItems.has(item.longname)) {\r\n\t\t\t\t\tconst parsedItems = this.parsedItems.get(item.longname) as IParsedJSDocItem[];\r\n\t\t\t\t\tif (parsedItems.length > 0) {\r\n\t\t\t\t\t\t// @ts-ignore\r\n\t\t\t\t\t\tconst parsedClass = parsedItems.filter((parsedItem) => parsedItem.parsed.kind === \"class\");\r\n\t\t\t\t\t\tif (parsedClass.length > 0) {\r\n\t\t\t\t\t\t\t// class is already created, only add the constructor to the class\r\n\t\t\t\t\t\t\tthis.parseClass(item as IClassDoclet, parsedClass[0].parsed as dom.ClassDeclaration);\r\n\t\t\t\t\t\t\treturn null;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}\r\n\t\t\t\treturn this.parseClass(item as IClassDoclet);\r\n\r\n\t\t\tcase \"interface\":\r\n\t\t\t\treturn this.parseInterface(item as IClassDoclet);\r\n\r\n\t\t\tcase \"module\":\r\n\t\t\t\treturn this.parseModule(item as INamespaceDoclet);\r\n\r\n\t\t\t// suppress warnings for this type\r\n\t\t\tcase \"file\":\r\n\t\t\t\treturn null;\r\n\r\n\t\t\tdefault:\r\n\t\t\t\tif ((item as any).kind !== \"package\" && (item as any).kind !== \"external\") {\r\n\t\t\t\t\t/* istanbul ignore next */\r\n\t\t\t\t\tLogger.log(`Unsupported jsdoc item kind: ${item.kind} (item name: ${item.longname})`);\r\n\t\t\t\t}\r\n\t\t\t\treturn null;\r\n\t\t}\r\n\t}\r\n\r\n\tprivate parseMember(jsdocItem: IMemberDoclet) {\r\n\t\tif (jsdocItem.isEnum) {\r\n\t\t\t/* istanbul ignore next */\r\n\t\t\tthrow new Error(`item ${jsdocItem.longname} is an enum`);\r\n\t\t}\r\n\r\n\t\tlet propertyType: dom.Type = dom.type.any;\r\n\t\tif (jsdocItem.type && jsdocItem.type.names.length > 0) {\r\n\t\t\tpropertyType = this.mapTypesToUnion(jsdocItem.type.names, jsdocItem);\r\n\t\t}\r\n\r\n\t\treturn dom.create.property(jsdocItem.name, propertyType);\r\n\t}\r\n\r\n\tprivate parseModule(jsdocItem: INamespaceDoclet) {\r\n\t\treturn dom.create.module(jsdocItem.name);\r\n\t}\r\n\r\n\tprivate parseNamespace(jsdocItem: INamespaceDoclet): dom.DeclarationBase {\r\n\t\treturn dom.create.namespace(jsdocItem.name);\r\n\t}\r\n\r\n\tprivate parseTypeDefinition(jsdocItem: ITypedefDoclet): dom.DeclarationBase | null {\r\n\t\tlet result: dom.DeclarationBase | null = null;\r\n\t\tif (jsdocItem.type && jsdocItem.type && jsdocItem.type.names.length > 0) {\r\n\t\t\tconst typedefType = (jsdocItem.type.names.filter(t => t.toLowerCase() === \"object\" || t.toLowerCase() === \"function\")[0] || \"\").toLowerCase();\r\n\t\t\tif (typedefType === \"function\") {\r\n\t\t\t\tresult = this.parseTypeDefinitionAsFunction(jsdocItem);\r\n\t\t\t\tjsdocItem.type.names = jsdocItem.type.names.filter(t => t.toLowerCase() !== \"function\");\r\n\t\t\t} else if (typedefType === \"object\") {\r\n\t\t\t\tresult = this.parseTypeDefinitionAsObject(jsdocItem);\r\n\t\t\t\tjsdocItem.type.names = jsdocItem.type.names.filter(t => t.toLowerCase() !== \"object\");\r\n\t\t\t} else {\r\n\t\t\t\tresult = this.parseTypeDefinitionAsType(jsdocItem);\r\n\t\t\t\tjsdocItem.type.names.shift();\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// No type specified (@typedef <Name> instead of @typedef {<type>} <Name>)\r\n\t\t\t// We assume that it's of type object\r\n\t\t\tresult = this.parseTypeDefinitionAsObject(jsdocItem);\r\n\t\t}\r\n\r\n\t\treturn result;\r\n\t}\r\n\r\n\tprivate parseTypeDefinitionAsFunction(jsdocItem: ITypedefDoclet): dom.DeclarationBase {\r\n\t\t// if the jsdoc item has a property \"type\", we can be sure that it isn't a typedef\r\n\t\t// which should be mapped to an interface. Instead we create a typeAlias-Declaration\r\n\t\tconst functionType = dom.create.functionType(\r\n\t\t\t(jsdocItem.params) ? this.createDomParams(jsdocItem.params, jsdocItem.name, jsdocItem) : [],\r\n\t\t\tthis.getFunctionReturnValue(jsdocItem as any),\r\n\t\t);\r\n\r\n\t\treturn dom.create.alias(\r\n\t\t\tjsdocItem.name,\r\n\t\t\tfunctionType,\r\n\t\t);\r\n\t}\r\n\r\n\tprivate parseTypeDefinitionAsObject(jsdocItem: ITypedefDoclet): dom.InterfaceDeclaration {\r\n\t\tconst domInterface: dom.InterfaceDeclaration = dom.create.interface(jsdocItem.name);\r\n\r\n\t\tif (jsdocItem.properties) {\r\n\t\t\tfor (const property of jsdocItem.properties) {\r\n\t\t\t\tlet propertyType: dom.Type = dom.type.any;\r\n\t\t\t\tif (property.type) {\r\n\t\t\t\t\tpropertyType = this.mapTypesToUnion(property.type.names, jsdocItem);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst domProperty = dom.create.property(property.name, propertyType);\r\n\t\t\t\tdomProperty.jsDocComment = property.description;\r\n\t\t\t\tthis.handleFlags(property, domProperty);\r\n\r\n\t\t\t\tdomInterface.members.push(domProperty);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn domInterface;\r\n\t}\r\n\r\n\tprivate parseTypeDefinitionAsType(jsdocItem: ITypedefDoclet): dom.TypeAliasDeclaration | null {\r\n\t\tlet result = null;\r\n\t\tif (jsdocItem.properties) {\r\n\t\t\tLogger.log(`Invalid typedef. Typedef type is '${jsdocItem.type.names[0]}' and properties are defined.\r\n\t\t\tProperties are only allowed for type definitions of type 'object': ${JSON.stringify(jsdocItem)}`);\r\n\t\t} else {\r\n\t\t\tresult = dom.create.alias(\r\n\t\t\t\tjsdocItem.name,\r\n\t\t\t\tjsdocItem.type.names.map(t => this.mapVariableType(t, jsdocItem)).join(\"|\") as dom.Type\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\treturn result;\r\n\t}\r\n\r\n\t/**\r\n\t * Adds the class item to the class\r\n\t * @param classMember The parsed class member item\r\n\t * @param parsedClass The parsed class item\r\n\t */\r\n\tprivate resolveClassMembership(classMember: dom.ClassMember, parsedClass: dom.ClassDeclaration) {\r\n\t\tlet classMemberToAdd: dom.ClassMember | null = null;\r\n\t\tconst kind = classMember.kind;\r\n\t\tswitch (kind) {\r\n\t\t\t// @ts-ignore\r\n\t\t\tcase \"function\":\r\n\t\t\t\t// Classes can only contain method declarations\r\n\t\t\t\tconst classMemberFunction = (classMember as unknown) as dom.FunctionDeclaration;\r\n\t\t\t\tclassMemberToAdd = this.transformFunctionDeclarationToMethod(classMemberFunction);\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase \"index-signature\":\r\n\t\t\tcase \"constructor\":\r\n\t\t\tcase \"property\":\r\n\t\t\tcase \"method\":\r\n\t\t\t\tclassMemberToAdd = classMember;\r\n\t\t\t\tbreak;\r\n\r\n\t\t\t/* istanbul ignore next */\r\n\t\t\tdefault:\r\n\t\t\t\tLogger.log(`Can't add member '${(classMember as any).name}' to parent item '${(parsedClass as any).name}'. Unsupported member type: '${kind}'`);\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tif (classMemberToAdd) {\r\n\t\t\tparsedClass.members.push(classMemberToAdd);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Adds the enum item to the parent enum\r\n\t * @param enumMember The parsed enum member item\r\n\t * @param parsedEnum The parsed enum item\r\n\t */\r\n\tprivate resolveEnumMembership(enumMember: dom.EnumMemberDeclaration, parsedEnum: dom.EnumDeclaration) {\r\n\t\t// enum members can already exists\r\n\t\tconst enumMemberExists = parsedEnum.members.some((member) => {\r\n\t\t\treturn member.name === enumMember.name;\r\n\t\t});\r\n\r\n\t\tif (!enumMemberExists) {\r\n\t\t\tparsedEnum.members.push(enumMember);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Adds the interface member to it's parent interface\r\n\t * @param interfaceMember The parsed interface member\r\n\t * @param parsedInterface The parsed interface\r\n\t */\r\n\tprivate resolveInterfaceMembership(interfaceMember: dom.ObjectTypeMember, parsedInterface: dom.InterfaceDeclaration) {\r\n\t\tlet interfaceMemberToAdd: dom.ObjectTypeMember | null = null;\r\n\t\tswitch (interfaceMember.kind) {\r\n\t\t\t// @ts-ignore\r\n\t\t\tcase \"function\":\r\n\t\t\t\t// Interfaces can only have method declarations as members\r\n\t\t\t\tinterfaceMemberToAdd = this.transformFunctionDeclarationToMethod(interfaceMember);\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase \"property\":\r\n\t\t\t\tinterfaceMemberToAdd = interfaceMember;\r\n\t\t\t\tbreak;\r\n\r\n\t\t\t/* istanbul ignore next*/\r\n\t\t\tdefault:\r\n\t\t\t\tLogger.log(`Can't add member '${(interfaceMember as any).name}' to parent item '${(parsedInterface as any).name}'. Unsupported member type: '${interfaceMember.kind}'`);\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tif (interfaceMemberToAdd) {\r\n\t\t\tparsedInterface.members.push(interfaceMemberToAdd);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Adds the member item to it's parent module\r\n\t * @param moduleMember The parsed module member item\r\n\t * @param parsedModule The parsed module item\r\n\t */\r\n\tprivate resolveModuleMembership(moduleMember: dom.ModuleMember, parsedModule: dom.ModuleDeclaration) {\r\n\t\tlet moduleMemberToAdd: dom.ModuleMember | null = null;\r\n\t\tswitch (moduleMember.kind) {\r\n\t\t\t// @ts-ignore\r\n\t\t\tcase \"property\":\r\n\t\t\t\tthis.resolveModuleMembership(\r\n\t\t\t\t\tthis.transformPropertyDeclarationToVariable(moduleMember),\r\n\t\t\t\t\tparsedModule,\r\n\t\t\t\t);\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase \"function\":\r\n\t\t\tcase \"alias\":\r\n\t\t\tcase \"interface\":\r\n\t\t\tcase \"class\":\r\n\t\t\tcase \"namespace\":\r\n\t\t\tcase \"const\":\r\n\t\t\tcase \"var\":\r\n\t\t\t// @ts-ignore\r\n\t\t\tcase \"enum\":\r\n\t\t\t\tmoduleMemberToAdd = moduleMember;\r\n\t\t\t\tbreak;\r\n\r\n\t\t\t/* istanbul ignore next */\r\n\t\t\tdefault:\r\n\t\t\t\tLogger.log(`Can't add member '${(moduleMember as any).name}' to parent item '${(parsedModule as any).name}'. Unsupported member type: '${moduleMember.kind}'`);\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tif (moduleMemberToAdd) {\r\n\t\t\tif (parsedModule.flags && ((parsedModule.flags & dom.DeclarationFlags.Export) || (parsedModule.flags & dom.DeclarationFlags.Static))) {\r\n\t\t\t\tmoduleMemberToAdd.flags = dom.DeclarationFlags.Export;\r\n\t\t\t}\r\n\r\n\t\t\tparsedModule.members.push(moduleMemberToAdd);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Adds the namespace member item to it's parent namespace\r\n\t * @param namespaceMember The parsed namespace member\r\n\t * @param parsedNamespace The parsed namespace item\r\n\t */\r\n\tprivate resolveNamespaceMembership(namespaceMember: dom.NamespaceMember, parsedNamespace: dom.NamespaceDeclaration) {\r\n\t\tlet namespaceMemberToAdd: dom.NamespaceMember | null = null;\r\n\t\tswitch (namespaceMember.kind) {\r\n\t\t\t// @ts-ignore\r\n\t\t\tcase \"property\":\r\n\t\t\t\tnamespaceMemberToAdd = this.transformPropertyDeclarationToVariable(namespaceMember);\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase \"function\":\r\n\t\t\t\t// if (!dtsItem.flags || 0 === (dtsItem.flags & dom.DeclarationFlags.Private)) {\r\n\t\t\t\t// \tnamespaceMember.flags = dom.DeclarationFlags.Export;\r\n\t\t\t\t// }\r\n\t\t\t\tnamespaceMemberToAdd = namespaceMember;\r\n\t\t\t\tbreak;\r\n\r\n\t\t\t// @ts-ignore\r\n\t\t\tcase \"enum\":\r\n\t\t\tcase \"interface\":\r\n\t\t\tcase \"class\":\r\n\t\t\tcase \"namespace\":\r\n\t\t\tcase \"var\":\r\n\t\t\tcase \"alias\":\r\n\t\t\tcase \"const\":\r\n\t\t\t\tnamespaceMemberToAdd = namespaceMember;\r\n\t\t\t\tbreak;\r\n\r\n\t\t\t/* istanbul ignore next*/\r\n\t\t\tdefault:\r\n\t\t\t\tLogger.log(`Can't add member '${(namespaceMember as any).name}' to parent item '${parsedNamespace.name}'. Unsupported member type: '${(namespaceMember as any).kind}'`);\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tif (namespaceMemberToAdd) {\r\n\t\t\tif (namespaceMember.flags && ((namespaceMember.flags & dom.DeclarationFlags.Export) || (namespaceMember.flags & dom.DeclarationFlags.Static))) {\r\n\t\t\t\tnamespaceMember.flags = dom.DeclarationFlags.Export;\r\n\t\t\t}\r\n\r\n\t\t\tparsedNamespace.members.push(namespaceMemberToAdd);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Transforms a method declaration to a function declaration.\r\n\t * @param functionDeclaration\r\n\t */\r\n\tprivate transformFunctionDeclarationToMethod(functionDeclaration: dom.FunctionDeclaration): dom.MethodDeclaration {\r\n\t\tconst methodDeclaration = dom.create.method(\r\n\t\t\tfunctionDeclaration.name,\r\n\t\t\tfunctionDeclaration.parameters,\r\n\t\t\tfunctionDeclaration.returnType,\r\n\t\t\tfunctionDeclaration.flags,\r\n\t\t);\r\n\r\n\t\tmethodDeclaration.typeParameters = functionDeclaration.typeParameters;\r\n\t\tmethodDeclaration.comment = functionDeclaration.comment;\r\n\t\tmethodDeclaration.jsDocComment = functionDeclaration.jsDocComment;\r\n\t\treturn methodDeclaration;\r\n\t}\r\n\r\n\t/**\r\n\t * Transforms a property declaration to a variable declaration.\r\n\t * @param propertyDeclaration\r\n\t */\r\n\tprivate transformPropertyDeclarationToVariable(propertyDeclaration: dom.PropertyDeclaration): dom.VariableDeclaration {\r\n\t\tconst variableDeclaration = dom.create.variable(\r\n\t\t\tpropertyDeclaration.name,\r\n\t\t\tpropertyDeclaration.type,\r\n\t\t);\r\n\r\n\t\tvariableDeclaration.comment = propertyDeclaration.comment;\r\n\t\tvariableDeclaration.flags = propertyDeclaration.flags;\r\n\t\tvariableDeclaration.jsDocComment = propertyDeclaration.jsDocComment;\r\n\t\treturn variableDeclaration;\r\n\t}\r\n}\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"2ec417ffdfdd54209257dae38e4077aaf8b61fcd","contentHash":"3271643a9a445319d365925489b44e38f6193aa49b89720a8e0c9776c5588fa1"},"D:\\jsdoc-tsd\\src\\core\\Configuration.ts":{"path":"D:\\jsdoc-tsd\\src\\core\\Configuration.ts","statementMap":{"0":{"start":{"line":2,"column":15},"end":{"line":12,"column":1}},"1":{"start":{"line":3,"column":12},"end":{"line":3,"column":59}},"2":{"start":{"line":3,"column":65},"end":{"line":3,"column":74}},"3":{"start":{"line":3,"column":80},"end":{"line":3,"column":81}},"4":{"start":{"line":4,"column":4},"end":{"line":4,"column":28}},"5":{"start":{"line":4,"column":11},"end":{"line":4,"column":28}},"6":{"start":{"line":5,"column":4},"end":{"line":10,"column":6}},"7":{"start":{"line":5,"column":43},"end":{"line":10,"column":6}},"8":{"start":{"line":7,"column":12},"end":{"line":7,"column":47}},"9":{"start":{"line":7,"column":36},"end":{"line":7,"column":47}},"10":{"start":{"line":8,"column":12},"end":{"line":8,"column":52}},"11":{"start":{"line":11,"column":4},"end":{"line":11,"column":91}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":62}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":31}},"14":{"start":{"line":15,"column":11},"end":{"line":15,"column":24}},"15":{"start":{"line":16,"column":13},"end":{"line":16,"column":28}},"16":{"start":{"line":17,"column":24},"end":{"line":17,"column":54}},"17":{"start":{"line":18,"column":15},"end":{"line":18,"column":34}},"18":{"start":{"line":19,"column":35},"end":{"line":169,"column":3}},"19":{"start":{"line":21,"column":8},"end":{"line":21,"column":32}},"20":{"start":{"line":22,"column":8},"end":{"line":22,"column":64}},"21":{"start":{"line":23,"column":8},"end":{"line":23,"column":33}},"22":{"start":{"line":24,"column":8},"end":{"line":24,"column":37}},"23":{"start":{"line":25,"column":8},"end":{"line":25,"column":36}},"24":{"start":{"line":26,"column":8},"end":{"line":26,"column":43}},"25":{"start":{"line":27,"column":8},"end":{"line":29,"column":9}},"26":{"start":{"line":28,"column":12},"end":{"line":28,"column":40}},"27":{"start":{"line":31,"column":4},"end":{"line":43,"column":7}},"28":{"start":{"line":36,"column":12},"end":{"line":36,"column":38}},"29":{"start":{"line":39,"column":12},"end":{"line":39,"column":37}},"30":{"start":{"line":44,"column":4},"end":{"line":56,"column":7}},"31":{"start":{"line":49,"column":12},"end":{"line":49,"column":39}},"32":{"start":{"line":52,"column":12},"end":{"line":52,"column":40}},"33":{"start":{"line":57,"column":4},"end":{"line":89,"column":7}},"34":{"start":{"line":63,"column":12},"end":{"line":84,"column":13}},"35":{"start":{"line":64,"column":48},"end":{"line":64,"column":53}},"36":{"start":{"line":65,"column":16},"end":{"line":80,"column":17}},"37":{"start":{"line":67,"column":20},"end":{"line":67,"column":88}},"38":{"start":{"line":69,"column":21},"end":{"line":80,"column":17}},"39":{"start":{"line":71,"column":20},"end":{"line":76,"column":21}},"40":{"start":{"line":72,"column":24},"end":{"line":72,"column":62}},"41":{"start":{"line":75,"column":24},"end":{"line":75,"column":137}},"42":{"start":{"line":79,"column":20},"end":{"line":79,"column":134}},"43":{"start":{"line":83,"column":16},"end":{"line":83,"column":45}},"44":{"start":{"line":85,"column":12},"end":{"line":85,"column":59}},"45":{"start":{"line":96,"column":4},"end":{"line":102,"column":6}},"46":{"start":{"line":97,"column":28},"end":{"line":97,"column":104}},"47":{"start":{"line":98,"column":8},"end":{"line":100,"column":9}},"48":{"start":{"line":99,"column":12},"end":{"line":99,"column":180}},"49":{"start":{"line":101,"column":8},"end":{"line":101,"column":29}},"50":{"start":{"line":103,"column":4},"end":{"line":105,"column":6}},"51":{"start":{"line":104,"column":8},"end":{"line":104,"column":53}},"52":{"start":{"line":112,"column":4},"end":{"line":126,"column":6}},"53":{"start":{"line":113,"column":8},"end":{"line":125,"column":9}},"54":{"start":{"line":114,"column":12},"end":{"line":121,"column":13}},"55":{"start":{"line":115,"column":30},"end":{"line":115,"column":61}},"56":{"start":{"line":116,"column":29},"end":{"line":116,"column":66}},"57":{"start":{"line":117,"column":16},"end":{"line":117,"column":35}},"58":{"start":{"line":120,"column":16},"end":{"line":120,"column":28}},"59":{"start":{"line":124,"column":12},"end":{"line":124,"column":25}},"60":{"start":{"line":127,"column":4},"end":{"line":161,"column":6}},"61":{"start":{"line":129,"column":25},"end":{"line":129,"column":80}},"62":{"start":{"line":130,"column":24},"end":{"line":130,"column":65}},"63":{"start":{"line":132,"column":22},"end":{"line":132,"column":41}},"64":{"start":{"line":133,"column":8},"end":{"line":160,"column":9}},"65":{"start":{"line":134,"column":12},"end":{"line":152,"column":13}},"66":{"start":{"line":134,"column":26},"end":{"line":134,"column":56}},"67":{"start":{"line":134,"column":63},"end":{"line":134,"column":72}},"68":{"start":{"line":135,"column":31},"end":{"line":135,"column":39}},"69":{"start":{"line":137,"column":16},"end":{"line":137,"column":83}},"70":{"start":{"line":138,"column":16},"end":{"line":151,"column":17}},"71":{"start":{"line":139,"column":38},"end":{"line":139,"column":52}},"72":{"start":{"line":140,"column":20},"end":{"line":150,"column":21}},"73":{"start":{"line":141,"column":24},"end":{"line":141,"column":69}},"74":{"start":{"line":143,"column":25},"end":{"line":150,"column":21}},"75":{"start":{"line":145,"column":24},"end":{"line":145,"column":64}},"76":{"start":{"line":149,"column":24},"end":{"line":149,"column":61}},"77":{"start":{"line":154,"column":24},"end":{"line":154,"column":47}},"78":{"start":{"line":156,"column":12},"end":{"line":159,"column":49}},"79":{"start":{"line":157,"column":16},"end":{"line":157,"column":68}},"80":{"start":{"line":157,"column":56},"end":{"line":157,"column":68}},"81":{"start":{"line":159,"column":22},"end":{"line":159,"column":47}},"82":{"start":{"line":159,"column":31},"end":{"line":159,"column":47}},"83":{"start":{"line":162,"column":4},"end":{"line":167,"column":6}},"84":{"start":{"line":163,"column":27},"end":{"line":163,"column":103}},"85":{"start":{"line":164,"column":8},"end":{"line":164,"column":78}},"86":{"start":{"line":166,"column":8},"end":{"line":166,"column":62}},"87":{"start":{"line":168,"column":4},"end":{"line":168,"column":25}},"88":{"start":{"line":170,"column":0},"end":{"line":170,"column":38}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":2,"column":42},"end":{"line":2,"column":43}},"loc":{"start":{"line":2,"column":54},"end":{"line":12,"column":1}},"line":2},"1":{"name":"(anonymous_1)","decl":{"start":{"line":6,"column":14},"end":{"line":6,"column":15}},"loc":{"start":{"line":6,"column":26},"end":{"line":9,"column":9}},"line":6},"2":{"name":"(anonymous_2)","decl":{"start":{"line":19,"column":35},"end":{"line":19,"column":36}},"loc":{"start":{"line":19,"column":47},"end":{"line":169,"column":1}},"line":19},"3":{"name":"Configuration","decl":{"start":{"line":20,"column":13},"end":{"line":20,"column":26}},"loc":{"start":{"line":20,"column":37},"end":{"line":30,"column":5}},"line":20},"4":{"name":"(anonymous_4)","decl":{"start":{"line":35,"column":13},"end":{"line":35,"column":14}},"loc":{"start":{"line":35,"column":25},"end":{"line":37,"column":9}},"line":35},"5":{"name":"(anonymous_5)","decl":{"start":{"line":38,"column":13},"end":{"line":38,"column":14}},"loc":{"start":{"line":38,"column":28},"end":{"line":40,"column":9}},"line":38},"6":{"name":"(anonymous_6)","decl":{"start":{"line":48,"column":13},"end":{"line":48,"column":14}},"loc":{"start":{"line":48,"column":25},"end":{"line":50,"column":9}},"line":48},"7":{"name":"(anonymous_7)","decl":{"start":{"line":51,"column":13},"end":{"line":51,"column":14}},"loc":{"start":{"line":51,"column":30},"end":{"line":53,"column":9}},"line":51},"8":{"name":"(anonymous_8)","decl":{"start":{"line":58,"column":13},"end":{"line":58,"column":14}},"loc":{"start":{"line":58,"column":30},"end":{"line":86,"column":9}},"line":58},"9":{"name":"(anonymous_9)","decl":{"start":{"line":96,"column":46},"end":{"line":96,"column":47}},"loc":{"start":{"line":96,"column":96},"end":{"line":102,"column":5}},"line":96},"10":{"name":"(anonymous_10)","decl":{"start":{"line":103,"column":42},"end":{"line":103,"column":43}},"loc":{"start":{"line":103,"column":59},"end":{"line":105,"column":5}},"line":103},"11":{"name":"(anonymous_11)","decl":{"start":{"line":112,"column":55},"end":{"line":112,"column":56}},"loc":{"start":{"line":112,"column":95},"end":{"line":126,"column":5}},"line":112},"12":{"name":"(anonymous_12)","decl":{"start":{"line":127,"column":43},"end":{"line":127,"column":44}},"loc":{"start":{"line":127,"column":63},"end":{"line":161,"column":5}},"line":127},"13":{"name":"(anonymous_13)","decl":{"start":{"line":162,"column":63},"end":{"line":162,"column":64}},"loc":{"start":{"line":162,"column":100},"end":{"line":167,"column":5}},"line":162}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":15},"end":{"line":12,"column":1}},"type":"binary-expr","locations":[{"start":{"line":2,"column":16},"end":{"line":2,"column":20}},{"start":{"line":2,"column":24},"end":{"line":2,"column":37}},{"start":{"line":2,"column":42},"end":{"line":12,"column":1}}],"line":2},"1":{"loc":{"start":{"line":3,"column":12},"end":{"line":3,"column":59}},"type":"binary-expr","locations":[{"start":{"line":3,"column":12},"end":{"line":3,"column":40}},{"start":{"line":3,"column":44},"end":{"line":3,"column":59}}],"line":3},"2":{"loc":{"start":{"line":3,"column":65},"end":{"line":3,"column":74}},"type":"binary-expr","locations":[{"start":{"line":3,"column":65},"end":{"line":3,"column":66}},{"start":{"line":3,"column":70},"end":{"line":3,"column":74}}],"line":3},"3":{"loc":{"start":{"line":4,"column":4},"end":{"line":4,"column":28}},"type":"if","locations":[{"start":{"line":4,"column":4},"end":{"line":4,"column":28}},{"start":{"line":4,"column":4},"end":{"line":4,"column":28}}],"line":4},"4":{"loc":{"start":{"line":5,"column":4},"end":{"line":10,"column":6}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":10,"column":6}},{"start":{"line":5,"column":4},"end":{"line":10,"column":6}}],"line":5},"5":{"loc":{"start":{"line":5,"column":8},"end":{"line":5,"column":41}},"type":"binary-expr","locations":[{"start":{"line":5,"column":8},"end":{"line":5,"column":9}},{"start":{"line":5,"column":13},"end":{"line":5,"column":41}}],"line":5},"6":{"loc":{"start":{"line":7,"column":12},"end":{"line":7,"column":47}},"type":"if","locations":[{"start":{"line":7,"column":12},"end":{"line":7,"column":47}},{"start":{"line":7,"column":12},"end":{"line":7,"column":47}}],"line":7},"7":{"loc":{"start":{"line":7,"column":16},"end":{"line":7,"column":34}},"type":"binary-expr","locations":[{"start":{"line":7,"column":16},"end":{"line":7,"column":17}},{"start":{"line":7,"column":21},"end":{"line":7,"column":34}}],"line":7},"8":{"loc":{"start":{"line":8,"column":28},"end":{"line":8,"column":39}},"type":"binary-expr","locations":[{"start":{"line":8,"column":28},"end":{"line":8,"column":29}},{"start":{"line":8,"column":33},"end":{"line":8,"column":39}}],"line":8},"9":{"loc":{"start":{"line":11,"column":24},"end":{"line":11,"column":89}},"type":"cond-expr","locations":[{"start":{"line":11,"column":28},"end":{"line":11,"column":53}},{"start":{"line":11,"column":56},"end":{"line":11,"column":89}}],"line":11},"10":{"loc":{"start":{"line":27,"column":8},"end":{"line":29,"column":9}},"type":"if","locations":[{"start":{"line":27,"column":8},"end":{"line":29,"column":9}},{"start":{"line":27,"column":8},"end":{"line":29,"column":9}}],"line":27},"11":{"loc":{"start":{"line":63,"column":12},"end":{"line":84,"column":13}},"type":"if","locations":[{"start":{"line":63,"column":12},"end":{"line":84,"column":13}},{"start":{"line":63,"column":12},"end":{"line":84,"column":13}}],"line":63},"12":{"loc":{"start":{"line":65,"column":16},"end":{"line":80,"column":17}},"type":"if","locations":[{"start":{"line":65,"column":16},"end":{"line":80,"column":17}},{"start":{"line":65,"column":16},"end":{"line":80,"column":17}}],"line":65},"13":{"loc":{"start":{"line":69,"column":21},"end":{"line":80,"column":17}},"type":"if","locations":[{"start":{"line":69,"column":21},"end":{"line":80,"column":17}},{"start":{"line":69,"column":21},"end":{"line":80,"column":17}}],"line":69},"14":{"loc":{"start":{"line":71,"column":20},"end":{"line":76,"column":21}},"type":"if","locations":[{"start":{"line":71,"column":20},"end":{"line":76,"column":21}},{"start":{"line":71,"column":20},"end":{"line":76,"column":21}}],"line":71},"15":{"loc":{"start":{"line":97,"column":28},"end":{"line":97,"column":104}},"type":"binary-expr","locations":[{"start":{"line":97,"column":28},"end":{"line":97,"column":47}},{"start":{"line":97,"column":51},"end":{"line":97,"column":104}}],"line":97},"16":{"loc":{"start":{"line":98,"column":8},"end":{"line":100,"column":9}},"type":"if","locations":[{"start":{"line":98,"column":8},"end":{"line":100,"column":9}},{"start":{"line":98,"column":8},"end":{"line":100,"column":9}}],"line":98},"17":{"loc":{"start":{"line":98,"column":12},"end":{"line":98,"column":57}},"type":"binary-expr","locations":[{"start":{"line":98,"column":12},"end":{"line":98,"column":26}},{"start":{"line":98,"column":30},"end":{"line":98,"column":57}}],"line":98},"18":{"loc":{"start":{"line":113,"column":8},"end":{"line":125,"column":9}},"type":"if","locations":[{"start":{"line":113,"column":8},"end":{"line":125,"column":9}},{"start":{"line":113,"column":8},"end":{"line":125,"column":9}}],"line":113},"19":{"loc":{"start":{"line":114,"column":12},"end":{"line":121,"column":13}},"type":"if","locations":[{"start":{"line":114,"column":12},"end":{"line":121,"column":13}},{"start":{"line":114,"column":12},"end":{"line":121,"column":13}}],"line":114},"20":{"loc":{"start":{"line":114,"column":16},"end":{"line":114,"column":98}},"type":"binary-expr","locations":[{"start":{"line":114,"column":16},"end":{"line":114,"column":49}},{"start":{"line":114,"column":53},"end":{"line":114,"column":98}}],"line":114},"21":{"loc":{"start":{"line":137,"column":27},"end":{"line":137,"column":82}},"type":"cond-expr","locations":[{"start":{"line":137,"column":54},"end":{"line":137,"column":71}},{"start":{"line":137,"column":74},"end":{"line":137,"column":82}}],"line":137},"22":{"loc":{"start":{"line":138,"column":16},"end":{"line":151,"column":17}},"type":"if","locations":[{"start":{"line":138,"column":16},"end":{"line":151,"column":17}},{"start":{"line":138,"column":16},"end":{"line":151,"column":17}}],"line":138},"23":{"loc":{"start":{"line":140,"column":20},"end":{"line":150,"column":21}},"type":"if","locations":[{"start":{"line":140,"column":20},"end":{"line":150,"column":21}},{"start":{"line":140,"column":20},"end":{"line":150,"column":21}}],"line":140},"24":{"loc":{"start":{"line":143,"column":25},"end":{"line":150,"column":21}},"type":"if","locations":[{"start":{"line":143,"column":25},"end":{"line":150,"column":21}},{"start":{"line":143,"column":25},"end":{"line":150,"column":21}}],"line":143},"25":{"loc":{"start":{"line":157,"column":16},"end":{"line":157,"column":68}},"type":"if","locations":[{"start":{"line":157,"column":16},"end":{"line":157,"column":68}},{"start":{"line":157,"column":16},"end":{"line":157,"column":68}}],"line":157},"26":{"loc":{"start":{"line":157,"column":20},"end":{"line":157,"column":54}},"type":"binary-expr","locations":[{"start":{"line":157,"column":20},"end":{"line":157,"column":22}},{"start":{"line":157,"column":26},"end":{"line":157,"column":34}},{"start":{"line":157,"column":39},"end":{"line":157,"column":53}}],"line":157},"27":{"loc":{"start":{"line":159,"column":22},"end":{"line":159,"column":47}},"type":"if","locations":[{"start":{"line":159,"column":22},"end":{"line":159,"column":47}},{"start":{"line":159,"column":22},"end":{"line":159,"column":47}}],"line":159}},"s":{"0":1,"1":2,"2":2,"3":2,"4":2,"5":2,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":125,"20":125,"21":125,"22":125,"23":125,"24":125,"25":125,"26":2,"27":1,"28":259,"29":0,"30":1,"31":20,"32":7,"33":1,"34":8,"35":4,"36":4,"37":0,"38":4,"39":4,"40":4,"41":0,"42":0,"43":4,"44":8,"45":1,"46":20,"47":20,"48":8,"49":20,"50":1,"51":259,"52":1,"53":11,"54":10,"55":8,"56":8,"57":8,"58":2,"59":1,"60":1,"61":2,"62":2,"63":2,"64":2,"65":2,"66":2,"67":2,"68":12,"69":12,"70":12,"71":4,"72":4,"73":2,"74":2,"75":2,"76":0,"77":0,"78":2,"79":2,"80":0,"81":2,"82":0,"83":1,"84":0,"85":0,"86":0,"87":1,"88":1},"f":{"0":2,"1":0,"2":1,"3":125,"4":259,"5":0,"6":20,"7":7,"8":8,"9":20,"10":259,"11":11,"12":2,"13":0},"b":{"0":[1,1,1],"1":[2,2],"2":[2,2],"3":[2,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[2,123],"11":[4,4],"12":[0,4],"13":[4,0],"14":[4,0],"15":[20,19],"16":[8,12],"17":[20,8],"18":[10,1],"19":[8,2],"20":[10,10],"21":[6,6],"22":[4,8],"23":[2,2],"24":[2,0],"25":[0,2],"26":[2,2,0],"27":[0,2]},"inputSourceMap":{"version":3,"file":"D:/jsdoc-tsd/src/core/Configuration.ts","sources":["D:/jsdoc-tsd/src/core/Configuration.ts"],"names":[],"mappings":"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","sourcesContent":["import { existsSync, readFileSync } from \"fs\";\r\nimport { extname } from \"path\";\r\nimport stripJsonComments = require(\"strip-json-comments\");\r\nimport { Logger } from \"./Logger\";\r\n\r\n/**\r\n * Function for comparing version strings of since-tags\r\n * to determine if the passed in tagged version is in range\r\n * of the passed in latest version\r\n */\r\ndeclare type VersionComparatorFunction = (taggedVersion: string, latestVersion: string) => boolean;\r\n\r\nexport class Configuration {\r\n\r\n\t/**\r\n\t * Indicates wether to skip since tag check or not\r\n\t */\r\n\tpublic ignoreSinceTag: boolean;\r\n\r\n\t/**\r\n\t * Logs every item which is ignored by the since tag\r\n\t */\r\n\tpublic logItemsSkippedBySince: boolean;\r\n\r\n\t/**\r\n\t * Ignores undocumented items\r\n\t */\r\n\tpublic skipUndocumented: boolean;\r\n\tprivate _ignoreScopes: string[];\r\n\tprivate _latestVersion: string;\r\n\tprivate _versionComparator: VersionComparatorFunction;\r\n\r\n\tconstructor(filePath?: string) {\r\n\t\tthis._ignoreScopes = [];\r\n\t\tthis._versionComparator = this.defaultVersionComparator;\r\n\t\tthis._latestVersion = \"\";\r\n\t\tthis.skipUndocumented = true;\r\n\t\tthis.ignoreSinceTag = false;\r\n\t\tthis.logItemsSkippedBySince = true;\r\n\r\n\t\tif (filePath) {\r\n\t\t\tthis.loadFromFile(filePath);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Scopes to ignore\r\n\t */\r\n\tpublic get ignoreScopes(): string[] {\r\n\t\treturn this._ignoreScopes;\r\n\t}\r\n\r\n\tpublic set ignoreScopes(val: string[]) {\r\n\t\tthis._ignoreScopes = val;\r\n\t}\r\n\r\n\t/**\r\n\t * Latest version tag for the version comparator function\r\n\t */\r\n\tpublic get latestVersion(): string {\r\n\t\treturn this._latestVersion;\r\n\t}\r\n\r\n\tpublic set latestVersion(value: string) {\r\n\t\tthis._latestVersion = value;\r\n\t}\r\n\r\n\tpublic set versionComparator(value: VersionComparatorFunction | string) {\r\n\t\t// Its possible to pass the version comparator via the jsdoc config\r\n\t\t// either as function string or as a file path to a js-file which\r\n\t\t// the version comparator function\r\n\t\tlet newVersionComparator: VersionComparatorFunction;\r\n\t\tif (typeof value === \"string\") {\r\n\t\t\tconst versionComparatorAsString: string = value;\r\n\t\t\tif (versionComparatorAsString.indexOf(\"{\") > 0) {\r\n\t\t\t\t// Version comparator is a function string\r\n\t\t\t\tnewVersionComparator = this.parseVersionComparatorFromString(value);\r\n\t\t\t} else if (existsSync(value)) {\r\n\t\t\t\t// Version comparator is a file path\r\n\t\t\t\tif (extname(value) === \".js\") {\r\n\t\t\t\t\tnewVersionComparator = require(value);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthrow new Error(`Invalud version comparator: ${value}. Version comparator must be a JavaScript file.`);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tthrow new Error(`Version comparator must contain a valid path or a valid function as string, got ${value}`);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tnewVersionComparator = value;\r\n\t\t}\r\n\r\n\t\tthis._versionComparator = newVersionComparator;\r\n\t}\r\n\r\n\t/**\r\n\t * Determines if the tagged version is in range of the latest version\r\n\t * using the provided version comparator\r\n\t * @param taggedVersion Current version tag\r\n\t * @param latestVersion Latest version tag from config\r\n\t */\r\n\tpublic compareVersions(taggedVersion: string, latestVersion: string, itemName: string): boolean {\r\n\t\tconst isItemInRange = this.ignoreSinceTag || this._versionComparator(taggedVersion, latestVersion);\r\n\t\tif (!isItemInRange && this.logItemsSkippedBySince) {\r\n\t\t\tLogger.log(`Skipping item ${itemName} because it's since tag (${taggedVersion}) is less then the latest tag (${latestVersion})`);\r\n\t\t}\r\n\r\n\t\treturn isItemInRange;\r\n\t}\r\n\r\n\tpublic ignoreScope(scope: string): boolean {\r\n\t\treturn this.ignoreScopes.indexOf(scope) > -1;\r\n\t}\r\n\r\n\t/**\r\n\t * Determines if the tagged version is in range of the latest version\r\n\t * by using semver-tags\r\n\t * @param taggedVersion Current version tag\r\n\t * @param latestVersion Latest version tag from config\r\n\t */\r\n\tprivate defaultVersionComparator(taggedVersion: string, latestVersion: string): boolean {\r\n\t\tif (taggedVersion.match(/v?([0-9]+\\.){2}[0-9]+/i)) {\r\n\t\t\tif (typeof latestVersion === \"string\" && latestVersion.match(/v?([0-9]+\\.){2}[0-9]+/i)) {\r\n\t\t\t\tconst compare = require(\"node-version-compare\");\r\n\t\t\t\tconst result = compare(latestVersion, taggedVersion);\r\n\t\t\t\treturn result >= 0;\r\n\t\t\t} else {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\r\n\tprivate loadFromFile(filePath: string) {\r\n\t\tconst jsonString = readFileSync(filePath, { encoding: \"utf-8\" });\r\n\t\tconst configObj = JSON.parse(stripJsonComments(jsonString));\r\n\r\n\t\t// quick and dirty iterate over public config properties\r\n\t\tconst _config = new Configuration();\r\n\t\tfor (let property of Object.keys(_config)) {\r\n\t\t\t// setters latestVersion and versionComparator not in Object.keys()\r\n\t\t\tproperty = property.startsWith(\"_\") ? property.slice(1) : property;\r\n\t\t\tif (configObj.hasOwnProperty(property)) {\r\n\t\t\t\tconst privateProp = \"_\" + property;\r\n\r\n\t\t\t\tif (property === \"versionComparator\") {\r\n\t\t\t\t\tthis.versionComparator = configObj[property];\r\n\t\t\t\t} else if (this.hasOwnProperty(privateProp)) {\r\n\t\t\t\t\t// @ts-ignore\r\n\t\t\t\t\tthis[privateProp] = configObj[property];\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// @ts-ignore\r\n\t\t\t\t\tthis[property] = configObj[property];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate parseVersionComparatorFromString(versionComparatorAsString: string): VersionComparatorFunction {\r\n\t\tlet functionBody = versionComparatorAsString.substr(versionComparatorAsString.indexOf(\"{\") + 1);\r\n\t\tfunctionBody = functionBody.substr(0, functionBody.length - 1).trim();\r\n\r\n\t\t// @ts-ignore\r\n\t\treturn new Function(\"param1\", \"param2\", functionBody);\r\n\t}\r\n}\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"8676a74559bd275dfe579bf343b1280f7351e459","contentHash":"bffb3b5d9523d7c7e12566db336c9a4ffb750ed3e5aefb2b363b90d3617c99ff"},"D:\\jsdoc-tsd\\src\\core\\Logger.ts":{"path":"D:\\jsdoc-tsd\\src\\core\\Logger.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":24}},"2":{"start":{"line":4,"column":28},"end":{"line":15,"column":3}},"3":{"start":{"line":7,"column":4},"end":{"line":13,"column":6}},"4":{"start":{"line":8,"column":8},"end":{"line":8,"column":58}},"5":{"start":{"line":8,"column":34},"end":{"line":8,"column":56}},"6":{"start":{"line":9,"column":8},"end":{"line":12,"column":9}},"7":{"start":{"line":14,"column":4},"end":{"line":14,"column":18}},"8":{"start":{"line":16,"column":0},"end":{"line":16,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":28},"end":{"line":4,"column":29}},"loc":{"start":{"line":4,"column":40},"end":{"line":15,"column":1}},"line":4},"1":{"name":"Logger","decl":{"start":{"line":5,"column":13},"end":{"line":5,"column":19}},"loc":{"start":{"line":5,"column":22},"end":{"line":6,"column":5}},"line":5},"2":{"name":"(anonymous_2)","decl":{"start":{"line":7,"column":17},"end":{"line":7,"column":18}},"loc":{"start":{"line":7,"column":45},"end":{"line":13,"column":5}},"line":7}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":8},"end":{"line":8,"column":58}},"type":"if","locations":[{"start":{"line":8,"column":8},"end":{"line":8,"column":58}},{"start":{"line":8,"column":8},"end":{"line":8,"column":58}}],"line":8},"1":{"loc":{"start":{"line":9,"column":8},"end":{"line":12,"column":9}},"type":"if","locations":[{"start":{"line":9,"column":8},"end":{"line":12,"column":9}},{"start":{"line":9,"column":8},"end":{"line":12,"column":9}}],"line":9}},"s":{"0":1,"1":1,"2":1,"3":1,"4":12,"5":9,"6":12,"7":1,"8":1},"f":{"0":1,"1":0,"2":12},"b":{"0":[9,3],"1":[0,12]},"inputSourceMap":{"version":3,"file":"D:/jsdoc-tsd/src/core/Logger.ts","sources":["D:/jsdoc-tsd/src/core/Logger.ts"],"names":[],"mappings":";;;AAAA;IAAA;IAOA,CAAC;IANc,UAAG,GAAjB,UAAkB,OAAe,EAAE,OAA4C;QAA5C,wBAAA,EAAA,UAAiC,OAAO,CAAC,GAAG;QAC9E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE;YAC5B,0BAA0B;YAC1B,OAAO,CAAC,OAAO,CAAC,CAAC;SACjB;IACF,CAAC;IACF,aAAC;AAAD,CAAC,AAPD,IAOC;AAPY,wBAAM","sourcesContent":["export class Logger {\r\n\tpublic static log(message: string, logFunc: (msg: string) => void = console.log) {\r\n\t\tif (!process.env.NO_CONSOLE) {\r\n\t\t\t/* istanbul ignore next */\r\n\t\t\tlogFunc(message);\r\n\t\t}\r\n\t}\r\n}\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"eaf446fab65ecc7939407cfeefdbd929af7de2f9","contentHash":"052c43cf9281d27c11ca8e02cef3347b51dd7207fdc1906c9338eaed2a6756cb"}}