{"version":3,"sources":["webpack://lib.[name]/webpack/universalModuleDefinition","webpack://lib.[name]/./src/general/pilot-program/pilot-program.page.ts","webpack://lib.[name]/./src/general/studies/scripts/entities.ts","webpack://lib.[name]/./src/general/publications/publications.scss?78f0","webpack://lib.[name]/./src/general/studies/scripts/studies.page.ts","webpack://lib.[name]/./src/general/conferences/conferences.scss?e951","webpack://lib.[name]/./src/general/home/scripts/home.page.ts","webpack://lib.[name]/./src/general/coord-center/coord-center.page.ts","webpack://lib.[name]/./src/general/coord-center/coord-center.scss?f71e","webpack://lib.[name]/./src/general/about/about.scss?575f","webpack://lib.[name]/./src/general/general.module.ts","webpack://lib.[name]/./src/general/pilot-program/pilot-program.scss?8757","webpack://lib.[name]/./src/general/home/styles/home.scss?02c6","webpack://lib.[name]/./src/general/publications/scripts/publications.objects.ts","webpack://lib.[name]/./src/general/pathogens/pathogens.scss?2d3f","webpack://lib.[name]/./src/general/collaboration/collaboration.scss?e422","webpack://lib.[name]/./src/general/network-map/scripts/network-map.page.ts","webpack://lib.[name]/./src/general/pilot-program/call-for-applications/call-for-applications.scss?c12c","webpack://lib.[name]/./src/general/conferences/conferences.objects.ts","webpack://lib.[name]/./src/general/research-centers/research-centers.scss?c4f7","webpack://lib.[name]/./src/general/home/styles/about-area.scss?4932","webpack://lib.[name]/./src/general/network-map/scripts/network-map.map.ts","webpack://lib.[name]/./src/shared/scripts/array-functions.ts","webpack://lib.[name]/./src/general/network-map/scripts/entities.ts","webpack://lib.[name]/./src/general/network-map/network-map.scss?00dd","webpack://lib.[name]/./src/general/studies/studies.scss?111b","webpack://lib.[name]/./src/general/conferences/conferences.page.ts","webpack://lib.[name]/./src/general/publications/scripts/publications.page.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,CAAC;AACD,O;;;;;;;;;;;;;ACTA;IAEI;QACI,CAAC,CAAC;YACE,yCAAyC;YACzC,IAAI,aAAa,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC;gBACxC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC,CAAC;YAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3C,IAAI,CAAC,IAAI,CAAC,EAAE;oBACR,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;iBACjD;aACJ;YAED,CAAC,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;gBACpB,0CAA0C;gBAC1C,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;oBACtC,0BAA0B;oBAC1B,CAAC,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;oBAEjD,uBAAuB;oBACvB,IAAI,cAAc,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;oBACzC,CAAC,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;iBACrD;YACL,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IACL,uBAAC;AAAD,CAAC;AA5BY,4CAAgB;;;;;;;;;;;;;;;;;ACD7B,mGAAqG;AAErG;IA4BI;QARA,uBAAkB,GAAa,EAAE,CAAC;QAClC,0BAAqB,GAAW,EAAE,CAAC;QACnC,kBAAa,GAAa,EAAE,CAAC;QAC7B,qBAAgB,GAAW,EAAE,CAAC;QAC9B,eAAU,GAAa,EAAE,CAAC;QAC1B,kBAAa,GAAW,EAAE,CAAC;QAC3B,qBAAgB,GAAW,EAAE,CAAC;IAEd,CAAC;IAEjB,0BAAU,GAAV;QAEI,qGAAqG;QACrG,oEAAoE;QACpE,+DAA+D;QAC/D,sBAAsB;QAEtB,IAAI,IAAI,CAAC,gBAAgB,IAAI,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;YACxE,IAAI,CAAC,kBAAkB,GAAG,2BAAK,EAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;YAC5D,IAAI,CAAC,qBAAqB,GAAG,0BAAI,EAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SAChF;QAGD,IAAI,IAAI,CAAC,SAAS,IAAI,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1D,IAAI,CAAC,aAAa,GAAG,2BAAK,EAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAChD,IAAI,CAAC,gBAAgB,GAAG,0BAAI,EAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SACtE;QAED,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACpD,IAAI,CAAC,UAAU,GAAG,2BAAK,EAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC1C,IAAI,CAAC,aAAa,GAAG,0BAAI,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SAChE;QAED,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5D,IAAI,CAAC,gBAAgB,GAAG,0BAAI,EAAC,2BAAK,EAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SAC/E;QAED,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC;IACvG,CAAC;IACL,YAAC;AAAD,CAAC;AA3DY,sBAAK;;;;;;;;;;;;ACFlB,uC;;;;;;;;;;;;;;;ACAA,+EAAiD;AACjD,+DAAmC;AAEnC;IAKI,qBAAY,WAAgB;QAA5B,iBAcC;QAbG,CAAC,CAAC;YAEE,KAAI,CAAC,OAAO,GAAG,oCAAY,EAAC,gBAAK,EAAW,WAAW,CAAC,CAAC;YACzD,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,KAAY;gBAC1B,KAAK,CAAC,UAAU,EAAE,CAAC;gBACnB,OAAO,KAAK,CAAC;YACjB,CAAC,CAAC;YAEF,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAK,IAAI,YAAK,CAAC,cAAc,EAApB,CAAoB,CAAC,CAAC;YAE/D,KAAI,CAAC,eAAe,EAAE,CAAC;YACvB,KAAI,CAAC,oBAAoB,CAAC,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,qCAAe,GAAf;QAAA,iBA8EC;QA5EG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC;YAClD,oDAAoD;YACpD,KAAK,EAAE,wCAAwC;YAC/C,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,KAAK;YACd,kBAAkB;YAClB,aAAa,EAAE,IAAI;YACnB,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;YAC9B,OAAO,EAAE;gBACL,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;gBACjG,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACxD,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE;gBAClE,EAAE,IAAI,EAAE,uBAAuB,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE;gBACzE,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE;gBACpE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC1D,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,KAAK,EAAE;gBAChD,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,KAAK,EAAE;gBAC9C,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,EAAE;gBACzC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE;gBACtC,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,KAAK,EAAE;gBAC5C,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,KAAK,EAAC;aAC5C;YACD,IAAI,EAAE,IAAI,CAAC,OAAO;YAClB,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;SACtB,CAAC,CAAC;QAEH,IAAI,eAAe,GACf,mEAAmE;YAC/D,uIAAuI;YAC3I,QAAQ,CACP;QAEL,IAAI,aAAa,GACb,sDAAsD;YAClD,6EAA6E;YAC7E,6GAA6G;YACjH,QAAQ;QAEZ,IAAI,SAAS,GACT,mEACM,eAAe,+BACf,aAAa,yBACZ;QAGX,CAAC,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C;;uDAE+C;QAE/C,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC,CAAC;QAEnE,CAAC,CAAC,6BAA6B,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,EAAE,UAAC,KAAK;YACrE,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,GAAG,GAAG,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEjC,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE;gBACrB,sCAAsC;gBACtC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBACjB,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;aAC3B;iBACI;gBACD,gBAAgB;gBAChB,GAAG,CAAC,KAAK,CAAC,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACnD,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aACxB;QACL,CAAC,CAAC,CAAC;QAEH,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,UAAC,CAAC,EAAE,QAAQ;YACnD,KAAI,CAAC,oBAAoB,CAAC,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAED,uCAAiB,GAAjB;QAAA,iBAmDC;gCAjDY,KAAK;YAEN,eAAe,GAAG,KAAK,CAAC;YAC5B,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE;gBACxC,eAAe,GAAG,KAAK,GAAG,CAAC,CAAC;aAC/B;YAEG,MAAM,GAAG,CAAC,CAAC,8BAA8B,GAAG,KAAK,GAAG,aAAa,CAAC;iBACjE,QAAQ,CAAC,CAAC,CAAC,yCAAyC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;YAE7E,IAAI,YAAY,GAAa,EAAE,CAAC;YAChC,OAAK,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,UAAC,IAAS;gBACjE,IAAI,KAAe,CAAC;gBACpB,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE;oBACxC,KAAK,GAAG,IAAI,CAAC;iBAChB;qBACI;oBACD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBAC3B;gBACD,qBAAqB;gBACrB,KAAK,CAAC,GAAG,CAAC,UAAC,IAAY;oBACnB,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBACnB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBACjD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC3B;gBACL,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,YAAY,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;YAEnC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACvE,4EAA4E;YAC5E,YAAY,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,CAAC;gBAClB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACnE,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAC,KAAK;gBACtB,IAAI,QAAQ,GAAmB,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC5D,IAAI,QAAQ,IAAI,KAAK;oBAAE,QAAQ,GAAG,EAAE,CAAC;gBACrC,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;qBACvB,MAAM,CAAC,QAAQ,CAAC;qBAChB,IAAI,EAAE,CAAC;YAChB,CAAC,CAAC,CAAC;;2BAxCC,eAAe,EAKf,MAAM;QAPd,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK;oBAA9B,KAAK;SA2Cb;QAED,oCAAoC;QACpC,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE;YAC7B,KAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9B,CAAC,CAAC;IACN,CAAC;IAED,qCAAe,GAAf,UAAgB,IAAS;QACrB,iDAAiD;QACjD,OAAO,+EAA+E;YAClF,0BAA0B;YACtB,mDAAmD;YACnD,wBAAwB,GAAG,IAAI,CAAC,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,OAAO;YAC/E,OAAO;YACP,yBAAyB;YACrB,wDAAwD;YACxD,wBAAwB,GAAG,IAAI,CAAC,gBAAgB,GAAG,OAAO;YAC9D,OAAO;YACP,yBAAyB;YACrB,4CAA4C;YAC5C,wBAAwB,GAAG,IAAI,CAAC,mBAAmB,GAAG,OAAO;YACjE,OAAO;YACP,UAAU,CAAC;IACnB,CAAC;IAGD,wCAAkB,GAAlB;QACI,CAAC,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,kCAAY,GAAZ;QACI,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,+BAA+B;YACtE,CAAC,CAAC,mBAAmB,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAE1C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;SAClD;QAED,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAE3C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAED,0CAAoB,GAApB,UAAqB,KAAa;QAE9B,QAAQ,KAAK,EAAE;YACX,KAAK,CAAC;gBAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAAC,MAAM;YAClE,KAAK,CAAC;gBAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAAC,MAAM;YAC/D,OAAO,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,gBAAgB,CAAC,CAAC;SACrE;IACL,CAAC;IAED,wCAAkB,GAAlB;QACI,0BAA0B;QAC1B,IAAI,SAAS,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEvB,oBAAoB;QACpB,IAAI,UAAU,GAAG,EAAE;QACnB,IAAI,SAAS,EAAE;YACX,UAAU,GAAG,MAAM;SACtB;QACD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,CAAC;IACL,kBAAC;AAAD,CAAC;AAnNY,kCAAW;;;;;;;;;;;;;ACHxB,uC;;;;;;;;;;;;;;;ACAA,iEAAqC;AACrC,sEAA4C;AAG5C;IAEI;QAAA,iBASC;QAPG,gBAAgB;QAChB,CAAC,CAAC;YAEE,KAAI,CAAC,kBAAkB,EAAE,CAAC;QAE9B,CAAC,CAAC,CAAC;IAEP,CAAC;IAED,4CAAkB,GAAlB;QAEU,CAAC,CAAC,UAAU,CAAE,CAAC,QAAQ,CAAC;YAC1B,OAAO,EAAE;gBACL,IAAM,OAAO,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;gBACvG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;oBAChB,OAAO,CAAC,KAAK,EAAE,CAAC;iBACnB;gBACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC;YACD,MAAM,EAAE,gBAAgB;SAC3B,CAAC,CAAC;IACP,CAAC;IAED,iCAAO,GAAP;QACI,UAAU,EAAE,CAAC;IACjB,CAAC;IACL,sBAAC;AAAD,CAAC;AA9BY,0CAAe;AAgC5B,SAAS,UAAU;IACf,6BAA6B;IAC7B,oCAAoC;AACxC,CAAC;;;;;;;;;;;;;;;;;ACrCD;IAEI;QACI,WAAW;QACX,KAAK;IACT,CAAC;IAED,8CAAa,GAAb,UAAc,IAAY,EAAE,KAAa,EAAE,KAAa,EAAE,KAAkB,EAAE,IAAiB;QAArC,kCAAkB;QAAE,gCAAiB;QAE3F,IAAI,KAAK,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAElC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACjB,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,wCAAwC,CAAC,CAAC;SACrG;aACI;YACD,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC1C;QAED,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IACL,6BAAC;AAAD,CAAC;AAxBY,wDAAsB;;;;;;;;;;;;;ACFnC,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;;;ACCA,UAAU;;;AAEV,8EAA2D;AAAU,gGAA5D,2BAAe,OAA4D;AACpF,mGAAwE;AAAU,+FAAzE,iCAAc,OAAyE;AAChG,uFAA6D;AAAU,4FAA9D,0BAAW,OAA8D;AAClF,sGAA4E;AAAU,iGAA7E,oCAAgB,OAA6E;AACtG,8FAA0E;AAAU,uGAA3E,0CAAsB,OAA2E;AAC1G,iGAAsE;AAAU,iGAAvE,qCAAgB,OAAuE;AAChG,2FAAiE;AAAU,gGAAlE,kCAAe,OAAkE;AAG1F,SAAS;AACT,2DAAiC;AACjC,iEAAuC;AACvC,sDAA4B;AAC5B,oEAA0C;AAC1C,4EAAkD;AAClD,8DAAoC;AACpC,kEAAwC;AACxC,sEAA4C;AAC5C,0DAAgC;AAChC,oEAA0C;AAC1C,oGAA0E;AAC1E,kEAAwC;AACxC,sEAA4C;;;;;;;;;;;;ACzB5C,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;;;;;ACAA,+EAAiD;AAGjD;IA+BI;QA3BA,cAAS,GAAW,eAAe,CAAC;QAKpC,kBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAY,GAAW,EAAE,CAAC;QAC1B,iBAAY,GAAW,EAAE,CAAC;QAK1B,aAAQ,GAAW,eAAe,CAAC;QAInC,qBAAgB,GAAW,EAAE,CAAC;QAC9B,0BAAqB,GAAW,EAAE,CAAC;QAOnC,wBAAmB,GAAW,EAAE,CAAC;QACjC,yBAAoB,GAAW,EAAE,CAAC;IAElB,CAAC;IAEjB,gCAAU,GAAV;QAAA,iBA2CC;QAzCG,IAAI,CAAC,OAAO,GAAG,oCAAY,EAAC,MAAM,EAAY,IAAI,CAAC,OAAO,CAAC,CAAC;QAE5D,IAAI,YAAY,GAAW,CAAC,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,MAAc;;YAChC,IAAI,KAAK,GAAW,EAAE,CAAC;YACvB,IAAI,aAAM,CAAC,QAAQ,0CAAE,MAAM,IAAG,CAAC,EAAE;gBAAE,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC;aAAE;YAC9D,IAAI,aAAM,CAAC,QAAQ,0CAAE,MAAM,IAAG,CAAC,EAAE;gBAAE,KAAK,IAAI,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC;aAAE;YAErE,IAAI,KAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAAE,KAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC;aAAE;YACxE,KAAI,CAAC,gBAAgB,IAAI,KAAK,CAAC;YAE/B,IAAI,EAAE,YAAY,IAAI,CAAC,EAAE;gBACrB,IAAI,KAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;oBAAE,KAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC;iBAAE;gBAClF,KAAI,CAAC,qBAAqB,IAAI,KAAK,CAAC;aACvC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAAE,IAAI,CAAC,qBAAqB,IAAI,WAAW,CAAC;SAAE;QAEvG,IAAI,IAAI,CAAC,SAAS,IAAI,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACpD;aACI;YAAE,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;SAAE;QAEhD,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,kBAAkB,IAAI,SAAS,EAAE;YACtC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,CAAC;SACtD;QACD,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;YAChC,IAAI,CAAC,mBAAmB,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;SAC7D;QACD,IAAI,IAAI,CAAC,aAAa,IAAI,SAAS;YAAE,IAAI,CAAC,mBAAmB,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC;QAC1F,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;QAE3D,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE;YACzB,IAAI,CAAC,IAAI,GAAG,kCAAkC,GAAG,IAAI,CAAC,QAAQ,CAAC;SAClE;aACI,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE;YAC7B,IAAI,CAAC,IAAI,GAAG,0BAA0B,GAAG,IAAI,CAAC,QAAQ,CAAC;SAC1D;QAED,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,eAAe,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;IAClJ,CAAC;IACL,kBAAC;AAAD,CAAC;AA7EY,kCAAW;AA+ExB;IAKI;IAAe,CAAC;IACpB,aAAC;AAAD,CAAC;AANY,wBAAM;;;;;;;;;;;;AClFnB,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;;;;;ACAA,+DAAkD;AAClD,mGAAuE;AACvE,6EAA+C;AAC/C,mGAAiE;AAEjE;IAMI;QAAA,iBA0BC;QAzBG,CAAC,CAAC;YAEE,KAAI,CAAC,mBAAmB,EAAE,CAAC;YAE3B,kCAAY,EAAC,KAAI,CAAC,eAAe,CAAC,CAAC;YAEnC,oCAAoC;YACpC,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,eAAe,CAAC;YAEvC,KAAI,CAAC,gBAAgB,EAAE,CAAC;YAExB,IAAI,YAAY,GAAa,EAAE,CAAC;YAChC,KAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAC,EAAkB;gBAC5C,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,UAAC,CAAO;oBACrB,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,UAAC,OAAe;wBACzC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;4BACjC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;yBAC9B;oBACL,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,4BAAM,EAAC,YAAY,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAE9F,KAAI,CAAC,GAAG,GAAG,IAAI,4BAAU,CAAC,KAAI,CAAC,eAAe,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;IACP,CAAC;IAED,yCAAgB,GAAhB;QACI,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC1D,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC/D,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SACzE;IACL,CAAC;IAED,yDAAyD;IACzD,2CAAkB,GAAlB,UAAmB,QAAgB,EAAE,MAAgB;QAArD,iBAuBC;QAtBG,CAAC,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC;YACrB,UAAU,EAAE,KAAK;YACjB,kBAAkB,EAAE,OAAO;YAE3B,iBAAiB,EAAE,UAAC,WAAW,EAAE,QAAQ;gBACrC,IAAI,WAAW,IAAI,QAAQ,EAAE;oBACzB,OAAO,uBAAuB,CAAC;iBAClC;qBACI;oBACD,OAAO,WAAW,GAAG,WAAW,CAAC;iBACpC;YACL,CAAC;SACJ,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,UAAC,OAAY;YACxB,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAEpC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,mBAAmB,EAAE,UAAC,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa;YAC3E,KAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAI,CAAC,UAAU,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;IACP,CAAC;IAED,qDAA4B,GAA5B;QACI,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QAErB,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC1D,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE;gBACjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;aACjD;SACJ;QACD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,iDAAwB,GAAxB;QACI,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC1D,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;SAC1C;QACD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,mDAA0B,GAA1B;QACI,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC1D,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;SAC3C;QACD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,4CAAmB,GAAnB;QAEI,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAE1B,IAAI,EAAE,GAAmB,IAAI,yBAAc,CAAC,UAAU,EAAE,2BAA2B,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAC3I,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,8GAA8G,CAAC,CAAC;QACnK,EAAE,CAAC,OAAO,CAAC,gCAAgC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,eAAe,CAAC,CAAC;QACtF,EAAE,CAAC,OAAO,CAAC,6DAA6D,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC,CAAC;QACvH,EAAE,CAAC,OAAO,CAAC,uEAAuE,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,4BAA4B,CAAC,CAAC;QAC9I,EAAE,CAAC,OAAO,CAAC,4DAA4D,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,eAAe,CAAC,CAAC;QAClH,EAAE,CAAC,OAAO,CAAC,wEAAwE,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,CAAC;QAC9H,EAAE,CAAC,OAAO,CAAC,0CAA0C,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,iCAAiC,CAAC,CAAC;QACnH,EAAE,CAAC,OAAO,CAAC,qCAAqC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,eAAe,CAAC,CAAC;QAC3F,EAAE,CAAC,OAAO,CAAC,qCAAqC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,eAAe,CAAC,CAAC;QAC1F,iFAAiF;QACjF,EAAE,CAAC,OAAO,CAAC,8BAA8B,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,cAAc,CAAC,CAAC;QACtF,EAAE,CAAC,OAAO,CAAC,6BAA6B,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,8BAA8B,CAAC,CAAC;QACtG,EAAE,CAAC,OAAO,CAAC,2CAA2C,EAAE,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,2CAA2C,CAAC,CAAC;QAChI,EAAE,CAAC,OAAO,CAAC,2BAA2B,EAAE,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,CAAC;QACjF,EAAE,CAAC,OAAO,CAAC,oDAAoD,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,6BAA6B,CAAC,CAAC;QACxH,EAAE,CAAC,OAAO,CAAC,iCAAiC,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC,CAAC;QAC3F,EAAE,CAAC,OAAO,CAAC,iDAAiD,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,8BAA8B,CAAC,CAAC;QACtH,EAAE,CAAC,OAAO,CAAC,kCAAkC,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,eAAe,CAAC,CAAC;QACvF,EAAE,CAAC,OAAO,CAAC,2BAA2B,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC;QAClF,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,4BAA4B,CAAC,CAAC;QACrF,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,CAAC;QAC1E,EAAE,CAAC,OAAO,CAAC,sDAAsD,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC;QAC7G,EAAE,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC;QAC7E,EAAE,CAAC,OAAO,CAAC,qFAAqF,EAAE,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC;QAC7I,EAAE,CAAC,OAAO,CAAC,6CAA6C,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC,CAAC;QACjG,EAAE,CAAC,OAAO,CAAC,oCAAoC,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC;QAC5F,EAAE,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC,CAAC;QACxE,EAAE,CAAC,OAAO,CAAC,iCAAiC,EAAE,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,CAAC;QACxF,EAAE,CAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,6CAA6C,CAAC,CAAC;QACjH,EAAE,CAAC,OAAO,CAAC,4BAA4B,EAAE,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,CAAC;QAClF,EAAE,CAAC,OAAO,CAAC,iCAAiC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,aAAa,CAAC,CAAC;QACrF,EAAE,CAAC,OAAO,CAAC,yCAAyC,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC;QAC5F,EAAE,CAAC,OAAO,CAAC,wCAAwC,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,aAAa,CAAC,CAAC;QAC7F,EAAE,CAAC,OAAO,CAAC,sCAAsC,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC;QAC3F,EAAE,CAAC,OAAO,CAAC,kCAAkC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,aAAa,CAAC,CAAC;QACtF,EAAE,CAAC,OAAO,CAAC,4BAA4B,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,4BAA4B,CAAC,CAAC;QAC7F,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAG9B,IAAI,OAAO,GAAmB,IAAI,yBAAc,CAAC,SAAS,EAAE,6EAA6E,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC,aAAa,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,uBAAuB,EAAE,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACjV,oJAAoJ;QACpJ,6KAA6K;QAC7K,6KAA6K;QAC7K,OAAO,CAAC,OAAO,CAAC,gCAAgC,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,4BAA4B,EAAE,IAAI,CAAC,CAAC;QAClH,OAAO,CAAC,OAAO,CAAC,+DAA+D,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;QAChI,OAAO,CAAC,OAAO,CAAC,4BAA4B,EAAE,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;QAC9F,OAAO,CAAC,OAAO,CAAC,wDAAwD,EAAE,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,8BAA8B,EAAE,IAAI,CAAC,CAAC;QAC3I,OAAO,CAAC,OAAO,CAAC,gCAAgC,EAAE,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,0DAA0D,CAAC,CAAC;QACzI,OAAO,CAAC,OAAO,CAAC,2CAA2C,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;QAC9G,OAAO,CAAC,OAAO,CAAC,4DAA4D,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,4CAA4C,EAAE,IAAI,CAAC,CAAC;QAC7J,OAAO,CAAC,OAAO,CAAC,yCAAyC,EAAE,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,8KAA8K,EAAE,IAAI,CAAC,CAAC;QAC5Q,OAAO,CAAC,OAAO,CAAC,gCAAgC,EAAE,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,6BAA6B,EAAE,IAAI,CAAC,CAAC;QAClH,OAAO,CAAC,OAAO,CAAC,oCAAoC,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,4CAA4C,EAAE,IAAI,CAAC,CAAC;QACrI,OAAO,CAAC,OAAO,CAAC,gDAAgD,EAAE,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC;QAC7G,OAAO,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC,CAAC;QACtF,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;QAC7E,OAAO,CAAC,OAAO,CAAC,qEAAqE,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,6BAA6B,EAAE,IAAI,CAAC,CAAC;QACnJ,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,0BAA0B,EAAE,IAAI,CAAC,CAAC;QACpG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAGnC,IAAI,UAAU,GAAmB,IAAI,yBAAc,CAAC,YAAY,EAAE,iFAAiF,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,oBAAoB,EAAE,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,eAAe,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;QAC3U,UAAU,CAAC,OAAO,CAAC,qCAAqC,EAAE,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;QACzF,UAAU,CAAC,OAAO,CAAC,yDAAyD,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,+DAA+D,CAAC,CAAC;QACrK,UAAU,CAAC,OAAO,CAAC,+BAA+B,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,4BAA4B,CAAC,CAAC;QAC7G,UAAU,CAAC,OAAO,CAAC,6CAA6C,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7F,UAAU,CAAC,OAAO,CAAC,uCAAuC,EAAE,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,CAAC;QACrG,UAAU,CAAC,OAAO,CAAC,oCAAoC,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,4BAA4B,CAAC,CAAC;QACnH,UAAU,CAAC,OAAO,CAAC,2CAA2C,EAAE,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,4BAA4B,EAAE,IAAI,CAAC,CAAC;QAC/H,UAAU,CAAC,OAAO,CAAC,qCAAqC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,oIAAoI,CAAC,CAAC;QAC5N,UAAU,CAAC,OAAO,CAAC,wEAAwE,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,+GAA+G,CAAC,CAAC;QACxO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEtC,IAAI,SAAS,GAAmB,IAAI,yBAAc,CAAC,WAAW,EAAE,6EAA6E,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,UAAU,EAAE,yBAAyB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC;QACpR,SAAS,CAAC,OAAO,CAAC,oCAAoC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,eAAe,CAAC,CAAC;QAClG,SAAS,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;QACrE,SAAS,CAAC,OAAO,CAAC,uDAAuD,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,cAAc,CAAC,CAAC;QACnH,SAAS,CAAC,OAAO,CAAC,wCAAwC,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;QACzF,SAAS,CAAC,OAAO,CAAC,kCAAkC,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,8BAA8B,CAAC,CAAC;QAC7G,SAAS,CAAC,OAAO,CAAC,mCAAmC,EAAE,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC;QACjG,SAAS,CAAC,OAAO,CAAC,iCAAiC,EAAE,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,+BAA+B,CAAC,CAAC;QACjH,SAAS,CAAC,OAAO,CAAC,iCAAiC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,cAAc,CAAC,CAAC;QAC7F,SAAS,CAAC,OAAO,CAAC,6BAA6B,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,+BAA+B,CAAC,CAAC;QAC9G,SAAS,CAAC,OAAO,CAAC,4CAA4C,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1F,SAAS,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,aAAa,CAAC,CAAC;QACnF,SAAS,CAAC,OAAO,CAAC,2BAA2B,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,aAAa,CAAC,CAAC;QACrF,SAAS,CAAC,OAAO,CAAC,+DAA+D,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,aAAa,CAAC,CAAC;QAC3H,SAAS,CAAC,OAAO,CAAC,iDAAiD,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,+BAA+B,CAAC,CAAC;QAC9H,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAErC,IAAI,SAAS,GAAmB,IAAI,yBAAc,CAAC,WAAW,EAAE,6FAA6F,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,uBAAuB,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,WAAW,CAAC,CAAC;QAChV,SAAS,CAAC,OAAO,CAAC,mCAAmC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,2IAA2I,CAAC,CAAC;QAC7N,gIAAgI;QAChI,SAAS,CAAC,OAAO,CAAC,mCAAmC,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,8BAA8B,CAAC,CAAC;QACnH,SAAS,CAAC,OAAO,CAAC,4EAA4E,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,+DAA+D,CAAC,CAAC;QAC3L,SAAS,CAAC,OAAO,CAAC,4FAA4F,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9I,SAAS,CAAC,OAAO,CAAC,6BAA6B,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,eAAe,CAAC,CAAC;QAC7F,SAAS,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,gGAAgG,CAAC,CAAC;QACtK,SAAS,CAAC,OAAO,CAAC,iCAAiC,EAAE,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,gDAAgD,CAAC,CAAC;QAClI,SAAS,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,iBAAiB,CAAC,CAAC;QACjF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAErC,IAAI,KAAK,GAAmB,IAAI,yBAAc,CAAC,WAAW,EAAE,wDAAwD,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,eAAe,CAAC,EAAE,OAAO,CAAC,CAAC;QACpR,KAAK,CAAC,OAAO,CAAC,2BAA2B,EAAE,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,yEAAyE,CAAC,CAAC;QAChJ,KAAK,CAAC,OAAO,CAAC,8CAA8C,EAAE,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,2CAA2C,CAAC,CAAC;QACtI,KAAK,CAAC,OAAO,CAAC,qCAAqC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,yEAAyE,CAAC,CAAC;QACtJ,KAAK,CAAC,OAAO,CAAC,0CAA0C,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,8EAA8E,CAAC,CAAC;QACnK,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,yEAAyE,CAAC,CAAC;QAClI,kGAAkG;QAClG,KAAK,CAAC,OAAO,CAAC,mDAAmD,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,8GAA8G,CAAC,CAAC;QAC/M,KAAK,CAAC,OAAO,CAAC,iCAAiC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,yEAAyE,CAAC,CAAC;QACpJ,4GAA4G;QAC5G,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEjC,oSAAoS;QACpS,8NAA8N;QAC9N,oIAAoI;QACpI,0EAA0E;QAC1E,mJAAmJ;QACnJ,gHAAgH;QAChH,6HAA6H;QAC7H,wCAAwC;QAExC,IAAI,OAAO,GAAmB,IAAI,yBAAc,CAAC,SAAS,EAAE,2EAA2E,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,uCAAuC,EAAE,cAAc,EAAE,yBAAyB,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;QACvT,OAAO,CAAC,OAAO,CAAC,mDAAmD,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,2DAA2D,CAAC,CAAC;QACxJ,OAAO,CAAC,OAAO,CAAC,4BAA4B,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,0IAA0I,CAAC,CAAC;QAChN,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,4BAA4B,CAAC,CAAC;QAC1F,OAAO,CAAC,OAAO,CAAC,2BAA2B,EAAE,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,2CAA2C,CAAC,CAAC;QACpH,OAAO,CAAC,OAAO,CAAC,8BAA8B,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,8FAA8F,CAAC,CAAC;QAC3K,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,yGAAyG,CAAC,CAAC;QAC9K,OAAO,CAAC,OAAO,CAAC,6BAA6B,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC;QACnF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEnC,IAAI,KAAK,GAAmB,IAAI,yBAAc,CAAC,OAAO,EAAE,yCAAyC,EAAE,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC,aAAa,EAAE,uBAAuB,EAAE,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe,CAAC,EAAE,OAAO,CAAC,CAAC;QAC3R,KAAK,CAAC,OAAO,CAAC,2BAA2B,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,eAAe,CAAC,CAAC;QACtF,KAAK,CAAC,OAAO,CAAC,0FAA0F,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC,CAAC;QACvJ,KAAK,CAAC,OAAO,CAAC,iEAAiE,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,6BAA6B,CAAC,CAAC;QAC5I,KAAK,CAAC,OAAO,CAAC,0EAA0E,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,6BAA6B,CAAC,CAAC;QACrJ,KAAK,CAAC,OAAO,CAAC,mCAAmC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,EAAE,4CAA4C,CAAC,CAAC;QAC9H,KAAK,CAAC,OAAO,CAAC,kCAAkC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,8GAA8G,CAAC,CAAC;QAC9L,KAAK,CAAC,OAAO,CAAC,wCAAwC,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,6BAA6B,CAAC,CAAC;QACnH,KAAK,CAAC,OAAO,CAAC,wDAAwD,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,kCAAkC,CAAC,CAAC;QACxI,KAAK,CAAC,OAAO,CAAC,uCAAuC,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,6BAA6B,CAAC,CAAC;QAC/G,KAAK,CAAC,OAAO,CAAC,mEAAmE,EAAE,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,4CAA4C,CAAC,CAAC;QAC5J,KAAK,CAAC,OAAO,CAAC,6FAA6F,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,4CAA4C,CAAC,CAAC;QAClL,KAAK,CAAC,OAAO,CAAC,oDAAoD,EAAE,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,8EAA8E,CAAC,CAAC;QAC/K,KAAK,CAAC,OAAO,CAAC,sEAAsE,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,eAAe,CAAC,CAAC;QAClI,KAAK,CAAC,OAAO,CAAC,4BAA4B,EAAE,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC;QACvF,KAAK,CAAC,OAAO,CAAC,uCAAuC,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,CAAC;QAClG,KAAK,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,6BAA6B,CAAC,CAAC;QAC7F,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEjC,IAAI,OAAO,GAAmB,IAAI,yBAAc,CAAC,SAAS,EAAE,sDAAsD,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,mBAAmB,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,oBAAoB,EAAE,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAC5U,yEAAyE;QACzE,OAAO,CAAC,OAAO,CAAC,2BAA2B,EAAE,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,4DAA4D,CAAC,CAAC;QACrI,OAAO,CAAC,OAAO,CAAC,kCAAkC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,yDAAyD,CAAC,CAAC;QACvI,OAAO,CAAC,OAAO,CAAC,4BAA4B,EAAE,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,0CAA0C,CAAC,CAAC;QACpH,OAAO,CAAC,OAAO,CAAC,wCAAwC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,4CAA4C,CAAC,CAAC;QAC/H,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,yDAAyD,CAAC,CAAC;QACrH,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,wDAAwD,CAAC,CAAC;QACvH,OAAO,CAAC,OAAO,CAAC,oDAAoD,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,4CAA4C,CAAC,CAAC;QAC5I,OAAO,CAAC,OAAO,CAAC,iCAAiC,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEnC,IAAI,OAAO,GAAmB,IAAI,yBAAc,CAAC,SAAS,EAAE,uDAAuD,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC,aAAa,EAAE,uBAAuB,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,CAAC,EAAE,SAAS,CAAC,CAAC;QAC/Q,OAAO,CAAC,OAAO,CAAC,4BAA4B,EAAE,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,2DAA2D,CAAC,CAAC;QACrI,OAAO,CAAC,OAAO,CAAC,sCAAsC,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,4CAA4C,CAAC,CAAC;QAC7H,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,4FAA4F,CAAC,CAAC;QAC7J,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,2DAA2D,CAAC,CAAC;QAC7H,OAAO,CAAC,OAAO,CAAC,gCAAgC,EAAE,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;QAClF,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,2DAA2D,CAAC,CAAC;QAC7H,OAAO,CAAC,OAAO,CAAC,6BAA6B,EAAE,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,8BAA8B,CAAC,CAAC;QACzG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA0CE;IACN,CAAC;IACL,qBAAC;AAAD,CAAC;AA5TY,wCAAc;;;;;;;;;;;;;ACL3B,uC;;;;;;;;;;;;;;;ACKA;IAqBI;IAAgB,CAAC;IAEjB,qCAAU,GAAV;QAEI,IAAI,IAAI,CAAC,gBAAgB,IAAI,EAAE,IAAI,IAAI,CAAC,gBAAgB,IAAI,SAAS,EAAE;YACnE,IAAI,CAAC,mBAAmB,GAAG,oBAAY,IAAI,CAAC,gBAAgB,kCAAqB,IAAI,CAAC,iBAAiB,SAAM;SAChH;aACI;YACD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,CAAC;SACrD;QAED,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE;YAC/D,IAAI,CAAC,iBAAiB,GAAG,oBAAY,IAAI,CAAC,cAAc,kCAAqB,IAAI,CAAC,cAAc,gFAAyE;SAC5K;aACI;YACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC;SAChD;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC5E,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3E,CAAC;IAGD,wCAAa,GAAb,UAAc,WAAgB,EAAE,YAAiB;QAE7C,6CAA6C;QAE7C;kFAC0E;QAE1E,OAAO,IAAI,CAAC;IAChB,CAAC;IACL,uBAAC;AAAD,CAAC;AAvDY,4CAAgB;;;;;;;;;;;;ACL7B,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA,yEAA2C;AAC3C,qEAA0D;AAI1D;IAUI,oBAAY,eAAiC,EAAE,wBAA6B;QAExE,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC;QAE/B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,wBAAwB,CAAC,CAAC;IAC/D,CAAC;IAED,kCAAa,GAAb;QAAA,iBAuCC;QAtCG,CAAC,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC;QAE1B,IAAI,CAAC,GAAG,GAAG,iBAAC,CAAC,GAAG,CAAC,aAAa,EAAE;YAC5B,QAAQ,EAAE,GAAG;YACb,aAAa,EAAE,IAAI;SACtB,CAAC,CAAC;QAEH,IAAI,CAAC,oBAAoB,GAAG,iBAAC,CAAC,SAAS,CAAC,oDAAoD,EAAE,EAAE,CAAC,CAAC;QAClG,IAAI,CAAC,qBAAqB,GAAG,+BAAY,EAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAElE,IAAI,CAAC,gBAAgB,GAAG,iBAAC,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,cAAc,GAAG,iBAAC,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAGrD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,CAAC,YAAY,GAAG,iBAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAEpE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,cAAc,EAAE,UAAU,CAAC;YAC5C,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QAGH,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAElC,IAAI,CAAC,cAAc,GAAG,iBAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAEjD,iBAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YACb,UAAU,EAAE,IAAI,CAAC,oBAAoB;YACrC,WAAW,EAAE,IAAI,CAAC,qBAAqB;SAC1C,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEvB,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QAE1B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,iBAAiB,EAAE,UAAC,CAAM,IAAK,YAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,EAA3B,CAA2B,CAAC,CAAC;QACxE,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IAED,uCAAkB,GAAlB;QACI,OAAO;YACH,gBAAgB,EAAE,EAAE;YACpB,uDAAuD;YACvD,mBAAmB,EAAE,KAAK;YAC1B,kBAAkB,EAAE,UAAU,OAAO;gBACjC,OAAO,IAAI,iBAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,QAAQ,EAAE,iBAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9H,CAAC;YACD,sBAAsB,EAAE,UAAU,KAAa,EAAE,QAAmC;gBAChF,IAAI,kBAAkB,GAAG,EAAE,EACvB,cAAc,GAAG,EAAE,EACnB,UAAU,GAAG,cAAc,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,EACzC,SAAS,GAAG,QAAQ,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,EACvC,GAAG,GAAG,EAAE,EACR,CAAC,CAAC;gBAEN,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC;gBAEnB,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;oBAC7B,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,eAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,kBAAkB,EAAE,SAAS,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC;iBACvF;gBAED,OAAO,GAAG,CAAC;YACf,CAAC;SACG,CAAC,CAAC,oDAAoD;IAClE,CAAC;IAED,mCAAc,GAAd,UAAe,OAAe;QAE1B,IAAI,OAAO,IAAI,WAAW,EAAE;YACxB,CAAC,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;SAChG;aACI,IAAI,OAAO,IAAI,UAAU,EAAE;YAC5B,CAAC,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;SACnH;IACL,CAAC;IAED,+BAAU,GAAV,UAAW,eAAiC,EAAE,wBAA6B;QAA3E,iBA0DC;QAxDG,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;YACxC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;SACrC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;YAC1C,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;SACvC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;YACtC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;SACnC;QAED,eAAe,CAAC,OAAO,CAAC,UAAC,OAAuB;YAE5C,IAAI,OAAO,CAAC,aAAa,CAAC,wBAAwB,CAAC,EAAE;gBACjD,IAAI,OAAO,CAAC,kBAAkB,EAAE,EAAE,MAAM;oBACpC,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,iBAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;wBAC9E,QAAQ,EAAE,KAAI,CAAC,cAAc;wBAC7B,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,MAAM,EAAE,CAAC;wBACT,WAAW,EAAE,GAAG;qBACnB,CAAC,CAAC,KAAK,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,KAAI,CAAC,+BAA+B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;iBAC3F;qBACI;oBACD,iBAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;wBACnD,QAAQ,EAAE,KAAI,CAAC,cAAc;wBAC7B,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,MAAM,EAAE,CAAC;wBACT,WAAW,EAAE,GAAG;qBACnB,CAAC,CAAC,KAAK,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,KAAI,CAAC,+BAA+B,CAAC,OAAO,CAAC,CAAC,CAAC;iBAC1F;gBAED,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,UAAC,IAAU;oBAE7B,IAAI,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,EAAE;wBAC9C,IAAI,IAAI,CAAC,kBAAkB,EAAE;4BACzB,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAO,iBAAE,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;gCAC9E,KAAK,EAAE,UAAU;gCACjB,KAAK,EAAE,OAAO,CAAC,KAAK;gCACpB,MAAM,EAAE,CAAC;gCACT,MAAM,EAAE,CAAC;gCACT,WAAW,EAAE,GAAG;6BACnB,CAAC,CAAC,KAAK,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,KAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;yBACrH;6BACI;4BACK,iBAAE,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;gCACnD,KAAK,EAAE,UAAU;gCACjB,KAAK,EAAE,OAAO,CAAC,KAAK;gCACpB,MAAM,EAAE,CAAC;gCACT,MAAM,EAAE,CAAC;gCACT,WAAW,EAAE,GAAG;6BACnB,CAAC,CAAC,KAAK,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,KAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;yBACpH;qBACJ;gBACL,CAAC,CAAC,CAAC;aACN;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,oDAA+B,GAA/B,UAAgC,OAAuB;QAEnD,IAAI,YAAY,GAAW,yBAAyB,CAAC;QACrD,YAAY,IAAI,8DAA8D,CAAC;QAC/E,YAAY,IAAI,sBAAsB,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;QAClE,YAAY,IAAI,sBAAsB,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;QAC1E,YAAY,IAAI,8BAA8B,CAAC;QAC/C,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,iBAAiB,CAAC;QACzD,YAAY,IAAI,QAAQ,CAAC;QACzB,4CAA4C;QAC5C,sDAAsD;QACtD,2CAA2C;QAC3C,6CAA6C;QAC7C,+BAA+B;QAC/B,OAAO;QACP,GAAG;QACH,2BAA2B;QAE3B,uDAAuD;QACvD,yCAAyC;QACzC,2DAA2D;QAC3D,KAAK;QACL,6BAA6B;QAE7B,IAAI,OAAO,CAAC,WAAW,IAAI,UAAU,EAAE;YACnC,YAAY,IAAI,kCAAkC,GAAG,oBAAoB,GAAG,OAAO,CAAC,WAAW,GAAG,yCAAyC,CAAC;SAC/I;aACI;YACD,YAAY,IAAI,2HAA2H,CAAC;YAC5I,YAAY,IAAI,gIAAgI,CAAC;SACpJ;QAED,2BAA2B;QAC3B,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,2CAAsB,GAAtB,UAAuB,IAAU,EAAE,MAAc,EAAE,OAAe;QAE9D,IAAI,YAAY,GAAW,yBAAyB,CAAC;QACrD,YAAY,IAAI,uDAAuD,CAAC;QACxE,YAAY,IAAI,qBAAqB,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QAC9D,YAAY,IAAI,wBAAwB,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,GAAG,GAAG,QAAQ,CAAC;QAEpF,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;YACpC,YAAY,IAAI,4CAA4C,CAAC;YAC7D,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,wBAAc;gBAC1C,YAAY,IAAI,UAAU,GAAG,cAAc,GAAG,YAAY,CAAC;YAC/D,CAAC,CAAC,CAAC;YACH,YAAY,IAAI,UAAU,CAAC;SAC9B;QAED,YAAY,IAAI,QAAQ,CAAC;QACzB,OAAO,YAAY,CAAC;IACxB,CAAC;IAGD,4FAA4F;IAC5F,uCAAkB,GAAlB;QACI,iBAAC,CAAC,aAAa,CAAC,OAAO,CAAC;YACpB,QAAQ,EAAE;gBACN,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;oBAClE,OAAO;iBACV;gBAED,IAAI,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,EAClD,KAAK,GAAG,IAAI,CAAC,MAAM,EACnB,GAAG,GAAG,KAAK,CAAC,IAAI,EAChB,MAAM,GAAG,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAC7C,SAAS,CAAC;gBAEd,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;gBAE/B,sDAAsD;gBAEtD,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE;oBAC5C,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;iBACvF;qBAAM,IAAI,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,uBAAuB,EAAE;oBAC5D,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;iBACvE;qBAAM;oBACH,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,oGAAoG;oBACpH,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;iBACvE;gBAED,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;YACrD,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IACL,iBAAC;AAAD,CAAC;AArPY,gCAAU;;;;;;;;;;;;;;;;;ACJvB,uGAAuG;AACvG,SAAgB,YAAY,CAAC,KAAY;;IACrC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QACvC,IAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9C,KAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAA1C,KAAK,CAAC,CAAC,CAAC,UAAE,KAAK,CAAC,CAAC,CAAC,SAAyB;KAC/C;AACL,CAAC;AALD,oCAKC;AAED,SAAgB,YAAY,CAAC,KAAa,EAAE,cAAsB,EAAE,eAAuB,EAAE,IAAa,EAAE,MAAuB;IAAvB,uCAAuB;IAC/H,IAAI,IAAI,GAAa,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACjD,IAAI,IAAI,EAAE;QAAE,IAAI,CAAC,IAAI,EAAE,CAAC;KAAE;IAC1B,IAAI,MAAM,GAAW,EAAE,CAAC;IACxB,IAAI,CAAC,OAAO,CAAC,UAAC,IAAY,EAAE,KAAa;QACrC,IAAI,KAAK,GAAG,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC;QACzC,IAAI,MAAM;YAAE,MAAM,IAAI,yBAAyB,CAAC;QAChD,MAAM,IAAI,IAAI,CAAC;QACf,IAAI,MAAM;YAAE,MAAM,IAAI,SAAS,CAAC;IACpC,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAClB,CAAC;AAXD,oCAWC;AAED,SAAgB,KAAK,CAAC,KAAa,EAAE,SAAiB;IAClD,IAAI,KAAK,GAAa,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC7C,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,UAAC,CAAS,IAAK,QAAC,CAAC,IAAI,EAAE,EAAR,CAAQ,CAAC,CAAC;IAC3C,OAAO,KAAK,CAAC;AACjB,CAAC;AAJD,sBAIC;AAED,SAAgB,IAAI,CAAC,IAAc,EAAE,eAAuB,EAAE,IAAa,EAAE,MAAuB;IAAvB,uCAAuB;IAChG,IAAI,IAAI,EAAE;QAAE,IAAI,CAAC,IAAI,EAAE,CAAC;KAAE;IAC1B,IAAI,MAAM,GAAW,EAAE,CAAC;IACxB,IAAI,CAAC,OAAO,CAAC,UAAC,IAAY,EAAE,KAAa;QACrC,IAAI,KAAK,GAAG,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC;QACzC,IAAI,MAAM;YAAE,MAAM,IAAI,yBAAyB,CAAC;QAChD,MAAM,IAAI,IAAI,CAAC;QACf,IAAI,MAAM;YAAE,MAAM,IAAI,SAAS,CAAC;IACpC,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAClB,CAAC;AAVD,oBAUC;AAED,SAAgB,MAAM,CAAC,MAAgB,EAAE,IAAa,EAAE,UAAyB;IAAzB,4CAAyB;IAE7E,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,GAAW;QAC5B,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC;;YACvC,OAAO,GAAG,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,IAAI,MAAM,GAAa,MAAM,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,aAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAvB,CAAuB,CAAC,CAAC;IACxE,IAAI,IAAI,EAAE;QACN,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,UAAC,CAAS,IAAK,QAAC,CAAC,WAAW,EAAE,EAAf,CAAe,CAAC,CAAC;QAE5D,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,UAAC,CAAS,EAAE,CAAS;YACtC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YACpB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YAEpB,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE;gBAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAAE;iBACnD;gBACD,IAAI,cAAY,GAAY,KAAK,CAAC;gBAClC,IAAI,cAAY,GAAY,KAAK,CAAC;gBAElC,UAAU,CAAC,OAAO,CAAC,UAAC,CAAS;oBACzB,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;wBAAE,cAAY,GAAG,IAAI,CAAC;qBAAE;oBAC7C,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;wBAAE,cAAY,GAAG,IAAI,CAAC;qBAAE;gBACjD,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,cAAY,IAAI,CAAC,cAAY,EAAE;oBAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAAE;qBAC3D,IAAI,cAAY,IAAI,CAAC,cAAY,EAAE;oBACpC,OAAO,CAAC,CAAC;iBACZ;qBACI,IAAI,CAAC,cAAY,IAAI,cAAY,EAAE;oBACpC,OAAO,CAAC,CAAC,CAAC;iBACb;qBACI;oBACD,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC3B;aACJ;YAED,sEAAsE;YACtE,yCAAyC;YACzC,0CAA0C;YAC1C,+BAA+B;QAGnC,CAAC,CAAC,CAAC;QAEH,gBAAgB;KACnB;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAhDD,wBAgDC;AAED,SAAgB,wBAAwB,CAAC,KAAa,EAAE,WAAmB;IACvE,IAAI,KAAK,GAAa,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,MAAM,GAAW,uBAAuB,CAAC;IAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;QACnC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;YACxB,MAAM,IAAI,SAAS,CAAC;SACvB;KACJ;IAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;QAAE,MAAM,IAAI,SAAS,CAAC;KAAE;IAC9D,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAZD,4DAYC;AAED,SAAgB,eAAe,CAAC,MAAW,EAAE,MAAW;IACpD,IAAI,MAAM,IAAI,SAAS,IAAI,MAAM,IAAI,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7D,OAAO,MAAM,CAAC,IAAI,CAAC,WAAC,IAAI,aAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAlB,CAAkB,CAAC,CAAC;AAChD,CAAC;AAHD,0CAGC;AAED,SAAgB,UAAU,CAAC,KAAa;IACpC,OAAO,uBAAuB,GAAG,KAAK,GAAG,SAAS,CAAC;AACvD,CAAC;AAFD,gCAEC;AAED,SAAgB,oBAAoB,CAAC,KAAe,EAAE,eAAuB,EAAE,WAAmB;IAE9F,IAAI,aAAa,GAAW,KAAK,CAAC,SAAS,CAAC,UAAC,KAAK,IAAK,YAAK,CAAC,UAAU,CAAC,eAAe,CAAC,EAAjC,CAAiC,CAAC,CAAC;IAE1F,IAAI,aAAa,IAAI,CAAC,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;KAAE;SACrC;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAAC,OAAO,KAAK,CAAC;KAAE;AACnD,CAAC;AAND,oDAMC;;;;;;;;;;;;;;;;ACvHD,mGAAiF;AAEjF;IAII,wBAAqB,YAAoB,EAAW,IAAY,EAAW,MAAgB,EAAW,KAAa,EAAW,SAAmB,EAAW,SAAmB,EAAW,WAAmB,EAAW,kBAAkC;QAAlC,8DAAkC;QAArO,iBAAY,GAAZ,YAAY,CAAQ;QAAW,SAAI,GAAJ,IAAI,CAAQ;QAAW,WAAM,GAAN,MAAM,CAAU;QAAW,UAAK,GAAL,KAAK,CAAQ;QAAW,cAAS,GAAT,SAAS,CAAU;QAAW,cAAS,GAAT,SAAS,CAAU;QAAW,gBAAW,GAAX,WAAW,CAAQ;QAAW,uBAAkB,GAAlB,kBAAkB,CAAgB;QAH1P,UAAK,GAAW,EAAE,CAAC;QACnB,uBAAkB,GAAa,EAAE,CAAC;IAE6N,CAAC;IAEhQ,yCAAyC;IACzC,wBAAwB;IACxB,qDAAqD;IACrD,iDAAiD;IACjD,OAAO;IACP,4BAA4B;IAC5B,GAAG;IAEH,gCAAO,GAAP,UAAQ,IAAY,EAAE,MAAgB,EAAE,SAAiB,EAAE,kBAAkC;QAA7F,iBAQC;QAR0D,8DAAkC;QACzF,IAAI,IAAI,GAAS,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;QACvE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtB,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,UAAC,OAAe;YAC5C,IAAI,CAAC,KAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1F,CAAC,CAAC,CAAC;IAEP,CAAC;IAED,sCAAa,GAAb,UAAc,SAAc;QACxB,IAAI,CAAC,qCAAe,EAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC;YAAE,OAAO,KAAK,CAAC;QACvE,OAAO,IAAI,CAAC;IAChB,CAAC;IACL,qBAAC;AAAD,CAAC;AA5BY,wCAAc;AA8B3B;IAII,cAAqB,IAAY,EAAW,MAAgB,EAAW,SAAiB,EAAW,kBAAkC;QAAlC,8DAAkC;QAAhH,SAAI,GAAJ,IAAI,CAAQ;QAAW,WAAM,GAAN,MAAM,CAAU;QAAW,cAAS,GAAT,SAAS,CAAQ;QAAW,uBAAkB,GAAlB,kBAAkB,CAAgB;QAEjI,IAAI,IAAI,CAAC,SAAS,IAAI,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;YAC3D,IAAI,CAAC,kBAAkB,GAAG,CAAC,eAAe,CAAC,CAAC;SAC/C;aACI;YACD,IAAI,CAAC,kBAAkB,GAAG,2BAAK,EAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAChD,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;SAClC;IACL,CAAC;IAED,4BAAa,GAAb,UAAc,SAAc;QACxB,IAAI,CAAC,qCAAe,EAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC;YAAE,OAAO,KAAK,CAAC;QACvE,OAAO,IAAI,CAAC;IAChB,CAAC;IACL,WAAC;AAAD,CAAC;AAnBY,oBAAI;;;;;;;;;;;;AChCjB,uC;;;;;;;;;;;ACAA,uC;;;;;;;;;;;;;;;ACAA,+EAAiD;AACjD,qFAAyD;AAEzD;IAII,yBAAY,eAAoB;QAAhC,iBAgBC;QAdG,gBAAgB;QAChB,CAAC,CAAC;YACE,KAAI,CAAC,WAAW,GAAG,oCAAY,EAAC,sCAAgB,EAAsB,eAAe,CAAC,CAAC;YACvF,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAC,UAA4B;gBAC9C,UAAU,CAAC,UAAU,EAAE,CAAC;gBACxB,OAAO,UAAU,CAAC;YACtB,CAAC,CAAC,CAAC;YAEH,gCAAgC;YAEhC,KAAI,CAAC,eAAe,EAAE,CAAC;YACvB,KAAI,CAAC,wBAAwB,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IAEP,CAAC;IAED,yCAAe,GAAf;QAAA,iBAwFC;QAtFG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,0BAA0B,CAAC,CAAC,SAAS,CAAC;YACrD,KAAK,EAAE,wBAAwB;YAC/B,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,KAAK;YACd,kBAAkB;YAClB,aAAa,EAAE,IAAI;YACnB,QAAQ,EACR;gBACI,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE;oBACL,SAAS,EAAE,wBAAwB;oBACnC,QAAQ,EAAE,sDAAsD;iBACnE;aACJ;YACD,OAAO,EAAE;gBACL,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;gBACjG,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,mBAAmB,EAAE,OAAO,EAAE,qBAAqB,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACjG,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,uBAAuB,EAAE;gBACvF,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,gBAAgB,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAAE,SAAS,EAAE,uBAAuB,EAAE;gBACnG,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,qBAAqB,EAAE,OAAO,EAAE,uBAAuB,EAAC,EAAE,SAAS,EAAE,uBAAuB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG;aACnI;YACD,OAAO,EAAE;gBACL;oBACI,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,6BAA6B;oBACnC,SAAS,EAAE,MAAM;oBACjB,OAAO,EAAE,OAAO;oBAChB,aAAa,EAAE;wBACX,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;qBAC3B;oBACD,KAAK,EAAE,EAAE;iBACZ;gBACC;oBACE,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,sCAAsC;oBAC5C,SAAS,EAAE,KAAK;oBAChB,OAAO,EAAE,OAAO;oBAChB,aAAa,EAAE;wBACX,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;qBAC3B;iBACJ;aACJ;YACD,IAAI,EAAE,IAAI,CAAC,WAAW;YACtB,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC;YAClB,YAAY,EAAE,UAAC,QAAQ,EAAE,IAAI;gBACzB,CAAC,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;YAC3G,CAAC;SACJ,CAAC,CAAC;QAEH,CAAC,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,yCAAyC,CAAC,CAAC;QAEvE,wEAAwE;QACxE,CAAC,CAAC,iCAAiC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QACpE,CAAC,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAGnD,+BAA+B;QAC/B,CAAC,CAAC,gCAAgC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,UAAC,UAAU;YAC7D,gDAAgD;YAChD,IAAI,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YACrC,IAAI,GAAG,GAAG,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEjC,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE;gBACrB,sCAAsC;gBACtC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBACjB,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;aAC3B;iBACI;gBACD,gBAAgB;gBAChB,GAAG,CAAC,KAAK,CAAC,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACnD,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aACxB;QACL,CAAC,CAAC,CAAC;QAEH,CAAC,CAAC,0BAA0B,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,UAAC,CAAC,EAAE,QAAQ;YACtD,KAAI,CAAC,wBAAwB,CAAC,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;QAGH,uDAAuD;QACvD,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAED,2CAAiB,GAAjB;QAAA,iBAgFC;gCA9EY,KAAK;YAEV,IAAI,WAAW,GAAW,KAAK,CAAC;YAEhC,IAAI,YAAY,GAAa,EAAE,CAAC;YAChC,IAAI,SAAS,GAAW,GAAG,CAAC;YAG5B,OAAK,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,UAAC,IAAY;gBAEhE,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE;oBAC5B,IAAI,KAAK,GAAa,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;oBAE5C,KAAK,CAAC,GAAG,CAAC,UAAC,IAAY;wBACnB,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;wBACnB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;4BACjD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;yBAC3B;oBACL,CAAC,CAAC,CAAC;iBACN;YAEL,CAAC,CAAC,CAAC;YAEH,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,UAAC,CAAS,EAAE,CAAS;gBAClD,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;YAEH,+CAA+C;YAE/C,yEAAyE;YACzE,8BAA8B;YAC9B,qEAAqE;YACrE,KAAK;YAEL,IAAI,QAAQ,GAAW,mBAAmB,GAAG,KAAK,CAAC;YAEnD,CAAC,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC;gBACrB,UAAU,EAAE,KAAK;gBACjB,kBAAkB,EAAE,OAAO;gBAE3B,iBAAiB,EAAE,UAAC,WAAW,EAAE,QAAQ;oBACrC,IAAI,WAAW,IAAI,QAAQ,EAAE;wBACzB,OAAO,KAAK,CAAC;qBAChB;yBACI;wBACD,OAAO,WAAW,GAAG,WAAW,CAAC;qBACpC;gBACL,CAAC;aACJ,CAAC,CAAC;YAEH,YAAY,CAAC,OAAO,CAAC,UAAC,OAAY;gBAC9B,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAGpC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,mBAAmB,EAAE,UAAC,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa;gBAC3E,IAAI,MAAM,GAAuB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBACrD,iCAAiC;gBAEjC,IAAI,MAAM,GAAW,EAAE,CAAC;gBACxB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBACnB,IAAI,KAAK,IAAI,CAAC,EAAE,EAAE,gEAAgE;wBAC9E,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;qBACzC;yBACI;wBACD,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;qBAC3C;iBACJ;qBACI;oBAAE,MAAM,GAAG,4BAA4B,CAAC;iBAAE;gBAE/C,sBAAsB;gBACtB,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;qBAC7B,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC;qBAC3B,IAAI,EAAE,CAAC;YAChB,CAAC,CAAC,CAAC;;;QA3EP,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK;oBAA9B,KAAK;SA6Eb;IACL,CAAC;IAED,yCAAe,GAAf,UAAgB,IAAsB;QAClC,iDAAiD;QACjD,IAAI,SAAS,GAAW,+EAA+E,CAAC;QAExG,SAAS,IAAI,gBAAgB;YACzB,sFAAsF;YACtF,wBAAwB,GAAG,IAAI,CAAC,mBAAmB,GAAG,OAAO;YAC7D,OAAO,CAAC;QAEZ,SAAS,IAAI,gBAAgB;YACzB,0DAA0D;YAC1D,wBAAwB,GAAG,IAAI,CAAC,iBAAiB,GAAG,OAAO;YAC3D,OAAO,CAAC;QAGZ,SAAS,IAAI,gBAAgB;YACzB,oDAAoD;YACpD,wBAAwB,GAAG,IAAI,CAAC,IAAI,GAAG,OAAO;YAC9C,OAAO,CAAC;QAEZ,SAAS,IAAI,gBAAgB;YACzB,kEAAkE;YAClE,wBAAwB,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,OAAO;YAChF,OAAO,CAAC;QAEZ,SAAS,IAAI,gBAAgB;YACzB,mEAAmE;YACnE,wBAAwB,GAAG,IAAI,CAAC,kBAAkB,GAAG,OAAO;YAC5D,OAAO,CAAC;QAEZ,SAAS,IAAI,eAAe;YACxB,4DAA4D;YAC5D,wBAAwB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO;YAC/D,OAAO,CAAC;QAEZ,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,IAAI,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;YAC3D,SAAS,IAAI,eAAe;gBACxB,WAAW;gBACX,kCAAkC,GAAG,IAAI,CAAC,YAAY,GAAG,uJAAuJ;gBAChN,OAAO,CAAC;SACf;QAED,SAAS,IAAI,UAAU,CAAC;QAExB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,sCAAY,GAAZ;QACI,IAAI,WAAmB,CAAC;QACxB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,+BAA+B;YAEtE,CAAC,CAAC,mBAAmB,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YACzD,CAAC,CAAC,mBAAmB,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAEvD,WAAW,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,kBAAkB;YAC1D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;SACxD;QACD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAED,kDAAwB,GAAxB,UAAyB,KAAa;QAElC,QAAQ,KAAK,EAAE;YACX,KAAK,CAAC;gBAAE,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;gBAAC,MAAM;YAC3E,KAAK,CAAC;gBAAE,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBAAC,MAAM;YACzE,OAAO,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,sBAAsB,CAAC,CAAC;SAC9E;IACL,CAAC;IACL,sBAAC;AAAD,CAAC;AAtQY,0CAAe;;;;;;;;;;;;;;;;;ACH5B,+EAAiD;AACjD,uFAA6D;AAE7D;IAKI,0BAAY,IAAS,EAAE,WAAmB;QAA1C,iBAgBC;QAfG,CAAC,CAAC;YAEE,KAAI,CAAC,YAAY,GAAG,oCAAY,EAAC,kCAAW,EAAiB,IAAI,CAAC,CAAC;YACnE,KAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAC,GAAgB;gBACnC,GAAG,CAAC,UAAU,EAAE,CAAC;gBACjB,OAAO,GAAG,CAAC;YACf,CAAC,CAAC,CAAC;YAEH,iCAAiC;YAEjC,KAAI,CAAC,eAAe,EAAE,CAAC;YACvB,KAAI,CAAC,yBAAyB,CAAC,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAEzD,CAAC,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,0CAAe,GAAf;QAAA,iBAqGC;QAnGG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,4BAA4B,CAAC,CAAC,SAAS,CAAC;YACvD,oDAAoD;YACpD,KAAK,EAAE,yCAAyC;YAChD,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,KAAK;YACd,kBAAkB;YAClB,aAAa,EAAE,IAAI;YACnB,QAAQ,EACR;gBACI,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE;oBACL,SAAS,EAAE,0BAA0B;oBACrC,QAAQ,EAAE,sDAAsD;iBACnE;aACJ;YACD,OAAO,EAAE;gBACL,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;gBACjG,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAC9C,EAAE,IAAI,EAAE,uBAAuB,EAAE,SAAS,EAAE,uBAAuB,EAAE,KAAK,EAAE,KAAK,EAAE;gBACnF,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,uBAAuB,EAAE,KAAK,EAAE,KAAK,EAAE;gBACjF,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,uBAAuB,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC3E,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,uBAAuB,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC5E,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;gBAC9D,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,KAAK,EAAE;gBAChD,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE;gBACvD,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE;gBAC9D,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,KAAK,EAAE;gBACzE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE;gBAC/D,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;gBACnD,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,KAAK,EAAE;gBAChD,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,EAAE;gBACjE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE;aAClE;YACD,OAAO,EAAE;gBACL;oBACI,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,6BAA6B;oBACnC,SAAS,EAAE,MAAM;oBACjB,OAAO,EAAE,OAAO;oBAChB,aAAa,EAAE;wBACX,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;qBAC/C;oBACD,KAAK,EAAE,EAAE;iBACZ;gBACA;oBACG,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,sCAAsC;oBAC5C,SAAS,EAAE,KAAK;oBAChB,OAAO,EAAE,OAAO;oBAChB,aAAa,EAAE;wBACX,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAE;qBAChD;iBACJ;aACJ;YACD,IAAI,EAAE,IAAI,CAAC,YAAY;YACvB,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YACjC,YAAY,EAAE,UAAC,QAAQ,EAAE,IAAI;gBACzB,CAAC,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;YAC7G,CAAC;SACJ,CAAC,CAAC;QAEH,IAAI,eAAe,GACf,OAAO;YACP,uIAAuI;YACvI,QAAQ,CACP;QACL,CAAC,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAClD,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACnD,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAE7C,+BAA+B;QAC/B,CAAC,CAAC,kCAAkC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,UAAC,KAAK;YAC1D,gDAAgD;YAChD,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAChC,IAAI,GAAG,GAAG,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEjC,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE;gBACrB,sCAAsC;gBACtC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBACjB,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;aAC3B;iBACI;gBACD,gBAAgB;gBAChB,GAAG,CAAC,KAAK,CAAC,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACnD,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aACxB;QACL,CAAC,CAAC,CAAC;QAEH,CAAC,CAAC,4BAA4B,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,UAAC,CAAC,EAAE,QAAQ;YACxD,KAAI,CAAC,yBAAyB,CAAC,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACvF,CAAC,CAAC,CAAC;QAGH,uDAAuD;QACvD,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAED,4CAAiB,GAAjB;QAAA,iBA6EC;gCA3EY,KAAK;YAEV,IAAI,WAAW,GAAW,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,yBAAyB;YAE7E,IAAI,YAAY,GAAa,EAAE,CAAC;YAChC,IAAI,SAAS,GAAW,GAAG,CAAC;YAE5B,IAAI,KAAK,IAAI,CAAC,EAAE,EAAG,wDAAwD;gBACvE,SAAS,GAAG,GAAG,CAAC;aACnB;YAED,OAAK,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,UAAC,IAAY;gBAChE,IAAI,KAAK,GAAa,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC5C,KAAK,CAAC,GAAG,CAAC,UAAC,IAAY;oBACnB,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBACnB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBACjD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC3B;gBACL,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,UAAC,CAAS,EAAE,CAAS;gBAClD,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;YAEH,yEAAyE;YACzE,8BAA8B;YAC9B,qEAAqE;YACrE,KAAK;YAEL,IAAI,QAAQ,GAAW,mBAAmB,GAAG,KAAK,CAAC;YAEnD,CAAC,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC;gBACrB,UAAU,EAAE,KAAK;gBACjB,kBAAkB,EAAE,OAAO;gBAE3B,iBAAiB,EAAE,UAAC,WAAW,EAAE,QAAQ;oBACrC,IAAI,WAAW,IAAI,QAAQ,EAAE;wBACzB,OAAO,KAAK,CAAC;qBAChB;yBACI;wBACD,OAAO,WAAW,GAAG,WAAW,CAAC;qBACpC;gBACL,CAAC;aACJ,CAAC,CAAC;YAEH,YAAY,CAAC,OAAO,CAAC,UAAC,OAAY;gBAC9B,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAGpC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,mBAAmB,EAAE,UAAC,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa;gBAC3E,IAAI,MAAM,GAAuB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBACrD,iCAAiC;gBAEjC,IAAI,MAAM,GAAW,EAAE,CAAC;gBACxB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBACnB,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,EAAE,mBAAmB;wBAC/C,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;qBACvD;yBACI;wBACD,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;qBAC3C;iBACJ;qBACI;oBAAE,MAAM,GAAG,4BAA4B,CAAC;iBAAE;gBAE/C,sBAAsB;gBAEtB,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;qBAC7B,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC;qBAC3B,IAAI,EAAE,CAAC;YAChB,CAAC,CAAC,CAAC;;;QAxEP,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK;oBAA9B,KAAK;SA0Eb;IACL,CAAC;IAED,0CAAe,GAAf,UAAgB,IAAiB;QAC7B,iDAAiD;QACjD,IAAI,SAAS,GAAW,+EAA+E,CAAC;QAExG,SAAS,IAAI,0BAA0B;YACvB,qDAAqD;YACrD,wBAAwB,GAAG,IAAI,CAAC,KAAK,GAAG,OAAO;YAC/C,OAAO,CAAC;QAExB,SAAS,IAAI,0BAA0B;YACvB,uDAAuD;YACvD,wBAAwB,GAAG,IAAI,CAAC,YAAY,GAAG,OAAO;YACtD,OAAO,CAAC;QAExB,SAAS,IAAI,0BAA0B;YACvB,yDAAyD;YACzD,wBAAwB,GAAG,IAAI,CAAC,mBAAmB,GAAG,OAAO;YAC7D,OAAO,CAAC;QAExB,SAAS,IAAI,0BAA0B;YACvB,uDAAuD;YACvD,wBAAwB,GAAG,IAAI,CAAC,gBAAgB,GAAG,OAAO;YAC1D,OAAO,CAAC;QAExB,SAAS,IAAI,0BAA0B;YACnC,wDAAwD;YACxD,wBAAwB,GAAG,IAAI,CAAC,QAAQ,GAAG,OAAO;YAClD,OAAO,CAAC;QAEZ,SAAS,IAAI,yBAAyB;YACtB,wDAAwD;YACxD,wBAAwB,GAAG,IAAI,CAAC,eAAe,GAAG,OAAO;YACzD,OAAO,CAAC;QAExB,SAAS,IAAI,yBAAyB;YACtB,mDAAmD;YACnD,wBAAwB,GAAG,IAAI,CAAC,SAAS,GAAG,OAAO;YACnD,OAAO,CAAC;QAExB,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE;YACzB,SAAS,IAAI,yBAAyB;gBAClC,WAAW;gBACX,kCAAkC,GAAG,IAAI,CAAC,IAAI,GAAG,8IAA8I;gBAC/L,OAAO,CAAC;SACf;aACI,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE;YAC7B,SAAS,IAAI,yBAAyB;gBAClC,WAAW;gBACX,kCAAkC,GAAG,IAAI,CAAC,IAAI,GAAG,6EAA6E;gBAC9H,OAAO,CAAC;SACf;QAGD,SAAS,IAAI,UAAU,CAAC;QAExB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,6CAAkB,GAAlB;QACI,CAAC,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,uCAAY,GAAZ;QACI,IAAI,WAAmB,CAAC;QACxB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,+BAA+B;YAEtE,CAAC,CAAC,mBAAmB,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YACzD,CAAC,CAAC,mBAAmB,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAEvD,WAAW,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,kBAAkB;YAC1D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;SACxD;QACD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAED,oDAAyB,GAAzB,UAA0B,KAAa;QAEnC,QAAQ,KAAK,EAAE;YACX,KAAK,CAAC;gBAAE,CAAC,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBAAC,MAAM;YAC5E,KAAK,CAAC;gBAAE,CAAC,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBAAC,MAAM;YAC1E,OAAO,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,qBAAqB,CAAC,CAAC;SAC/E;IACL,CAAC;IACL,uBAAC;AAAD,CAAC;AAhSY,4CAAgB","file":"general.a52f7c6a19a815d50284.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"general\"] = factory();\n\telse\n\t\troot[\"lib\"] = root[\"lib\"] || {}, root[\"lib\"][\"general\"] = factory();\n})(window, function() {\nreturn ","\r\nexport class PilotProgramPage{\r\n\r\n constructor() {\r\n $(() => {\r\n // show first year table, hide the others\r\n let awardeeTables = $(\".awardee-table\").map(function () {\r\n return $(this);\r\n })\r\n\r\n for (let i = 0; i < awardeeTables.length; i++) {\r\n if (i != 0) {\r\n awardeeTables[i].addClass(\"inactive-section\");\r\n }\r\n }\r\n\r\n $(\".year-filter\").click(function () {\r\n // Make sure the clicked tab is not active\r\n if (!$(this).parent().hasClass(\"active\")) {\r\n // hide all awardee tables\r\n $(\".awardee-table\").addClass(\"inactive-section\");\r\n\r\n // show the correct one\r\n let awardeeTableId = \"#\" + $(this).val();\r\n $(awardeeTableId).removeClass(\"inactive-section\");\r\n }\r\n })\r\n });\r\n }\r\n}","import { SplitAndJoin, Split, Join, DoArraysOverlap } from \"../../../shared/scripts/array-functions\";\r\n\r\nexport class Study {\r\n\r\n ResearchCenter: string;\r\n StudyName: string;\r\n StudyNamePublic: string;\r\n StudyProtocol: string;\r\n StudyProtocolPublic: string;\r\n PathogenFamilies: string;\r\n Countries: string;\r\n StartDate: string;\r\n EndDate: string;\r\n HasHumanSubjects: string;\r\n HasAnimals: string;\r\n AnimalsUsed: string;\r\n Region: string;\r\n StudyTypes: string;\r\n HiddenFilter: string;\r\n CombinedHiddenFilter: string;\r\n IsPilotProgram: boolean;\r\n\r\n PathogenFamilyList: string[] = [];\r\n PathogenFamilyDisplay: string = \"\";\r\n CountriesList: string[] = [];\r\n CountriesDisplay: string = \"\";\r\n RegionList: string[] = [];\r\n RegionDisplay: string = \"\";\r\n StudyTypeDisplay: string = \"\";\r\n\r\n constructor() { }\r\n\r\n initialize(): void {\r\n\r\n //if (this.HasHumanSubjects == \"True\" && this.HasAnimals == \"True\") { this.Type = \"Animal & Human\"; }\r\n //else if (this.HasHumanSubjects == \"True\") { this.Type = \"Human\"; }\r\n //else if (this.HasAnimals == \"True\") { this.Type = \"Animal\"; }\r\n //else this.Type = \"\";\r\n\r\n if (this.PathogenFamilies != undefined && this.PathogenFamilies.length > 0) {\r\n this.PathogenFamilyList = Split(this.PathogenFamilies, \"|\");\r\n this.PathogenFamilyDisplay = Join(this.PathogenFamilyList, \", \", true, true);\r\n }\r\n \r\n\r\n if (this.Countries != undefined && this.Countries.length > 0) {\r\n this.CountriesList = Split(this.Countries, \"|\");\r\n this.CountriesDisplay = Join(this.CountriesList, \", \", true, true);\r\n }\r\n\r\n if (this.Region != undefined && this.Region.length > 0) {\r\n this.RegionList = Split(this.Region, \"|\");\r\n this.RegionDisplay = Join(this.RegionList, \", \", true, true);\r\n }\r\n\r\n if (this.StudyTypes != undefined && this.StudyTypes.length > 0) {\r\n this.StudyTypeDisplay = Join(Split(this.StudyTypes, \"|\"), \", \", true, true);\r\n }\r\n\r\n this.CombinedHiddenFilter = this.HiddenFilter + \" \" + this.Region + \" \" + this.StudyProtocolPublic;\r\n }\r\n}","// extracted by mini-css-extract-plugin","import { plainToClass } from 'class-transformer';\r\nimport { Study } from './entities';\r\n\r\nexport class StudiesPage {\r\n\r\n studies: Study[];\r\n dataTable: any;\r\n\r\n constructor(studiesData: any) {\r\n $(() => {\r\n\r\n this.studies = plainToClass(Study, studiesData);\r\n this.studies.map((study: Study) => {\r\n study.initialize();\r\n return study;\r\n })\r\n\r\n console.log(this.studies.filter(study => study.IsPilotProgram))\r\n\r\n this.initializeTable();\r\n this.setStudiesFoundLabel(this.studies.length);\r\n });\r\n }\r\n\r\n initializeTable(): void {\r\n\r\n this.dataTable = $('#public-studies-table').DataTable({\r\n //\"dom\": '<\"top-controls\"<\"message-section\">f>rtip',\r\n \"dom\": '<\"top-controls\"<\"reset-section\">f>rtip',\r\n autoWidth: true,\r\n info: false,\r\n paging: false,\r\n search: true,\r\n scrollX: false,\r\n //scrollY: '70vh',\r\n orderCellsTop: true,\r\n language: { search: \"Filter\" },\r\n columns: [\r\n { className: 'details-control', orderable: false, data: null, defaultContent: '', width: '24px' },\r\n { data: \"StudyNamePublic\", className: \"text-left pl-0\" },\r\n { data: \"ResearchCenter\", className: \"text-center\", width: '15%' },\r\n { data: \"PathogenFamilyDisplay\", className: \"text-center\", width: '18%' },\r\n { data: \"CountriesDisplay\", className: \"text-center\", width: '15%' },\r\n { data: \"Region\", className: \"text-center\", width: '15%' },\r\n { data: \"CombinedHiddenFilter\", visible: false },\r\n { data: \"PathogenFamilyList\", visible: false },\r\n { data: \"CountriesList\", visible: false },\r\n { data: \"RegionList\", visible: false },\r\n { data: \"StudyTypeDisplay\", visible: false },\r\n { data: \"IsPilotProgram\", visible: false}\r\n ],\r\n data: this.studies,\r\n order: [[1, 'asc']]\r\n });\r\n\r\n let resetSectionDiv: string =\r\n \"
\" +\r\n \"\" +\r\n \"
\"\r\n ;\r\n\r\n let pilotCheckDiv: string =\r\n \"
\" +\r\n \"\" +\r\n \"\" +\r\n \"
\"\r\n\r\n let filterDiv: string = \r\n `
\r\n ${resetSectionDiv}\r\n ${pilotCheckDiv}\r\n
`\r\n\r\n\r\n $(\".reset-section\").empty().html(filterDiv);\r\n /*$(\".reset-section\").css('display', 'inline-block');\r\n $(\".reset-section\").css('float', 'left');\r\n $(\".reset-section\").css('margin-top', '5px');*/\r\n\r\n $(\".top-controls\").addClass([\"d-flex\", \"justify-content-between\"]);\r\n\r\n $('#public-studies-table tbody').on('click', 'td.details-control', (event) => {\r\n var tr = $(event.currentTarget).closest('tr');\r\n var row = this.dataTable.row(tr);\r\n\r\n if (row.child.isShown()) {\r\n // This row is already open - close it\r\n row.child.hide();\r\n tr.removeClass('shown');\r\n }\r\n else {\r\n // Open this row\r\n row.child(this.createDetailRow(row.data())).show();\r\n tr.addClass('shown');\r\n }\r\n });\r\n\r\n $('#public-studies-table').on('search.dt', (e, settings) => {\r\n this.setStudiesFoundLabel(this.dataTable.rows({ search: 'applied' }).count());\r\n });\r\n\r\n this.initializeFilters();\r\n }\r\n\r\n initializeFilters(): void {\r\n\r\n for (let index = 2; index <= 5; ++index) { //skip details and title column\r\n\r\n var dataFilterIndex = index;\r\n if (index == 3 || index == 4 || index == 5) {\r\n dataFilterIndex = index + 4;\r\n }\r\n\r\n var select = $('')\r\n .appendTo($(\"#public-studies-table thead tr:eq(1) th\").eq(index).empty())\r\n\r\n let uniqueValues: string[] = [];\r\n this.dataTable.column(dataFilterIndex).data().unique().map((data: any) => {\r\n let parts: string[];\r\n if (index == 3 || index == 4 || index == 5) {\r\n parts = data;\r\n }\r\n else {\r\n parts = data.split(\"|\");\r\n }\r\n //console.log(parts);\r\n parts.map((part: string) => {\r\n part = part.trim();\r\n if (part.length > 0 && !uniqueValues.includes(part)) {\r\n uniqueValues.push(part);\r\n }\r\n });\r\n });\r\n\r\n uniqueValues = uniqueValues.sort();\r\n\r\n select.append($(\"\").attr(\"value\", 'All').text('All'));\r\n //this.dataTable.column(index).data().unique().sort().each(function (d, j) {\r\n uniqueValues.map((d, j) => {\r\n select.append($(\"\").attr(\"value\", d).text(d));\r\n });\r\n\r\n select.on('change', (event) => {\r\n let selected: string = $(event.currentTarget).val();\r\n if (selected == 'All') selected = '';\r\n this.dataTable.column(index)\r\n .search(selected)\r\n .draw();\r\n });\r\n }\r\n\r\n // Initialize Pilot Program Checkbox\r\n $(\"#pilotCheckbox\").on('change', () => {\r\n this.searchPilotProgram();\r\n })\r\n }\r\n\r\n createDetailRow(data: any): string {\r\n // `data` is the original data object for the row\r\n return '' +\r\n ' ' +\r\n '' + \r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '
Date Range' + data.StartDate + ' to ' + data.EndDate + '
Study Type(s)' + data.StudyTypeDisplay + '
Protocol' + data.StudyProtocolPublic + '
';\r\n }\r\n\r\n\r\n showAcronymsDialog(): void {\r\n $('#acronyms-modal').modal('show');\r\n }\r\n\r\n resetFilters(): void {\r\n for (let index = 2; index <= 5; ++index) { //skip details and title column\r\n $('#filter-dropdown-' + index).val('All');\r\n\r\n this.dataTable.column(index).search('').draw();\r\n }\r\n\r\n this.dataTable.column(11).search('').draw();\r\n $(\"#pilotCheckbox\").prop('checked', false);\r\n\r\n this.dataTable.search('').draw();\r\n }\r\n\r\n setStudiesFoundLabel(count: number): void {\r\n\r\n switch (count) {\r\n case 0: $('#studies-found-count').text(\"No Studies Found\"); break;\r\n case 1: $('#studies-found-count').text(\"1 Study Found\"); break;\r\n default: $('#studies-found-count').text(count + \" Studies Found\");\r\n }\r\n }\r\n\r\n searchPilotProgram(): void {\r\n // Get Value from Checkbox\r\n let isChecked = $(\"#pilotCheckbox\").is(\":checked\")\r\n console.log(isChecked);\r\n\r\n // Search For Values\r\n let searchTerm = ''\r\n if (isChecked) {\r\n searchTerm = 'true'\r\n }\r\n this.dataTable.column(11).search(searchTerm).draw();\r\n }\r\n}","// extracted by mini-css-extract-plugin","import { CountUp } from 'countup.js';\r\nimport 'waypoints/lib/jquery.waypoints.min';\r\n\r\n\r\nexport class GeneralHomePage {\r\n\r\n constructor() {\r\n\r\n //document.ready\r\n $(() => {\r\n\r\n this.initializeCounters();\r\n\r\n });\r\n\r\n }\r\n\r\n initializeCounters(): void {\r\n\r\n ($('.countup')).waypoint({\r\n handler: function() {\r\n const counter = new CountUp(this.element, this.element.textContent, { useEasing: false, duration: 1 });\r\n if (!counter.error) {\r\n counter.start();\r\n }\r\n this.destroy();\r\n },\r\n offset: 'bottom-in-view'\r\n });\r\n }\r\n\r\n clicked(): void {\r\n initialize();\r\n }\r\n}\r\n\r\nfunction initialize(): void {\r\n //console.log(\"initialized\");\r\n //generalIndex = new GeneralIndex();\r\n}\r\n\r\n","\r\n\r\nexport class CoordinatingCenterPage {\r\n\r\n constructor() {\r\n //$(() => {\r\n //});\r\n }\r\n\r\n showBioDialog(name: string, bioP1: string, bioP2: string, bioP3: string = \"\", link: string = \"\"): void {\r\n\r\n var modal = $('#bio-modal');\r\n modal.find('#bio-name').html(name);\r\n modal.find('#bio-p1').html(bioP1);\r\n modal.find('#bio-p2').html(bioP2);\r\n modal.find('#bio-p3').html(bioP3);\r\n\r\n if (link.length > 0) {\r\n modal.find('#bio-learn-more').html('More Information');\r\n }\r\n else {\r\n modal.find('#bio-learn-more').html('');\r\n }\r\n\r\n modal.modal('show');\r\n }\r\n}","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","\r\n// SCRIPTS\r\n\r\nimport { GeneralHomePage } from './home/scripts/home.page'; export { GeneralHomePage }; //to make discoverable from cshtml\r\nimport { NetworkMapPage } from './network-map/scripts/network-map.page'; export { NetworkMapPage };\r\nimport { StudiesPage } from './studies/scripts/studies.page'; export { StudiesPage };\r\nimport { PublicationsPage } from './publications/scripts/publications.page'; export { PublicationsPage };\r\nimport { CoordinatingCenterPage } from './coord-center/coord-center.page'; export { CoordinatingCenterPage };\r\nimport { PilotProgramPage } from './pilot-program/pilot-program.page'; export { PilotProgramPage };\r\nimport { ConferencesPage } from './conferences/conferences.page'; export { ConferencesPage };\r\n\r\n\r\n// STYLES\r\nimport './home/styles/home.scss';\r\nimport './home/styles/about-area.scss';\r\nimport './about/about.scss';\r\nimport './coord-center/coord-center.scss';\r\nimport './research-centers/research-centers.scss';\r\nimport './pathogens/pathogens.scss';\r\nimport './network-map/network-map.scss';\r\nimport './pilot-program/pilot-program.scss';\r\nimport './studies/studies.scss';\r\nimport './publications/publications.scss';\r\nimport './pilot-program/call-for-applications/call-for-applications.scss';\r\nimport './conferences/conferences.scss';\r\nimport './collaboration/collaboration.scss';\r\n","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","import { plainToClass } from \"class-transformer\";\r\n\r\n\r\nexport class Publication {\r\n\r\n PubMedId: string;\r\n AwardNumber: string;\r\n DoiNumber: string = \"Not Available\";\r\n Title: string;\r\n JournalISSN: string;\r\n JournalTitle: string;\r\n JournalAbbreviation: string;\r\n JournalVolume: string = \"\";\r\n JournalIssue: string = \"\";\r\n JournalPages: string = \"\";\r\n PublishedMonthName: string;\r\n PublishedMonthNumber: number;\r\n PublishedDay: string;\r\n PublishedYear: string;\r\n Abstract: string = \"Not Available\";\r\n MeshTerms: string[];\r\n MeshTermsString: string;\r\n Authors: Author[];\r\n AuthorStringFull: string = \"\";\r\n AuthorStringTruncated: string = \"\";\r\n\r\n ResearchCenter: string;\r\n Source: string;\r\n Link: string;\r\n Filename: string;\r\n\r\n PublishedDateString: string = \"\";\r\n CombinedHiddenFilter: string = \"\";\r\n\r\n constructor() { }\r\n\r\n initialize(): void {\r\n\r\n this.Authors = plainToClass(Author, this.Authors);\r\n\r\n let authorsFound: number = 0;\r\n this.Authors.forEach((author: Author) => {\r\n let label: string = \"\";\r\n if (author.LastName?.length > 0) { label += author.LastName; }\r\n if (author.Initials?.length > 0) { label += \", \" + author.Initials; }\r\n\r\n if (this.AuthorStringFull.length > 0) { this.AuthorStringFull += \"; \"; }\r\n this.AuthorStringFull += label;\r\n\r\n if (++authorsFound <= 4) {\r\n if (this.AuthorStringTruncated.length > 0) { this.AuthorStringTruncated += \"; \"; }\r\n this.AuthorStringTruncated += label;\r\n }\r\n });\r\n if (this.AuthorStringTruncated != this.AuthorStringFull) { this.AuthorStringTruncated += \", et. al.\"; }\r\n\r\n if (this.MeshTerms != undefined && this.MeshTerms.length > 0) {\r\n this.MeshTermsString = this.MeshTerms.join(\"; \");\r\n }\r\n else { this.MeshTermsString = \"Not Available\"; }\r\n\r\n this.PublishedDateString = \"\";\r\n if (this.PublishedMonthName != undefined) {\r\n this.PublishedDateString = this.PublishedMonthName;\r\n }\r\n if (this.PublishedDay != undefined) {\r\n this.PublishedDateString += \" \" + this.PublishedDay + \",\";\r\n }\r\n if (this.PublishedYear != undefined) this.PublishedDateString += \" \" + this.PublishedYear;\r\n this.PublishedDateString = this.PublishedDateString.trim();\r\n\r\n if (this.Source == \"pubmed\") {\r\n this.Link = \"https://pubmed.ncbi.nlm.nih.gov/\" + this.PubMedId;\r\n }\r\n else if (this.Source == \"local\") {\r\n this.Link = \"/documents/publications/\" + this.Filename;\r\n }\r\n\r\n this.CombinedHiddenFilter = this.Abstract + \" \" + this.MeshTermsString + \" \" + this.JournalTitle + \" \" + this.PubMedId + \" \" + this.DoiNumber;\r\n }\r\n}\r\n\r\nexport class Author {\r\n LastName: string;\r\n Initials: string;\r\n Affiliation: string;\r\n\r\n constructor() {}\r\n}","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","import { ResearchCenter, Site } from \"./entities\";\r\nimport { ShuffleArray } from '../../../shared/scripts/array-functions';\r\nimport { NetworkMap } from \"./network-map.map\";\r\nimport { Unique } from \"../../../shared/scripts/array-functions\";\r\n\r\nexport class NetworkMapPage {\r\n\r\n map: NetworkMap;\r\n researchCenters: ResearchCenter[];\r\n visibleRCs: ResearchCenter[];\r\n\r\n constructor() {\r\n $(() => {\r\n\r\n this.loadResearchCenters();\r\n\r\n ShuffleArray(this.researchCenters);\r\n\r\n //console.log(this.researchCenters);\r\n this.visibleRCs = this.researchCenters;\r\n\r\n this.initializeLegend();\r\n\r\n let pathogenList: string[] = [];\r\n this.researchCenters.forEach((rc: ResearchCenter) => {\r\n rc.sites.forEach((s: Site) => {\r\n s.pathogenFamilyList.forEach((pathFam: string) => {\r\n if (!pathogenList.includes(pathFam)) {\r\n pathogenList.push(pathFam);\r\n }\r\n });\r\n });\r\n });\r\n this.initializeDropdown('#pathogens-dropdown', Unique(pathogenList, true, [\"Not Available\"]));\r\n\r\n this.map = new NetworkMap(this.researchCenters, $('#pathogens-dropdown').val());\r\n });\r\n }\r\n\r\n initializeLegend(): void {\r\n for (let i: number = 0; i < this.researchCenters.length; ++i) {\r\n $('#rc' + i).find('#label').html(this.researchCenters[i].name);\r\n $('#rc' + i).find('#svg').attr('stroke', this.researchCenters[i].color);\r\n $('#rc' + i).find('#svg').attr('fill', this.researchCenters[i].color);\r\n }\r\n }\r\n\r\n //could be moved to utility - like in RECOVER-CT codebase\r\n initializeDropdown(selectId: string, values: string[]): void {\r\n $(selectId).selectpicker({\r\n dropupAuto: false,\r\n selectedTextFormat: \"count\",\r\n\r\n countSelectedText: (numSelected, numTotal) => {\r\n if (numSelected == numTotal) {\r\n return \"All Pathogen Families\";\r\n }\r\n else {\r\n return numSelected + \" Selected\";\r\n }\r\n }\r\n });\r\n\r\n values.forEach((element: any) => {\r\n $(selectId).append(new Option(element, element, false, true));\r\n });\r\n $(selectId).selectpicker(\"refresh\");\r\n\r\n $(selectId).on('changed.bs.select', (e, clickedIndex, isSelected, previousValue) => {\r\n this.map.setMarkers(this.visibleRCs, $('#pathogens-dropdown').val());\r\n });\r\n }\r\n\r\n updateVisibleResearchCenters(): void {\r\n this.visibleRCs = [];\r\n\r\n for (let i: number = 0; i < this.researchCenters.length; ++i) {\r\n if ($('#check-' + i).is(':checked')) {\r\n this.visibleRCs.push(this.researchCenters[i]);\r\n }\r\n }\r\n this.map.setMarkers(this.visibleRCs, $('#pathogens-dropdown').val());\r\n }\r\n\r\n selectAllResearchCenters(): void {\r\n for (let i: number = 0; i < this.researchCenters.length; ++i) {\r\n $('#check-' + i).prop('checked', true);\r\n }\r\n this.map.setMarkers(this.researchCenters, $('#pathogens-dropdown').val());\r\n }\r\n\r\n deselectAllResearchCenters(): void {\r\n for (let i: number = 0; i < this.researchCenters.length; ++i) {\r\n $('#check-' + i).prop('checked', false);\r\n }\r\n this.map.setMarkers([], []);\r\n }\r\n\r\n loadResearchCenters() {\r\n\r\n this.researchCenters = [];\r\n\r\n let cc: ResearchCenter = new ResearchCenter(\"CREID CC\", \"CREID Coordinating Center\", [35.55, -78.52], \"#7b5336\", [], [], \"creid-cc\", true);\r\n cc.addSite(\"Duke University\", [36.0014, -78.9382], \"Coronaviruses | Flaviviruses | Hantaviruses | Phenuiviruses | Togaviruses | Paramyxoviruses | Picornaviruses\");\r\n cc.addSite(\"Biolab Diagnostic Laboratories\", [31.963158, 35.930359], \"Coronaviruses\");\r\n cc.addSite(\"Washington State University, College of Veterinary Medicine\", [47.6062095, -122.3320708], \"Coronaviruses\");\r\n cc.addSite(\"Universidad Federal de Minas Gerais, Institute of Biological Sciences\", [-19.9166813, -43.9344931], \"Flaviviruses | Togaviruses\");\r\n cc.addSite(\"University of Nairobi, KAVI Institute of Clinical Research\", [-1.286389, 36.817223], \"Coronaviruses\");\r\n cc.addSite(\"Universidade Federal de Mato Grasso, Faculdade de Medicina Veterinaria\", [-15.601411, -56.097892], \"Arboviruses\");\r\n cc.addSite(\"Oxford University Clinical Research Unit\", [10.762622, 106.660172], \"Coronaviruses | Paramyxoviruses\");\r\n cc.addSite(\"Nature Conservation Society Myanmar\", [16.871311, 96.199379], \"Coronaviruses\");\r\n cc.addSite(\"Center for Molecular Dynamics Nepal\", [27.700769, 85.30014], \"Coronaviruses\");\r\n //cc.addSite(\"Duke-NUS Medical School\", [1.352083, 103.819836], \"Coronaviruses\");\r\n cc.addSite(\"Institut Pasteur du Cambodge\", [11.5563738, 104.9282099], \"Bunyaviruses\");\r\n cc.addSite(\"Washington State University\", [47.6062095, -122.3320708], \"Coronaviruses | Phenuviruses\");\r\n cc.addSite(\"University of Texas Medical Branch (UTMB)\", [29.3013479, -94.7976958], \"Arboviruses | Arenaviruses | Hantaviruses\");\r\n cc.addSite(\"Institut Pasteur de Dakar\", [14.716677, -17.4676861], \"Arboviruses\");\r\n cc.addSite(\"Instituto Nacional de Enfermedades Virales Humanas\", [-33.88995, -60.57357], \"Arenaviruses | Hantaviruses\");\r\n cc.addSite(\"University of California, Davis\", [38.5449065, -121.7405167], \"Coronaviruses\");\r\n cc.addSite(\"Washington State University Global Health Kenya\", [-1.286389, 36.817223], \"Coronaviruses | Phenuviruses\");\r\n cc.addSite(\"Kenya Medical Research Institute\", [-1.28571, 36.820026], \"Coronaviruses\");\r\n cc.addSite(\"Aga Khan University (AKU)\", [24.8607343, 67.0011364], \"Nairoviruses\");\r\n cc.addSite(\"Institut Pasteur\", [48.856614, 2.3522219], \"Arboviruses | Alphaviruses\");\r\n cc.addSite(\"Tulane University\", [29.9510659, -90.0715323], \"Filoviruses\");\r\n cc.addSite(\"Kathmandu Research Institute for Biological Sciences\", [27.7733295, 85.6801414], \"Flaviviruses\");\r\n cc.addSite(\"Tribhuvan University\", [27.6630019, 85.2774207], \"Flaviviruses\");\r\n cc.addSite(\"Escuela Nacional de Ciencias Biológicas – Instituto Politécnico Nacional (ENCB-IPN)\", [19.4326296, -99.1331785], \"Phenuviruses\");\r\n cc.addSite(\"Gorgas Memorial Institute of Health Studies\", [8.983333, -79.51667], \"Alphaviruses\");\r\n cc.addSite(\"Universidad San Francisco de Quito\", [-0.2107252, -78.4410895], \"Flaviviruses\");\r\n cc.addSite(\"Hospital San Miguel\", [0.11667, -75.86667], \"Flaviviruses\");\r\n cc.addSite(\"Universidad Autonoma de Yucatan\", [20.9670759, -89.6237402], \"Arboviruses\");\r\n cc.addSite(\"Association Ekipa Fanihy\", [-18.8791902, 47.5079055], \"Coronaviruses | Filoviruses | Henipaviruses\");\r\n cc.addSite(\"Kenema Government Hospital\", [7.8632147, -11.1957172], \"Filoviruses\");\r\n cc.addSite(\"Uganda Virus Research Institute\", [0.0511839, 32.463708], \"Arboviruses\");\r\n cc.addSite(\"Universidad Nacional Autonoma de Mexico\", [19.43195, -99.13313], \"Arboviruses\");\r\n cc.addSite(\"Institute of Tropical Medicine Antwerp\", [51.2194475, 4.4024643], \"Arboviruses\");\r\n cc.addSite(\"Universidad Peruana Cayetano Heredia\", [-12.043429, -77.03562], \"Arboviruses\");\r\n cc.addSite(\"Iasi University of Life Sciences\", [47.151726, 27.587914], \"Arboviruses\");\r\n cc.addSite(\"Centre Pasteur du Cameroun\", [3.87037, 11.518411], \"Flaviviruses | Togaviruses\");\r\n this.researchCenters.push(cc);\r\n\r\n\r\n let a2cares: ResearchCenter = new ResearchCenter(\"A2CARES\", \"American and Asian Centers for Arboviral Research and Enhanced Surveillance\", [37.8719, -122.2585], \"#68217a\", [\"Arboviruses\", \"Chikungunya Virus\", \"Dengue Virus\", \"Flaviviruses\", \"SARS-CoV-2 (COVID-19)\", \"Zika Virus\"], [\"Ecuador\", \"Nicaragua\", \"Sri Lanka\"], \"a2cares\", true);\r\n //a2cares.addSite(\"Managua, Nicaragua\", [12.1150, -86.2362], [\"Arboviruses\", \"Chikungunya\", \"Dengue Virus\", \"SARS-CoV-2 (COVID-19)\", \"Zika Virus\"]);\r\n //a2cares.addSite(\"San Francisco de Quito, University (Ecuador)\", [0.9682, -79.6517], [\"Arboviruses\", \"Chikungunya\", \"Dengue Virus\", \"SARS-CoV-2 (COVID-19)\", \"Zika Virus\"]);\r\n //a2cares.addSite(\"Centre for Dengue Research, University of Sri Jayewardenepura (Sri Lanka)\", [6.8868, 79.9187], [\"Dengue Virus\", \"Flaviviruses\", \"SARS-CoV-2 (COVID-19)\"]);\r\n a2cares.addSite(\"California Academy of Sciences\", [37.7749295, -122.4194155], \"Togaviruses | Flaviviruses\", true);\r\n a2cares.addSite(\"University of Sri Jayewardenepura, Centre for Dengue Research\", [6.8649081, 79.8996789], \"Flaviviruses\", true);\r\n a2cares.addSite(\"Centro de Salud Edgar Lang\", [12.1149926, -86.2361744], \"Arboviruses\", true);\r\n a2cares.addSite(\"University of North Carolina Chapel Hill, de Silva Lab\", [35.9131996, -79.0558445], \"Coronaviruses | Flaviviruses\", true);\r\n a2cares.addSite(\"Emory University, Waggoner Lab\", [33.7489954, -84.3879824], \"Togaviruses |Bunyaviruses | Coronaviruses | Flaviviruses\");\r\n a2cares.addSite(\"Universidad Central del Ecuador, INBIOMED\", [-0.1806532, -78.4678382], \"Flaviviruses\", true);\r\n a2cares.addSite(\"Instituto Nacional de Investigación en Salud Pública-Quito\", [-0.1806532, -78.4678382], \"Togaviruses | Coronaviruses | Flaviviruses\", true);\r\n a2cares.addSite(\"Nicaraguan National Virology Laboratory\", [12.1149926, -86.2361744], \"Togaviruses | Orthomyxoviruses | Togaviruses | Adenoviruses | Enteroviruses | Parvoviruses | Paramyxoviruses | Pneumoviruses | Picornaviruses | Coronaviruses | Flaviviruses\", true);\r\n a2cares.addSite(\"Sustainable Sciences Institute\", [12.1149926, -86.2361744], \"Arboviruses | Coronaviruses\", true);\r\n a2cares.addSite(\"Universidad San Francisco de Quito\", [-0.2107252, -78.4410895], \"Togaviruses | Coronaviruses | Flaviviruses\", true);\r\n a2cares.addSite(\"University of California, Berkeley, Harris Lab\", [37.8715226, -122.273042], \"Flaviviruses\");\r\n a2cares.addSite(\"University of Michigan\", [42.2808256, -83.7430378], \"Coronaviruses\");\r\n a2cares.addSite(\"Base Hospital\", [6.028849, 80.785576], \"Arboviruses\", true);\r\n a2cares.addSite(\"University of Sri Jayewardenepura, National Centre for Primary Care\", [6.872916, 79.888634], \"Arboviruses | Coronaviruses\", true);\r\n a2cares.addSite(\"Columbia University\", [40.7127753, -74.0059728], \"Arboviruses | Pathogen X\", true);\r\n this.researchCenters.push(a2cares);\r\n\r\n\r\n let create_neo: ResearchCenter = new ResearchCenter(\"CREATE-NEO\", \"Coordinating Research on Emerging Arboviral Threats Encompassing the Neotropics\", [29.3113, -94.7781], \"#dc21fe\", [\"Chikungunya Virus\", \"Dengue Virus\", \"Mayaro Virus\", \"Yellow Fever Virus\", \"Zika Virus\"], [\"Brazil\", \"Panama\", \"United States\"], \"create-neo\", true);\r\n create_neo.addSite(\"Cary Institute of Ecosystem Studies\", [41.7850937, -73.6940175], \"\");\r\n create_neo.addSite(\"Faculdade de Medicina de São José do Rio Preto (FAMERP)\", [-20.8202, -49.3797], \"Orthomyxoviruses | Togaviruses | Coronaviruses | Flaviviruses\");\r\n create_neo.addSite(\"Fundacao de Medicina Tropical\", [-3.1190275, -60.0217314], \"Togaviruses | Flaviviruses\");\r\n create_neo.addSite(\"Gorgas Memorial Institute of Health Studies\", [8.983333, -79.51667], \"\");\r\n create_neo.addSite(\"Massachusetts Institute of Technology\", [42.373611, -71.110558], \"Flaviviruses\");\r\n create_neo.addSite(\"New Mexico State University (NMSU)\", [32.3199396, -106.7636538], \"Togaviruses | Flaviviruses\");\r\n create_neo.addSite(\"University of Texas Medical Branch (UTMB)\", [29.3013479, -94.7976958], \"Togaviruses | Flaviviruses\", true);\r\n create_neo.addSite(\"Universidad Federal de Minas Gerais\", [-19.9166813, -43.9344931], \"Arboviruses | Arenaviruses | Bunyaviruses | Flaviviruses | Poxviruses | Reoviruses | Togaviruses | Pathogen X | Priority Pathogens\");\r\n create_neo.addSite(\"Universidade Federal de Mato Grasso, Faculdade de Medicina Veterinaria\", [-15.601411, -56.097892], \"Arborviruses | Coronaviruses | Paramyxoviruses | Parvoviruses | Peribunyaviruses | Retroviruses | Togaviruses\");\r\n this.researchCenters.push(create_neo);\r\n\r\n let creid_eca: ResearchCenter = new ResearchCenter(\"CREID-ECA\", \"Center for Research in Emerging Infectious Diseases-East and Central Africa\", [47.6062095, -122.3320708], \"#00bcf2\", [\"MERS-CoV\", \"Rift Valley Fever Virus\"], [\"DRC\", \"Kenya\", \"Tanzania\", \"Uganda\"], \"creid-eca\");\r\n creid_eca.addSite(\"Charité-Universitätsmedizin Berlin\", [52.501408, 13.4023285], \"Coronaviruses\");\r\n creid_eca.addSite(\"Emory University\", [33.7489954, -84.3879824], \"\");\r\n creid_eca.addSite(\"Institut National de la Recherche Biomédicale (INRB)\", [-4.440634, 15.913988], \"Bunyaviruses\");\r\n creid_eca.addSite(\"Institute of Tropical Medicine Antwerp\", [51.2194475, 4.4024643], \"\");\r\n creid_eca.addSite(\"Kenya Medical Research Institute\", [-1.28571, 36.820026], \"Coronaviruses | Bunyaviruses\");\r\n creid_eca.addSite(\"Sokoine University of Agriculture\", [-6.8277556, 37.6591144], \"Bunyaviruses\");\r\n creid_eca.addSite(\"Washington University St. Louis\", [38.6270025, -90.1994042], \"Coronaviruses | Phenuiviruses\");\r\n creid_eca.addSite(\"Uganda Virus Research Institute\", [0.0511839, 32.463708], \"Bunyaviruses\");\r\n creid_eca.addSite(\"Washington State University\", [47.6062095, -122.3320708], \"Coronaviruses | Phenuiviruses\");\r\n creid_eca.addSite(\"International Livestock Research Institute\", [-1.24798, 36.72316], \"\");\r\n creid_eca.addSite(\"Makerere University\", [0.3499986, 32.567164398], \"Filoviruses\");\r\n creid_eca.addSite(\"Uganda Ministry of Health\", [0.333044, 32.577486], \"Filoviruses\");\r\n creid_eca.addSite(\"Uganda Ministry of Health, Central Public Health Laboratories\", [0.3173429, 32.5769708], \"Filoviruses\");\r\n creid_eca.addSite(\"Washington State University Global Health Kenya\", [-1.286389, 36.817223], \"Coronaviruses | Phenuiviruses\");\r\n this.researchCenters.push(creid_eca);\r\n\r\n let creid_esp: ResearchCenter = new ResearchCenter(\"CREID-ESP\", \"Center for Research in Emerging Infectious Disease-Epidemiology, Surveillance, Pathogenesis\", [38.6488, -90.3108], \"#00b294\", [\"Arboviruses\", \"Encephalitis\", \"MERS-CoV\", \"SARS-CoV-2 (COVID-19)\"], [\"China\", \"Ethiopia\", \"Hong Kong\", \"Nepal\", \"United States\"], \"creid-esp\");\r\n creid_esp.addSite(\"Ethiopian Public Health Institute\", [8.9806034, 38.7577605], \"Togaviruses | Bunyaviruses | Filoviruses | Orthomyxoviruses | Arenaviruses | Coronaviruses | Paramyxoviruses | Pathogen X | Flaviviruses\");\r\n //creid_esp.addSite(\"China CDC, Institute for Viral Disease Control and Prevention\", [39.9041999, 116.4073963], \"Flaviviruses\");\r\n creid_esp.addSite(\"La Jolla Institute for Immunology\", [32.8328112, -117.2712717], \"Coronaviruses | Flaviviruses\");\r\n creid_esp.addSite(\"Nepal Ministry of Health and Population, National Public Health Laboratory\", [27.7172453, 85.3239605], \"Togaviruses | Orthomyxoviruses | Coronaviruses | Flaviviruses\");\r\n creid_esp.addSite(\"Nepal Ministry of Health and Population, Sukraraj Tropical and Infectious Disease Hospital\", [27.7172453, 85.3239605], \"\");\r\n creid_esp.addSite(\"The University of Hong Kong\", [22.2679201, 114.1290719], \"Coronaviruses\");\r\n creid_esp.addSite(\"Tribhuvan University\", [27.6630019, 85.2774207], \"Bunyaviruses | Togaviruses | Orthomyxoviruses | Coronaviruses | Paramyxoviruses | Flaviviruses\");\r\n creid_esp.addSite(\"Washington University St. Louis\", [38.6270025, -90.1994042], \"Togaviruses | Orthomyxoviruses | Coronaviruses\");\r\n creid_esp.addSite(\"Hallym University\", [37.86963, 127.73868], \"Paramyxoviruses\");\r\n this.researchCenters.push(creid_esp);\r\n\r\n let eeidi: ResearchCenter = new ResearchCenter(\"EpiCenter\", \"EpiCenter for Emerging Infectious Disease Intelligence\", [41, -121.7617], \"#e81123\", [\"Arboviruses\", \"Coronaviruses\", \"Filoviruses\", \"Paramyxoviruses\", \"Retroviruses\"], [\"Peru\", \"Uganda\", \"United States\"], \"eeidi\");\r\n eeidi.addSite(\"Bwindi Community Hospital\", [-1.0521495, 29.6201006], \"Togaviruses | Filoviruses | Bunyaviruses | Coronaviruses | Flaviviruses\");\r\n eeidi.addSite(\"Colorado State University, Kading Laboratory\", [40.5852602, -105.084423], \"Togaviruses | Bunyaviruses | Flaviviruses\");\r\n eeidi.addSite(\"Mountain Gorilla Veterinary Project\", [0.347596, 32.58252], \"Togaviruses | Filoviruses | Bunyaviruses | Coronaviruses | Flaviviruses\");\r\n eeidi.addSite(\"Pontificia Universidad Católica del Perú\", [-12.043429, -77.03562], \"Togaviruses | Bunyaviruses | Coronaviruses | Flaviviruses | Orthomyxoviruses\");\r\n eeidi.addSite(\"Rugarama Hospital\", [-1.2447, 29.9836], \"Togaviruses | Filoviruses | Bunyaviruses | Coronaviruses | Flaviviruses\");\r\n //eeidi.addSite(\"Tulane University Health Office for Latin America\", [-12.043429, -77.03562], \"\");\r\n eeidi.addSite(\"University of California, Davis, SVM Laboratories\", [38.5449065, -121.7405167], \"Togaviruses | Filoviruses | Bunyaviruses | Coronaviruses | Flaviviruses | Paramyxoviruses | Orthomyxoviruses\");\r\n eeidi.addSite(\"Uganda Virus Research Institute\", [0.0511839, 32.463708], \"Togaviruses | Filoviruses | Bunyaviruses | Coronaviruses | Flaviviruses\");\r\n //eeidi.addSite(\"CDC Viral Special Pathogens Branch, Colleagues\", [33.7489954, -84.3879824], \"Filoviruses\");\r\n this.researchCenters.push(eeidi);\r\n\r\n //let eid_search: ResearchCenter = new ResearchCenter(\"EID-SEARCH\", \"Emerging Infectious Diseases: South East Asia Research Collaboration Hub\", [40.753645, -73.991934], \"#ec008c\", [\"Coronaviruses\", \"Filoviruses\", \"Paramyxoviruses\"], [\"Malaysia\", \"Thailand\", \"Singapore\"], \"eid-search\", true);\r\n //eid_search.addSite(\"Chulalongkorn University, Chulalongkorn University Hospital\", [13.7563309, 100.5017651], \"Bunyaviruses | Filoviruses | Orthomyxoviruses | Coronaviruses | Paramyxoviruses | Pathogen X | Flaviviruses\");\r\n //eid_search.addSite(\"Conservation Medicine\", [3.20933, 101.5613392], \"Filoviruses | Coronaviruses | Paramyxoviruses | Pathogen X\");\r\n //eid_search.addSite(\"EcoHealth Alliance\", [40.7127753, -74.0059728], \"\");\r\n //eid_search.addSite(\"Uniformed Services University\", [38.984652, -77.0947092], \"Filoviruses | Coronaviruses | Paramyxoviruses | Paramyxoviruses\");\r\n //eid_search.addSite(\"University of North Carolina at Chapel Hill\", [35.9131996, -79.0558445], \"Coronaviruses\");\r\n //eid_search.addSite(\"Boston University, National Emerging Infectious Diseases Laboratories\", [42.3600825, -71.0588801], \"\");\r\n //this.researchCenters.push(eid_search);\r\n\r\n let picreid: ResearchCenter = new ResearchCenter(\"PICREID\", \"Pasteur International Center for Research on Emerging Infectious Diseases\", [48.8408, 2.3109], \"#009e49\", [\"Crimean Congo Hemorrhagic Fever Virus\", \"Dengue Virus\", \"Rift Valley Fever Virus\"], [\"Cambodia\", \"Cameroon\", \"France\", \"Senegal\"], \"picreid\");\r\n picreid.addSite(\"Centre for Research in Infectious Diseases (CRID)\", [3.87037, 11.518411], \"Togaviruses | Bunyaviruses | Coronaviruses | Flaviviruses\");\r\n picreid.addSite(\"Centre Pasteur du Cameroun\", [3.87037, 11.518411], \"Bunyaviruses | Togaviruses | Filoviruses | Orthomyxoviruses | Arenaviruses | Coronaviruses | Paramyxoviruses | Pathogen X | Flaviviruses\");\r\n picreid.addSite(\"Institut Pasteur\", [48.856614, 2.3522219], \"Togaviruses | Flaviviruses\");\r\n picreid.addSite(\"Institut Pasteur de Dakar\", [14.716677, -17.4676861], \"Bunyaviruses | Togaviruses | Flaviviruses\");\r\n picreid.addSite(\"Institut Pasteur du Cambodge\", [11.5563738, 104.9282099], \"Togaviruses | Orthomyxoviruses | Paramyxoviruses | Coronaviruses | Pathogen X | Flaviviruses\");\r\n picreid.addSite(\"University of Leipzig\", [51.3396955, 12.3730747], \"Togaviruses | Filoviruses | Orthomyxoviruses | Coronaviruses | Bunyaviruses | Pathogen X | Flaviviruses\");\r\n picreid.addSite(\"Sivas Cumhuriyet University\", [39.7076, 37.0296], \"Narioviruses\");\r\n this.researchCenters.push(picreid);\r\n\r\n let uwarn: ResearchCenter = new ResearchCenter(\"UWARN\", \"United World Antiviral Research Network\", [47.655548, -122.3032], \"#00188f\", [\"Arboviruses\", \"SARS-CoV-2 (COVID-19)\", \"All Emerging IDs\"], [\"Brazil\", \"Pakistan\", \"Senegal\", \"South Africa\", \"Taiwan\", \"United States\"], \"uwarn\");\r\n uwarn.addSite(\"Aga Khan University (AKU)\", [24.8607343, 67.0011364], \"Coronaviruses\");\r\n uwarn.addSite(\"University of Washington, Center for Emerging and Re-Emerging Infectious Disease (CERID)\", [47.6062095, -122.3320708], \"Coronaviruses\");\r\n uwarn.addSite(\"University of Washington, Center for One Health Research (COHR)\", [47.6062095, -122.3320708], \"Arboviruses | Coronaviruses\");\r\n uwarn.addSite(\"Universidad Federal de Minas Gerais, Eduardo de Menezes Hospital, LACENS\", [-19.9166813, -43.9344931], \"Arboviruses | Coronaviruses\");\r\n uwarn.addSite(\"FIOCRUZ, Instituto Gonçalo Moniz\", [-12.99918565, -38.4847644], \"Togaviruses | Coronaviruses | Flaviviruses\");\r\n uwarn.addSite(\"FIOCRUZ, Oswaldo Cruz Foundation\", [-22.8830377, -43.2457507], \"Bunyaviruses | Togaviruses | Filoviruses | Orthomyxoviruses | Paramyxoviruses | Coronaviruses | Flaviviruses\");\r\n uwarn.addSite(\"Fred Hutchinson Cancer Research Center\", [47.6062095, -122.3320708], \"Arboviruses | Coronaviruses\");\r\n uwarn.addSite(\"University of Washington, Institute for Protein Design\", [47.6062095, -122.3320708], \"Orthomyxoviruses | Coronaviruses\");\r\n uwarn.addSite(\"Institute for Research in Biomedicine\", [46.1946216, 9.0244124], \"Coronaviruses | Arboviruses\");\r\n uwarn.addSite(\"Kwazulu-Natal Research Innovation and Sequencing Platform (KRISP)\", [-29.8586804, 31.0218404], \"Togaviruses | Coronaviruses | Flaviviruses\");\r\n uwarn.addSite(\"L'Institut de Recherche en Santé, de Surveillance Épidémiologique et de Formation (IRESSEF)\", [14.67281, -17.43568], \"Togaviruses | Coronaviruses | Flaviviruses\");\r\n uwarn.addSite(\"The Rockefeller University, Nussenzweig Laboratory\", [40.7127753, -74.0059728], \"Bunyaviruses | Togaviruses | Orthomyxoviruses | Coronaviruses | Flaviviruses\");\r\n uwarn.addSite(\"Chang Gung University, Research Center for Emerging Viral Infections\", [24.9910531, 121.3223172], \"Coronaviruses\");\r\n uwarn.addSite(\"The Rockefeller University\", [40.7127753, -74.0059728], \"Flaviviruses\");\r\n uwarn.addSite(\"Washington State Department of Health\", [47.0073187, -122.9093063], \"Arboviruses\");\r\n uwarn.addSite(\"Stellenbosch University\", [-33.9328, 18.8644], \"Coronaviruses | Arboviruses\");\r\n this.researchCenters.push(uwarn);\r\n\r\n let wac_eid: ResearchCenter = new ResearchCenter(\"WAC-EID\", \"West African Center for Emerging Infectious Diseases\", [29.26, -94.85], \"black\", [\"Chikungunya Virus\", \"Dengue Virus\", \"Ebola Virus\", \"Lassa Virus\", \"MERS Co-V\", \"Nipah Virus\", \"Yellow Fever Virus\", \"Zika Virus\"], [\"Nigeria\", \"Senegal\", \"Sierra Leone\"], \"wac-eid\", true);\r\n //wac_eid.addSite(\"Duke-NUS Medical School\", [1.352083, 103.819836], \"\");\r\n wac_eid.addSite(\"Institut Pasteur de Dakar\", [14.716677, -17.4676861], \"Flaviviruses | Coronaviruses | Arenaviruses | Hantaviruses\");\r\n wac_eid.addSite(\"Jos University Teaching Hospital\", [9.8965273, 8.8583309], \"Arboviruses | Coronaviruses | Poxviruses | Bunyaviruses\");\r\n wac_eid.addSite(\"Kenema Government Hospital\", [7.8632147, -11.1957172], \"Arboviruses | Filoviruses | Arenaviruses\");\r\n wac_eid.addSite(\"National Veterinary Research Institute\", [11.368577, 5.809693], \"Filoviruses | Arenaviruses | Coronaviruses\");\r\n wac_eid.addSite(\"Njala University\", [7.96472, -11.73833], \"Arboviruses | Flaviviruses | Arenaviruses | Filoviruses\");\r\n wac_eid.addSite(\"University of Jos\", [9.8965273, 8.8583309], \"Arboviruses | Filoviruses | Poxviruses | Coronaviruses\");\r\n wac_eid.addSite(\"Instituto Nacional de Enfermedades Virales Humanas\", [-33.88995, -60.57357], \"Arenaviruses | Bunyaviruses | Flaviviruses\");\r\n wac_eid.addSite(\"University of California, Davis\", [38.5449065, -121.7405167], \"\");\r\n this.researchCenters.push(wac_eid);\r\n\r\n let warn_id: ResearchCenter = new ResearchCenter(\"WARN-ID\", \"West African Research Network for Infectious Diseases\", [32.8958, -117.2425], \"#ff8c00\", [\"Lassa Virus\", \"SARS-CoV-2 (COVID-19)\"], [\"Liberia\", \"Nigeria\", \"Senegal\", \"Sierra Leone\", \"United States\"], \"warn-id\");\r\n warn_id.addSite(\"Kenema Government Hospital\", [7.8632147, -11.1957172], \"Filoviruses | Arenaviruses | Coronaviruses | Flaviviruses\");\r\n warn_id.addSite(\"National Institute of Health Liberia\", [6.300774, -10.79716], \"Filoviruses | Arenaviruses | Coronaviruses\");\r\n warn_id.addSite(\"Redeemer's University\", [7.730184, 4.517348], \"Togaviruses | Filoviruses | Orthomyxoviruses | Arenaviruses | Coronaviruses | Flaviviruses\");\r\n warn_id.addSite(\"The Broad Institute\", [42.373611, -71.110558], \"Filoviruses | Arenaviruses | Coronaviruses | Flaviviruses\");\r\n warn_id.addSite(\"The Scripps Research Institute\", [32.8328112, -117.2712717], \"\");\r\n warn_id.addSite(\"Tulane University\", [29.9510658, -90.0715323], \"Filoviruses | Arenaviruses | Coronaviruses | Flaviviruses\");\r\n warn_id.addSite(\"Universite Cheikh Anta Diop\", [14.716677, -17.4676861], \"Bunyaviruses | Coronaviruses\");\r\n this.researchCenters.push(warn_id);\r\n\r\n /*\r\n let piColor: string = \"#02182B\";\r\n this.researchCenters.push(new ResearchCenter(\"\", \"\", [29.7105, -95.3965], piColor, [], [], \"\"));\r\n this.researchCenters.push(new ResearchCenter(\"\", \"\", [32.7850, -79.9478], piColor, [], [], \"\"));\r\n this.researchCenters.push(new ResearchCenter(\"\", \"\", [29.7199, -96.8422], piColor, [], [], \"\"));\r\n this.researchCenters.push(new ResearchCenter(\"\", \"\", [33.2098, -87.5692], piColor, [], [], \"\"));\r\n this.researchCenters.push(new ResearchCenter(\"\", \"\", [41.2705, -72.9470], piColor, [], [], \"\"));\r\n this.researchCenters.push(new ResearchCenter(\"\", \"\", [32.7719, -117.1882], piColor, [], [], \"\"));\r\n this.researchCenters.push(new ResearchCenter(\"\", \"\", [30.7131, -95.8977], piColor, [], [], \"\"));\r\n this.researchCenters.push(new ResearchCenter(\"\", \"\", [42.3591, -83.0665], piColor, [], [], \"\"));\r\n this.researchCenters.push(new ResearchCenter(\"\", \"\", [41.3032, -72.0339], piColor, [], [], \"\"));\r\n this.researchCenters.push(new ResearchCenter(\"\", \"\", [38.0307, -84.5040], piColor, [], [], \"\"));\r\n this.researchCenters.push(new ResearchCenter(\"\", \"\", [33.6958, -117.5425], piColor, [], [], \"\"));\r\n\r\n let dsmbColor: string = \"#788AA3\";\r\n this.researchCenters.push(new ResearchCenter(\"\", \"\", [37.5483, -77.4527], dsmbColor, [], [], \"\"));\r\n this.researchCenters.push(new ResearchCenter(\"\", \"\", [47.655548, -122.303200], dsmbColor, [], [], \"\"));\r\n this.researchCenters.push(new ResearchCenter(\"\", \"\", [41.8705, -72.7470], dsmbColor, [], [], \"\"));\r\n this.researchCenters.push(new ResearchCenter(\"\", \"\", [43.6490, -72.3193], dsmbColor, [], [], \"\"));\r\n this.researchCenters.push(new ResearchCenter(\"\", \"\", [39.0840, -77.1528], dsmbColor, [], [], \"\")); \r\n this.researchCenters.push(new ResearchCenter(\"\", \"\", [42.7120, -73.2037], dsmbColor, [], [], \"\"));\r\n this.researchCenters.push(new ResearchCenter(\"\", \"\", [34.0682, -98.1906], dsmbColor, [], [], \"\"));\r\n\r\n let pharmaColor: string = \"#BE6E46\";\r\n this.researchCenters.push(new ResearchCenter(\"\", \"\", [40.8215, -73.9876], pharmaColor, [], [], \"\"));\r\n this.researchCenters.push(new ResearchCenter(\"\", \"\", [41.3083, -71.2279], pharmaColor, [], [], \"\"));\r\n this.researchCenters.push(new ResearchCenter(\"\", \"\", [39.2904, -76.6122], pharmaColor, [], [], \"\"));\r\n this.researchCenters.push(new ResearchCenter(\"\", \"\", [38.2527, -85.7585], pharmaColor, [], [], \"\"));\r\n this.researchCenters.push(new ResearchCenter(\"\", \"\", [37.4419, -122.1430], pharmaColor, [], [], \"\"));\r\n this.researchCenters.push(new ResearchCenter(\"\", \"\", [41.2128, -74.7060], pharmaColor, [], [], \"\"));\r\n\r\n let reviewerColor: string = \"#475841\";\r\n let eeidi: ResearchCenter = new ResearchCenter(\"\", \"\", [41.3083, 70.9279], reviewerColor, [], [], \"\");\r\n eeidi.addSite(\"\", [41.9083, -71.9279], []);\r\n eeidi.addSite(\"\", [30.2849, -97.7341], []);\r\n eeidi.addSite(\"\", [29.1199, -95.9422], []);\r\n eeidi.addSite(\"\", [29.5827, -98.6189], []);\r\n eeidi.addSite(\"\", [47.6062, -123.0321], []);\r\n eeidi.addSite(\"\", [35.9132, -79.0558], []);\r\n eeidi.addSite(\"\", [38.0307, -83.5040], []);\r\n eeidi.addSite(\"\", [35.8992, -79.8636], []);\r\n this.researchCenters.push(eeidi);\r\n */\r\n }\r\n}","// extracted by mini-css-extract-plugin","//import { UserExperience } from \"../../../auth/pages/profile/scripts/expertise.objects\";\r\nimport { FormatStringByWordLength, DoArraysOverlap, SplitAndJoin, Split, Join } from \"../../shared/scripts/array-functions\";\r\nimport { FormatDate2 } from \"../../shared/scripts/date-functions\";\r\nimport { contains } from \"jquery\";\r\n\r\nexport class ConferenceEntity {\r\n\r\n ConferenceName: string;\r\n PresentationTitle: string;\r\n //Date: string;\r\n CreidResearchCenter: string;\r\n PresentationFormat: string;\r\n ExternalLink: string;\r\n ConferenceLink: string;\r\n PresentationLink: string;\r\n Presenters: string[];\r\n\r\n Month: number;\r\n Year: number;\r\n\r\n DisplayPresentation: string;\r\n DisplayConference: string;\r\n DisplayResearchCenter: string;\r\n DisplayDate: string;\r\n FullDate: string;\r\n\r\n constructor() { }\r\n\r\n initialize(): void {\r\n\r\n if (this.PresentationLink != \"\" && this.PresentationLink != undefined) {\r\n this.DisplayPresentation = `${this.PresentationTitle}`\r\n }\r\n else {\r\n this.DisplayPresentation = this.PresentationTitle;\r\n }\r\n\r\n if (this.ConferenceLink != \"\" && this.ConferenceLink != undefined) {\r\n this.DisplayConference = `${this.ConferenceName}`\r\n }\r\n else {\r\n this.DisplayConference = this.ConferenceName;\r\n }\r\n\r\n this.DisplayDate = this.Year.toString();\r\n this.FullDate = this.Year + \"-\" + this.Month;\r\n this.DisplayResearchCenter = this.CreidResearchCenter.replace(\"|\", \"
\");\r\n this.CreidResearchCenter = this.CreidResearchCenter.replace(\"|\", \", \");\r\n }\r\n\r\n \r\n matchesFilter(affiliation: any, organization: any): boolean {\r\n\r\n //console.log(affiliation, this.Affiliation);\r\n\r\n /*if (!DoArraysOverlap(affiliation, this.AffiliationList)) { return false; }\r\n if (!DoArraysOverlap(organization, this.Organization)) { return false; }*/\r\n\r\n return true;\r\n }\r\n}","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","import L, { Marker, Point } from \"leaflet\";\r\nimport { basemapLayer, featureLayer } from 'esri-leaflet';\r\nimport { ResearchCenter, Site } from \"./entities\";\r\n\r\n\r\nexport class NetworkMap {\r\n\r\n map: L.Map;\r\n basemapDetailedLayer: L.Layer;\r\n basemapGrayscaleLayer: L.Layer;\r\n markersLayerRC: L.LayerGroup;\r\n markersLayerSite: L.LayerGroup;\r\n markerRenderer: L.Renderer;\r\n clusterLayer: any;\r\n\r\n constructor(researchCenters: ResearchCenter[], pathogenFamiliesSelected: any) {\r\n\r\n $('#network-map').hide();\r\n $('#loading-indicator').show();\r\n\r\n this.initializeMap();\r\n this.setMarkers(researchCenters, pathogenFamiliesSelected);\r\n }\r\n\r\n initializeMap(): void {\r\n $(\"#network-map\").empty();\r\n\r\n this.map = L.map('network-map', {\r\n zoomSnap: 0.1,\r\n worldCopyJump: true\r\n });\r\n\r\n this.basemapDetailedLayer = L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {});\r\n this.basemapGrayscaleLayer = basemapLayer('Gray').addTo(this.map);\r\n\r\n this.markersLayerSite = L.layerGroup().addTo(this.map);\r\n this.markersLayerRC = L.layerGroup().addTo(this.map);\r\n\r\n\r\n this.setupMarkerCluster();\r\n\r\n this.clusterLayer = L.markerClusterGroup(this.createClusterLayer()); \r\n\r\n this.clusterLayer.on('clusterclick', function (a) {\r\n a.layer.spiderfy();\r\n });\r\n\r\n\r\n this.map.setView([28.5, 0], 2.05);\r\n\r\n this.markerRenderer = L.canvas({ padding: 0.5 });\r\n\r\n L.control.layers({\r\n \"Detailed\": this.basemapDetailedLayer,\r\n \"Grayscale\": this.basemapGrayscaleLayer\r\n }, {}).addTo(this.map);\r\n\r\n $('#loading-indicator').hide();\r\n $('#network-map').show();\r\n this.map.invalidateSize();\r\n\r\n this.map.on(\"baselayerchange\", (e: any) => this.setAttribution(e.name));\r\n this.setAttribution(\"Grayscale\");\r\n }\r\n\r\n createClusterLayer(): any {\r\n return {\r\n maxClusterRadius: 10,\r\n //disableClusteringAtZoom: this.map.options.maxZoom + 1\r\n zoomToBoundsOnClick: false,\r\n iconCreateFunction: function (cluster) {\r\n return new L.DivIcon({ html: cluster.getChildCount() + '', className: 'site-marker-cluster', iconSize: L.point(18, 18) });\r\n },\r\n spiderfyShapePositions: function (count: number, centerPt: { y: number; x: number; }) {\r\n var distanceFromCenter = 25,\r\n markerDistance = 25,\r\n lineLength = markerDistance * (count - 1),\r\n lineStart = centerPt.y - lineLength / 2,\r\n res = [],\r\n i;\r\n\r\n res.length = count;\r\n\r\n for (i = count - 1; i >= 0; i--) {\r\n res[i] = new Point(centerPt.x - distanceFromCenter, lineStart + markerDistance * i);\r\n }\r\n\r\n return res;\r\n }\r\n } as any; //casted to 'any' as shapePositions not part of type\r\n }\r\n\r\n setAttribution(basemap: string): void {\r\n\r\n if (basemap == \"Grayscale\") {\r\n $('.leaflet-control-attribution').html('Powered by Esri');\r\n }\r\n else if (basemap == \"Detailed\") {\r\n $('.leaflet-control-attribution').html('Powered by OpenStreetMap');\r\n }\r\n }\r\n\r\n setMarkers(researchCenters: ResearchCenter[], pathogenFamiliesSelected: any) {\r\n\r\n if (this.map.hasLayer(this.markersLayerRC)) {\r\n this.markersLayerRC.clearLayers();\r\n }\r\n if (this.map.hasLayer(this.markersLayerSite)) {\r\n this.markersLayerSite.clearLayers();\r\n }\r\n if (this.map.hasLayer(this.clusterLayer)) {\r\n this.clusterLayer.clearLayers();\r\n }\r\n\r\n researchCenters.forEach((rcenter: ResearchCenter) => {\r\n\r\n if (rcenter.matchesFilter(pathogenFamiliesSelected)) {\r\n if (rcenter.isPartOfMapCluster) { //UTMB\r\n this.clusterLayer.addLayer(L.circleMarker([rcenter.coords[0], rcenter.coords[1]], {\r\n renderer: this.markerRenderer,\r\n color: rcenter.color,\r\n radius: 6,\r\n fillOpacity: 1.0\r\n }).addTo(this.markersLayerRC).bindPopup(this.createResearhCenterPopupContent(rcenter)));\r\n }\r\n else {\r\n L.circleMarker([rcenter.coords[0], rcenter.coords[1]], {\r\n renderer: this.markerRenderer,\r\n color: rcenter.color,\r\n radius: 6,\r\n fillOpacity: 1.0\r\n }).addTo(this.markersLayerRC).bindPopup(this.createResearhCenterPopupContent(rcenter));\r\n }\r\n\r\n rcenter.sites.forEach((site: Site) => {\r\n\r\n if (site.matchesFilter(pathogenFamiliesSelected)) {\r\n if (site.isPartOfMapCluster) {\r\n this.clusterLayer.addLayer((L).shapeMarker([site.coords[0], site.coords[1]], {\r\n shape: 'triangle',\r\n color: rcenter.color,\r\n radius: 5,\r\n weight: 1,\r\n fillOpacity: 0.5\r\n }).addTo(this.markersLayerSite).bindPopup(this.createSitePopupContent(site, rcenter.name, rcenter.abbreviation)));\r\n }\r\n else {\r\n (L).shapeMarker([site.coords[0], site.coords[1]], {\r\n shape: 'triangle',\r\n color: rcenter.color,\r\n radius: 5,\r\n weight: 1,\r\n fillOpacity: 0.5\r\n }).addTo(this.markersLayerSite).bindPopup(this.createSitePopupContent(site, rcenter.name, rcenter.abbreviation));\r\n }\r\n }\r\n });\r\n }\r\n });\r\n this.map.addLayer(this.clusterLayer);\r\n }\r\n\r\n createResearhCenterPopupContent(rcenter: ResearchCenter): string {\r\n\r\n let popupContent: string = \"
\";\r\n popupContent += \"
Research Center
\";\r\n popupContent += \"
\" + rcenter.name + \"
\";\r\n popupContent += \"
(\" + rcenter.abbreviation + \")
\";\r\n popupContent += \"
\";\r\n popupContent += rcenter.sites.length + \" Research Sites\";\r\n popupContent += \"
\";\r\n //popupContent += \"
\";\r\n //for (let i = 0; i < rcenter.countries.length; ++i) {\r\n // popupContent += rcenter.countries[i];\r\n // if (i < rcenter.countries.length - 1) {\r\n // popupContent += \", \";\r\n // }\r\n //}\r\n //popupContent += \"
\";\r\n\r\n //popupContent += \"\";\r\n //rcenter.pathogens.forEach(pathogen => {\r\n // popupContent += \"\";\r\n //});\r\n //popupContent += \"
Pathogens
\" + pathogen + \"
\";\r\n\r\n if (rcenter.detailsLink != \"creid-cc\") {\r\n popupContent += \"\";\r\n }\r\n else {\r\n popupContent += \"\";\r\n popupContent += \"\";\r\n }\r\n\r\n //popupContent += \"
\";\r\n return popupContent;\r\n }\r\n\r\n createSitePopupContent(site: Site, rcName: string, rcAbbre: string): string {\r\n\r\n let popupContent: string = \"
\";\r\n popupContent += \"
Research Site
\";\r\n popupContent += \"
\" + site.name + \"
\";\r\n popupContent += \"
\" + rcName + \" (\" + rcAbbre + \")\" + \"
\";\r\n\r\n if (site.pathogenFamilyList.length > 0) {\r\n popupContent += \"\";\r\n site.pathogenFamilyList.forEach(pathogenFamily => {\r\n popupContent += \"\";\r\n });\r\n popupContent += \"
Pathogen Families
\" + pathogenFamily + \"
\";\r\n }\r\n\r\n popupContent += \"
\";\r\n return popupContent;\r\n }\r\n\r\n\r\n //hopefully will be merged into official marker cluster release (if that ever happens again)\r\n setupMarkerCluster(): void {\r\n L.MarkerCluster.include({\r\n spiderfy: function () {\r\n if (this._group._spiderfied === this || this._group._inZoomAnimation) {\r\n return;\r\n }\r\n\r\n var childMarkers = this.getAllChildMarkers(null, true),\r\n group = this._group,\r\n map = group._map,\r\n center = map.latLngToLayerPoint(this._latlng),\r\n positions;\r\n\r\n this._group._unspiderfy();\r\n this._group._spiderfied = this;\r\n\r\n //TODO Maybe: childMarkers order by distance to center\r\n\r\n if (this._group.options.spiderfyShapePositions) {\r\n positions = this._group.options.spiderfyShapePositions(childMarkers.length, center);\r\n } else if (childMarkers.length >= this._circleSpiralSwitchover) {\r\n positions = this._generatePointsSpiral(childMarkers.length, center);\r\n } else {\r\n center.y += 10; // Otherwise circles look wrong => hack for standard blue icon, renders differently for other icons.\r\n positions = this._generatePointsCircle(childMarkers.length, center);\r\n }\r\n\r\n this._animationSpiderfy(childMarkers, positions);\r\n }\r\n });\r\n }\r\n}\r\n","\r\n//Durstenfeld Approach: https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle#The_modern_algorithm\r\nexport function ShuffleArray(array: any[]) {\r\n for (let i = array.length - 1; i > 0; i--) {\r\n const j = Math.floor(Math.random() * (i + 1));\r\n [array[i], array[j]] = [array[j], array[i]];\r\n }\r\n}\r\n\r\nexport function SplitAndJoin(input: string, splitDelimiter: string, outputDelimiter: string, sort: boolean, nowrap: boolean = false): string {\r\n let list: string[] = input.split(splitDelimiter);\r\n if (sort) { list.sort(); }\r\n let output: string = \"\";\r\n list.forEach((item: string, index: number) => {\r\n if (index > 0) output += outputDelimiter;\r\n if (nowrap) output += \"\";\r\n output += item;\r\n if (nowrap) output += \"\";\r\n });\r\n return output;\r\n}\r\n\r\nexport function Split(input: string, delimiter: string): string[] {\r\n let parts: string[] = input.split(delimiter);\r\n parts = parts.map((p: string) => p.trim());\r\n return parts;\r\n}\r\n\r\nexport function Join(list: string[], outputDelimiter: string, sort: boolean, nowrap: boolean = false): string {\r\n if (sort) { list.sort(); }\r\n let output: string = \"\";\r\n list.forEach((item: string, index: number) => {\r\n if (index > 0) output += outputDelimiter;\r\n if (nowrap) output += \"\";\r\n output += item;\r\n if (nowrap) output += \"\";\r\n });\r\n return output;\r\n}\r\n\r\nexport function Unique(values: string[], sort: boolean, lastValues: string[] = []): string[] {\r\n\r\n values = values.map((val: string) => {\r\n if (val.startsWith(\"Other\")) return \"Other\";\r\n else return val;\r\n });\r\n\r\n let unique: string[] = values.filter((n, i) => values.indexOf(n) === i);\r\n if (sort) {\r\n lastValues = lastValues.map((v: string) => v.toLowerCase());\r\n\r\n unique = unique.sort((a: string, b: string) => {\r\n a = a.toLowerCase();\r\n b = b.toLowerCase();\r\n \r\n if (lastValues.length == 0) { return (a > b ? 1 : -1); }\r\n else {\r\n let isALastValue: boolean = false;\r\n let isBLastValue: boolean = false;\r\n\r\n lastValues.forEach((v: string) => {\r\n if (a.startsWith(v)) { isALastValue = true; }\r\n if (b.startsWith(v)) { isBLastValue = true; }\r\n });\r\n\r\n if (!isALastValue && !isBLastValue) { return (a > b ? 1 : -1); }\r\n else if (isALastValue && !isBLastValue) {\r\n return 1;\r\n }\r\n else if (!isALastValue && isBLastValue) {\r\n return -1;\r\n }\r\n else {\r\n return (a > b ? 1 : -1);\r\n }\r\n }\r\n\r\n //if (a.startsWith(v) && b.startsWith(v)) { return (a > b ? 1 : -1); }\r\n //else if (a.startsWith(v)) { return 1; }\r\n //else if (b.startsWith(v)) { return -1; }\r\n //else return (a > b ? 1 : -1);\r\n\r\n\r\n });\r\n\r\n //unique.sort();\r\n }\r\n return unique; \r\n}\r\n\r\nexport function FormatStringByWordLength(value: string, wordsOnLine: number): string {\r\n let parts: string[] = value.split(\" \");\r\n let output: string = \"\";\r\n for (let i = 0; i < parts.length; ++i) {\r\n output += parts[i] + \" \";\r\n if (i == (wordsOnLine - 1)) {\r\n output += \"\";\r\n }\r\n }\r\n\r\n if (parts.length < (wordsOnLine - 1)) { output += \"\"; }\r\n return output.trim();\r\n}\r\n\r\nexport function DoArraysOverlap(array1: any, array2: any): boolean {\r\n if (array1 == undefined || array2 == undefined) return false;\r\n return array1.some(r => array2.includes(r));\r\n}\r\n\r\nexport function NoWordWrap(input: string): string {\r\n return \"\" + input + \"\";\r\n}\r\n\r\nexport function CheckArrayStartsWith(array: string[], startsWithValue: string, appendValue: string): string[] {\r\n\r\n let includesValue: number = array.findIndex((value) => value.startsWith(startsWithValue));\r\n\r\n if (includesValue == -1) { return array; }\r\n else { array.push(appendValue); return array; }\r\n}","import { Split, DoArraysOverlap } from \"../../../shared/scripts/array-functions\";\r\n\r\nexport class ResearchCenter {\r\n sites: Site[] = [];\r\n pathogenFamilyList: string[] = [];\r\n\r\n constructor(readonly abbreviation: string, readonly name: string, readonly coords: number[], readonly color: string, readonly pathogens: string[], readonly countries: string[], readonly detailsLink: string, readonly isPartOfMapCluster: boolean = true ) {}\r\n\r\n //getName(splitAbbrev: boolean): string {\r\n // if (splitAbbrev) {\r\n // let parts: string[] = this.name.split(\"(\");\r\n // return parts[0] + \"
(\" + parts[1];\r\n // }\r\n // else return this.name;\r\n //}\r\n\r\n addSite(name: string, coords: number[], pathogens: string, isPartOfMapCluster: boolean = true) {\r\n let site: Site = new Site(name, coords, pathogens, isPartOfMapCluster);\r\n this.sites.push(site);\r\n\r\n site.pathogenFamilyList.forEach((pathFam: string) => {\r\n if (!this.pathogenFamilyList.includes(pathFam)) this.pathogenFamilyList.push(pathFam);\r\n });\r\n\r\n }\r\n\r\n matchesFilter(pathogens: any): boolean {\r\n if (!DoArraysOverlap(pathogens, this.pathogenFamilyList)) return false;\r\n return true;\r\n }\r\n}\r\n\r\nexport class Site {\r\n\r\n pathogenFamilyList: string[];\r\n\r\n constructor(readonly name: string, readonly coords: number[], readonly pathogens: string, readonly isPartOfMapCluster: boolean = true) {\r\n\r\n if (this.pathogens == undefined || this.pathogens.length == 0) {\r\n this.pathogenFamilyList = [\"Not Available\"];\r\n }\r\n else {\r\n this.pathogenFamilyList = Split(pathogens, \"|\");\r\n this.pathogenFamilyList.sort();\r\n }\r\n }\r\n\r\n matchesFilter(pathogens: any): boolean {\r\n if (!DoArraysOverlap(pathogens, this.pathogenFamilyList)) return false;\r\n return true;\r\n }\r\n}","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","import { plainToClass } from 'class-transformer';\r\nimport { ConferenceEntity } from './conferences.objects';\r\n\r\nexport class ConferencesPage {\r\n conferences: ConferenceEntity[];\r\n dataTable: any;\r\n\r\n constructor(conferencesJson: any) {\r\n\r\n //document.ready\r\n $(() => {\r\n this.conferences = plainToClass(ConferenceEntity, conferencesJson);\r\n this.conferences.map((conference: ConferenceEntity) => {\r\n conference.initialize();\r\n return conference;\r\n });\r\n\r\n //console.log(this.conferences);\r\n\r\n this.initializeTable();\r\n this.setConferencesFoundLabel(this.conferences.length);\r\n });\r\n\r\n }\r\n\r\n initializeTable(): void {\r\n\r\n this.dataTable = $('#creid-conferences-table').DataTable({\r\n \"dom\": '<\"top-controls\"fB>rtip',\r\n autoWidth: false,\r\n info: false,\r\n paging: false,\r\n search: true,\r\n scrollX: false,\r\n //scrollY: '70vh',\r\n orderCellsTop: true,\r\n language:\r\n {\r\n search: \"Search:\",\r\n buttons: {\r\n copyTitle: 'Conference Data Copied',\r\n copyKeys: 'Use your keyboard or menu to select the copy command'\r\n }\r\n },\r\n columns: [\r\n { className: 'details-control', orderable: false, data: null, defaultContent: '', width: '24px' }, //0\r\n { data: { _: \"PresentationTitle\", display: \"DisplayPresentation\" }, className: \"text-left pl-0\" }, //1\r\n { data: { _: \"FullDate\", display: \"DisplayDate\" }, className: \"text-left font-size12\" }, //2\r\n { data: { _: \"ConferenceName\", display: \"DisplayConference\" }, className: \"text-left font-size12\" }, //3\r\n { data: { _: \"CreidResearchCenter\", display: \"DisplayResearchCenter\"}, className: \"text-left font-size12\", width: \"125px\" }, //4\r\n ],\r\n buttons: [\r\n {\r\n extend: 'copy',\r\n text: '',\r\n titleAttr: 'Copy',\r\n charset: 'utf-8',\r\n exportOptions: {\r\n columns: [0, 1, 2, 3, 4]\r\n },\r\n title: ''\r\n }\r\n , {\r\n extend: 'csv',\r\n text: '',\r\n titleAttr: 'CSV',\r\n charset: 'utf-8',\r\n exportOptions: {\r\n columns: [0, 1, 2, 3, 4]\r\n }\r\n },\r\n ],\r\n data: this.conferences,\r\n order: [2, 'desc'],\r\n initComplete: (settings, json) => {\r\n $(\"#creid-conferences-table\").wrap(\"
\");\r\n },\r\n });\r\n\r\n $(\".top-controls\").addClass(\"row col-12 mx-0 px-0 align-items-center\");\r\n\r\n //$(\"#creid-conferences-table_filter\").after($(\"#filter-dropdown-row\"));\r\n $(\"#creid-conferences-table_filter\").addClass(\"col-md-4 pl-0 pr-4\");\r\n $(\".dt-buttons\").addClass(\"mt-3 ml-3\");\r\n $(\".dt-buttons\").before($(\"#found-count-section\"));\r\n $(\"#found-count-section\").addClass(\"ml-auto mt-3\");\r\n\r\n\r\n //on td.details-control removed\r\n $('#creid-conferences-table tbody').on('click', 'tr', (conference) => {\r\n //var tr = $(event.currentTarget).closest('tr');\r\n var tr = $(conference.currentTarget);\r\n var row = this.dataTable.row(tr);\r\n\r\n if (row.child.isShown()) {\r\n // This row is already open - close it\r\n row.child.hide();\r\n tr.removeClass('shown');\r\n }\r\n else {\r\n // Open this row\r\n row.child(this.createDetailRow(row.data())).show();\r\n tr.addClass('shown');\r\n }\r\n });\r\n\r\n $('#creid-conferences-table').on('search.dt', (e, settings) => {\r\n this.setConferencesFoundLabel(this.dataTable.rows({ search: 'applied' }).count());\r\n });\r\n\r\n\r\n //setTimeout(() => { this.initializeFilters(); }, 500);\r\n this.initializeFilters();\r\n }\r\n\r\n initializeFilters(): void {\r\n\r\n for (let index = 3; index <= 4; ++index) { \r\n\r\n let filterIndex: number = index; \r\n\r\n let uniqueValues: string[] = [];\r\n let delimiter: string = \",\";\r\n\r\n\r\n this.dataTable.column(filterIndex).data().unique().map((data: string) => {\r\n\r\n if (typeof (data) === 'string') {\r\n let parts: string[] = data.split(delimiter);\r\n\r\n parts.map((part: string) => {\r\n part = part.trim();\r\n if (part.length > 0 && !uniqueValues.includes(part)) {\r\n uniqueValues.push(part);\r\n }\r\n });\r\n }\r\n\r\n });\r\n\r\n uniqueValues = uniqueValues.sort((a: string, b: string) => {\r\n return a.toLowerCase().localeCompare(b.toLowerCase());\r\n });\r\n\r\n //console.log(`uniqueValues: ${uniqueValues}`);\r\n\r\n //select.append($(\"\").attr(\"value\", 'All').text('All'));\r\n //uniqueValues.map((d, j) => {\r\n // select.append($(\"\").attr(\"value\", d).text(d));\r\n //});\r\n\r\n let selectId: string = '#filter-dropdown-' + index;\r\n\r\n $(selectId).selectpicker({\r\n dropupAuto: false,\r\n selectedTextFormat: \"count\",\r\n\r\n countSelectedText: (numSelected, numTotal) => {\r\n if (numSelected == numTotal) {\r\n return \"All\";\r\n }\r\n else {\r\n return numSelected + \" Selected\";\r\n }\r\n }\r\n });\r\n\r\n uniqueValues.forEach((element: any) => {\r\n $(selectId).append(new Option(element, element, false, true));\r\n });\r\n $(selectId).selectpicker(\"refresh\");\r\n\r\n\r\n $(selectId).on('changed.bs.select', (e, clickedIndex, isSelected, previousValue) => {\r\n let values: string[] = ($(selectId).val());\r\n //console.log(\"changed\", values);\r\n\r\n let search: string = \"\";\r\n if (values.length > 0) {\r\n if (index == 4) { // research center, if column contains one or more of the values\r\n search = \"(\" + values.join(\"|\") + \")\";\r\n }\r\n else {\r\n search = \"^(\" + values.join(\"|\") + \")$\";\r\n }\r\n }\r\n else { search = \"NOTHING-MATCHED-1234567890\"; }\r\n\r\n //console.log(search);\r\n this.dataTable.column(filterIndex)\r\n .search(search, true, false)\r\n .draw();\r\n });\r\n\r\n }\r\n }\r\n\r\n createDetailRow(data: ConferenceEntity): string {\r\n // `data` is the original data object for the row\r\n let detailRow: string = '';\r\n\r\n detailRow += ' ' +\r\n '' +\r\n '' +\r\n '';\r\n\r\n detailRow += ' ' +\r\n '' +\r\n '' +\r\n '';\r\n\r\n \r\n detailRow += ' ' +\r\n '' +\r\n '' +\r\n '';\r\n\r\n detailRow += ' ' +\r\n '' +\r\n '' +\r\n '';\r\n\r\n detailRow += ' ' +\r\n '' +\r\n '' +\r\n '';\r\n\r\n detailRow += '' +\r\n '' +\r\n '' +\r\n '';\r\n\r\n if (data.ExternalLink != \"\" && data.ExternalLink != undefined) {\r\n detailRow += '' +\r\n '' +\r\n '' +\r\n '';\r\n }\r\n\r\n detailRow += '
Presentation Title' + data.DisplayPresentation + '
Conference' + data.DisplayConference + '
Year' + data.Year + '
Research Center(s)' + data.CreidResearchCenter.replace(\"|\", \", \") + '
Presentation Format' + data.PresentationFormat + '
Presenter(s)' + data.Presenters.join(\", \") + '
Additional Information
';\r\n\r\n return detailRow;\r\n }\r\n\r\n resetFilters(): void {\r\n let filterIndex: number;\r\n for (let index = 5; index >= 2; --index) { //skip details and title column\r\n\r\n $('#filter-dropdown-' + index).selectpicker('selectAll');\r\n $('#filter-dropdown-' + index).selectpicker(\"refresh\");\r\n\r\n filterIndex = (index == 2) ? 6 : index; //full author list\r\n this.dataTable.column(filterIndex).search('').draw();\r\n }\r\n this.dataTable.search('').draw();\r\n }\r\n\r\n setConferencesFoundLabel(count: number): void {\r\n\r\n switch (count) {\r\n case 0: $('#conference-found-count').text(\"No Presentations Found\"); break;\r\n case 1: $('#conference-found-count').text(\"1 Presentation Found\"); break;\r\n default: $('#conference-found-count').text(count + \" Presentations Found\");\r\n }\r\n }\r\n}","import { plainToClass } from 'class-transformer';\r\nimport { Publication, Author } from './publications.objects';\r\n\r\nexport class PublicationsPage {\r\n\r\n publications: Publication[];\r\n dataTable: any;\r\n\r\n constructor(data: any, lastUpdated: string) {\r\n $(() => {\r\n\r\n this.publications = plainToClass(Publication, data);\r\n this.publications.map((pub: Publication) => {\r\n pub.initialize();\r\n return pub;\r\n });\r\n\r\n //console.log(this.publications);\r\n\r\n this.initializeTable();\r\n this.setPublicationsFoundLabel(this.publications.length);\r\n\r\n $('#last-update-date').text(lastUpdated);\r\n });\r\n }\r\n\r\n initializeTable(): void {\r\n\r\n this.dataTable = $('#public-publications-table').DataTable({\r\n //\"dom\": '<\"top-controls\"<\"message-section\">f>rtip',\r\n \"dom\": '<\"top-controls\"<\"reset-section\">Bf>rtip',\r\n autoWidth: false,\r\n info: false,\r\n paging: false,\r\n search: true,\r\n scrollX: false,\r\n //scrollY: '70vh',\r\n orderCellsTop: true,\r\n language:\r\n {\r\n search: \"Filter\",\r\n buttons: {\r\n copyTitle: 'Publications Data Copied',\r\n copyKeys: 'Use your keyboard or menu to select the copy command'\r\n }\r\n },\r\n columns: [\r\n { className: 'details-control', orderable: false, data: null, defaultContent: '', width: '24px' },\r\n { data: \"Title\", className: \"text-left pl-0\" },\r\n { data: \"AuthorStringTruncated\", className: \"text-left font-size12\", width: '20%' },\r\n { data: \"JournalAbbreviation\", className: \"text-left font-size12\", width: '12%' },\r\n { data: \"PublishedYear\", className: \"text-left font-size12\", width: '10%' },\r\n { data: \"ResearchCenter\", className: \"text-left font-size12\", width: '12%' },\r\n { data: \"AuthorStringFull\", title: 'Authors', visible: false },\r\n { data: \"PublishedMonthNumber\", visible: false },\r\n { data: \"Abstract\", title: \"Abstract\", visible: false },\r\n { data: \"MeshTermsString\", title: \"Keywords\", visible: false },\r\n { data: \"PublishedDateString\", title: \"PublicationDate\", visible: false },\r\n { data: \"JournalTitle\", title: \"JournalTitle\", visible: false },\r\n { data: \"DoiNumber\", title: \"DOI\", visible: false },\r\n { data: \"CombinedHiddenFilter\", visible: false },\r\n { data: \"JournalVolume\", title: \"JournalVolume\", visible: false },\r\n { data: \"JournalPages\", title: \"JournalPages\", visible: false },\r\n ],\r\n buttons: [\r\n {\r\n extend: 'copy',\r\n text: '',\r\n titleAttr: 'Copy',\r\n charset: 'utf-8',\r\n exportOptions: {\r\n columns: [5, 1, 11, 14, 15, 10, 6, 8, 9, 12]\r\n },\r\n title: ''\r\n }\r\n ,{\r\n extend: 'csv',\r\n text: '',\r\n titleAttr: 'CSV',\r\n charset: 'utf-8',\r\n exportOptions: {\r\n columns: [5, 1, 11, 14, 15, 10, 6, 8, 9, 12 ]\r\n }\r\n },\r\n ],\r\n data: this.publications,\r\n order: [[4, 'desc'], [7, 'desc']],\r\n initComplete: (settings, json) => {\r\n $(\"#public-publications-table\").wrap(\"
\");\r\n },\r\n });\r\n\r\n let resetSectionDiv: string =\r\n \"
\" +\r\n \"\" +\r\n \"
\"\r\n ;\r\n $(\".reset-section\").empty().html(resetSectionDiv);\r\n $(\".reset-section\").css('display', 'inline-block');\r\n $(\".reset-section\").css('float', 'left');\r\n $(\".reset-section\").css('margin-top', '5px');\r\n\r\n //on td.details-control removed\r\n $('#public-publications-table tbody').on('click', 'tr', (event) => {\r\n //var tr = $(event.currentTarget).closest('tr');\r\n var tr = $(event.currentTarget);\r\n var row = this.dataTable.row(tr);\r\n\r\n if (row.child.isShown()) {\r\n // This row is already open - close it\r\n row.child.hide();\r\n tr.removeClass('shown');\r\n }\r\n else {\r\n // Open this row\r\n row.child(this.createDetailRow(row.data())).show();\r\n tr.addClass('shown');\r\n }\r\n });\r\n\r\n $('#public-publications-table').on('search.dt', (e, settings) => {\r\n this.setPublicationsFoundLabel(this.dataTable.rows({ search: 'applied' }).count());\r\n });\r\n\r\n\r\n //setTimeout(() => { this.initializeFilters(); }, 500);\r\n this.initializeFilters();\r\n }\r\n\r\n initializeFilters(): void {\r\n\r\n for (let index = 2; index <= 5; ++index) { //skip details and title column\r\n\r\n let filterIndex: number = (index == 2) ? 6 : index; //hidden full author list\r\n\r\n let uniqueValues: string[] = [];\r\n let delimiter: string = \",\";\r\n\r\n if (index == 2) { //authors should use full author list not truncated list\r\n delimiter = \";\";\r\n }\r\n\r\n this.dataTable.column(filterIndex).data().unique().map((data: string) => {\r\n let parts: string[] = data.split(delimiter); \r\n parts.map((part: string) => {\r\n part = part.trim();\r\n if (part.length > 0 && !uniqueValues.includes(part)) {\r\n uniqueValues.push(part);\r\n }\r\n });\r\n });\r\n\r\n uniqueValues = uniqueValues.sort((a: string, b: string) => {\r\n return a.toLowerCase().localeCompare(b.toLowerCase());\r\n });\r\n\r\n //select.append($(\"\").attr(\"value\", 'All').text('All'));\r\n //uniqueValues.map((d, j) => {\r\n // select.append($(\"\").attr(\"value\", d).text(d));\r\n //});\r\n\r\n let selectId: string = '#filter-dropdown-' + index;\r\n\r\n $(selectId).selectpicker({\r\n dropupAuto: false,\r\n selectedTextFormat: \"count\",\r\n\r\n countSelectedText: (numSelected, numTotal) => {\r\n if (numSelected == numTotal) {\r\n return \"All\";\r\n }\r\n else {\r\n return numSelected + \" Selected\";\r\n }\r\n }\r\n });\r\n\r\n uniqueValues.forEach((element: any) => {\r\n $(selectId).append(new Option(element, element, false, true));\r\n });\r\n $(selectId).selectpicker(\"refresh\");\r\n\r\n\r\n $(selectId).on('changed.bs.select', (e, clickedIndex, isSelected, previousValue) => {\r\n let values: string[] = ($(selectId).val());\r\n //console.log(\"changed\", values);\r\n\r\n let search: string = \"\";\r\n if (values.length > 0) {\r\n if (index == 2 || index == 5) { //more strict match\r\n search = \"(\\\\b\" + values.join(\"\\\\b)|(\\\\b\") + \"\\\\b)\";\r\n }\r\n else {\r\n search = \"^(\" + values.join(\"|\") + \")$\";\r\n }\r\n }\r\n else { search = \"NOTHING-MATCHED-1234567890\"; }\r\n\r\n //console.log(search);\r\n\r\n this.dataTable.column(filterIndex)\r\n .search(search, true, false)\r\n .draw();\r\n });\r\n\r\n }\r\n }\r\n\r\n createDetailRow(data: Publication): string {\r\n // `data` is the original data object for the row\r\n let detailRow: string = '';\r\n\r\n detailRow += ' ' +\r\n '' +\r\n '' +\r\n '';\r\n\r\n detailRow += ' ' +\r\n '' +\r\n '' +\r\n '';\r\n\r\n detailRow += ' ' +\r\n '' +\r\n '' +\r\n '';\r\n\r\n detailRow += ' ' +\r\n '' +\r\n '' +\r\n '';\r\n\r\n detailRow += ' ' +\r\n '' +\r\n '' +\r\n '';\r\n\r\n detailRow += '' +\r\n '' +\r\n '' +\r\n '';\r\n\r\n detailRow += '' +\r\n '' +\r\n '' +\r\n '';\r\n\r\n if (data.Source == \"pubmed\") {\r\n detailRow += '' +\r\n '' +\r\n '' +\r\n '';\r\n }\r\n else if (data.Source == \"local\") {\r\n detailRow += '' +\r\n '' +\r\n '' +\r\n '';\r\n }\r\n\r\n\r\n detailRow += '
Title' + data.Title + '
Journal' + data.JournalTitle + '
Published' + data.PublishedDateString + '
Authors' + data.AuthorStringFull + '
Abstract' + data.Abstract + '
Keywords' + data.MeshTermsString + '
DOI' + data.DoiNumber + '
PubMed Record
View Publication
';\r\n\r\n return detailRow;\r\n }\r\n\r\n showAcronymsDialog(): void {\r\n $('#acronyms-modal').modal('show');\r\n }\r\n\r\n resetFilters(): void {\r\n let filterIndex: number;\r\n for (let index = 5; index >= 2; --index) { //skip details and title column\r\n\r\n $('#filter-dropdown-' + index).selectpicker('selectAll');\r\n $('#filter-dropdown-' + index).selectpicker(\"refresh\");\r\n\r\n filterIndex = (index == 2) ? 6 : index; //full author list\r\n this.dataTable.column(filterIndex).search('').draw();\r\n }\r\n this.dataTable.search('').draw();\r\n }\r\n\r\n setPublicationsFoundLabel(count: number): void {\r\n\r\n switch (count) {\r\n case 0: $('#publications-found-count').text(\"No Publications Found\"); break;\r\n case 1: $('#publications-found-count').text(\"1 Publication Found\"); break;\r\n default: $('#publications-found-count').text(count + \" Publications Found\");\r\n }\r\n }\r\n}"],"sourceRoot":""}