gramene-search 1.2.36 → 1.2.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;C,U;A,M,C,c,C,c,G,U;I,K,E,I;;A,M,C,c,C,c,G,O;I,U,E,I;I,G,W,G,G,C;e,8B,E,O;I,C;;A,M,C,c,C,c,G,U;I,U,E,I;I,G,W,G,G,C;e,iC,E,O;I,C;;A,M,C,c,C,c,G,a;I,U,E,I;I,G,W,G,G,C;e,oC,E,O;I,C;;A,M,C,c,C,c,G,W;I,U,E,I;I,G,W,G,G,C;e,kC,E,O;I,C;;A,M,C,c,C,c,G,M;I,U,E,I;I,G,W,G,G,C;e,gC;I,C;;A,M,C,c,C,c,G,O;I,U,E,I;I,G,W,G,G,C;e,iC;I,C;;A,M,C,c,C,c,G,O;I,U,E,I;I,G,W,G,G,C;e,iC;I,C;;A,M,C,c,C,c,G,K;I,U,E,I;I,G,W,G,G,C;e,+B;I,C;;;C,U;A,M,C,c,C,c,G,U;I,K,E,I;;A,c,E,O,U,C;;ACAA,GAAA,CAAA,0BAAA,GAAA,4CAAA,CAAA,wBAAA;;AACA,GAAA,CAAA,8BAAA,GAAA,4CAAA,CAAA,wBAAA;;AACA,GAAA,CAAA,4BAAA,GAAA,4CAAA,CAAA,wBAAA;;AACA,GAAA,CAAA,2BAAA,GAAA,4CAAA,CAAA,wBAAA;;AACA,GAAA,CAAA,8BAAA,GAAA,4CAAA,CAAA,wBAAA;S,4C,C,G,E,C;W,G,I,G,C,U,G,G;S,O,G,G;;A,C;S,wC,C,G,E,C;W,wC,C,G,K,sC,C,G,K,iD,C,G,K,wC;A,C;S,wC,G,C;I,K,C,G,C,S,E,oI;A,C;S,iD,C,C,E,M,E,C;I,E,G,C;I,E,S,C,M,M,U,uC,C,C,E,M;I,G,C,C,G,M,C,S,C,Q,C,I,C,C,E,K,C,C,E,E;I,E,E,C,M,M,K,C,C,W,E,C,G,C,C,W,C,I;I,E,E,C,M,G,K,C,M,G,U,K,C,I,C,C;I,E,E,C,M,S,gD,I,C,C,U,uC,C,C,E,M;A,C;S,sC,C,I,E,C;I,E,S,M,M,S,K,I,C,M,C,Q,K,I,I,I,E,U,M,I,S,K,C,I,C,I;A,C;S,wC,C,G,E,C;I,E,E,K,C,O,C,G,U,uC,C,G;A,C;S,uC,C,G,E,G,E,C;I,E,E,G,I,I,I,G,G,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AAnB;QAYJ,CAfF;IAmBR,CAtDD,aAwDE,EAAO,AAAP,SAAO,AAAP,EAAO,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA,GAAA,IAAA;AAEV,CA5DD;AA8De,GAAA,CAAA,8BAAA,GAAA,gCAAA,EACb,wBADa,IAEb,sBAFa,IAGb,kBAHa,IAIb,yBAJa,GAKb6Q,iCALa;A,c,E,O,K,8B;;;;;AT9Ef,GAAA,CAAA,kCAAA,GAAA,4CAAA,CAAA,wBAAA;;C,U;A,M,C,c,C,yB,G,U;I,K,E,I;;A,yB,C,K,G,yB,C,O,G,yB,C,O,G,yB,C,M,Q,C;;AUHA,GAAA,CAAA,4BAAA,GAAA,4CAAA,CAAA,YAAA;;;;;;C,U;S,6B,C,G,E,C;I,E,S,M,M,Q,Y,M,C,Q,M,M,G,6B,Y,O,C,I,E,C;sB,I;I,C;S,6B,Y,Q,C,I,E,C;e,I,W,M,M,Q,K,I,C,W,K,M,I,I,K,M,C,S,I,M,W,I;I,C;W,6B,C,G;A,C;A,M,C,c,C,c,G,U;I,K,E,I;;A,c,E,O,U,C;;ACAA,GAAA,CAAA,4BAAA,GAAA,4CAAA,CAAA,YAAA;;AACA,GAAA,CAAA,8BAAA,GAAA,4CAAA,CAAA,cAAA;;;;AAGA,GAAA,CAAA,iCAAA,GAAA,4CAAA,CAAA,wBAAA;;AACA,GAAA,CAAA,+BAAA,GAAA,4CAAA,CAAA,wBAAA;;AACA,GAAA,CAAA,+BAAA,GAAA,4CAAA,CAAA,wBAAA;;AACA,GAAA,CAAA,+BAAA,GAAA,4CAAA,CAAA,wBAAA;;AACA,GAAA,CAAA,4BAAA,GAAA,4CAAA,CAAA,wBAAA;;;S,4C,C,G,E,C;W,G,I,G,C,U,G,G;S,O,G,G;;A,C;S,qC,C,Q,E,W,E,C;I,E,I,Q,Y,W,G,K,C,G,C,S,E,iC;A,C;S,uC,C,M,E,K,E,C;Q,G,C,C,G,C,E,C,G,K,C,M,E,C,G,C;Q,G,C,U,G,K,C,C;Q,U,C,U,G,U,C,U,I,K;Q,U,C,Y,G,I;Q,E,G,K,K,U,E,U,C,Q,G,I;Q,M,C,c,C,M,E,U,C,G,E,U;I,C;A,C;S,kC,C,W,E,U,E,W,E,C;I,E,E,U,E,uC,C,W,C,S,E,U;I,E,E,W,E,uC,C,W,E,W;W,W;A,C;S,+B,C,Q,E,U,E,C;I,E,S,U,M,Q,K,U,K,I,E,K,C,G,C,S,E,kD;I,Q,C,S,G,M,C,M,C,U,I,U,C,S;Q,W;Y,K,E,Q;Y,Q,E,I;Y,Y,E,I;;;I,E,E,U,E,qC,C,Q,E,U;A,C;S,qC,C,C,E,C,E,C;I,qC,G,M,C,c,a,e,C,E,E,E,E,C;Q,E,C,S,G,E;e,E;I,C;W,qC,C,C,E,C;A,C;S,kC,C,O,E,C;I,G,C,yB,G,+C;oB,oB,G,C;Q,G,C,K,G,qC,C,O,G,M;Q,E,E,yB,E,C;Y,G,C,S,G,qC,O,W;Y,M,G,O,C,S,C,K,E,S,E,S;Q,C,M,M,G,K,C,K,O,S;e,gD,O,M;I,C;A,C;S,gD,C,I,E,I,E,C;I,E,E,I,K,6B,C,I,O,M,Y,I,M,Q,W,I;S,E,E,I,U,C,E,K,C,G,C,S,E,wD;W,4C,C,I;A,C;S,4C,C,I,E,C;I,E,E,I,U,C,E,K,C,G,C,c,E,yD;W,I;A,C;S,+C,G,C;I,E,S,O,M,S,M,O,C,S,S,K;I,E,E,O,C,S,C,I,S,K;I,E,S,K,M,Q,U,I;Q,C;Q,O,C,S,C,O,C,I,C,O,C,S,C,O,iB,C;Q,C;e,I;I,C,Q,C,E,C;e,K;I,C;A,C;S,qC,C,C,E,C;I,qC,G,M,C,c,G,M,C,c,Y,e,C,E,E,C;e,E,C,S,I,M,C,c,C,E;I,C;W,qC,C,C;A,C;AAIA,GAAA,CAAIuD,8BAAQ,GAAA,EAAG,AAAH,SAAG,AAAH,EAAG,CAAA,4BAAf,EAAA,OAAA,GAAA,aAAA,EAAA,KAAA;IAAsB,KAAK,GAAC,4CAAN;IAAP,CAAA,GAAA,EAA6D,AAA7D,SAA6D,AAA7D,EAA6D,CAAA,4BAA7D,EAAA,OAAA,GAAA,aAAA,EAAA,CAAA;IAAgE,SAAS,GAAC,mBAAV;;AAE/E,GAAA,CAAI7C,+BAAS;IACX8C,QAAQ,EAAEC,+BAAAA,EAAAA,OAAAA;IACV3H,UAAU,EAAE4H,iCAAAA,EAAAA,OAAAA;IACZC,QAAQ,EAAEC,+BAAAA,EAAAA,OAAAA;IACV/H,QAAQ,EAAEwC,+BAAAA,EAAAA,OAAAA;IACVwF,KAAK,EAAEC,4BAAPD,EAAAA,OAAAA;;SAGOE,uCAAT,CAA2BC,YAA3B,EAAyC,CAAzC;IACE,GAAA,CAAMC,OAAO,GAAGD,YAAY,CAACC,OAA7B;IACA,EAAA,EAAGA,OAAO,IAAID,YAAY,CAAC5U,QAAb,KAA0B,IAAxC,SACE,EACE,AADF,SACE,AADF,EACE,CAAA,4BADF,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;QACO,SAAS,GAAC,iBAAV;OACF8U,iCAAW,CAACD,OAAD;AAInB,CAAA;SAEQC,iCAAT,CAAqBD,OAArB,EAA8B,CAA9B;IACE,EAAA,EAAGA,OAAO,CAACvV,MAAR,GAAiB,GAApB,EAAyB,CAAzB;QACE,GAAA,CAAMyV,KAAK,GAAGF,OAAO,CAACG,MAAR,CAAe,CAAf,EAAkB,GAAlB;QACd,GAAA,CAAMC,IAAI,GAAGJ,OAAO,CAACG,MAAR,CAAe,GAAf;eACb,EAAO,AAAP,SAAO,AAAP,EAAO,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,EAAA,CAAA,GAAA,IAAA,EAAID,KAAJ,EAAA,EAAU,AAAV,SAAU,AAAV,EAAU,CAAA,4BAAjB,EAAA,OAAA,GAAA,aAAA,EAAA,IAAA;YAAuB,SAAS,GAAC,QAAV;YAAN,MAAA,IAAV,EAA6C,AAA7C,SAA6C,AAA7C,EAA6C,CAAA,4BAAnC,EAAA,OAAA,GAAA,aAAA,EAAA,IAAA;YAAyC,SAAS,GAAC,IAAV;WAAkBE,IAAxB;IACrD,CAJD,aAME,EAAO,AAAP,SAAO,AAAP,EAAO,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,EAAA,CAAA,GAAA,IAAA,EAAIJ,OAAJ;AAEV,CAAA;AAED,GAAA,CAAMK,qCAAe,YAAfA,eAAkB,CAAA,IAAA,EACxB,CADA;IACA,GAAA,CAD0B5G,IAC1B,GAAA,IAAA,CAD0BA,IAC1B;IACE,GAAA,CAAIlQ,IAAJ,EAAU+W,IAAV,EAAgBC,OAAhB;IAEA,EAAA,EAAI9G,IAAI,CAAC+G,YAAT,EAAuB,CAAvB;QACEjX,IAAI,GAAGkQ,IAAI,CAACgH,cAAL,IAAuBhH,IAAI,CAAC+G,YAAnC;QACAF,IAAI,GAAG7G,IAAI,CAACiH,qBAAZ;QACAH,OAAO,GAAG9G,IAAI,CAACkH,sBAAf;IACD,CAJD,MAMK,EAAA,EAAIlH,IAAI,CAACmH,cAAT,EAAyB,CAF7B;QAGCrX,IAAI,GAAGkQ,IAAI,CAACoH,gBAAL,IAAyBpH,IAAI,CAACmH,cAArC;QACAN,IAAI,GAAG7G,IAAI,CAACqH,uBAAZ;QACAP,OAAO,GAAG9G,IAAI,CAACsH,wBAAf;IACD,CAAA;WAED,EACE,AADF,SACE,AADF,EACE,CAAA,4BADF,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;QACO,SAAS,GAAC,gBAAV;OAAL,EACE,AADF,SACE,AADF,EACE,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,EAAA,EAAA,GAAA,IAAA,EAAA,EACE,AADF,SACE,AADF,EACE,CAAA,4BAFJ,EAAA,OAAA,GAAA,aAAA,EAAA,IAAA;QAEU,SAAS,GAAC,OAAV;OAAqBxX,IAA3B,GADF,EAEE,AAFF,SAEE,AAFF,EAEE,CAAA,4BADA,EAAA,OAAA,GAAA,aAAA,EAAA,KAAA;QACO,SAAS,GAAC,YAAV;QAAP,CAAA,GAAkCgX,OAAlC,IAHJ,EAKE,AALF,SAKE,AALF,EAKE,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,EAAA,CAAA,GAAA,IAAA,EAAID,IAAJ;AAGL,CAzBD;SA2BSU,2CAAT,CAA+BvH,IAA/B,EAAqC,CAArC;IAEE,EAAA,EAAIwH,+CAAyB,CAACxH,IAAD,GAE3B,EAAA,AAAA,uFAAA;IACA,EAAA,AAAA,+FAAA;IACA,EAAA,AAAA,sFAAA;WACA,EACE,AADF,SACE,AADF,EACE,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,qCAAD;QAAiB,IAAI,EAAEA,IAAN;;AAGtB,C,AAED,CAFC,AAED,EAFC,AAED,4DAFC;AAGD,EAAA,AAAA,gHAAA;AACA,EAAA,AAAA,2FAAA;SACSwH,+CAAT,CAAmClB,YAAnC,EAAiD,CAAjD;WAEIA,YAAY,CAACa,cAAb,IACEb,YAAY,CAACS,YAAb,IACAT,YAAY,CAACS,YAAb,KAA8BT,YAAY,CAAC3U,EAH/C;AAMD,CAAA;AAEKoO,GAAAA,CAAAA,0B,GAAAA,EAAAA,AAAAA,SAAAA,AAAAA,EAAAA,UAAAA,gBAAAA,EAAAA,CAAAA;I,+B,C,I,E,gB;I,G,C,M,G,kC,C,I;aACJ,IAAA,CAAYwC,KAAZ,EAAmB,CAAnB;QAAmB,GAAA,CAAA,KAAA;QAAA,qCAAA,OAAA,IAAA;QACjB,KAAA,GAAA,MAAA,CAAA,IAAA,OAAMA,KAAN;QACA,KAAA,CAAK1L,KAAL;YACE4Q,OAAO;;oBAEH9V,EAAE,GAAE,QADN;oBAEE+V,KAAK,GAAE,QAFT;oBAGEC,SAAS,EAAE,KAAXA;;;oBAGAhW,EAAE,GAAE,UADN;oBAEE+V,KAAK,GAAE,UAFT;oBAGEC,SAAS,EAAE,KAAXA;;;oBAGAhW,EAAE,GAAE,QADN;oBAEE+V,KAAK,GAAE,QAFT;oBAGEC,SAAS,EAAE,KAAXA;;;oBAGAhW,EAAE,GAAE,QADN;oBAEE+V,KAAK,GAAE,QAFT;oBAGEC,SAAS,EAAE,KAAXA;;gBAGF,EAAA,AAAA,cAAA;gBACA,EAAA,AAAA,yBAAA;gBACA,EAAA,AAAA,mBAAA;gBACA,EAAA,AAAA,GAAA;;oBAEEhW,EAAE,GAAE,KADN;oBAEE+V,KAAK,GAAE,KAFT;oBAGEC,SAAS,EAAE,KAAXA;;;YAGJC,cAAc,EAAErF,KAAK,CAACqF,cAAtBA;;QAEF,GAAA,CAAIC,OAAO;;QACXtF,KAAK,CAAC+D,YAAN,CAAmBtQ,YAAnB,CAAgC5E,OAAhC,UAAwC6E,CAAC,EAAzCsM,CAAAA;mBAA6CsF,OAAO,CAAC5R,CAAD,IAAI,IAAf;QAAA,CAAzC;QACA,KAAA,CAAKY,KAAL,CAAW4Q,OAAX,CAAmBrW,OAAnB,UAA2B0E,CAAC,EAA5B,CAAA;mBAAgCA,CAAC,CAAC6R,SAAF,GAAcE,OAAO,CAACrU,cAAR,CAAuBsC,CAAC,CAACnE,EAAzB;QAAlB,CAA5B;eAvCiB,KAAA;IAwClB,CAAA;I,kC,C,I;;Y,G,G,e;YACD,KAAA,WAAA,eAAA,CAAgBmE,CAAhB,EAAmB,CAAnB;gBACE,EAAA,OAASe,KAAL,CAAW+Q,cAAX,KAA8B9R,CAAC,CAACnE,EAApC,UAA+C,QAAP;uBACjCmE,CAAC,CAAC6R,SAAF,IAAc,MAAd,KAAyB,QAAhC;YACD,CAAA;;;Y,G,G,W;YACD,KAAA,WAAA,WAAA,CAAY7R,CAAZ,EAAe,CAAf;gBACE,EAAA,EAAIA,CAAC,CAAC6R,SAAN;oBACE,EAAA,OAAS9Q,KAAL,CAAW+Q,cAAX,KAA8B9R,CAAC,CAACnE,EAApC,OACOmW,QAAL;wBAAeF,cAAc,EAAE,IAAhBA;;yBAEZ,CADJ;wBAEC,GAAA,CAAMtP,MAAM,QAAQiK,KAAL,CAAW+D,YAAX,CAAwB3U,EAAvC;wBACA,EAAA,SAAW4Q,KAAL,CAAWwF,QAAX,SAA4BxF,KAAL,CAAWwF,QAAX,CAAoBvU,cAApB,CAAmC8E,MAAnC,SACtBiK,KAAL,CAAWyF,WAAX,CAAuB1P,MAAvB;6BAEGwP,QAAL;4BAAeF,cAAc,EAAE9R,CAAC,CAACnE,EAAlBiW;;oBAChB,CAAA;;YAEJ,CAAA;;;Y,G,G,U;YACD,KAAA,WAAA,UAAA,CAAWjW,EAAX,EAAe,CAAf;gBACE,EAAA,SAAW4Q,KAAL,CAAWwF,QAAX,SAA4BxF,KAAL,CAAWwF,QAAX,CAAoBvU,cAApB,CAAmC7B,EAAnC,IAAyC,CAAtE;yBACO4Q,KAAL,CAAWyF,WAAX,CAAuBrW,EAAvB;2BACO,KAAP;gBACD,CAAA;4BACW4Q,KAAL,CAAWwF,QAAX,CAAoBpW,EAApB,EAAwB6B,cAAxB,EAAuC,QAAvC;YACR,CAAA;;;Y,G,G,c;YACD,KAAA,WAAA,cAAA,GAAiB,CAAjB;gBACE,GAAA,CAAIwM,IAAI,QAAQuC,KAAL,CAAW+D,YAAtB;gBACA,EAAA,EAAItG,IAAI,CAACiI,kBAAT,EACEjI,IAAI,CAACkH,sBAAL,QAAmC3E,KAAL,CAAW2F,MAAX,CAAkBlI,IAAI,CAACiI,kBAAvB,EAA2CnY,IAAzE;gBAEF,EAAA,EAAIkQ,IAAI,CAACmI,oBAAT,EACEnI,IAAI,CAACsH,wBAAL,QAAqC/E,KAAL,CAAW2F,MAAX,CAAkBlI,IAAI,CAACmI,oBAAvB,EAA6CrY,IAA7E;uBAEKuW,uCAAiB,CAACrG,IAAD,KAAUuH,2CAAqB,CAACvH,IAAD;YACxD,CAAA;;;Y,G,G,M;YACD,KAAA,WAAA,MAAA,GAAS,CAAT;gBAAS,GAAA,CAAA,MAAA;gBACP,GAAA,CAAMoI,UAAU,QAAQ7F,KAAL,CAAW6F,UAA9B;gBACA,GAAA,CAAM9B,YAAY,QAAQ/D,KAAL,CAAW+D,YAAhC;gBACA,GAAA,CAAM+B,OAAO,QAAQ9F,KAAL,CAAW8F,OAA3B,CACA,CADA,AACA,EADA,AACA,kBADA;gBAEA,EAAA,AAAA,oFAAA;gBACA,EAAA,AAAA,gEAAA;gBACA,EAAA,AAAA,EAAA;gBACA,GAAA,CAAMC,qBAAqB,GAAGhC,YAAY,CAACiC,WAAb,CAAyB3L,KAAzB,EAA+B,CAA/B,GAAoC5L,MAAlE;uBACA,EACE,AADF,SACE,AADF,EACE,CAAA,4BADF,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;oBACO,SAAS,GAAC,WAAV;mBAAL,EACE,AADF,SACE,AADF,EACE,CAAA,4BADF,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;oBACO,SAAS,GAAC,mBAAV;mBAAL,EACE,AADF,SACE,AADF,EACE,CAAA,4BADF,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;oBACO,SAAS,GAAC,sBAAV;mBAAL,EACE,AADF,SACE,AADF,EACE,CAAA,4BADF,EAAA,OAAA,GAAA,aAAA,EAAA,EAAA;oBACM,SAAS,GAAC,UAAV;mBAAJ,EACE,AADF,SACE,AADF,EACE,CAAA,4BADF,EAAA,OAAA,GAAA,aAAA,EAAA,IAAA;oBACQ,SAAS,GAAC,SAAV;mBAAuBsV,YAAY,CAACxW,IAA1C,GACCwW,YAAY,CAAC3U,EAAb,KAAoB2U,YAAY,CAACxW,IAAjC,IAAA,EAAyC,AAAzC,SAAyC,AAAzC,EAAyC,CAAA,4BAD1C,EAAA,OAAA,GAAA,aAAA,EAAA,KAAA;oBACiD,SAAS,GAAC,OAAV;oBAAqB,CAA5B,GAAiCwW,YAAY,CAAC3U,EAA9C,GAF5C,EAGE,AAHF,SAGE,AAHF,EAGE,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,8BAAA,EAAA,OAAA,GAAQ,YAAT;oBACE,UAAU,EAAE2U,YAAY,CAACkC,WAD3B;oBAEE,EAAE,KAAA,MAAA,CAAKJ,UAAL,GAAA,CAAA,GAAA,MAAA,CAAmB9B,YAAY,CAACkC,WAAhC,GAAA,WAAA;oBACF,SAAS,GAAC,aAAV;mBAHF,EAKE,AALF,SAKE,AALF,EAKE,CAAA,4BALF,EAAA,OAAA,GAAA,aAAA,EAAA,KAAA;oBAKS,SAAS,GAAC,YAAV;mBAA0BH,OAAjC,KAGH/B,YAAY,CAACmC,QAAb,IAAA,EAAyB,AAAzB,SAAyB,AAAzB,EAAyB,CAAA,4BAHtB,EAAA,OAAA,GAAA,aAAA,EAAA,KAAA;oBAG6B,SAAS,GAAC,aAAV;mBAA2BnC,YAAY,CAACmC,QAAb,CAAsB9S,IAAtB,EAA2B,EAA3B,KAC3D2S,qBAAqB,GAAG,CAAxB,IAAA,EAA6B,AAA7B,SAA6B,AAA7B,EAA6B,CAAA,4BADJ,EAAA,OAAA,GAAA,aAAA,EAAA,CAAA;oBACO,SAAS,GAAC,gBAAV;mBAA8BhC,YAAY,CAACiC,WAA9C,SAE1BG,cAAL,KAjBL,EAmBE,AAnBF,SAmBE,AAnBF,EAmBE,CAAA,4BAJkC,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;oBAI7B,SAAS,GAAC,gBAAV;wBACG7R,KAAL,CAAW4Q,OAAX,CAAmBvQ,GAAnB,UAAwBpB,CAAD,EAAGlE,GAAH,EAD1B,CAAA;2BAC0B,EACtB,AADsB,SACtB,AADsB,EACtB,CAAA,4BADsB,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;wBACjB,GAAG,EAAEA,GAAV;wBACK,SAAS,GAAA,qCAAA,EAAA,MAAA,CAA0C,MAAI,CAAC+W,eAAL,CAAqB7S,CAArB;wBACnD,OAAO,WAAP,OAAA,GAAA,CAAA;mCAAa,MAAI,CAAC8S,WAAL,CAAiB9S,CAAjB;wBAAJ,CAAA;uBACZA,CAAC,CAAC4R,KAHJ;gBADsB,CAAvB,SAOG7Q,KAAL,CAAW+Q,cAAX,SAAkCiB,UAAL,CAAgBvC,YAAY,CAAC3U,EAA7B,KAA7B,EAAiE,AAAjE,SAAiE,AAAjE,EAAiE,CAAA,4BAPxC,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;oBAO6C,SAAS,GAAC,cAAV;mBAAL,EAAiC4T,AAAjC,SAAiCA,AAAjC,EAAiCA,CAAAA,4BAAAA,EAAAA,OAAAA,GAAMC,aAAN,CAAoBxC,+BAAS,MAAMnM,KAAL,CAAW+Q,cAAZ,QAAkCrF,KAA/D;YAGxG,CAAA;;;W,I;AArHgBgD,CAAAA,CAAAA,4BAAAA,EAAAA,OAAAA,GAAMuD,S;AAwHzB,GAAA,CAAM1F,8BAAQ,YAARA,QAAW,CAAAb,KAAK,EAAI,CAA1B;IACE,EAAA,EAAIA,KAAK,CAACnN,aAAN,IAAuBmN,KAAK,CAACnN,aAAN,CAAoBS,QAA3C,IAAuD0M,KAAK,CAACrP,eAAjE,EAAkF,CAAlF;QACE,GAAA,CAAI6V,IAAJ,EAASjN,IAAT,EAAckN,IAAd;QACA,GAAA,CAAM5I,QAAQ,GAAGmC,KAAK,CAACnN,aAAN,CAAoBS,QAApB,CAA6BuK,QAA9C;QACA,EAAA,EAAIA,QAAQ,GAAGmC,KAAK,CAAC0G,iBAArB,EAAwC,CAAxC;YACE,GAAA,CAAMC,OAAO,GAAG3G,KAAK,CAAC4G,mBAAN,GAA0B5G,KAAK,CAAC0G,iBAAhD;YACAnN,IAAI,GAAA,EAAG,AAAH,SAAG,AAAH,EAAG,CAAA,4BAAPA,EAAAA,OAAAA,GAAAA,aAAAA,EAAAA,IAAAA;gBAAa,KAAK;oBAAG8H,OAAO,GAAC,IAARA;;gBAAd,KAAA,GAAA,EAAoC,AAApC,SAAoC,AAApC,EAAoC,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,EAAA,CAAA,GAAA,IAAA,EAAIsF,OAAO,GAAG,CAAd,IAApC,IAAA,GAAA,EAA4D,AAA5D,SAA4D,AAA5D,EAA4D,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,EAAA,CAAA,GAAA,IAAA,EAAIE,IAAI,CAACC,IAAL,CAAUjJ,QAAQ,GAACmC,KAAK,CAAC0G,iBAAzB;YACvEF,IAAI,GAAA,EAAG,AAAH,SAAG,AAAH,EAAG,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,yBAAD,EAAA,IAAA;YACP,EAAA,EAAIG,OAAO,GAAG,CAAd,EACEH,IAAI,GAAA,EAAG,AAAH,SAAG,AAAH,EAAG,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,2BAAD;gBAAO,OAAO,WAAP,OAAA,GAAA,CAAA;2BAAaxG,KAAK,CAAC1G,oBAAN,CAA2BqN,OAAO,GAAG,CAArC;gBAAJ,CAAA;eAAhB,EAA6D,AAA7D,SAA6D,AAA7D,EAA6D,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,kCAAD,EAAA,IAAA;YAEtEF,IAAI,GAAA,EAAG,AAAH,SAAG,AAAH,EAAG,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,yBAAD,EAAA,IAAA;YACP,EAAA,EAAI5I,QAAQ,GAAGmC,KAAK,CAAC4G,mBAAN,GAA4B5G,KAAK,CAAC0G,iBAAjD,EACED,IAAI,GAAA,EAAG,AAAH,SAAG,AAAH,EAAG,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,2BAAD;gBAAO,OAAO,WAAP,OAAA,GAAA,CAAA;2BAAazG,KAAK,CAAC1G,oBAAN,CAA2BqN,OAAO,GAAG,CAArC;gBAAJ,CAAA;eAAhB,EAA6D,AAA7D,SAA6D,AAA7D,EAA6D,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,8BAAD,EAAA,IAAA;QAEvE,CAAA;eACD,EAAO,AAAP,SAAO,AAAP,EAAO,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA,GAAA,IAAA,EAAA,EACL,AADK,SACL,AADK,EACL,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA,GAAA,IAAA,EAAMH,IAAN,EAAYjN,IAAZ,EAAkBkN,IAAlB,GACCzG,KAAK,CAACnN,aAAN,CAAoBS,QAApB,CAA6BtE,IAA7B,CAAkC2F,GAAlC,UAAuC7G,CAAD,EAAGuB,GAAH,EAFzC,CAAA;mBAEyC,EACrC,AADqC,SACrC,AADqC,EACrC,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,0BAAD;gBAAM,GAAG,EAAEA,GAAX;gBACM,YAAY,EAAEvB,CADpB;gBAEM,UAAU,EAAEkS,KAAK,CAAC+G,aAAN,CAAoBlB,UAFtC;gBAGM,WAAW,EAAE7F,KAAK,CAAC+G,aAAN,CAAoBC,WAHvC;gBAIM,OAAO,EAAEhH,KAAK,CAACrP,eAAN,CAAsB7C,CAAC,CAACqB,QAAxB,EAAkC5B,IAJjD;gBAKM,QAAQ,EAAEyS,KAAK,CAACpB,YALtB;gBAMM,WAAW,EAAEoB,KAAK,CAACjE,oBANzB;gBAOM,gBAAgB,EAAEiE,KAAK,CAAClK,kBAP9B;gBAQM,SAAS,EAAEkK,KAAK,CAACrK,gBARvB;gBASM,MAAM,EAAEqK,KAAK,CAACrP,eATpB;gBAUM,cAAc,EAAEqP,KAAK,CAACnN,aAAN,CAAoBS,QAApB,CAA6BuK,QAA7B,KAA0C,CAA1C,IAA+C/P,CAAC,CAAC0F,QAAF,CAAWkQ,QAA1D,IAAqE,QAArE,IAAkF,IAAlG;;QAX+B,CAAtC,GAcA8C,IAhBI,EAgBEjN,IAhBF,EAgBQkN,IAhBR;IAkBR,CAAA;WACM,IAAP;AACD,CApCD;AAsCe,GAAA,CAAA,8BAAA,GAAA,gCAAA,EACb,mBADa,IAEb,mBAFa,IAGb,qBAHa,IAIb,kBAJa,IAKb,sBALa,IAMb,yBANa,IAOb,uBAPa,IAQb,oBARa,IASb,kBATa,IAUb,oBAVa,GAWb5F,8BAXa;A,c,E,O,K,8B;;;;C,U;A,M,C,c,C,c,G,U;I,K,E,I;;A,c,E,O,U,C;;AC9Pf,GAAA,CAAA,4BAAA,GAAA,4CAAA,CAAA,YAAA;;;S,4C,C,G,E,C;W,G,I,G,C,U,G,G;S,O,G,G;;A,C;AAIA,GAAA,CAAMoG,4BAAM,YAANA,MAAS,CAAAjH,KAAK,EAAI,CAAxB;IACE,GAAA,CAAMvC,IAAI,GAAGuC,KAAK,CAACwF,QAAN,CAAexF,KAAK,CAAC+D,YAAN,CAAmB3U,EAAlC;IACb,GAAA,CAAI8X,YAAJ;IACA,GAAA,CAAIC,QAAQ,IAAA,2CAAA,EAAA,MAAA,CAAiD1J,IAAI,CAACzM,GAAtD;IACZ,EAAA,EAAIgP,KAAK,CAACoH,iBAAN,IAA2BpH,KAAK,CAACoH,iBAAN,CAAwB3J,IAAI,CAACzM,GAA7B,GAAmC,CAAlE;QACE,GAAA,CAAI8K,QAAQ,GAAGkE,KAAK,CAACoH,iBAAN,CAAwB3J,IAAI,CAACzM,GAA7B,EAAkC2D,GAAlC,UAAsCvD,CAAC,EAAtD,CAAA;mBAA0DA,CAAC,CAAChC,EAAN;QAAA,CAAvC;QACf,EAAA,EAAI0M,QAAQ,CAACrN,MAAT,GAAkB,CAAtB,EACEyY,YAAY,IAAA,2CAAA,EAAA,MAAA,CAAgDpL,QAAQ,CAAC1I,IAAT,EAAc,CAAd;IAE/D,CALD,MAOE4M,KAAK,CAACvD,0BAAN,CAAiCgB,IAAI,CAACzM,GAAtC;WAEF,EAAO,AAAP,SAAO,AAAP,EAAO,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,0BAAD,EAAA,IAAA,EAAA,EACL,AADK,SACL,AADK,EACL,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,yBAAD;QAAK,QAAQ,GAAC,IAAd;QAAqB,KAAK,GAAC,WAAN;OAArB,EACE,AADF,SACE,AADF,EACE,CAAA,4BADF,EAAA,OAAA,GAAA,aAAA,EAAA,MAAA;QACU,GAAG,EAAEmW,QAAb;QAAuB,WAAW,GAAC,CAAnC;QAAuC,KAAK,GAAC,IAA7C;QAAoD,MAAM,GAAC,KAAP;SAErDD,YAAY,IAAA,EAAI,AAAJ,SAAI,AAAJ,EAAI,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,yBAAD;QAAK,QAAQ,GAAC,QAAd;QAAyB,KAAK,GAAC,8BAAN;OAAzB,EACf,AADe,SACf,AADe,EACf,CAAA,4BADe,EAAA,OAAA,GAAA,aAAA,EAAA,MAAA;QACP,GAAG,EAAEA,YAAb;QAA2B,WAAW,GAAC,CAAvC;QAA2C,KAAK,GAAC,IAAjD;QAAwD,MAAM,GAAC,KAAP;;AAG7D,CArBD;AAuBe,GAAA,CAAA,8BAAA,GAAA,gCAAA,EACb,uBADa,IAEb,0BAFa,GAGbD,4BAHa;A,c,E,O,K,8B;;;;;C,U;S,6B,C,G,E,C;I,E,S,M,M,Q,Y,M,C,Q,M,M,G,6B,Y,O,C,I,E,C;sB,I;I,C;S,6B,Y,Q,C,I,E,C;e,I,W,M,M,Q,K,I,C,W,K,M,I,I,K,M,C,S,I,M,W,I;I,C;W,6B,C,G;A,C;A,M,C,c,C,c,G,U;I,K,E,I;;A,c,E,O,U,C;;AC3Bf,GAAA,CAAA,4BAAA,GAAA,4CAAA,CAAA,YAAA;;AACA,GAAA,CAAA,6BAAA,GAAA,4CAAA,CAAA,aAAA;;;AAEA,GAAA,CAAA,yCAAA,GAAA,4CAAA,CAAA,yBAAA;;AACA,GAAA,CAAA,yCAAA,GAAA,4CAAA,CAAA,yBAAA;;;;;;S,4C,C,G,E,C;W,G,I,G,C,U,G,G;S,O,G,G;;A,C;S,qC,C,Q,E,W,E,C;I,E,I,Q,Y,W,G,K,C,G,C,S,E,iC;A,C;S,uC,C,M,E,K,E,C;Q,G,C,C,G,C,E,C,G,K,C,M,E,C,G,C;Q,G,C,U,G,K,C,C;Q,U,C,U,G,U,C,U,I,K;Q,U,C,Y,G,I;Q,E,G,K,K,U,E,U,C,Q,G,I;Q,M,C,c,C,M,E,U,C,G,E,U;I,C;A,C;S,kC,C,W,E,U,E,W,E,C;I,E,E,U,E,uC,C,W,C,S,E,U;I,E,E,W,E,uC,C,W,E,W;W,W;A,C;S,+B,C,Q,E,U,E,C;I,E,S,U,M,Q,K,U,K,I,E,K,C,G,C,S,E,kD;I,Q,C,S,G,M,C,M,C,U,I,U,C,S;Q,W;Y,K,E,Q;Y,Q,E,I;Y,Y,E,I;;;I,E,E,U,E,qC,C,Q,E,U;A,C;S,qC,C,C,E,C,E,C;I,qC,G,M,C,c,a,e,C,E,E,E,E,C;Q,E,C,S,G,E;e,E;I,C;W,qC,C,C,E,C;A,C;S,kC,C,O,E,C;I,G,C,yB,G,+C;oB,oB,G,C;Q,G,C,K,G,qC,C,O,G,M;Q,E,E,yB,E,C;Y,G,C,S,G,qC,O,W;Y,M,G,O,C,S,C,K,E,S,E,S;Q,C,M,M,G,K,C,K,O,S;e,gD,O,M;I,C;A,C;S,gD,C,I,E,I,E,C;I,E,E,I,K,6B,C,I,O,M,Y,I,M,Q,W,I;S,E,E,I,U,C,E,K,C,G,C,S,E,wD;W,4C,C,I;A,C;S,4C,C,I,E,C;I,E,E,I,U,C,E,K,C,G,C,c,E,yD;W,I;A,C;S,+C,G,C;I,E,S,O,M,S,M,O,C,S,S,K;I,E,E,O,C,S,C,I,S,K;I,E,S,K,M,Q,U,I;Q,C;Q,O,C,S,C,O,C,I,C,O,C,S,C,O,iB,C;Q,C;e,I;I,C,Q,C,E,C;e,K;I,C;A,C;S,qC,C,C,E,C;I,qC,G,M,C,c,G,M,C,c,Y,e,C,E,E,C;e,E,C,S,I,M,C,c,C,E;I,C;W,qC,C,C;A,C;SAMSI,yCAAT,CAA6BnO,UAA7B,EAAyC,CAAzC;;QAEIjJ,MAAM,GAAE,IADH;QAEL+C,IAAI,EAAE,EAFD;QAGLoE,SAAS,G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,8BAAA,GAAA,4CAAA,CAAA,wBAAA;;;;;;S,4C,C,G,E,C;W,G,I,G,C,U,G,G;S,O,G,G;;A,C;S,8B,G,C;I,8B,G,M,C,M,a,M,E,C;Y,G,C,C,G,C,E,C,G,S,C,M,E,C,G,C;Y,G,C,M,G,S,C,C;gB,G,C,G,I,M,C,E,E,M,C,S,C,c,C,I,C,M,E,G,G,M,C,G,I,M,C,G;Q,C;e,M;I,C;W,8B,C,K,O,S;A,C;S,qC,C,Q,E,W,E,C;I,E,I,Q,Y,W,G,K,C,G,C,S,E,iC;A,C;S,uC,C,M,E,K,E,C;Q,G,C,C,G,C,E,C,G,K,C,M,E,C,G,C;Q,G,C,U,G,K,C,C;Q,U,C,U,G,U,C,U,I,K;Q,U,C,Y,G,I;Q,E,G,K,K,U,E,U,C,Q,G,I;Q,M,C,c,C,M,E,U,C,G,E,U;I,C;A,C;S,kC,C,W,E,U,E,W,E,C;I,E,E,U,E,uC,C,W,C,S,E,U;I,E,E,W,E,uC,C,W,E,W;W,W;A,C;S,+B,C,Q,E,U,E,C;I,E,S,U,M,Q,K,U,K,I,E,K,C,G,C,S,E,kD;I,Q,C,S,G,M,C,M,C,U,I,U,C,S;Q,W;Y,K,E,Q;Y,Q,E,I;Y,Y,E,I;;;I,E,E,U,E,qC,C,Q,E,U;A,C;S,qC,C,C,E,C,E,C;I,qC,G,M,C,c,a,e,C,E,E,E,E,C;Q,E,C,S,G,E;e,E;I,C;W,qC,C,C,E,C;A,C;S,kC,C,O,E,C;I,G,C,yB,G,+C;oB,oB,G,C;Q,G,C,K,G,qC,C,O,G,M;Q,E,E,yB,E,C;Y,G,C,S,G,qC,O,W;Y,M,G,O,C,S,C,K,E,S,E,S;Q,C,M,M,G,K,C,K,O,S;e,gD,O,M;I,C;A,C;S,gD,C,I,E,I,E,C;I,E,E,I,K,6B,C,I,O,M,Y,I,M,Q,W,I;S,E,E,I,U,C,E,K,C,G,C,S,E,wD;W,4C,C,I;A,C;S,4C,C,I,E,C;I,E,E,I,U,C,E,K,C,G,C,c,E,yD;W,I;A,C;S,+C,G,C;I,E,S,O,M,S,M,O,C,S,S,K;I,E,E,O,C,S,C,I,S,K;I,E,S,K,M,Q,U,I;Q,C;Q,O,C,S,C,O,C,I,C,O,C,S,C,O,iB,C;Q,C;e,I;I,C,Q,C,E,C;e,K;I,C;A,C;S,qC,C,C,E,C;I,qC,G,M,C,c,G,M,C,c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,GAAA,CAAA,qBAAA,QAA+BH,gBAAL,IAAnBK,GAAP,GAAA,qBAAA,CAAOA,GAAP,EAAYtG,KAAZ,GAAA,qBAAA,CAAYA,KAAZ,EAAmBoG,GAAnB,GAAA,qBAAA,CAAmBA,GAAnB;qBACKkB,gBAAL,CAAsBhB,GAAtB,EAA2BtG,KAA3B,EAAkCoG,GAAlC;YACD,CAAA;;;Y,G,G,iB;YAED,KAAA,WAAA,iBAAA,GAAoB,CAApB;gBAAoB,GAAA,CAAA,MAAA;gBAClB,EAAA,AAAA,sEAAA;uBACA,EACE,AADF,SACE,AADF,EACE,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,4BAAD;oBACE,IAAI,GAAC,EADP;oBAEE,OAAO,GAAC,YAFV;oBAGE,OAAO,WAAP,OAAA,GAAA,CAAA;+BAAe,MAAI,CAACmB,iBAAL;oBAAN,CAAA;oBAHX,KAAA;YAOH,CAAA;;;W,S;AAtNoBzI,CAAAA,CAAAA,4BAAAA,EAAAA,OAAAA,GAAMuD,S;AAyNd,GAAA,CAAA,8BAAA,GAAA,gCAAA,EAAQ,sBAAR,GAAiC/C,8BAAjC;A,c,E,O,K,8B;;;;C,U;S,6B,C,G,E,C;I,E,S,M,M,Q,Y,M,C,Q,M,M,G,6B,Y,O,C,I,E,C;sB,I;I,C;S,6B,Y,Q,C,I,E,C;e,I,W,M,M,Q,K,I,C,W,K,M,I,I,K,M,C,S,I,M,W,I;I,C;W,6B,C,G;A,C;A,M,C,c,C,c,G,U;I,K,E,I;;A,c,E,O,U,C;;ACnOf,GAAA,CAAA,4BAAA,GAAA,4CAAA,CAAA,YAAA;;AACA,GAAA,CAAA,uCAAA,GAAA,4CAAA,CAAA,wBAAA;S,4C,C,G,E,C;W,G,I,G,C,U,G,G;S,O,G,G;;A,C;S,8B,G,C;I,8B,G,M,C,M,a,M,E,C;Y,G,C,C,G,C,E,C,G,S,C,M,E,C,G,C;Y,G,C,M,G,S,C,C;gB,G,C,G,I,M,C,E,E,M,C,S,C,c,C,I,C,M,E,G,G,M,C,G,I,M,C,G;Q,C;e,M;I,C;W,8B,C,K,O,S;A,C;S,qC,C,Q,E,W,E,C;I,E,I,Q,Y,W,G,K,C,G,C,S,E,iC;A,C;S,uC,C,M,E,K,E,C;Q,G,C,C,G,C,E,C,G,K,C,M,E,C,G,C;Q,G,C,U,G,K,C,C;Q,U,C,U,G,U,C,U,I,K;Q,U,C,Y,G,I;Q,E,G,K,K,U,E,U,C,Q,G,I;Q,M,C,c,C,M,E,U,C,G,E,U;I,C;A,C;S,kC,C,W,E,U,E,W,E,C;I,E,E,U,E,uC,C,W,C,S,E,U;I,E,E,W,E,uC,C,W,E,W;W,W;A,C;S,+B,C,Q,E,U,E,C;I,E,S,U,M,Q,K,U,K,I,E,K,C,G,C,S,E,kD;I,Q,C,S,G,M,C,M,C,U,I,U,C,S;Q,W;Y,K,E,Q;Y,Q,E,I;Y,Y,E,I;;;I,E,E,U,E,qC,C,Q,E,U;A,C;S,qC,C,C,E,C,E,C;I,qC,G,M,C,c,a,e,C,E,E,E,E,C;Q,E,C,S,G,E;e,E;I,C;W,qC,C,C,E,C;A,C;S,kC,C,O,E,C;I,G,C,yB,G,+C;oB,oB,G,C;Q,G,C,K,G,qC,C,O,G,M;Q,E,E,yB,E,C;Y,G,C,S,G,qC,O,W;Y,M,G,O,C,S,C,K,E,S,E,S;Q,C,M,M,G,K,C,K,O,S;e,gD,O,M;I,C;A,C;S,gD,C,I,E,I,E,C;I,E,E,I,K,6B,C,I,O,M,Y,I,M,Q,W,I;S,E,E,I,U,C,E,K,C,G,C,S,E,wD;W,4C,C,I;A,C;S,4C,C,I,E,C;I,E,E,I,U,C,E,K,C,G,C,c,E,yD;W,I;A,C;S,+C,G,C;I,E,S,O,M,S,M,O,C,S,S,K;I,E,E,O,C,S,C,I,S,K;I,E,S,K,M,Q,U,I;Q,C;Q,O,C,S,C,O,C,I,C,O,C,S,C,O,iB,C;Q,C;e,I;I,C,Q,C,E,C;e,K;I,C;A,C;S,qC,C,C,E,C;I,qC,G,M,C,c,G,M,C,c,Y,e,C,E,E,C;e,E,C,S,I,M,C,c,C,E;I,C;W,qC,C,C;A,C;AAEqBkI,GAAAA,CAAAA,6B,GAAAA,EAAAA,AAAAA,SAAAA,AAAAA,EAAAA,UAAAA,gBAAAA,EAAAA,CAAAA;I,+B,C,O,E,gB;I,G,C,M,G,kC,C,O;aACnB,OAAA,CAAY1L,KAAZ,EAAmB,CAAnB;QAAmB,qCAAA,OAAA,OAAA;eAAA,MAAA,CAAA,IAAA,OACXA,KADW;IAElB,CAAA;I,kC,C,O;;Y,G,G,M;YAED,KAAA,WAAA,MAAA,GAAS,CAAT;uBACE,EACE,AADF,SACE,AADF,EACE,CAAA,4BADF,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;oBACO,SAAS,GAAC,gBAAV;mBAAL,EACE,AADF,SACE,AADF,EACE,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,uCAAA,EAAA,OAAA,IAAD,8BAAA;wBAA2BA,KAA3B;oBAAkC,QAAQ,SAASA,KAAL,CAAWiL,UAAvB;;YAGvC,CAAA;;;W,O;AAXkCjI,CAAAA,CAAAA,4BAAAA,EAAAA,OAAAA,GAAMuD,S,EAe3C,CAfqCvD,AAerC,EAfqCA,AAerC,sBAfqCA;AAgBrC,EAAA,AAAA,2CAAA;AACA,EAAA,AAAA,kCAAA;AACA,EAAA,AAAA,mDAAA;AACA,EAAA,AAAA,gDAAA;AACA,EAAA,AAAA,GAAA;A,c,E,O,K,6B;;;;C,U;S,6B,C,G,E,C;I,E,S,M,M,Q,Y,M,C,Q,M,M,G,6B,Y,O,C,I,E,C;sB,I;I,C;S,6B,Y,Q,C,I,E,C;e,I,W,M,M,Q,K,I,C,W,K,M,I,I,K,M,C,S,I,M,W,I;I,C;W,6B,C,G;A,C;A,M,C,c,C,c,G,U;I,K,E,I;;A,c,E,O,U,C;;ACvBA,GAAA,CAAA,4BAAA,GAAA,4CAAA,CAAA,YAAA;;AACA,GAAA,CAAA,8BAAA,GAAA,4CAAA,CAAA,oBAAA;S,4C,C,G,E,C;W,G,I,G,C,U,G,G;S,O,G,G;;A,C;S,qC,C,Q,E,W,E,C;I,E,I,Q,Y,W,G,K,C,G,C,S,E,iC;A,C;S,uC,C,M,E,K,E,C;Q,G,C,C,G,C,E,C,G,K,C,M,E,C,G,C;Q,G,C,U,G,K,C,C;Q,U,C,U,G,U,C,U,I,K;Q,U,C,Y,G,I;Q,E,G,K,K,U,E,U,C,Q,G,I;Q,M,C,c,C,M,E,U,C,G,E,U;I,C;A,C;S,kC,C,W,E,U,E,W,E,C;I,E,E,U,E,uC,C,W,C,S,E,U;I,E,E,W,E,uC,C,W,E,W;W,W;A,C;S,+B,C,Q,E,U,E,C;I,E,S,U,M,Q,K,U,K,I,E,K,C,G,C,S,E,kD;I,Q,C,S,G,M,C,M,C,U,I,U,C,S;Q,W;Y,K,E,Q;Y,Q,E,I;Y,Y,E,I;;;I,E,E,U,E,qC,C,Q,E,U;A,C;S,qC,C,C,E,C,E,C;I,qC,G,M,C,c,a,e,C,E,E,E,E,C;Q,E,C,S,G,E;e,E;I,C;W,qC,C,C,E,C;A,C;S,kC,C,O,E,C;I,G,C,yB,G,+C;oB,oB,G,C;Q,G,C,K,G,qC,C,O,G,M;Q,E,E,yB,E,C;Y,G,C,S,G,qC,O,W;Y,M,G,O,C,S,C,K,E,S,E,S;Q,C,M,M,G,K,C,K,O,S;e,gD,O,M;I,C;A,C;S,gD,C,I,E,I,E,C;I,E,E,I,K,6B,C,I,O,M,Y,I,M,Q,W,I;S,E,E,I,U,C,E,K,C,G,C,S,E,wD;W,4C,C,I;A,C;S,4C,C,I,E,C;I,E,E,I,U,C,E,K,C,G,C,c,E,yD;W,I;A,C;S,+C,G,C;I,E,S,O,M,S,M,O,C,S,S,K;I,E,E,O,C,S,C,I,S,K;I,E,S,K,M,Q,U,I;Q,C;Q,O,C,S,C,O,C,I,C,O,C,S,C,O,iB,C;Q,C;e,I;I,C,Q,C,E,C;e,K;I,C;A,C;S,qC,C,C,E,C;I,qC,G,M,C,c,G,M,C,c,Y,e,C,E,E,C;e,E,C,S,I,M,C,c,C,E;I,C;W,qC,C,C;A,C;AACA,EAAA,AAAA,8EAAA;AACA,EAAA,AAAA,wDAAA;AACA,EAAA,AAAA,6DAAA;AACA,EAAA,AAAA,+DAAA;AACA,EAAA,AAAA,gEAAA;AAEA,EAAA,AAAA,qBAAA;AACA,GAAA,CAAM2I,4BAAM,IAAG,0BAAf;AAEqBC,GAAAA,CAAAA,sC,GAAAA,EAAAA,AAAAA,SAAAA,AAAAA,EAAAA,UAAAA,gBAAAA,EAAAA,CAAAA;I,+B,C,gB,E,gB;I,G,C,M,G,kC,C,gB;aAEnB,gBAAA,CAAY5L,KAAZ,EAAmB,CAAnB;QAAmB,GAAA,CAAA,KAAA;QAAA,qCAAA,OAAA,gBAAA;QACjB,KAAA,GAAA,MAAA,CAAA,IAAA,OAAMA,KAAN;QACA,KAAA,CAAK6L,mBAAL,GAA2B7L,KAAK,CAACkK,YAAjC;eAFiB,KAAA;IAGlB,CAAA;I,kC,C,gB;;Y,G,G,qB;YAED,KAAA,WAAA,qBAAA,CAAsB4B,QAAtB,EAAgC,CAAhC;gBACE,EAAA,AAAA,2CAAA;gBACA,EAAA,EAAG,8BAAA,EAAA,OAAA,GAAQA,QAAQ,CAAC5B,YAAjB,OAAoC2B,mBAApC,QACIE,OAAL,C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OAAA,GAAA,aAAA,EAAA,GAAA;oBACO,EAAE,OAAOlC,qBAAL;;YAEZ,CAAA;;;W,gB;AAzG2ClJ,CAAAA,CAAAA,4BAAAA,EAAAA,OAAAA,GAAMuD,S,EA4GpD,CA5G8CvD,AA4G9C,EA5G8CA,AA4G9C,+BA5G8CA;AA6G9C,EAAA,AAAA,2CAAA;AACA,EAAA,AAAA,mDAAA;AACA,EAAA,AAAA,kCAAA;AACA,EAAA,AAAA,gDAAA;AACA,EAAA,AAAA,GAAA;A,c,E,O,K,sC;;;;;;;C,U;S,6B,C,G,E,C;I,E,S,M,M,Q,Y,M,C,Q,M,M,G,6B,Y,O,C,I,E,C;sB,I;I,C;S,6B,Y,Q,C,I,E,C;e,I,W,M,M,Q,K,I,C,W,K,M,I,I,K,M,C,S,I,M,W,I;I,C;W,6B,C,G;A,C;A,M,C,c,C,c,G,U;I,K,E,I;;A,c,E,O,U,C;;AC5HA,GAAA,CAAA,4BAAA,GAAA,4CAAA,CAAA,YAAA;;;AAEA,GAAA,CAAA,mCAAA,GAAA,4CAAA,CAAA,mBAAA;;;;AAEA,GAAA,CAAA,yCAAA,GAAA,4CAAA,CAAA,yBAAA;;;;AAGA,GAAA,CAAA,6BAAA,GAAA,4CAAA,CAAA,aAAA;;S,4C,C,G,E,C;W,G,I,G,C,U,G,G;S,O,G,G;;A,C;S,oC,C,G,E,C,E,C;W,qC,C,G,K,2C,C,G,E,C,K,iD,C,G,E,C,K,sC;A,C;S,sC,G,C;I,K,C,G,C,S,E,yI;A,C;S,iD,C,C,E,M,E,C;I,E,G,C;I,E,S,C,M,M,U,uC,C,C,E,M;I,G,C,C,G,M,C,S,C,Q,C,I,C,C,E,K,C,C,E,E;I,E,E,C,M,M,K,C,C,W,E,C,G,C,C,W,C,I;I,E,E,C,M,G,K,C,M,G,U,K,C,I,C,C;I,E,E,C,M,S,gD,I,C,C,U,uC,C,C,E,M;A,C;S,uC,C,G,E,G,E,C;I,E,E,G,I,I,I,G,G,G,C,M,E,G,G,G,C,M;Q,G,C,C,G,C,E,I,G,G,C,K,C,G,G,C,G,G,E,C,G,I,C,C,I,G,C,C;W,I;A,C;S,2C,C,G,E,C,E,C;I,G,C,E,G,G,I,I,G,I,U,M,M,S,K,G,C,M,C,Q,K,G,E,U;I,E,E,E,I,I;I,G,C,I;I,G,C,E,G,I;I,G,C,E,G,K;I,G,C,E,E,E;Q,C;Y,E,G,E,C,I,C,G,K,E,I,E,G,E,C,I,I,I,G,E,G,I,C,C;Y,I,C,I,C,E,C,K;Y,E,E,C,I,I,C,M,K,C;Q,C;I,C,Q,G,E,C;Q,E,G,I;Q,E,G,G;I,C,Q,C;Y,C;Y,E,G,E,I,E,E,M,M,I,E,E,E,M;Q,C,Q,C;Y,E,E,E,E,K,C,E;Q,C;I,C;W,I;A,C;S,qC,C,G,E,C;I,E,E,K,C,O,C,G,U,G;A,C;S,qC,C,Q,E,W,E,C;I,E,I,Q,Y,W,G,K,C,G,C,S,E,iC;A,C;S,uC,C,M,E,K,E,C;Q,G,C,C,G,C,E,C,G,K,C,M,E,C,G,C;Q,G,C,U,G,K,C,C;Q,U,C,U,G,U,C,U,I,K;Q,U,C,Y,G,I;Q,E,G,K,K,U,E,U,C,Q,G,I;Q,M,C,c,C,M,E,U,C,G,E,U;I,C;A,C;S,kC,C,W,E,U,E,W,E,C;I,E,E,U,E,uC,C,W,C,S,E,U;I,E,E,W,E,uC,C,W,E,W;W,W;A,C;S,+B,C,Q,E,U,E,C;I,E,S,U,M,Q,K,U,K,I,E,K,C,G,C,S,E,kD;I,Q,C,S,G,M,C,M,C,U,I,U,C,S;Q,W;Y,K,E,Q;Y,Q,E,I;Y,Y,E,I;;;I,E,E,U,E,qC,C,Q,E,U;A,C;S,qC,C,C,E,C,E,C;I,qC,G,M,C,c,a,e,C,E,E,E,E,C;Q,E,C,S,G,E;e,E;I,C;W,qC,C,C,E,C;A,C;S,kC,C,O,E,C;I,G,C,yB,G,+C;oB,oB,G,C;Q,G,C,K,G,qC,C,O,G,M;Q,E,E,yB,E,C;Y,G,C,S,G,qC,O,W;Y,M,G,O,C,S,C,K,E,S,E,S;Q,C,M,M,G,K,C,K,O,S;e,gD,O,M;I,C;A,C;S,gD,C,I,E,I,E,C;I,E,E,I,K,6B,C,I,O,M,Y,I,M,Q,W,I;S,E,E,I,U,C,E,K,C,G,C,S,E,wD;W,4C,C,I;A,C;S,4C,C,I,E,C;I,E,E,I,U,C,E,K,C,G,C,c,E,yD;W,I;A,C;S,+C,G,C;I,E,S,O,M,S,M,O,C,S,S,K;I,E,E,O,C,S,C,I,S,K;I,E,S,K,M,Q,U,I;Q,C;Q,O,C,S,C,O,C,I,C,O,C,S,C,O,iB,C;Q,C;e,I;I,C,Q,C,E,C;e,K;I,C;A,C;S,qC,C,C,E,C;I,qC,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E,AADF,SACE,AADF,EACE,CAAA,4BADF,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;oBACO,GAAG,WAAE,GAAA,CAACgb,GAAD,EAAS,CAAd;wBAAe,MAAI,CAAC5D,UAAL,GAAkB4D,GAAlB;oBAAuB,CAAA;mBAA3C,EACE,AADF,SACE,AADF,EACE,CAAA,4BADF,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;oBACO,KAAK;wBAAG7D,KAAK,EAAC,GAAP;wBAAYG,MAAM,EAAE,GAApB;wBAAyB2D,QAAQ,GAAC,MAAlC;yBAA4C,KAAA,IAAM,IAAN;;wBAAqBC,eAAL,KAD1E,EAEE,AAFF,SAEE,AAFF,EAEE,CAAA,4BADA,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;oBACK,EAAE,OAAOtE,QAAT;oBACJiE,YAHH,EAIGD,YAJH;YAOH,CAAA;;;W,Q;AAjPoBxP,CAAAA,CAAAA,4BAAAA,EAAAA,OAAAA,GAAMuD,S;AAoPd,GAAA,CAAA,8BAAA,GAAA,gCAAA,EACb,qBADa,IAEb,qBAFa,IAGb,wBAHa,IAIb,yBAJa,GAKbnI,8BALa;A,c,E,O,K,8B;;;;;C,U;S,6B,C,G,E,C;I,E,S,M,M,Q,Y,M,C,Q,M,M,G,6B,Y,O,C,I,E,C;sB,I;I,C;S,6B,Y,Q,C,I,E,C;e,I,W,M,M,Q,K,I,C,W,K,M,I,I,K,M,C,S,I,M,W,I;I,C;W,6B,C,G;A,C;A,M,C,c,C,c,G,U;I,K,E,I;;A,c,E,O,U,C;;AChQf,GAAA,CAAA,4BAAA,GAAA,4CAAA,CAAA,YAAA;;AACA,GAAA,CAAA,8BAAA,GAAA,4CAAA,CAAA,cAAA;;AAEA,GAAA,CAAA,6BAAA,GAAA,4CAAA,CAAA,aAAA;;AACA,GAAA,CAAA,qCAAA,GAAA,4CAAA,CAAA,qBAAA;;;S,4C,C,G,E,C;W,G,I,G,C,U,G,G;S,O,G,G;;A,C;S,qC,C,Q,E,W,E,C;I,E,I,Q,Y,W,G,K,C,G,C,S,E,iC;A,C;S,uC,C,M,E,K,E,C;Q,G,C,C,G,C,E,C,G,K,C,M,E,C,G,C;Q,G,C,U,G,K,C,C;Q,U,C,U,G,U,C,U,I,K;Q,U,C,Y,G,I;Q,E,G,K,K,U,E,U,C,Q,G,I;Q,M,C,c,C,M,E,U,C,G,E,U;I,C;A,C;S,kC,C,W,E,U,E,W,E,C;I,E,E,U,E,uC,C,W,C,S,E,U;I,E,E,W,E,uC,C,W,E,W;W,W;A,C;S,+B,C,Q,E,U,E,C;I,E,S,U,M,Q,K,U,K,I,E,K,C,G,C,S,E,kD;I,Q,C,S,G,M,C,M,C,U,I,U,C,S;Q,W;Y,K,E,Q;Y,Q,E,I;Y,Y,E,I;;;I,E,E,U,E,qC,C,Q,E,U;A,C;S,qC,C,C,E,C,E,C;I,qC,G,M,C,c,a,e,C,E,E,E,E,C;Q,E,C,S,G,E;e,E;I,C;W,qC,C,C,E,C;A,C;S,kC,C,O,E,C;I,G,C,yB,G,+C;oB,oB,G,C;Q,G,C,K,G,qC,C,O,G,M;Q,E,E,yB,E,C;Y,G,C,S,G,qC,O,W;Y,M,G,O,C,S,C,K,E,S,E,S;Q,C,M,M,G,K,C,K,O,S;e,gD,O,M;I,C;A,C;S,gD,C,I,E,I,E,C;I,E,E,I,K,6B,C,I,O,M,Y,I,M,Q,W,I;S,E,E,I,U,C,E,K,C,G,C,S,E,wD;W,4C,C,I;A,C;S,4C,C,I,E,C;I,E,E,I,U,C,E,K,C,G,C,c,E,yD;W,I;A,C;S,+C,G,C;I,E,S,O,M,S,M,O,C,S,S,K;I,E,E,O,C,S,C,I,S,K;I,E,S,K,M,Q,U,I;Q,C;Q,O,C,S,C,O,C,I,C,O,C,S,C,O,iB,C;Q,C;e,I;I,C,Q,C,E,C;e,K;I,C;A,C;S,qC,C,C,E,C;I,qC,G,M,C,c,G,M,C,c,Y,e,C,E,E,C;e,E,C,S,I,M,C,c,C,E;I,C;W,qC,C,C;A,C;AAGA,GAAA,CAAM2U,iDAA2B,GAAG,EAApC;AAEMC,GAAAA,CAAAA,0B,GAAAA,EAAAA,AAAAA,SAAAA,AAAAA,EAAAA,UAAAA,gBAAAA,EAAAA,CAAAA;I,+B,C,I,E,gB;I,G,C,M,G,kC,C,I;aACJ,IAAA,CAAYhT,KAAZ,EAAmB,CAAnB;QAAmB,GAAA,CAAA,KAAA;QAAA,qCAAA,OAAA,IAAA;QACjB,KAAA,GAAA,MAAA,CAAA,IAAA,OAAMA,KAAN;QACA,KAAA,CAAK1L,KAAL;YAAc2e,OAAO,EAAE,KAATA;;eAFG,KAAA;IAGlB,CAAA;I,kC,C,I;;Y,G,G,a;YA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;;AULA,GAAA,CAAA,4BAAA,GAAA,4CAAA,CAAA,YAAA;;;;AAGA,GAAA,CAAA,gCAAA,GAAA,4CAAA,CAAA,wBAAA;;S,4C,C,G,E,C;W,G,I,G,C,U,G,G;S,O,G,G;;A,C;S,qC,C,Q,E,W,E,C;I,E,I,Q,Y,W,G,K,C,G,C,S,E,iC;A,C;S,uC,C,M,E,K,E,C;Q,G,C,C,G,C,E,C,G,K,C,M,E,C,G,C;Q,G,C,U,G,K,C,C;Q,U,C,U,G,U,C,U,I,K;Q,U,C,Y,G,I;Q,E,G,K,K,U,E,U,C,Q,G,I;Q,M,C,c,C,M,E,U,C,G,E,U;I,C;A,C;S,kC,C,W,E,U,E,W,E,C;I,E,E,U,E,uC,C,W,C,S,E,U;I,E,E,W,E,uC,C,W,E,W;W,W;A,C;S,+B,C,Q,E,U,E,C;I,E,S,U,M,Q,K,U,K,I,E,K,C,G,C,S,E,kD;I,Q,C,S,G,M,C,M,C,U,I,U,C,S;Q,W;Y,K,E,Q;Y,Q,E,I;Y,Y,E,I;;;I,E,E,U,E,qC,C,Q,E,U;A,C;S,qC,C,C,E,C,E,C;I,qC,G,M,C,c,a,e,C,E,E,E,E,C;Q,E,C,S,G,E;e,E;I,C;W,qC,C,C,E,C;A,C;S,kC,C,O,E,C;I,G,C,yB,G,+C;oB,oB,G,C;Q,G,C,K,G,qC,C,O,G,M;Q,E,E,yB,E,C;Y,G,C,S,G,qC,O,W;Y,M,G,O,C,S,C,K,E,S,E,S;Q,C,M,M,G,K,C,K,O,S;e,gD,O,M;I,C;A,C;S,gD,C,I,E,I,E,C;I,E,E,I,K,6B,C,I,O,M,Y,I,M,Q,W,I;S,E,E,I,U,C,E,K,C,G,C,S,E,wD;W,4C,C,I;A,C;S,4C,C,I,E,C;I,E,E,I,U,C,E,K,C,G,C,c,E,yD;W,I;A,C;S,+C,G,C;I,E,S,O,M,S,M,O,C,S,S,K;I,E,E,O,C,S,C,I,S,K;I,E,S,K,M,Q,U,I;Q,C;Q,O,C,S,C,O,C,I,C,O,C,S,C,O,iB,C;Q,C;e,I;I,C,Q,C,E,C;e,K;I,C;A,C;S,qC,C,C,E,C;I,qC,G,M,C,c,G,M,C,c,Y,e,C,E,E,C;e,E,C,S,I,M,C,c,C,E;I,C;W,qC,C,C;A,C;AAGM/C,GAAAA,CAAAA,6B,GAAAA,EAAAA,AAAAA,SAAAA,AAAAA,EAAAA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AA,GAAA,aAAA,EAAA,EAAA,GAAA,IAAA,EACG2H,8BAAQ,CAAC/e,MAAT,UAAgBuF,CAAC,EAZhB,CAAA;iBAYsBA,CAAC,CAACyZ,OAAF,CAAU5P,aAAa,CAAC3X,EAAxB;IAAN,CAAjB,EAAoDuF,GAApD,UAAyDuI,CAAD,EAAG7N,GAAH,EAAvC,CAAA;eAAuC,EACvD,AADuD,SACvD,AADuD,EACvD,CAAA,4BADuD,EAAA,OAAA,GAAA,aAAA,EAAA,EAAA;YACnD,GAAG,EAAEA,GAAL;WAAJ,EAAc,AAAd,SAAc,AAAd,EAAc,CAAA,4BAAd,EAAA,OAAA,GAAA,aAAA,EAAA,CAAA;YAAiB,OAAO,WAAP,OAAA,GAAA,CAAA;uBAAemK,uBAAuB,CAAC0D,CAAC,CAACtF,OAAH;YAA7B,CAAA;WAA2CsF,CAAC,CAACwC,IAAzD;IADyC,CAAxD;AArCM,CAAjB;AA8Ce,GAAA,CAAA,8BAAA,GAAA,gCAAA,EACb,mBADa,IAEb,uBAFa,GAGbiB,8BAHa;A,c,E,O,K,8B;;;;;AZxHf,GAAA,CAAA,+BAAA,GAAA,4CAAA,CAAA,wBAAA;;C,U;S,6B,C,G,E,C;I,E,S,M,M,Q,Y,M,C,Q,M,M,G,6B,Y,O,C,I,E,C;sB,I;I,C;S,6B,Y,Q,C,I,E,C;e,I,W,M,M,Q,K,I,C,W,K,M,I,I,K,M,C,S,I,M,W,I;I,C;W,6B,C,G;A,C;A,M,C,c,C,c,G,U;I,K,E,I;;A,c,E,O,U,C;;AaPA,GAAA,CAAA,4BAAA,GAAA,4CAAA,CAAA,YAAA;;;S,4C,C,G,E,C;W,G,I,G,C,U,G,G;S,O,G,G;;A,C;S,qC,C,Q,E,W,E,C;I,E,I,Q,Y,W,G,K,C,G,C,S,E,iC;A,C;S,uC,C,M,E,K,E,C;Q,G,C,C,G,C,E,C,G,K,C,M,E,C,G,C;Q,G,C,U,G,K,C,C;Q,U,C,U,G,U,C,U,I,K;Q,U,C,Y,G,I;Q,E,G,K,K,U,E,U,C,Q,G,I;Q,M,C,c,C,M,E,U,C,G,E,U;I,C;A,C;S,kC,C,W,E,U,E,W,E,C;I,E,E,U,E,uC,C,W,C,S,E,U;I,E,E,W,E,uC,C,W,E,W;W,W;A,C;S,+B,C,Q,E,U,E,C;I,E,S,U,M,Q,K,U,K,I,E,K,C,G,C,S,E,kD;I,Q,C,S,G,M,C,M,C,U,I,U,C,S;Q,W;Y,K,E,Q;Y,Q,E,I;Y,Y,E,I;;;I,E,E,U,E,qC,C,Q,E,U;A,C;S,qC,C,C,E,C,E,C;I,qC,G,M,C,c,a,e,C,E,E,E,E,C;Q,E,C,S,G,E;e,E;I,C;W,qC,C,C,E,C;A,C;S,kC,C,O,E,C;I,G,C,yB,G,+C;oB,oB,G,C;Q,G,C,K,G,qC,C,O,G,M;Q,E,E,yB,E,C;Y,G,C,S,G,qC,O,W;Y,M,G,O,C,S,C,K,E,S,E,S;Q,C,M,M,G,K,C,K,O,S;e,gD,O,M;I,C;A,C;S,gD,C,I,E,I,E,C;I,E,E,I,K,6B,C,I,O,M,Y,I,M,Q,W,I;S,E,E,I,U,C,E,K,C,G,C,S,E,wD;W,4C,C,I;A,C;S,4C,C,I,E,C;I,E,E,I,U,C,E,K,C,G,C,c,E,yD;W,I;A,C;S,+C,G,C;I,E,S,O,M,S,M,O,C,S,S,K;I,E,E,O,C,S,C,I,S,K;I,E,S,K,M,Q,U,I;Q,C;Q,O,C,S,C,O,C,I,C,O,C,S,C,O,iB,C;Q,C;e,I;I,C,Q,C,E,C;e,K;I,C;A,C;S,qC,C,C,E,C;I,qC,G,M,C,c,G,M,C,c,Y,e,C,E,E,C;e,E,C,S,I,M,C,c,C,E;I,C;W,qC,C,C;A,C;AAIMqW,GAAAA,CAAAA,mC,GAAAA,EAAAA,AAAAA,SAAAA,AAAAA,EAAAA,UAAAA,gBAAAA,EAAAA,CAAAA;I,+B,C,a,E,gB;I,G,C,M,G,kC,C,a;aACJ,aAAA,CAAYhX,KAAZ,EAAmB,CAAnB;QAAmB,GAAA,CAAA,KAAA;QAAA,qCAAA,OAAA,aAAA;QACjB,KAAA,GAAA,MAAA,CAAA,IAAA,OAAMA,KAAN;QACA,KAAA,CAAK1L,KAAL;YACEmG,OAAO,EAAGnM,MAAM,CAAC8G,MAAP,CAAc4K,KAAK,CAACxO,WAApB,EAAiCiB,IAAjC,UAAuCC,CAAD,EAAGC,CAAH,EAAhD8H,CAAAA;uBAAyD/H,CAAC,CAACukB,UAAF,GAAetkB,CAAC,CAACskB,UAA1B;YAAA,CAAtC;;QAEZ,EAAA,EAAI3oB,MAAM,CAACC,IAAP,CAAYyR,KAAK,CAAC7C,cAAN,CAAqB3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","sources":["src/index.js","src/bundles/index.js","src/bundles/api.js","src/bundles/filters.js","src/bundles/views.js","src/bundles/docs.js","src/bundles/genomes.js","src/components/resultList.js","src/components/resultSummary.js","src/components/suggestions.js","src/components/geneSearchUI.js","src/components/results/GeneList.js","src/components/results/details/Expression.js","src/components/results/details/Homology.js","src/components/results/details/generic.js","src/components/results/details/Location.js","src/components/results/details/location/browser.js","src/components/results/details/location/dallianceBrowser.js","src/components/results/details/Pathways.js","src/components/results/details/Xrefs.js","src/components/results/TaxDist.js","src/components/results/selection.js","src/components/results/HelpDemo.js","src/components/TaxonomyModal.js"],"sourcesContent":["import bundles from './bundles';\nimport resultList from './components/resultList';\nimport resultSummary from './components/resultSummary';\nimport suggestions from './components/suggestions';\nimport {Status, Filters, Results, Views} from './components/geneSearchUI';\n\nexport { bundles, resultList, resultSummary, suggestions, Status, Filters, Results, Views };\n","import apiBundles from './api'\nimport filterBundle from './filters'\nimport viewsBundle from './views'\nimport docsBundle from './docs'\nimport genomesBundle from './genomes'\n\nexport default [...apiBundles, docsBundle, filterBundle, viewsBundle, genomesBundle];","import { createAsyncResourceBundle, createSelector } from 'redux-bundler'\nimport _ from 'lodash'\nimport binsClient from \"gramene-bins-client\";\nimport treesClient from \"gramene-trees-client\";\nimport {build} from \"gramene-taxonomy-with-genomes\";\n\nconst facets = [\n \"{!facet.limit='200' facet.mincount='1' key='taxon_id'}taxon_id\",\n \"{!facet.limit='100' facet.mincount='1' key='genetree'}gene_tree\",\n \"{!facet.limit='100' facet.mincount='1' key='pathways'}pathways__ancestors\",\n \"{!facet.limit='100' facet.mincount='1' key='domains'}domain_roots\",\n \"{!facet.limit='-1' facet.mincount='1' key='fixed_1000__bin'}fixed_1000__bin\"\n];\nconst genomesOfInterest = '(taxon_id:2769) OR (taxon_id:3055) OR (taxon_id:3218) OR (taxon_id:3702) OR (taxon_id:3847) OR (taxon_id:4555) OR (taxon_id:4558) OR (taxon_id:4577) OR (taxon_id:13333) OR (taxon_id:15368) OR (taxon_id:29760) OR (taxon_id:39947) OR (taxon_id:55577) OR (taxon_id:88036) OR (taxon_id:214687)';\n\nconst grameneSuggestions = createAsyncResourceBundle( {\n name: 'grameneSuggestions',\n actionBaseType: 'GRAMENE_SUGGESTIONS',\n persist: false,\n getPromise: ({store}) => {\n const t = store.selectSuggestionsQuery();\n const g = store.selectGrameneGenomes();\n return fetch(`${store.selectGrameneAPI()}/suggest?q={!boost b=relevance}name:${t}^3 id:${t}^5 synonym:${t}^2 text:${t}*^1`)\n .then(res => res.json())\n .then(suggestions => {\n if (Object.keys(g.active).length > 0) {\n suggestions.grouped.category.groups.forEach(group => {\n group.doclist.docs.forEach(sugg => {\n sugg.num_genes = 0;\n sugg.taxon_id.forEach((id,idx) => {\n if (g.active[id]) {\n sugg.num_genes += sugg.taxon_freq[idx]\n }\n })\n })\n })\n }\n return suggestions\n })\n }\n});\n\ngrameneSuggestions.reactGrameneSuggestions = createSelector(\n 'selectGrameneSuggestionsShouldUpdate',\n 'selectSuggestionsQuery',\n (shouldUpdate, queryString) => {\n if (shouldUpdate && queryString) {\n return { actionCreator: 'doFetchGrameneSuggestions' }\n }\n }\n);\n\ngrameneSuggestions.selectGrameneSuggestionsStatus = createSelector(\n 'selectGrameneSuggestionsShouldUpdate',\n 'selectGrameneSuggestionsIsLoading',\n 'selectGrameneSuggestionsRaw',\n 'selectSuggestionsQuery',\n (shouldUpdate, isLoading, suggestionsRaw, queryString) => {\n if (!queryString) return '';\n if (shouldUpdate) return 'update needed';\n if (isLoading) return 'loading';\n if (suggestionsRaw) return suggestionsRaw.data.grouped.category.matches + ' terms';\n return 'error';\n }\n);\n\ngrameneSuggestions.selectGrameneSuggestionsReady = createSelector(\n 'selectGrameneSuggestionsStatus',\n (status) => {\n const regex = RegExp('terms$');\n return regex.test(status);\n }\n);\n\ngrameneSuggestions.doFocusFirstGrameneSuggestion = arg => ({dispatch, getState}) => {\n console.log('inside doFocusFirstGrameneSuggestion');\n};\n\nconst grameneTaxonomy = createAsyncResourceBundle({\n name: 'grameneTaxonomy',\n actionBaseType: 'GRAMENE_TAXONOMY',\n persist: true,\n getPromise: ({store}) => {\n return fetch(`${store.selectGrameneAPI()}/taxonomy?subset=gramene&rows=-1`)\n .then(res => res.json())\n .then(taxNodes => {\n let taxonomy = _.keyBy(taxNodes, '_id');\n taxNodes.forEach(t => {\n t._id = +t._id; // ensure taxonomy id is a number\n if (t.hasOwnProperty(\"is_a\")) {\n t.is_a.forEach(p_id => {\n const p = taxonomy[p_id];\n if (!p.hasOwnProperty('children')) p.children = [];\n p.children.push(t._id)\n })\n }\n });\n return taxonomy\n })\n }\n});\ngrameneTaxonomy.reactGrameneTaxonomy = createSelector(\n 'selectGrameneTaxonomyShouldUpdate',\n (shouldUpdate) => {\n if (shouldUpdate) {\n return { actionCreator: 'doFetchGrameneTaxonomy' }\n }\n }\n);\nconst grameneMaps = createAsyncResourceBundle({\n name: 'grameneMaps',\n actionBaseType: 'GRAMENE_MAPS',\n persist: true,\n getPromise: ({store}) => {\n return fetch(`${store.selectGrameneAPI()}/maps?rows=-1`)\n .then(res => res.json())\n .then(maps => _.keyBy(maps, 'taxon_id'))\n }\n});\ngrameneMaps.reactGrameneMaps = createSelector(\n 'selectGrameneMapsShouldUpdate',\n (shouldUpdate) => {\n if (shouldUpdate) {\n return { actionCreator: 'doFetchGrameneMaps' }\n }\n }\n);\n\nconst curatedGenes = createAsyncResourceBundle( {\n name: 'curatedGenes',\n actionBaseType: 'CURATED_GENES',\n persist: true,\n getPromise: ({store}) => {\n return fetch(`https://devdata.gramene.org/curation/curations?rows=0&minFlagged=2`)\n .then(res => res.json())\n .then(curation => _.keyBy(curation.genes, 'gene_id'))\n }\n});\ncuratedGenes.reactCuratedGenes = createSelector(\n 'selectCuratedGenesShouldUpdate',\n (shouldUpdate) => {\n if (shouldUpdate) {\n return { actionCreator: 'doFetchCuratedGenes' }\n }\n }\n);\n\nconst grameneExpressionStudies = createAsyncResourceBundle( {\n name: 'grameneExpressionStudies',\n actionBaseType: 'GRAMENE_EXPRESSION_STUDIES',\n persist: true,\n getPromise: ({store}) => {\n return fetch(`${store.selectGrameneAPI()}/experiments?rows=-1`)\n .then(res => res.json())\n .then(res => _.keyBy(res, '_id'))\n }\n});\ngrameneExpressionStudies.reactGrameneExpressionStudies = createSelector(\n 'selectGrameneExpressionStudiesShouldUpdate',\n (shouldUpdate) => {\n if (shouldUpdate) {\n return { actionCreator: 'doFetchGrameneExpressionStudies' }\n }\n }\n);\n\nconst grameneExpressionAssays = createAsyncResourceBundle( {\n name: 'grameneExpressionAssays',\n actionBaseType: 'GRAMENE_EXPRESSION_ASSAYS',\n persist: true,\n getPromise: ({store}) => {\n return fetch(`${store.selectGrameneAPI()}/assays?rows=-1`)\n .then(res => res.json())\n .then(res => {\n let expr={};\n res.forEach(assay => {\n if (!expr.hasOwnProperty(assay.taxon_id)) {\n expr[assay.taxon_id] = {};\n }\n if (!expr[assay.taxon_id].hasOwnProperty(assay.experiment)) {\n expr[assay.taxon_id][assay.experiment] = [];\n }\n assay.order = +assay.group.replace('g','');\n expr[assay.taxon_id][assay.experiment].push(assay);\n });\n // sort each experiment\n for (const tid in expr) {\n for (const exp in expr[tid]) {\n expr[tid][exp].sort((a,b) => a.order - b.order);\n }\n }\n return expr;\n })\n }\n});\ngrameneExpressionAssays.reactGrameneExpressionAssays = createSelector(\n 'selectGrameneExpressionAssaysShouldUpdate',\n (shouldUpdate) => {\n if (shouldUpdate) {\n return { actionCreator: 'doFetchGrameneExpressionAssays' }\n }\n }\n);\n\nconst grameneSearch = createAsyncResourceBundle({\n name: 'grameneSearch',\n actionBaseType: 'GRAMENE_SEARCH',\n persist: false,\n getPromise: ({store}) => {\n const offset = store.selectGrameneSearchOffset();\n const rows = store.selectGrameneSearchRows();\n const g = store.selectGrameneGenomes();\n const taxa = Object.keys(g.active);\n let fq='';\n if (taxa.length) {\n console.log('search add a fq for ',taxa);\n fq = `&fq=taxon_id:(${taxa.join(' OR ')})`;\n }\n return fetch(`${store.selectGrameneAPI()}/search?q=${store.selectGrameneFiltersQueryString()}&facet.field=${facets}&rows=${rows}&start=${offset}${fq}`)\n .then(res => res.json())\n .then(res => {\n res.response.docs.forEach(d => {\n d.can_show = {};\n d.capabilities.forEach(c => {\n d.can_show[c]=true;\n })\n });\n return res;\n })\n }\n});\ngrameneSearch.reactGrameneSearch = createSelector(\n 'selectGrameneSearchShouldUpdate',\n 'selectGrameneFiltersStatus',\n (shouldUpdate, status) => {\n if (shouldUpdate && status === 'search') {\n return { actionCreator: 'doFetchGrameneSearch' }\n }\n }\n);\n\nfunction formatFacetCountsForViz(a) {\n let res = {\n count: a.length/2,\n displayName: \"fixed_1000__bin\",\n data: {},\n sorted: []\n };\n let counts = [];\n for(let i=0;i<a.length;i+=2) {\n const fc = {\n id: +a[i],\n count: +a[i+1]\n };\n res.data[a[i]] = fc;\n counts.push(fc);\n }\n res.sorted = counts.sort((a,b) => a.id - b.id);\n return res;\n}\n\n// bundle to prepare data for the TaxDist component\nconst grameneTaxDist = {\n name: 'grameneTaxDist',\n getReducer: () => {\n const initialState = {};\n return (state = initialState, {type, payload}) => {\n return state;\n }\n },\n selectGrameneTaxDist: createSelector(\n 'selectGrameneSearch',\n 'selectGrameneTaxonomy',\n 'selectGrameneMaps',\n (grameneSearch,grameneTaxonomy,grameneMaps) => {\n if (grameneSearch && grameneTaxonomy && grameneMaps) {\n _.forIn(grameneMaps, (map, tid) => {\n grameneTaxonomy[tid].name = map.display_name;\n });\n const binnedResults = formatFacetCountsForViz(grameneSearch.facet_counts.facet_fields.fixed_1000__bin);\n let speciesTree = treesClient.taxonomy.tree(Object.values(grameneTaxonomy));\n let binMapper = binsClient.bins(grameneMaps);\n let taxDist = build(binMapper, speciesTree);\n taxDist.setBinType('fixed',1000);\n taxDist.setResults(binnedResults);\n return taxDist;\n }\n return null;\n }\n )\n};\n\n// this query will give the sorghum orthologs of AT1G01260\n// want to provide these on non-sorghum genes if available\n// http://data.gramene.org/search?q=homology__all_orthologs:AT1G01260&fq=taxon_id:4558&fl=id\nconst grameneOrthologs = {\n name: 'grameneOrthologs',\n getReducer: () => {\n const initialState = {};\n return (state = initialState, {type, payload}) => {\n let newState;\n switch (type) {\n case 'GRAMENE_ORTHOLOGS_REQUESTED':\n if (!state.hasOwnProperty(payload)) {\n newState = Object.assign({}, state);\n newState[payload] = [];\n return newState;\n }\n break;\n case 'GRAMENE_ORTHOLOGS_RECEIVED':\n return Object.assign({}, state, payload);\n }\n return state;\n }\n },\n doRequestOrthologs: geneId => ({dispatch, store}) => {\n const orthologs = store.selectGrameneOrthologs();\n if (!orthologs.hasOwnProperty(geneId)) {\n dispatch({type: 'GRAMENE_ORTHOLOGS_REQUESTED', payload: geneId});\n const API = store.selectGrameneAPI();\n const taxonId = store.selectTargetTaxonId();\n fetch(`${API}/search?q=homology__all_orthologs:${geneId}&fq=taxon_id:${taxonId}&fl=id`)\n .then(res => res.json())\n .then(res => {\n let newOrthologs = {};\n newOrthologs[geneId] = res.response.docs.map(d => d.id);\n dispatch({type: 'GRAMENE_ORTHOLOGS_RECEIVED', payload: newOrthologs})\n })\n }\n },\n selectGrameneOrthologs: state => state.grameneOrthologs\n};\n\n\n// function selectFacetIDs(store, field) {\n// const path = `grameneGenes.data.facet_counts.facet_fields.${field}`;\n// if (_.has(store,path)) {\n// const flat_facets = _.get(store,path);\n// let idList = [];\n// if (isNaN(+flat_facets[0])) {\n// for (let i = 0; i < flat_facets.length; i += 2) {\n// idList.push(flat_facets[i])\n// }\n// }\n// else {\n// for (let i = 0; i < flat_facets.length; i += 2) {\n// idList.push(+flat_facets[i])\n// }\n// if (idList.length === 1) idList.push(0);\n// }\n// return idList;\n// }\n// }\n//\n// grameneGenes.selectDomainFacets = store => selectFacetIDs(store, 'domains');\n// grameneGenes.selectPathwayFacets = store => selectFacetIDs(store, 'pathways');\n// grameneGenes.selectTaxonomyFacets = store => selectFacetIDs(store, 'taxon_id');\n//\n// const grameneDomains = createAsyncResourceBundle({\n// name: 'grameneDomains',\n// actionBaseType: 'GRAMENE_DOMAINS',\n// persist: false,\n// getPromise: ({store}) =>\n// fetch(`${store.selectGrameneAPI()}/domains?rows=-1&idList=${store.selectDomainFacets().join(',')}`)\n// .then(res => res.json())\n// .then(docs => {return {domains: docs, numFound: docs.length}})\n// });\n//\n// const gramenePathways = createAsyncResourceBundle({\n// name: 'gramenePathways',\n// actionBaseType: 'GRAMENE_PATHWAYS',\n// persist: false,\n// getPromise: ({store}) =>\n// fetch(`${store.selectGrameneAPI()}/pathways?rows=-1&idList=${store.selectPathwayFacets().join(',')}`)\n// .then(res => res.json())\n// .then(docs => {return {pathways: docs, numFound: docs.length}})\n// });\n//\n// const grameneTaxonomy = createAsyncResourceBundle({\n// name: 'grameneTaxonomy',\n// actionBaseType: 'GRAMENE_TAXONOMY',\n// persist: false,\n// getPromise: ({store}) =>\n// fetch(`${store.selectGrameneAPI()}/taxonomy?rows=-1&idList=${store.selectTaxonomyFacets().join(',')}`)\n// .then(res => res.json())\n// .then(docs => {return {taxonomy: docs, numFound: docs.length}})\n// });\n\n\nexport default [grameneSuggestions, grameneSearch, grameneMaps, grameneTaxonomy, grameneTaxDist, grameneOrthologs, curatedGenes];//, grameneExpressionStudies, grameneExpressionAssays];\n","import {createSelector} from \"redux-bundler\";\nimport _ from 'lodash';\nconst MAX_IDLIST_LENGTH = 20;\n\nfunction findNodeWithLeftIdx(node, idx) {\n if (node.leftIdx === idx) {\n return node;\n }\n let result=null;\n if (node.leftIdx < idx && node.hasOwnProperty('children')) {\n node.children.forEach(child => {\n if (child.rightIdx > idx) {\n child.parentIdx = node.leftIdx;\n const res = findNodeWithLeftIdx(child, idx);\n if (res) result = res;\n }\n })\n }\n return result;\n}\n\nfunction markSubtree(node, source, invert) {\n node.marked = (node.leftIdx >= source.leftIdx && node.rightIdx <= source.rightIdx);\n if (invert) node.marked = !node.marked;\n if (node.hasOwnProperty('children')) {\n node.children.forEach(child => {\n markSubtree(child, source, invert);\n })\n }\n}\n\nfunction reindexTree(node, idx) {\n node.leftIdx = idx;\n idx++;\n if (node.hasOwnProperty('children')) {\n node.children.forEach(child => {\n idx = reindexTree(child, idx);\n });\n }\n node.rightIdx = idx;\n idx++;\n return idx;\n}\n\nconst grameneFilters = {\n name: 'grameneFilters',\n getReducer: () => {\n const initialState = {\n status: 'init', // others include 'search', 'waiting' and 'ready'\n operation: 'AND',\n negate: false,\n marked: false,\n leftIdx: 0,\n rightIdx: 1,\n children: [],\n showMarked: false,\n showMenu: false,\n moveCopyMode: '',\n searchOffset: 0,\n rows: 20\n };\n return (state = initialState, {type, payload}) => {\n let newState;\n switch (type) {\n case 'GRAMENE_FILTERS_CLEARED': {\n newState = Object.assign({}, initialState, {\n status: 'search',\n children: []\n });\n return newState;\n }\n case 'GRAMENE_FILTER_ADDED': {\n const idx = state.rightIdx;\n newState = Object.assign({}, state, {\n status: 'search',\n showMarked: true,\n rightIdx: idx + 2,\n searchOffset: 0\n });\n let child = _.pick(payload, ['fq_field', 'fq_value', 'name', 'category']);\n child.leftIdx = idx;\n child.rightIdx = idx + 1;\n child.negate = false;\n child.showMenu = false;\n newState.children.push(child);\n markSubtree(newState, child, false);\n return newState;\n }\n case 'GRAMENE_FILTER_TREE_ADDED': {\n newState = Object.assign({}, state, {\n status: 'search',\n showMarked: true,\n rightIdx: payload.rightIdx + 1,\n searchOffset: 0\n });\n newState.children.push(payload);\n markSubtree(newState, payload, false);\n return newState;\n }\n case 'GRAMENE_FILTER_SET_ADDED': {\n // create a filter with the payload.operation and children payload.filters\n let filter = {\n leftIdx: state.rightIdx,\n rightIdx: state.rightIdx + (payload.filters.length) * 2 + 1,\n operation: payload.operation,\n negate: false,\n showMenu: false,\n children: payload.filters\n };\n if (payload.warning) {\n filter.warning = payload.warning\n }\n let nextIdx = filter.leftIdx+1;\n payload.filters.forEach(f => {\n f.leftIdx = nextIdx++;\n f.rightIdx = nextIdx++;\n f.negate = false;\n f.showMenu = false;\n });\n newState = Object.assign({}, state, {\n status: 'search',\n showMarked: true,\n searchOffset: 0,\n rightIdx: filter.rightIdx + 1\n });\n newState.children.push(filter);\n markSubtree(newState, filter, false);\n return newState;\n }\n case 'GRAMENE_FILTER_NEGATED': {\n newState = Object.assign({}, state, {\n status: 'search',\n showMarked: true,\n searchOffset: 0\n });\n let node = findNodeWithLeftIdx(newState, payload.leftIdx);\n if (node) {\n node.negate = !node.negate;\n markSubtree(newState, node, false);\n return newState;\n }\n break;\n }\n case 'GRAMENE_FILTER_DELETED': {\n newState = Object.assign({}, state, {\n status: 'search',\n showMarked: true,\n searchOffset: 0\n });\n let node = findNodeWithLeftIdx(newState, payload.leftIdx);\n if (node) {\n let parent = findNodeWithLeftIdx(newState, node.parentIdx);\n parent.children = parent.children.filter(child => child.leftIdx !== node.leftIdx);\n reindexTree(newState, 0);\n markSubtree(newState, parent, false);\n return newState;\n }\n break;\n }\n case 'GRAMENE_FILTER_OPERATION_CHANGED': {\n if (payload.hasOwnProperty('operation')) {\n newState = Object.assign({}, state, {\n status: 'search',\n showMarked: true,\n searchOffset: 0\n });\n let node = findNodeWithLeftIdx(newState, payload.leftIdx);\n node.operation = node.operation === 'AND' ? 'OR' : 'AND';\n markSubtree(newState, node, false);\n return newState;\n }\n break;\n }\n case 'GRAMENE_FILTER_MOVED': {\n newState = Object.assign({}, state, {\n status: 'search',\n showMarked: true,\n moveCopyMode: '',\n searchOffset: 0\n });\n let source = findNodeWithLeftIdx(newState, payload.source.leftIdx);\n let target = findNodeWithLeftIdx(newState, payload.target.leftIdx);\n if (source && target) {\n source.showMenu = false;\n let parent = findNodeWithLeftIdx(newState, source.parentIdx);\n parent.children = parent.children.filter(child => child.leftIdx !== source.leftIdx);\n target.showMenu = false;\n if (!target.hasOwnProperty('children')) {\n let targetCopy = Object.assign({}, target);\n target.children = [targetCopy];\n target.operation = 'OR';\n target.negate = false;\n delete target.fq_field;\n delete target.fq_value;\n delete target.name;\n delete target.category;\n }\n target.children.push(source);\n reindexTree(newState, 0);\n markSubtree(newState, target, false);\n return newState;\n }\n break;\n }\n case 'GRAMENE_FILTER_COPIED': {\n newState = Object.assign({}, state, {\n status: 'search',\n showMarked: true,\n moveCopyMode: '',\n searchOffset: 0\n });\n let source = findNodeWithLeftIdx(newState, payload.source.leftIdx);\n let target = findNodeWithLeftIdx(newState, payload.target.leftIdx);\n if (source && target) {\n source.showMenu = false;\n if (!target.hasOwnProperty('children')) {\n let targetCopy = Object.assign({}, target);\n target.children = [targetCopy];\n target.operation = 'OR';\n target.negate = false;\n delete target.fq_field;\n delete target.fq_value;\n delete target.name;\n delete target.category;\n }\n let sourceCopy = Object.assign({}, source);\n target.children.push(sourceCopy);\n reindexTree(newState, 0);\n markSubtree(newState, target, false);\n return newState;\n }\n break;\n }\n case 'GRAMENE_FILTER_TARGETS_MARKED':\n newState = Object.assign({}, state, {\n showMarked: true,\n moveCopyMode: payload.mode,\n moveCopySource: payload.source\n });\n markSubtree(newState, payload.source, true);\n return newState;\n case 'GRAMENE_FILTER_TARGETS_UNMARKED':\n newState = Object.assign({}, state, {\n showMarked: false\n });\n return newState;\n case 'GRAMENE_FILTERS_REPLACED':\n payload.status = 'search';\n payload.searchOffset = 0;\n return payload;\n case 'GRAMENE_FILTERS_STATUS_CHANGED':\n if (!(state.status === 'ready' && payload === 'waiting')) {\n return Object.assign({}, state, {status: payload})\n }\n break;\n case 'GRAMENE_FILTERS_SET_SHOW_MARKED':\n return Object.assign({}, state, {showMarked: payload});\n case 'GRAMENE_FILTER_MENU_TOGGLED':\n payload.showMenu = !payload.showMenu;\n return Object.assign({}, state);\n case 'GRAMENE_SEARCH_PAGE_REQUESTED':\n return Object.assign({}, state, {status: 'search', searchOffset: payload * state.rows});\n case 'GRAMENE_SEARCH_FETCH_STARTED':\n return Object.assign({}, state, {status: 'loading'});\n case 'GRAMENE_SEARCH_FETCH_FINISHED':\n return Object.assign({}, state, {status: 'finished'});\n case 'GRAMENE_GENOMES_UPDATED':\n return Object.assign({}, state, {status: 'search'});\n case 'URL_UPDATED':\n if (state.status === 'ready') {\n return Object.assign({}, initialState, {children:[]})\n }\n break;\n case 'APP_IDLE':\n if (state.showMarked) {\n return Object.assign({}, state, {showMarked: false})\n }\n }\n return state;\n }\n },\n doNegateGrameneFilter: filter => ({dispatch, getState}) => {\n dispatch({\n type: 'BATCH_ACTIONS', actions: [\n {type: 'GRAMENE_SEARCH_CLEARED'},\n {type: 'GRAMENE_FILTER_NEGATED', payload: filter}\n ]\n })\n },\n doDeleteGrameneFilter: filter => ({dispatch}) => {\n dispatch({\n type: 'BATCH_ACTIONS', actions: [\n {type: 'GRAMENE_SEARCH_CLEARED'},\n {type: 'GRAMENE_TAXONOMY_CLEARED'},\n {type: 'GRAMENE_FILTER_DELETED', payload: filter}\n ]\n })\n },\n doChangeGrameneFilterOperation: filter => ({dispatch}) => {\n dispatch({\n type: 'BATCH_ACTIONS', actions: [\n {type: 'GRAMENE_SEARCH_CLEARED'},\n {type: 'GRAMENE_FILTER_OPERATION_CHANGED', payload: filter}\n ]\n })\n },\n doMoveOrCopyGrameneFilter: (target) => ({dispatch, getState}) => {\n const state = getState();\n if (state.grameneFilters.moveCopyMode) {\n const source = state.grameneFilters.moveCopySource;\n dispatch({\n type: 'BATCH_ACTIONS', actions: [\n {type: 'GRAMENE_SEARCH_CLEARED'},\n {type: `GRAMENE_FILTER_${state.grameneFilters.moveCopyMode.toUpperCase()}D`, payload: {source, target}}\n ]\n })\n }\n },\n doCopyGrameneFilter: (source, target) => ({dispatch, getState}) => {\n dispatch({\n type: 'BATCH_ACTIONS', actions: [\n {type: 'GRAMENE_SEARCH_CLEARED'},\n {type: 'GRAMENE_FILTER_COPIED', payload: {source, target}}\n ]\n })\n },\n doMarkGrameneFilterTargets: (source, mode) => ({dispatch}) => {\n dispatch({type: 'GRAMENE_FILTER_TARGETS_MARKED', payload: {source:source, mode:mode}})\n },\n doUnmarkGrameneFilterTargets: () => ({dispatch}) => {\n dispatch({type: 'GRAMENE_FILTER_TARGETS_UNMARKED'})\n },\n doAcceptGrameneSuggestion: suggestion => ({dispatch, getState}) => {\n if (!suggestion.name) {\n suggestion.name = suggestion.display_name;\n }\n dispatch({\n type: 'BATCH_ACTIONS', actions: [\n {type: 'GRAMENE_SEARCH_CLEARED'},\n {type: 'GRAMENE_FILTER_ADDED', payload: suggestion}\n ]\n })\n },\n doAddGrameneRangeQuery: terms => ({dispatch}) => {\n dispatch({\n type: 'BATCH_ACTIONS', actions: [\n {type: 'GRAMENE_SEARCH_CLEARED'},\n {type: 'GRAMENE_FILTER_SET_ADDED', payload: {operation: 'AND', filters: terms}}\n ]\n })\n },\n doToggleGrameneFilterMenu: node => ({dispatch}) => {\n dispatch({type: 'GRAMENE_FILTER_MENU_TOGGLED', payload: node})\n },\n doRequestResultsPage: page => ({dispatch}) => {\n dispatch(\n {type: 'BATCH_ACTIONS', actions: [\n {type: 'GRAMENE_SEARCH_CLEARED'},\n {type: 'GRAMENE_SEARCH_PAGE_REQUESTED', payload: page}\n ]\n })\n },\n doReplaceGrameneFilters: filters => ({dispatch}) => {\n dispatch({\n type: 'BATCH_ACTIONS', actions: [\n {type: 'GRAMENE_SEARCH_CLEARED'},\n {type: 'GRAMENE_FILTERS_REPLACED', payload: filters}\n ]\n })\n },\n doClearGrameneFilters: () => ({dispatch}) => {\n dispatch({\n type: 'BATCH_ACTIONS', actions: [\n {type: 'GRAMENE_SEARCH_CLEARED'},\n {type: 'GRAMENE_FILTERS_CLEARED'}\n ]\n })\n },\n selectGrameneFilters: state => state.grameneFilters,\n selectGrameneFiltersStatus: state => state.grameneFilters.status,\n selectGrameneFiltersQueryString: state => {\n const hasSpaces = new RegExp(/^[^\\[\\(].*\\s/);\n const isQuery = new RegExp(/\\([a-zA-Z0-9_]+:[a-zA-Z0-9_]+\\s/);\n const idWithColon = new RegExp(/^[a-zA-Z0-9_]+:[a-zA-Z0-9_]+$/);\n function getQuery(node) {\n const negate = node.negate ? 'NOT ' : '';\n if (node.hasOwnProperty('children')) {\n // do some recursion\n return `${negate}(${node.children.map(c => getQuery(c)).sort().join(` ${node.operation} `)})`\n }\n else {\n // this node is a suggestion\n if (isQuery.test(node.fq_value))\n return `${negate}${node.fq_value.replace(/:/g,'\\\\:')}`;\n if (hasSpaces.test(node.fq_value))\n return `${negate}${node.fq_field}:\"${node.fq_value}\"`;\n else if (idWithColon.test(node.fq_value))\n return `${negate}${node.fq_field}:${node.fq_value.replace(/:/g,'\\\\:')}`;\n else\n return `${negate}${node.fq_field}:${node.fq_value}`\n }\n }\n if (state.grameneFilters.rightIdx === 1) {\n return '*:*';\n }\n return `*:* AND (${getQuery(state.grameneFilters)})`;\n },\n selectGrameneSearchOffset: state => state.grameneFilters.searchOffset,\n selectGrameneSearchRows: state => state.grameneFilters.rows\n};\n\nconst handleIdList = (queryObject) => {\n let actions = [{type: 'GRAMENE_SEARCH_CLEARED'}];\n let ids = _.uniq(queryObject.idList.split(','));\n let warning = null;\n if (ids.length > MAX_IDLIST_LENGTH) {\n ids = _.slice(ids, 0, MAX_IDLIST_LENGTH);\n warning = `The idList query parameter is limited to ${MAX_IDLIST_LENGTH} genes`\n }\n let filters = ids.map((id,idx) => {\n return {\n category: 'Gene',\n name: id,\n fq_field: 'id',\n fq_value: id\n }\n });\n if (filters.length === 1) {\n actions.push({type: 'GRAMENE_FILTER_ADDED', payload: filters[0]})\n }\n else {\n let action = {type: 'GRAMENE_FILTER_SET_ADDED', payload: {operation: 'OR', filters:filters}};\n if (warning) {\n action.payload.warning = warning\n }\n actions.push(action)\n }\n return { type: 'BATCH_ACTIONS', actions: actions };\n};\n\ngrameneFilters.reactGrameneFilters = createSelector(\n 'selectQueryObject',\n 'selectGrameneFilters',\n 'selectActiveGenomes',\n 'selectUrlObject',\n (queryObject, filters, genomes, myUrl) => {\n if (filters.status === 'init') {\n if (queryObject.filters) {\n const newFilters = JSON.parse(queryObject.filters);\n let actions = [\n {type: 'GRAMENE_SEARCH_CLEARED'},\n {type: 'GRAMENE_FILTERS_REPLACED', payload: newFilters}\n ];\n if (queryObject.genomes) {\n let active={};\n queryObject.genomes.split(',').forEach(t => {\n active[t]=true\n });\n actions.push({type: 'GRAMENE_GENOMES_UPDATED', payload: active});\n }\n return { type: 'BATCH_ACTIONS', actions: actions };\n }\n if (queryObject.hasOwnProperty('suggestion')) {\n return {\n type: 'BATCH_ACTIONS', actions: [\n {type: 'GRAMENE_SEARCH_CLEARED'},\n {type: 'GRAMENE_FILTER_ADDED', payload: JSON.parse(queryObject.suggestion)}\n ]\n };\n }\n if (queryObject.hasOwnProperty('idList')) {\n return handleIdList(queryObject);\n }\n const url = new URL(myUrl.href);\n if (url.pathname === '/genes') {\n return {type: 'GRAMENE_FILTERS_CLEARED'}\n }\n }\n if (filters.status === 'finished') {\n const url = new URL(myUrl.href);\n url.search = `filters=${JSON.stringify(Object.assign({}, filters, {status: 'init'}))}&genomes=${genomes.join(',')}`;\n return {\n type: 'BATCH_ACTIONS', actions: [\n {type: 'URL_UPDATED', payload: {url: url.href, replace:false}},\n {type: 'GRAMENE_FILTERS_STATUS_CHANGED', payload: 'ready'}\n ]\n }\n }\n }\n);\n\nexport default grameneFilters;","const grameneViews = {\n name: 'grameneViews',\n getReducer: () => {\n const initialState = {\n options: [\n // {\n // id: 'help',\n // name: 'Help / Demo',\n // show: 'off'\n // },\n {\n id: 'taxonomy',\n name: 'Taxonomic distribution',\n show: 'on'\n },\n {\n id: 'list',\n name: 'Gene list',\n show: 'on'\n }\n // {\n // id: 'pathways',\n // name: 'Pathways',\n // show: 'disabled'\n // },\n // {\n // id: 'domains',\n // name: 'Domains',\n // show: 'disabled'\n // },\n // {\n // id: 'go',\n // name: 'GO terms',\n // show: 'disabled'\n // }\n ]\n };\n return (state = initialState, {type, payload}) => {\n let newState;\n switch (type) {\n case 'GRAMENE_VIEW_TOGGLED':\n newState = Object.assign({},state);\n newState.options[payload].show = newState.options[payload].show === 'on' ? 'off' : 'on';\n return newState;\n default:\n return state;\n }\n }\n },\n doToggleGrameneView: idx => ({dispatch, getState}) => {\n dispatch({type: 'GRAMENE_VIEW_TOGGLED', payload: idx})\n },\n selectGrameneViews: state => state.grameneViews,\n};\n\nexport default grameneViews;","const grameneDocs = {\n name: 'grameneDocs',\n getReducer: () => {\n const initialState = {\n genes: {},\n trees: {},\n domains: {},\n pathways: {},\n expression: {}\n };\n return (state = initialState, {type, payload}) => {\n let newState;\n switch (type) {\n case 'GRAMENE_GENE_REQUESTED':\n if (!state.genes.hasOwnProperty(payload)) {\n newState = Object.assign({}, state);\n newState.genes[payload] = {};\n return newState;\n }\n break;\n case 'GRAMENE_GENE_RECEIVED':\n newState = Object.assign({}, state);\n newState.genes = Object.assign({}, state.genes, payload);\n return newState;\n case 'GRAMENE_TREE_REQUESTED':\n if (!state.trees.hasOwnProperty(payload)) {\n newState = Object.assign({}, state);\n newState.trees[payload] = {};\n return newState;\n }\n break;\n case 'GRAMENE_TREE_RECEIVED':\n newState = Object.assign({}, state);\n newState.trees = Object.assign({}, state.trees, payload);\n return newState;\n // case 'GRAMENE_PATHWAYS_REQUESTED':\n // newState = Object.assign({}, state);\n // payload.forEach(id => {\n // if (!state.pathways.hasOwnProperty(id)) {\n // newState.pathways[id] = {};\n // }\n // });\n // return newState;\n case 'GRAMENE_PATHWAYS_RECEIVED':\n newState = Object.assign({}, state);\n newState.pathways = Object.assign({}, state.pathways, payload);\n return newState;\n case 'PARALOG_EXPRESSION_REQUESTED':\n if (!state.expression.hasOwnProperty(payload)) {\n newState = Object.assign({},state);\n newState.expression[payload] = [];\n return newState;\n }\n break;\n case 'PARALOG_EXPRESSION_RECEIVED':\n newState = Object.assign({}, state);\n newState.expression = Object.assign({}, state.expression);\n newState.expression[payload.id] = payload.paralogs;\n return newState;\n }\n return state;\n }\n },\n doRequestGrameneGene: id => ({dispatch, store}) => {\n const genes = store.selectGrameneGenes();\n if (!genes.hasOwnProperty(id)) {\n dispatch({type: 'GRAMENE_GENE_REQUESTED', payload: id});\n fetch(`${store.selectGrameneAPI()}/genes?idList=${id}`)\n .then(res => res.json())\n .then(res => {\n let genes = {};\n res.forEach(g => {\n genes[g._id] = g;\n });\n dispatch({type: 'GRAMENE_GENE_RECEIVED', payload: genes})\n })\n }\n },\n doRequestGrameneTree: id => ({dispatch, store}) => {\n const trees = store.selectGrameneTrees();\n const maps = store.selectGrameneMaps();\n if (!trees.hasOwnProperty(id)) {\n dispatch({type: 'GRAMENE_TREE_REQUESTED', payload: id});\n fetch(`${store.selectGrameneAPI()}/genetrees?idList=${id}`)\n .then(res => res.json())\n .then(res => {\n let trees = {};\n res.forEach(t => {\n function update_taxon_name(node) {\n if (maps.hasOwnProperty(node.taxon_id)) {\n node.taxon_name = maps[node.taxon_id].display_name\n }\n else if (node.taxon_id === 1100004558) {\n node.taxon_name = \"Sorghum bicolor\"\n }\n if (node.taxon_id === 45770001 && node.hasOwnProperty('children')) {\n node.taxon_name = \"Zea mays\"\n }\n if (node.taxon_id === 297600009 && node.hasOwnProperty('children')) {\n node.taxon_name = \"Vitis vinifera\"\n }\n if (node.hasOwnProperty('children')) {\n node.children.forEach(c => update_taxon_name(c))\n }\n }\n update_taxon_name(t);\n trees[t._id] = t;\n });\n dispatch({type: 'GRAMENE_TREE_RECEIVED', payload: trees})\n })\n }\n },\n doRequestGramenePathways: ids => ({dispatch, store}) => {\n const pathways = store.selectGramenePathways();\n let newIds = ids.filter(id => !pathways.hasOwnProperty(id));\n if (newIds) {\n dispatch({type: 'GRAMENE_PATHWAYS_REQUESTED', payload: newIds});\n fetch(`${store.selectGrameneAPI()}/pathways?idList=${newIds.join(',')}`)\n .then(res => res.json())\n .then(res => {\n let pathways = {};\n res.forEach(p => {\n pathways[p._id] = p;\n });\n dispatch({type: 'GRAMENE_PATHWAYS_RECEIVED', payload: pathways})\n })\n }\n },\n doRequestParalogExpression: id => ({dispatch, store}) => {\n const expr = store.selectParalogExpression();\n if (!expr.hasOwnProperty(id)) {\n dispatch({type: 'PARALOG_EXPRESSION_REQUESTED', payload: id});\n fetch(`${store.selectGrameneAPI()}/search?q=homology__within_species_paralog:${id}&fl=id,name,*__expr&rows=100`)\n .then(res => res.json())\n .then(res => {\n const assay_re = /(.+)_tpms_g(\\d+)/;\n const paralogs = res.response.docs.map(d => {\n let p = {\n id: d.id,\n name: d.name,\n experiments: {},\n min:1000,\n max:0\n };\n delete d.id;\n delete d.name;\n Object.entries(d).forEach(assay => {\n const parsed = assay[0].match(assay_re);\n const expr = parsed[1].replace('_','-');\n if (! p.experiments.hasOwnProperty(expr)) {\n p.experiments[expr] = [];\n }\n const g = parsed[2] - 1;\n const e = d[assay[0]];\n if (e < p.min) p.min = e;\n if (e > p.max) p.max = e;\n p.experiments[expr][g] = e;\n });\n return p;\n }).map(p => {\n for (const expr in p.experiments) {\n p.experiments[expr] = p.experiments[expr].filter(e => e >= 0);\n }\n return p;\n });\n dispatch({type: 'PARALOG_EXPRESSION_RECEIVED', payload: {id, paralogs}});\n })\n }\n },\n selectGrameneGenes: state => state.grameneDocs.genes,\n selectGrameneTrees: state => state.grameneDocs.trees,\n selectGramenePathways: state => state.grameneDocs.pathways,\n selectParalogExpression: state => state.grameneDocs.expression\n};\n\nexport default grameneDocs;\n","import {createSelector} from \"redux-bundler\";\nconst grameneGenomes = {\n name: 'grameneGenomes',\n getReducer: () => {\n const initialState = {\n show: false,\n active: {}\n };\n return (state = initialState, {type, payload}) => {\n let newState;\n switch (type) {\n case 'GRAMENE_GENOMES_TOGGLED':\n newState = Object.assign({},state);\n newState.show = !newState.show;\n return newState;\n case 'GRAMENE_GENOMES_UPDATED':\n newState = Object.assign({}, state);\n newState.active = payload;\n return newState;\n default:\n return state;\n }\n }\n },\n doShowGrameneGenomes: () => ({dispatch, getState}) => {\n dispatch({type: 'GRAMENE_GENOMES_TOGGLED'})\n },\n doUpdateGrameneGenomes: genomes => ({dispatch, getState}) => {\n dispatch({type: 'BATCH_ACTIONS', actions: [\n {type: 'GRAMENE_SEARCH_CLEARED'},\n {type: 'GRAMENE_GENOMES_TOGGLED'},\n {type: 'GRAMENE_GENOMES_UPDATED', payload: genomes}]})\n },\n selectGrameneGenomes: state => state.grameneGenomes,\n selectActiveGenomes: state => {\n return Object.keys(state.grameneGenomes.active)\n },\n selectActiveGenomeCount: createSelector(\n 'selectGrameneMaps',\n 'selectGrameneGenomes',\n (maps,genomes) => {\n if (maps && genomes) {\n return Object.keys(genomes.active).length || Object.keys(maps).length;\n }\n return 0;\n }\n )\n};\n\nexport default grameneGenomes;","import {connect} from 'redux-bundler-react'\nimport React from 'react'\n\nconst Gene = ({gene}) => {\n return <div className=\"row\">{gene.id}</div>\n};\n\nconst Genes = (results, rows, doChangeQuantity) => {\n if (results && results.numFound > 0) {\n const moreButton = (results.numFound > rows)\n ? <button onClick={e => doChangeQuantity('Genes',20)}>more</button>\n : '';\n const fewerButton = (rows > 20)\n ? <button onClick={e => doChangeQuantity('Genes',-20)}>fewer</button>\n : '';\n const docsToShow = results.response.docs.slice(0,rows);\n return (\n <div id=\"Genes\" className=\"container mb40 anchor\">\n <div className=\"fancy-title mb40\">\n <h4>Genes</h4>\n </div>\n {docsToShow.map((doc,idx) => <Gene key={idx} gene={doc}/>)}\n {fewerButton}{moreButton}\n </div>\n );\n }\n};\n\nconst Pathway = ({pathway}) => {\n return <div className=\"row\">{pathway.name}</div>\n};\nconst Pathways = results => {\n if (results && results.numFound > 0) {\n return (\n <div id=\"Pathways\" className=\"container mb40 anchor\">\n <div className=\"fancy-title\">\n <h4>Pathways</h4>\n </div>\n {results.pathways.map((doc,idx) => (<Pathway key={idx} pathway={doc}/>))}\n </div>\n );\n }\n};\n\nconst Domain = ({domain}) => {\n return <div className=\"row\">{domain.id}</div>\n};\nconst Domains = results => {\n if (results && results.numFound > 0) {\n return (\n <div id=\"Domains\" className=\"container mb40 anchor\">\n <div className=\"fancy-title mb40\">\n <h4>Domains</h4>\n </div>\n {results.domains.map((doc,idx) => (<Domain key={idx} domain={doc}/>))}\n </div>\n );\n }\n};\n\nconst Taxon = ({taxon}) => {\n return <div className=\"row\">{taxon.id}</div>\n};\nconst Species = results => {\n if (results && results.numFound > 0) {\n return (\n <div id=\"Species\" className=\"container mb40 anchor\">\n <div className=\"fancy-title mb40\">\n <h4>Species</h4>\n </div>\n {results.taxonomy.map((doc,idx) => (<Taxon key={idx} taxon={doc}/>))}\n </div>\n );\n }\n};\n\nconst ResultList = ({grameneGenes, grameneDomains, gramenePathways, grameneTaxonomy, searchUI, searchUpdated, doChangeQuantity}) => {\n if (searchUI.Gramene) {\n return (\n <div id=\"gramene\" className=\"row\">\n <div className=\"fancy-title pt50\">\n <h3>Gramene search results</h3>\n </div>\n {searchUI.Genes && Genes(grameneGenes, searchUI.rows.Genes, doChangeQuantity)}\n {searchUI.Domains && Domains(grameneDomains)}\n {searchUI.Pathways && Pathways(gramenePathways)}\n {searchUI.Species && Species(grameneTaxonomy)}\n </div>\n )\n }\n else {\n return null;\n }\n};\n\nexport default connect(\n 'selectGrameneGenes',\n 'selectGrameneDomains',\n 'selectGramenePathways',\n 'selectGrameneTaxonomy',\n 'selectSearchUI',\n 'selectSearchUpdated',\n 'doChangeQuantity',\n ResultList\n);\n","import {connect} from 'redux-bundler-react'\nimport React from 'react'\n\nconst getStatus = (cat, results, isChecked, toggle) => {\n const tally = results ? results.numFound : <img src=\"/static/images/dna_spinner.svg\"/>;\n return (\n <li className='category-leaf'>\n <input type=\"checkbox\" checked={isChecked} onChange={e => toggle(cat)}/>\n <a data-scroll href={`#${cat}`} className=\"nav-link active\">{cat}<span style={{float:\"right\"}}>{tally}</span></a>\n </li>\n )\n};\n\nconst ResultSummary = ({grameneGenes, gramenePathways, grameneDomains, grameneTaxonomy, searchUI, searchUpdated, doToggleCategory}) => {\n const status = grameneGenes ?\n grameneGenes.numFound:\n<img src=\"/static/images/dna_spinner.svg\"/>;\n if (searchUI.Gramene) return (\n <li className=\"active category-expanded\">\n <a onClick={e => doToggleCategory('Gramene')}>\n Gramene Search<span style={{float:\"right\"}}>{status}</span>\n </a>\n <ul className=\"list-unstyled\">\n {getStatus('Genes', grameneGenes, searchUI.Genes, doToggleCategory)}\n {getStatus('Domains', grameneDomains, searchUI.Domains, doToggleCategory)}\n {getStatus('Pathways', gramenePathways, searchUI.Pathways, doToggleCategory)}\n {getStatus('Species', grameneTaxonomy, searchUI.Species, doToggleCategory)}\n</ul>\n </li>\n);\nelse return (\n <li className=\"active category-collapsed\">\n <a onClick={e => doToggleCategory('Gramene')}>\n Gramene Search<span\n style={{float:\"right\"}}>{status}</span>\n </a>\n </li>\n);\n};\n\nexport default connect(\n 'selectGrameneGenes',\n 'selectGramenePathways',\n 'selectGrameneDomains',\n 'selectGrameneTaxonomy',\n 'selectSearchUI',\n 'selectSearchUpdated',\n 'doToggleCategory',\n ResultSummary\n);\n","import {connect} from 'redux-bundler-react'\nimport React from 'react'\nimport { Button, Badge, Alert } from 'react-bootstrap'\nimport './styles.css'\n\nfunction showMatches(text, x) {\n let re = new RegExp(`(${x})`, 'ig');\n let match = text.split(re);\n console.log('showMatches',text, x, match);\n return <span>\n {match.map((str, idx) => {\n if (idx % 2 === 1) {\n return <span key={idx} style={{fontWeight:'bolder'}}>{str}</span>\n }\n return <span key={idx}>{str}</span>\n })}\n </span>\n}\n\nconst Suggestions = props => {\n let suggestions = props.grameneSuggestions;\n if (suggestions && suggestions.grouped) {\n if (suggestions.grouped.category.matches === 0) {\n let sugg1 = {\n fq_field: 'text',\n fq_value: props.suggestionsQuery,\n name: `Genes containing \"${props.suggestionsQuery}\"`,\n category: 'Gene',\n };\n let sugg2 = {\n fq_field: 'text',\n fq_value: `${props.suggestionsQuery}*`,\n name: `Genes matching \"${props.suggestionsQuery}*\"`,\n category: 'Gene',\n };\n return (\n <div style={{margin: '10px', maxWidth: '820px'}}>\n <Alert variant={'info'}><em>No suggestions found.</em> You may still attempt a full text search, though it is unlikely to find any genes for you.</Alert>\n <Button id={'word'}\n size={'sm'}\n variant={'outline-secondary'}\n onClick={() => {props.doAcceptSuggestion(sugg1); props.doAcceptGrameneSuggestion(sugg1)}}>\n {`All genes that contain the word \"${props.suggestionsQuery}\"`}\n </Button>\n <Button id={'word'}\n size={'sm'}\n variant={'outline-secondary'}\n onClick={() => {props.doAcceptSuggestion(sugg2); props.doAcceptGrameneSuggestion(sugg2)}}>\n {`All genes that contain a word that starts with \"${props.suggestionsQuery}\"`}\n </Button>\n </div>\n );\n }\n else {\n return (\n <div style={{margin: '10px'}}>\n {suggestions.grouped.category.groups.map((g,idx) => {\n return <div key={idx} id='gramene-suggestion'>\n <h4 className=\"mt10\">{g.groupValue}</h4>\n {g.doclist.docs.map((sugg,jdx) =>\n <Button id={`${idx}-${jdx}`}\n key={jdx}\n disabled={sugg.num_genes === 0}\n size='sm'\n variant=\"outline-secondary\"\n onClick={() => {props.doAcceptSuggestion(sugg); props.doAcceptGrameneSuggestion(sugg)}}>\n {showMatches(sugg.display_name,props.suggestionsQuery)}{' '}\n <Badge variant=\"secondary\">{sugg.num_genes}</Badge>\n </Button>\n )}\n </div>\n })}\n </div>\n );\n }\n }\n else {\n return <div></div>\n }\n}\n\nexport default connect(\n 'selectGrameneSuggestions',\n 'selectSuggestionsQuery',\n 'doAcceptSuggestion',\n 'doAcceptGrameneSuggestion',\n Suggestions\n);\n","import React from 'react'\nimport { connect } from 'redux-bundler-react'\nimport { Alert, OverlayTrigger, Popover, Modal } from 'react-bootstrap'\nimport { IoAlertCircle } from 'react-icons/io5'\nimport { BsGearFill,BsTrash } from 'react-icons/bs'\nimport GeneList from './results/GeneList'\nimport TaxDist from './results/TaxDist'\nimport HelpDemo from './results/HelpDemo'\nimport TaxonomyModal from './TaxonomyModal'\nimport './styles.css';\n\nconst inventory = {\n help: HelpDemo,\n list: GeneList,\n taxonomy: TaxDist\n};\n\nconst StatusCmp = props => {\n let content = props.grameneFiltersStatus;\n // if (props.grameneFiltersStatus === 'init') {\n // props.doClearGrameneFilters();\n // }\n if (props.grameneFiltersStatus === 'ready') {\n let tally = <span>Ready</span>;\n if (props.grameneSearch) {\n let genes = props.grameneSearch.response.numFound;\n let genomes = props.grameneSearch.facet_counts.facet_fields.taxon_id.length / 2;\n tally = <span><b>{genes}</b> genes in <b>{genomes}</b> genomes</span>;\n }\n const popover = (\n <Popover>\n <Popover.Title as=\"h3\">Genomes Filter</Popover.Title>\n <Popover.Content>Searching {props.activeGenomeCount} genomes</Popover.Content>\n </Popover>\n );\n\n content = <span>\n {tally}\n <OverlayTrigger placement=\"auto\" overlay={popover}>\n <span style={{float:'right', cursor:'pointer'}} onClick={props.doShowGrameneGenomes}><BsGearFill/></span>\n </OverlayTrigger>\n <TaxonomyModal/>\n </span>;\n }\n return <div style={{padding:'5px', backgroundColor:'dimgray', color:'cornsilk', fontSize:'small'}}>{content}</div>\n};\n\nconst Status = connect(\n 'selectGrameneSearch',\n 'selectGrameneFiltersStatus',\n 'selectActiveGenomeCount',\n 'doShowGrameneGenomes',\n 'doClearGrameneFilters',\n StatusCmp\n);\n\nconst handleClick = (e, moveCopyMode, showMarked, node, actions) => {\n if (!e) e = window.event;\n e.cancelBubble = true;\n if (e.stopPropagation) e.stopPropagation();\n\n if (showMarked && moveCopyMode) {\n if (node.marked) {\n actions.selectTarget(node);\n }\n else {\n actions.unmarkTargets()\n }\n }\n console.log(node, showMarked);\n};\n\nconst Filter = ({node,moveCopyMode,showMarked,actions}) => {\n let classes = 'gramene-filter gramene-filter';\n if (node.operation) {\n classes = `${classes}-${node.operation}`\n }\n if (node.negate) {\n classes = `${classes} gramene-filter-NOT`\n }\n if (showMarked && node.marked) {\n classes = `${classes} gramene-filter-marked`\n }\n let content = '';\n let menu = '';\n let children = [];\n\n if (node.showMenu) {\n let key=1;\n let menuItems = [];\n if (node.hasOwnProperty('operation')) {\n menuItems.push(<li key={key++} onClick={()=>actions.changeOperation(node)}>convert to <i>{node.operation === 'AND' ? 'OR' : 'AND'}</i></li>);\n }\n if (node.leftIdx > 0) {\n menuItems.push(<li key={key++} onClick={()=>actions.deleteNode(node)}>delete</li>);\n menuItems.push(<li key={key++} onClick={()=>actions.markTargets(node,'move')}>move{node.isSource && ' select destination'}</li>);\n menuItems.push(<li key={key++} onClick={()=>actions.markTargets(node,'copy')}>copy{node.isSource && ' select destination'}</li>)\n }\n menuItems.push(<li key={key++} onClick={()=>actions.negate(node)}>negate</li>);\n menu = <div className='gramene-filter-menu'><ul>{menuItems}</ul></div>;\n }\n let warning;\n if (node.warning) {\n const popover = (\n <Popover>\n <Popover.Title as=\"h3\">Warning</Popover.Title>\n <Popover.Content>{node.warning}</Popover.Content>\n </Popover>\n );\n warning = (\n <OverlayTrigger placement=\"auto\" overlay={popover}><span style={{float:'right', color:'red', cursor:'pointer'}}><IoAlertCircle/></span></OverlayTrigger>\n )\n }\n if (node.operation) {\n children = node.children.map((child,idx) => <Filter key={idx} moveCopyMode={moveCopyMode} node={child} showMarked={showMarked} actions={actions}/>);\n content = (\n <div>\n <span className='gramene-filter-operation'\n onClick={()=>actions.toggleMenu(node)}>{node.operation}</span>\n {warning}\n </div>\n );\n }\n else {\n content = <span className='gramene-filter-text'\n onClick={()=>actions.toggleMenu(node)}>{node.category} | {node.name}</span>;\n }\n return (\n <div key={node.leftIdx} className={classes} onClick={(e)=>handleClick(e,moveCopyMode, showMarked,node,actions)}>\n {content}{menu}{children}\n </div>\n )\n};\n\nconst FiltersCmp = props => {\n const actions = {\n negate: props.doNegateGrameneFilter,\n deleteNode: props.doDeleteGrameneFilter,\n changeOperation: props.doChangeGrameneFilterOperation,\n selectTarget: props.doMoveOrCopyGrameneFilter,\n markTargets: props.doMarkGrameneFilterTargets,\n unmarkTargets: props.doUnmarkGrameneFilterTargets,\n toggleMenu: props.doToggleGrameneFilterMenu\n };\n if (props.grameneFilters.rightIdx > 1) {\n return <div className='gramene-filter-container'>\n <b>Filters</b>\n <span style={{float:'right', cursor:'pointer'}} onClick={props.doClearGrameneFilters}><BsTrash/></span>\n <Filter node={props.grameneFilters}\n moveCopyMode={props.grameneFilters.moveCopyMode}\n showMarked={props.grameneFilters.showMarked}\n actions={actions}/>\n </div>\n }\n else {\n return <div className='gramene-filter-container'>\n <b>Filters</b>\n <div className='gramene-filter gramene-filter-AND'>No filters defined</div>\n </div>\n }\n};\n\nconst Filters = connect(\n 'selectGrameneFilters',\n 'doNegateGrameneFilter',\n 'doDeleteGrameneFilter',\n 'doChangeGrameneFilterOperation',\n 'doMoveOrCopyGrameneFilter',\n 'doMarkGrameneFilterTargets',\n 'doUnmarkGrameneFilterTargets',\n 'doToggleGrameneFilterMenu',\n 'doClearGrameneFilters',\n FiltersCmp\n);\n\nconst ResultsCmp = props => {\n let activeViews = props.grameneViews.options.filter((v,idx) => {\n v.idx = idx;\n return v.show === 'on'\n });\n // if (props.grameneFilters.rightIdx === 1 || activeViews.length === 0) {\n // return <HelpDemo/>\n // }\n return props.grameneFilters.rightIdx > 1 ? (\n <div style={{padding:'10px'}}>\n {activeViews.map(v => {\n let p = Object.assign({}, props);\n p.key = v.idx;\n return (\n <div key={v.idx}>\n {/*<Alert variant=\"primary\" onClose={() => props.doToggleGrameneView(v.idx)} dismissible>*/}\n {/* {v.name}*/}\n {/*</Alert>*/}\n {React.createElement(inventory[v.id], p)}\n </div>\n )\n })}\n </div>\n ) : null;\n};\n\nconst Results = connect(\n 'selectGrameneFilters',\n 'selectGrameneViews',\n 'doToggleGrameneView',\n ResultsCmp\n);\n\nconst ViewsCmp = props => (\n <div className={'gramene-view-container'}>\n <b>Views</b>\n <ul className={'gramene-view'}>\n {props.grameneViews.options.map((view,idx) => (\n <li key={idx} className={`gramene-view-${view.show}`}\n onClick={(e) => {\n if (view.show !== 'disabled') {\n props.doToggleGrameneView(idx)\n }\n }}\n >{view.name}</li>\n ))}\n </ul>\n {/*<div>*/}\n {/* Key:*/}\n {/* <ul className={'gramene-view'}>*/}\n {/* <li className='gramene-view-on'>On</li>*/}\n {/* <li className='gramene-view-off'>Off</li>*/}\n {/* <li className='gramene-view-disabled'>Disabled</li>*/}\n {/* </ul>*/}\n {/*</div>*/}\n \n </div>\n);\n\nconst Views = connect(\n 'selectGrameneViews',\n 'doToggleGrameneView',\n ViewsCmp\n);\n\nexport {Status, Filters, Results, Views};","import React from 'react'\nimport ReactGA from 'react-ga'\nimport { connect } from 'redux-bundler-react'\nimport './genes.css'\nimport Expression from './details/Expression'\nimport Homology from './details/Homology'\nimport Location from './details/Location'\nimport Pathways from \"./details/Pathways\"\nimport Xrefs from \"./details/Xrefs\"\nimport {GrFormPrevious, GrFormNextLink, GrFormNext, GrHpe} from 'react-icons/gr'\nimport { Badge } from 'react-bootstrap'\n\nlet external = <small title=\"This link opens a page from an external site\"> <i className=\"fa fa-external-link\"/></small>;\n\nlet inventory = {\n location: Location,\n expression: Expression,\n homology: Homology,\n pathways: Pathways,\n xrefs: Xrefs\n};\n\nfunction renderTairSummary(searchResult) {\n const summary = searchResult.summary;\n if(summary && searchResult.taxon_id === 3702) {\n return (\n <div className=\"gene-summary-tair\">\n {trimSummary(summary)}\n </div>\n )\n }\n}\n\nfunction trimSummary(summary) {\n if(summary.length > 160) {\n const start = summary.substr(0, 150);\n const rest = summary.substr(150);\n return <p>{start}<span className=\"ellipsis\">…</span><span className=\"rest\">{rest}</span></p>\n }\n else {\n return <p>{summary}</p>\n }\n}\n\nconst ClosestOrtholog = ({gene}) =>\n{\n let name, desc, species;\n\n if (gene.model_rep_id) {\n name = gene.model_rep_name || gene.model_rep_id;\n desc = gene.model_rep_description;\n species = gene.model_rep_species_name;\n }\n\n else if (gene.closest_rep_id) {\n name = gene.closest_rep_name || gene.closest_rep_id;\n desc = gene.closest_rep_description;\n species = gene.closest_rep_species_name;\n }\n\n return (\n <div className=\"closest-ortholog\">\n <h4>\n <span className=\"gene-id\">{name}</span>\n <small className=\"species-name\"> {species}</small>\n </h4>\n <p>{desc}</p>\n </div>\n );\n};\n\nfunction renderClosestOrtholog(gene) {\n\n if (shouldShowClosestOrtholog(gene)) {\n\n // we used to not add the closest ortholog to the DOM if the homology detail was visible.\n // however, that could cause the height of the result to change. Instead we set visibility:hidden\n // so that the renderer takes into account the height of the ortholog even if not shown.\n return (\n <ClosestOrtholog gene={gene}/>\n );\n }\n}\n\n// show closest ortholog prominently if we have data to show:-\n// a. either there's a closest ortholog (determined by traversing the gene tree until an id or description looks\n// curated) b. or there's a model ortholog (traverse tree to find an ortholog in arabidopsis)\nfunction shouldShowClosestOrtholog(searchResult) {\n return (\n searchResult.closest_rep_id || (\n searchResult.model_rep_id &&\n searchResult.model_rep_id !== searchResult.id\n )\n );\n}\n\nclass Gene extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n details: [\n {\n id: 'location',\n label: 'Location',\n available: false\n },\n {\n id: 'expression',\n label: 'Expression',\n available: false\n },\n {\n id: 'homology',\n label: 'Homology',\n available: false\n },\n {\n id: 'pathways',\n label: 'Pathways',\n available: false\n },\n // {\n // id: 'pubs',\n // label: 'Publications',\n // available: false\n // },\n {\n id: 'xrefs',\n label: 'Xrefs',\n available: false\n }\n ],\n expandedDetail: props.expandedDetail\n };\n let hasData = {};\n props.searchResult.capabilities.forEach(c => hasData[c]=true);\n this.state.details.forEach(d => d.available = hasData.hasOwnProperty(d.id));\n }\n getDetailStatus(d) {\n if (this.state.expandedDetail === d.id) return 'expanded';\n return d.available ? 'closed' : 'disabled';\n }\n setExpanded(d) {\n if (d.available) {\n if (this.state.expandedDetail === d.id) {\n this.setState({expandedDetail: null})\n }\n else {\n const geneId = this.props.searchResult.id;\n if (!(this.props.geneDocs && this.props.geneDocs.hasOwnProperty(geneId))) {\n this.props.requestGene(geneId)\n }\n this.setState({expandedDetail: d.id})\n }\n }\n }\n ensureGene(id) {\n if (!(this.props.geneDocs && this.props.geneDocs.hasOwnProperty(id))) {\n this.props.requestGene(id);\n return false;\n }\n return this.props.geneDocs[id].hasOwnProperty('taxon_id')\n }\n renderMetadata() {\n let gene = this.props.searchResult;\n if (gene.model_rep_taxon_id) {\n gene.model_rep_species_name = this.props.taxLut[gene.model_rep_taxon_id].name;\n }\n if (gene.closest_rep_taxon_id) {\n gene.closest_rep_species_name = this.props.taxLut[gene.closest_rep_taxon_id].name;\n }\n return renderTairSummary(gene) || renderClosestOrtholog(gene);\n }\n render() {\n const ensemblURL = this.props.ensemblURL;\n const searchResult = this.props.searchResult;\n const taxName = this.props.taxName;\n // let orthologs='';\n // if (this.props.orthologs && this.props.orthologs.hasOwnProperty(searchResult.id)) {\n // orthologs = this.props.orthologs[searchResult.id].join(', ');\n // }\n const numWordsInDescription = searchResult.description.split(' ').length;\n return (\n <div className=\"result-gene\">\n <div className=\"result-gene-summary\">\n <div className=\"result-gene-title-body\">\n <h3 className=\"gene-title\">\n <span className=\"gene-name\">{searchResult.name}</span>\n {searchResult.id !== searchResult.name && <small className=\"gene-id\">{' '}{searchResult.id}</small>}\n <ReactGA.OutboundLink\n eventLabel={searchResult.system_name}\n to={`${ensemblURL}/${searchResult.system_name}/Info/Index`}\n className=\"external-link\"\n >\n <small className=\"gene-species\">{taxName}</small>\n </ReactGA.OutboundLink>\n </h3>\n {searchResult.synonyms && <small className=\"gene-synonyms\">{searchResult.synonyms.join(', ')}</small>}\n {numWordsInDescription > 1 && <p className=\"gene-description\">{searchResult.description}</p>}\n </div>\n {this.renderMetadata()}\n </div>\n <div className=\"gene-detail-tabs\">\n {this.state.details.map((d,idx) => (\n <div key={idx}\n className={`col-md-1 text-center gene-detail-tab-${this.getDetailStatus(d)}`}\n onClick={()=>this.setExpanded(d)}\n >{d.label}</div>\n ))}\n </div>\n {this.state.expandedDetail && this.ensureGene(searchResult.id) && <div className=\"visible-detail\">{React.createElement(inventory[this.state.expandedDetail], this.props)}</div>}\n </div>\n )\n }\n}\n\nconst GeneList = props => {\n if (props.grameneSearch && props.grameneSearch.response && props.grameneTaxonomy) {\n let prev,page,next;\n const numFound = props.grameneSearch.response.numFound;\n if (numFound > props.grameneSearchRows) {\n const pageNum = props.grameneSearchOffset/props.grameneSearchRows;\n page = <span style={{padding:'10px'}}>page <b>{pageNum + 1}</b> of <b>{Math.ceil(numFound/props.grameneSearchRows)}</b></span>;\n prev = <GrHpe/>;\n if (pageNum > 0) {\n prev = <Badge onClick={()=>props.doRequestResultsPage(pageNum - 1)}><GrFormPrevious/></Badge>\n }\n next = <GrHpe/>;\n if (numFound > props.grameneSearchOffset + props.grameneSearchRows) {\n next = <Badge onClick={()=>props.doRequestResultsPage(pageNum + 1)}><GrFormNext/></Badge>\n }\n }\n return <div>\n <div>{prev}{page}{next}</div>\n {props.grameneSearch.response.docs.map((g,idx) => (\n <Gene key={idx}\n searchResult={g}\n ensemblURL={props.configuration.ensemblURL}\n ensemblRest={props.configuration.ensemblRest}\n taxName={props.grameneTaxonomy[g.taxon_id].name}\n geneDocs={props.grameneGenes}\n requestGene={props.doRequestGrameneGene}\n requestOrthologs={props.doRequestOrthologs}\n orthologs={props.grameneOrthologs}\n taxLut={props.grameneTaxonomy}\n expandedDetail={props.grameneSearch.response.numFound === 1 && g.can_show.homology ? 'homology' : null}\n />\n ))}\n {prev}{page}{next}\n </div>\n }\n return null;\n};\n\nexport default connect(\n 'selectConfiguration',\n 'selectGrameneSearch',\n 'selectGrameneTaxonomy',\n 'selectGrameneGenes',\n 'selectGrameneOrthologs',\n 'selectGrameneSearchOffset',\n 'selectGrameneSearchRows',\n 'doRequestGrameneGene',\n 'doRequestOrthologs',\n 'doRequestResultsPage',\n GeneList);\n","import React from 'react'\nimport {connect} from \"redux-bundler-react\";\nimport {Tabs, Tab} from 'react-bootstrap';\n\nconst Detail = props => {\n const gene = props.geneDocs[props.searchResult.id];\n let paralogs_url;\n let gene_url = `/static/atlasWidget.html?reference=0&genes=${gene._id}`;\n if (props.paralogExpression && props.paralogExpression[gene._id]) {\n let paralogs = props.paralogExpression[gene._id].map(p => p.id);\n if (paralogs.length > 1) {\n paralogs_url= `/static/atlasWidget.html?reference=1&genes=${paralogs.join(' ')}`;\n }\n }\n else {\n props.doRequestParalogExpression(gene._id)\n }\n return <Tabs>\n <Tab eventKey=\"gene\" title=\"All Studies\">\n <iframe src={gene_url} frameBorder=\"0\" width=\"100%\" height=\"500px\"></iframe>\n </Tab>\n {paralogs_url && <Tab eventKey=\"paralogs\" title=\"Reference Study (all paralogs)\">\n <iframe src={paralogs_url} frameBorder=\"0\" width=\"100%\" height=\"500px\"></iframe>\n </Tab>}\n </Tabs>\n};\n\nexport default connect(\n 'selectParalogExpression',\n 'doRequestParalogExpression',\n Detail\n);\n\n","import React from 'react'\nimport _ from 'lodash';\nimport {connect} from \"redux-bundler-react\";\nimport TreeVis from \"gramene-genetree-vis\";\nimport treesClient from \"gramene-trees-client\";\nimport {Detail, Title, Description, Content, Explore, Links} from \"./generic\";\nimport {Spinner, Alert} from \"react-bootstrap\";\nimport '../../../../node_modules/gramene-genetree-vis/src/styles/msa.less';\nimport '../../../../node_modules/gramene-genetree-vis/src/styles/tree.less';\n\nfunction suggestionToFilters(suggestion) {\n return {\n status: 'init',\n rows: 20,\n operation: 'AND',\n negate: false,\n leftIdx: 0,\n rightIdx: 3,\n children: [\n {\n fq_field: suggestion.fq_field,\n fq_value: suggestion.fq_value,\n name: suggestion.name,\n category: suggestion.category,\n leftIdx: 1,\n rightIdx: 2,\n negate: false,\n marked: false\n }\n ]\n }\n}\n\nclass Homology extends React.Component {\n constructor(props) {\n super(props);\n if (!props.geneDocs.hasOwnProperty(props.searchResult.id)) {\n props.requestGene(props.searchResult.id)\n }\n this.taxonomy = treesClient.taxonomy.tree(Object.values(props.grameneTaxonomy))\n }\n renderTreeVis() {\n return (\n <div className=\"gene-genetree\">\n <TreeVis genetree={this.tree}\n initialGeneOfInterest={this.gene}\n genomesOfInterest={this.props.grameneGenomes.active}\n taxonomy={this.taxonomy}\n allowGeneSelection={true}\n pivotTree={true}\n enableCuration={false}\n enablePhyloview={true}\n numberOfNeighbors={10}\n ensemblUrl={this.props.configuration.ensemblURL}/>\n </div>\n )\n }\n filterAllHomologs() {\n this.props.doReplaceGrameneFilters(suggestionToFilters({\n category: 'Gene Tree',\n fq_field: 'gene_tree',\n fq_value: this.tree._id,\n name: `Homologs of ${this.gene.name}`\n }))\n }\n filterOrthologs() {\n this.props.doReplaceGrameneFilters(suggestionToFilters({\n category: 'Gene Tree',\n fq_field: 'homology__all_orthologs',\n fq_value: this.gene._id,\n name: `Orthologs of ${this.gene.name}`\n }))\n }\n filterParalogs() {\n this.props.doReplaceGrameneFilters(suggestionToFilters({\n category: 'Gene Tree',\n fq_field: 'homology__within_species_paralog',\n fq_value: this.gene._id,\n name: `Paralogs of ${this.gene.name}`\n }))\n }\n orthologList() {\n return this.orthoParaList('ortholog');\n }\n\n paralogList() {\n return this.orthoParaList('within_species_paralog');\n }\n\n orthoParaList(type) {\n var homology, thisGeneId;\n homology = _.get(this.gene, 'homology.homologous_genes');\n thisGeneId = this.gene._id;\n\n if (homology) {\n var homologs = _(homology)\n .pickBy(function filterCategories(thing, name) {\n return name.indexOf(type) === 0;\n })\n .values()\n .flatten()\n .uniq()\n .value();\n\n if (!_.isEmpty(homologs)) {\n if (!homologs.includes(thisGeneId)) {\n console.log(\"add to homologs list\",thisGeneId);\n homologs.push(thisGeneId);\n }\n return homologs; // only return something if we have something. We're testing for truthiness later.\n }\n }\n }\n explorations() {\n let x = [{\n name: 'Homologs',\n category: 'Gene Tree',\n count: this.tree.geneCount,\n handleClick: this.filterAllHomologs.bind(this)\n }];\n if (this.orthologs) {\n x.push({\n name: 'Orthologs',\n category: 'Gene Tree',\n count: this.orthologs.length,\n handleClick: this.filterOrthologs.bind(this)\n });\n }\n if (this.paralogs) {\n x.push({\n name: 'Paralogs',\n category: 'Gene Tree',\n count: this.paralogs.length,\n handleClick: this.filterParalogs.bind(this)\n });\n }\n return x;\n }\n links() {\n let links = [\n {\n name: 'Ensembl Gene Tree view',\n url: `${this.props.configuration.ensemblURL}/${this.gene.system_name}/Gene/Compara_Tree?g=${this.gene._id}`\n }\n ];\n if (this.props.curation && this.props.curation.taxa.hasOwnProperty(this.gene.taxon_id)) {\n links.push({\n name: 'Curate',\n url: this.props.curation.url + this.gene._id\n })\n }\n return links;\n }\n render() {\n const id = this.props.searchResult.id;\n if (!this.props.geneDocs.hasOwnProperty(id)) {\n return <Spinner/>\n }\n this.gene = this.props.geneDocs[id];\n const treeId = this.gene.homology.gene_tree.id;\n if (! this.props.grameneTrees.hasOwnProperty(treeId)) {\n this.props.doRequestGrameneTree(treeId);\n }\n else {\n const tree = this.props.grameneTrees[treeId];\n if (tree.hasOwnProperty('taxon_id')) {\n this.tree = treesClient.genetree.tree([this.props.grameneTrees[treeId]]);\n this.orthologs = this.orthologList();\n this.paralogs = this.paralogList();\n }\n }\n let flagged=0;\n if (this.props.curation && this.props.curation.taxa.hasOwnProperty(this.gene.taxon_id)) {\n flagged = this.props.curatedGenes && this.props.curatedGenes[id] ? this.props.curatedGenes[id].flagged : 0;\n }\n return (\n <Detail>\n <Title key=\"title\">Compara Gene Tree</Title>\n <Description key=\"description\">\n This phylogram shows the relationships between this gene and others similar to it, as determined by Ensembl Compara.\n {flagged > 1 && <Alert variant={'warning'}>This gene was flagged for potential gene structural annotation issues by {flagged} curators</Alert>}\n </Description>\n {this.tree && <Content key=\"content\">{this.renderTreeVis()}</Content>}\n {this.tree && <Explore key=\"explore\" explorations={this.explorations()}/>}\n <Links key=\"links\" links={this.links()}/>\n </Detail>\n )\n }\n}\n\nexport default connect(\n 'selectGrameneTaxonomy',\n 'selectGrameneTrees',\n 'selectGrameneGenomes',\n 'selectConfiguration',\n 'selectCuration',\n 'selectCuratedGenes',\n 'doRequestGrameneTree',\n 'doAcceptGrameneSuggestion',\n 'doReplaceGrameneFilters',\n Homology\n);\n\n","import React from 'react';\nimport keyBy from 'lodash/keyBy';\nimport _ from \"lodash\";\nimport ReactGA from \"react-ga\";\nimport { BiLinkExternal } from \"react-icons/bi\";\nimport { Button, Badge } from \"react-bootstrap\";\n\nexport const Detail = props => {\n let subComponents = keyBy(props.children, 'key');\n return (\n <div className=\"detail\">\n <div className=\"intro\">\n {subComponents.title}\n {subComponents.description}\n </div>\n <div className=\"content-wrapper\">\n {subComponents.content}\n </div>\n <div className=\"actions\">\n <div className=\"action-wrapper\" xs={12} sm={5}>\n {subComponents.explore}\n </div>\n <div className=\"action-wrapper\" xs={12} sm={7}>\n {subComponents.links}\n </div>\n </div>\n </div>\n )\n};\n\nexport const Title = props => <h4>{props.children}</h4>;\nexport const Description = props => <p className=\"description\">{props.children}</p>;\nexport const Content = props => <div className=\"content\">{props.children}</div>;\n\nconst QueryTerm = props => {\n let category, name, badge;\n name = props.name;\n if (props.category) {\n category = props.category + ' | ';\n }\n if (_.isNumber(props.count)) {\n badge = <Badge style={{marginLeft: \"0.5rem\"}} variant='dark'>{props.count}</Badge>\n }\n return (\n <Button variant='outline-dark' onClick={props.handleClick}>\n {category}{name}{badge}\n </Button>\n )\n};\n\nfunction renderExplorations(explorations) {\n return explorations.map(\n (exploration, idx) =>\n <QueryTerm key={idx} {...exploration} />\n );\n}\nexport const Explore = props => (\n <div className=\"explore\">\n <h5>Search Filters</h5>\n <div>\n {renderExplorations(props.explorations)}\n </div>\n </div>\n);\n\nfunction renderLinks(links) {\n let external = <small title=\"This link opens a page from an external site\"> <BiLinkExternal/></small>;\n return links.map((link, idx) =>\n <li key={idx}>\n <ReactGA.OutboundLink\n eventLabel={link.name}\n to={link.url}\n target=\"_blank\"\n className=\"external-link\"\n >\n {link.name}{external}\n </ReactGA.OutboundLink>\n </li>\n )\n}\n\nexport const Links = props => (\n <div className=\"links\">\n <h5>Links to other resources</h5>\n <ul>\n {renderLinks(props.links)}\n </ul>\n </div>\n);\n","import React from 'react'\nimport getProp from 'lodash/get';\nimport isEqual from 'lodash/isEqual';\nimport {Button} from \"react-bootstrap\";\nimport Browser from \"./location/browser\";\nimport {connect} from \"redux-bundler-react\";\nimport {Detail, Title, Description, Content, Explore, Links} from \"./generic\";\nimport '../../../../node_modules/gramene-genetree-vis/src/styles/msa.less';\nimport '../../../../node_modules/gramene-genetree-vis/src/styles/tree.less';\n\nclass Location extends React.Component {\n constructor(props) {\n super(props);\n this.gene = this.props.geneDocs[this.props.searchResult.id];\n this.initRegion();\n this.state = {\n visibleRange: this.initVisibleRange()\n };\n }\n\n initVisibleRange() {\n var location, span, padding, result;\n location = this.gene.location;\n if(!location) {\n throw new Error(`Could not find the location of the gene in props.`);\n }\n\n span = location.end - location.start + 1;\n padding = Math.floor(.1 * span);\n\n result = {\n chr: location.region,\n start: location.start - padding,\n end: location.end + padding\n };\n\n result.displayName = `${result.chr}:${result.start}-${result.end}`;\n\n return result;\n }\n\n initRegion() {\n var region, isChromosome, regionType, regionName;\n region = this.gene.location.region;\n if (region) {\n isChromosome = /^\\d+$/.test(region);\n if (isChromosome) {\n regionType = 'chromosome';\n regionName = 'Chromosome ' + region;\n }\n else {\n regionType = 'scaffold';\n regionName = region;\n }\n this.region = {\n isChromsome: isChromosome,\n name: regionName,\n type: regionType\n };\n }\n }\n\n\n handleViewChange(chr, start, end) {\n var visibleRange = {\n chr: chr,\n start: start,\n end: end,\n displayName: `${chr}:${start}-${end}`\n };\n\n if(!isEqual(visibleRange, this.state.visibleRange)) {\n this.setState({\n visibleRange: visibleRange\n });\n }\n }\n\n updateQuery(restrictToVisibleRange) {\n var location, geneName, visibleRange, filter, filterDisplayName, fq;\n location = this.gene.location;\n geneName = this.gene.name;\n // category: 'Gene Tree',\n // fq_field: 'gene_tree',\n // fq_value: this.tree._id,\n // name: `Homologs of ${this.gene.name}`\n\n let terms = [\n {\n category: \"Map\",\n name: location.map,\n fq_field: 'map',\n fq_value: location.map\n },\n {\n category: \"Region\",\n name: location.region,\n fq_field: 'region',\n fq_value: location.region\n }\n ];\n fq = `map:${location.map} AND region:${location.region}`;\n\n if (restrictToVisibleRange) {\n visibleRange = this.state.visibleRange;\n\n terms.push({\n category: \"Interval\",\n name: `${visibleRange.start}-${visibleRange.end}`,\n fq_field: 'start',\n fq_value: `[${visibleRange.start} TO ${visibleRange.end}]`\n });\n fq += ` AND (start:[${visibleRange.start} TO ${visibleRange.end}]`\n + ` OR end:[${visibleRange.start} TO ${visibleRange.end}])`;\n\n filterDisplayName = visibleRange.displayName;\n } else {\n filterDisplayName = \"Shares \" + this.region.type + \" with \" + geneName;\n }\n\n console.log(\"User asked to filter by location\");\n filter = {\n category: 'Location',\n id: fq,\n fq: fq,\n display_name: filterDisplayName\n };\n\n // QueryActions.removeAllFilters();\n // QueryActions.setFilter(filter);\n this.props.doAddGrameneRangeQuery(terms);\n if (this.props.closeModal) this.props.closeModal();\n }\n\n explorations() {\n var visible, result;\n visible = this.state.visibleRange;\n result = [\n {\n name: `All on ${this.region.name}`,\n handleClick: ()=>this.updateQuery(false)\n }\n ];\n if (visible) {\n result.push({\n name: `All within ${getProp(visible, 'displayName')}`,\n handleClick: ()=>this.updateQuery(true)\n });\n }\n return result;\n }\n\n links() {\n function jgiify(id) {\n return id.replace('SORBI_3','Sobic.').replace(/\\.v[0-9]\\.[0-9]$/,'');\n }\n var gene = this.gene;\n let links = [\n {name: 'Ensembl Browser', url: `${this.props.ensemblURL}/${gene.system_name}/Gene/Summary?g=${gene._id}`},\n {name: 'PhytoMine', url: `https://phytozome.jgi.doe.gov/phytomine/keywordSearchResults.do?searchTerm=${jgiify(gene._id)}&searchSubmit=Search`},\n ];\n if (gene.taxon_id === 3702)\n links.push({name: 'Thalemine', url: `https://bar.utoronto.ca/thalemine/keywordSearchResults.do?searchTerm=${gene._id}&searchSubmit=search`});\n if (gene.taxon_id === 4577)\n links.push({name: 'MaizeGDB', url: `http://www.maizegdb.org/gene_center/gene/${gene._id}`});\n return links;\n }\n\n render() {\n return (\n <Detail>\n {/*<Title key=\"title\">Genome location: {this.renderGenePosition()}</Title>*/}\n <Description key=\"description\">Currently viewing: {this.renderLocation()} {this.renderResetButton()}</Description>\n <Content key=\"content\">\n {this.renderBrowser()}\n </Content>\n <Explore key=\"explore\" explorations={this.explorations()}/>\n <Links key=\"links\" links={this.links()}/>\n </Detail>\n );\n }\n\n\n renderBrowser() {\n return (\n <Browser gene={this.gene} {...this.props} {...this.state} onViewChange={ this.handleViewChange.bind(this) }/>\n );\n }\n\n renderGenePosition() {\n var location = this.gene.location;\n return (\n <span className=\"location\">\n <span className=\"region\">{this.region.name}</span>:<span className=\"start\">{location.start}</span>-<span\n className=\"end\">{location.end}</span>\n </span>\n );\n }\n\n renderLocation() {\n var location = this.state.visibleRange;\n return (\n <span className=\"location\">\n <span className=\"region\">{location.chr}</span>:<span className=\"start\">{location.start}</span>-<span\n className=\"end\">{location.end}</span>\n </span>\n );\n }\n\n resetVisibleRange() {\n const {chr, start, end} = this.initVisibleRange();\n this.handleViewChange(chr, start, end);\n }\n\n renderResetButton() {\n // let active=isEqual(this.props.visibleRange, this.state.visibleRange);\n return (\n <Button\n size=\"sm\"\n variant=\"outline-dark\"\n onClick={() => this.resetVisibleRange()}>\n Reset\n </Button>\n )\n }\n}\n\nexport default connect('doAddGrameneRangeQuery',Location);\n\n","import React from \"react\";\nimport DallianceBrowser from \"./dallianceBrowser.js\";\n\nexport default class Browser extends React.Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n return (\n <div className=\"location-browser\">\n <DallianceBrowser {...this.props} expanded={!!this.props.closeModal} />\n </div>\n )\n }\n\n}\n\n// Browser.propTypes = {\n// gene: React.PropTypes.object.isRequired,\n// expanded: React.PropTypes.bool,\n// visibleRange: React.PropTypes.object.isRequired,\n// onViewChange: React.PropTypes.func.isRequired\n// };","import React from \"react\";\nimport isEqual from \"lodash/isEqual\";\n// var ensemblREST = require('../../../../../package.json').gramene.ensemblREST;\n//const ensemblREST = 'http://data.gramene.org/ensembl63';\n// const ensemblREST = 'https://data.sorghumbase.org/ensembl2';\n// const ensemblREST = 'https://data.gramene.org/vitis-ensembl1';\n// const ensemblREST = 'https://data.gramene.org/pansite-ensembl';\n\n// calculate this once.\nconst PREFIX = '/static/gramene-dalliance/';\n\nexport default class DallianceBrowser extends React.Component {\n\n constructor(props) {\n super(props);\n this.initialVisibleRange = props.visibleRange;\n }\n\n shouldComponentUpdate(newProps) {\n // should we reset the view to initial state?\n if(isEqual(newProps.visibleRange, this.initialVisibleRange)) {\n this.browser.setLocation(newProps.visibleRange.chr, newProps.visibleRange.start, newProps.visibleRange.end);\n }\n\n return false;\n }\n\n biodallianceElementId() {\n return this.props.gene._id + 'Browser';\n }\n\n browser() {\n var g, view, start, end, browser;\n g = this.props.gene;\n view = this.props.visibleRange;\n start = view.start;\n end = view.end;\n\n this.browser = browser = new Browser(\n {\n pageName: this.biodallianceElementId(),\n chr: g.location.region,\n viewStart: start,\n viewEnd: end,\n cookieKey: g._id + 'BrowserCookie',\n prefix: PREFIX,\n\n coordSystem: {\n speciesName: g.system_name,\n taxon: g.taxon_id,\n auth: 'Gramene',\n version: '3',\n ucscName: 'IRGSP-1.0'\n },\n\n sources: [\n {\n name: 'DNA',\n ensemblURI: this.props.ensemblRest,\n species: g.system_name,\n tier_type: 'sequence'\n },\n {\n name: 'Genes',\n uri: this.props.ensemblRest,\n tier_type: 'ensembl',\n species: g.system_name,\n type: ['gene', 'transcript', 'exon', 'cds']\n }\n ],\n\n // hubs: ['/Track_Hubs/DRP000315/hub.txt'],\n disablePoweredBy: true,\n setDocumentTitle: false,\n noDefaultLabels: true,//!this.props.expanded,\n noPersist: true,\n noPersistView: true,\n maxWorkers: 2,\n noTitle: true,\n noLocationField: false,\n noLeapButtons: true,//!this.props.expanded,\n noZoomSlider: false, //!this.props.expanded,\n noTrackAdder: true,//!this.props.expanded,\n noTrackEditor: true,//!this.props.expanded,\n noExport: true,//!this.props.expanded,\n noOptions: true,//!this.props.expanded,\n noHelp: true,\n maxViewWidth: 1000000\n }\n );\n \n browser.addViewListener(this.props.onViewChange);\n }\n\n cancel() {\n if (typeof this.timeoutID == \"number\") {\n window.clearTimeout(this.timeoutID);\n delete this.timeoutID;\n }\n }\n\n componentDidMount() {\n // this.browser();\n this.cancel();\n var self = this;\n this.timeoutID = window.setTimeout(function () {self.browser();}, 0);\n }\n\n componentWillUnmount() {\n this.cancel();\n }\n\n render() {\n return (\n <div id={this.biodallianceElementId()}/>\n );\n }\n}\n\n// DallianceBrowser.propTypes = {\n// gene: React.PropTypes.object.isRequired,\n// visibleRange: React.PropTypes.object.isRequired,\n// expanded: React.PropTypes.bool,\n// onViewChange: React.PropTypes.func.isRequired\n// };","import React from 'react'\nimport {connect} from \"redux-bundler-react\";\nimport FlatToNested from 'flat-to-nested';\nimport {Explore, Links} from \"./generic\";\nimport treesClient from \"gramene-trees-client\";\nimport {TreeMenu} from \"react-tree-menu\";\nimport {Spinner} from \"react-bootstrap\";\nimport _ from 'lodash'\nimport \"./tree-view.css\"\n\nvar reactomeURL = \"https://plantreactome.gramene.org\";\n\nclass Pathways extends React.Component {\n constructor(props) {\n super(props);\n this.taxonomy = treesClient.taxonomy.tree(Object.values(props.grameneTaxonomy))\n this.gene = props.geneDocs[props.searchResult.id];\n this.holderId = 'displayHolder' + this.gene._id;\n this.state = {};\n }\n\n initDiagram() {\n this.diagram = Reactome.Diagram.create({\n proxyPrefix: reactomeURL, //'//plantreactome.gramene.org', //'//plantreactomedev.oicr.on.ca', ////cord3084-pc7.science.oregonstate.edu', // reactomedev.oicr.on.ca\n placeHolder: this.holderId,\n width: this.divWrapper.clientWidth - 350 - 1,\n height: 500\n });\n }\n\n stableId(dbId) {\n let prefix = this.taxonomy.indices.id[this.gene.taxon_id].model.reactomePrefix || 'OSA';\n return `R-${prefix}-${dbId}`;\n }\n\n loadDiagram(pathwayId, reactionId) {\n if (!this.diagram) this.initDiagram();\n this.diagram.loadDiagram(pathwayId);\n\n this.diagram.onDiagramLoaded(function (loaded) {\n this.loadedDiagram = loaded;\n if (reactionId) {\n this.diagram.selectItem(reactionId);\n }\n // var xref = _.find(this.props.gene.xrefs,{db : 'Gramene_Plant_Reactome'}).ids[0];\n this.diagram.flagItems(this.gene._id);\n }.bind(this));\n }\n\n componentDidMount() {\n if (Reactome && Reactome.Diagram) {\n // this.initDiagram();\n }\n else {\n window.addEventListener('launchDiagram', function (e) {\n // this.initDiagram()\n }.bind(this));\n }\n }\n\n componentDidUpdate(prevProps, prevState) {\n if (this.state.hierarchy && ! this.state.selectedNode) {\n let node = this.state.hierarchy[0];\n let path = [0];\n let parent = node;\n while (node.children) {\n path.push(0);\n parent = node;\n node = node.children[0];\n }\n console.log(parent,node,path);\n this.loadNodes(path);\n }\n if (!this.state.hierarchy && this.pathwayIds) {\n const haveDocs = this.pathwayIds.filter(id => this.props.gramenePathways.hasOwnProperty(id));\n if (haveDocs.length === this.pathwayIds.length) {\n const docs = this.pathwayIds.map(id => this.props.gramenePathways[id]);\n this.getHierarchy(this.makeTaxonSpecific(docs,this.gene.taxon_id));\n }\n }\n }\n\n componentWillMount() {\n var pathways, reactionId, ancestorIds;\n pathways = this.gene.annotations.pathways;\n if(!pathways) {\n throw new Error(\"No pathway annotation present for \" + this.gene._id);\n }\n\n this.pathwayIds = _.clone(pathways.ancestors);\n pathways.entries.forEach(function(reaction) {\n let [r,speciesCode,id] = reaction.id.split('-');\n\n this.pathwayIds.push(+id);\n }.bind(this));\n\n this.props.doRequestGramenePathways(this.pathwayIds);\n\n // DocActions.needDocs('pathways', this.pathwayIds, (docs) => { return this.makeTaxonSpecific(docs,this.props.gene.taxon_id)}, this.getHierarchy);\n }\n\n makeTaxonSpecific(docs,taxon_id) {\n let lineageField = 'lineage_'+taxon_id;\n let tsDocs = docs.map(function(doc) {\n let tsDoc = _.pick(doc,['_id','name','type']);\n tsDoc.lineage = doc[lineageField];\n return tsDoc;\n });\n console.log(tsDocs);\n return tsDocs;\n }\n\n componentWillUnmount() {\n // DocActions.noLongerNeedDocs('pathways', this.pathwayIds);\n if (this.diagram) this.diagram.detach();\n }\n\n getHierarchy(docs) {\n let pathways = _.keyBy(docs,'_id');\n let nodes = [];\n this.pathwayIds.forEach(function (pwyId) {\n if (pathways[pwyId]) {\n let pwy = pathways[pwyId];\n pwy.lineage.forEach(function(line) {\n let parentOffset = line.length - 2;\n nodes.push({\n id: pwyId,\n label: pwy.name,\n type: pwy.type,\n checkbox: false,\n selected: false,\n parent: parentOffset >=0 ? line[parentOffset] : undefined\n });\n });\n }\n });\n\n let nested = new FlatToNested().convert(nodes);\n\n this.setState({hierarchy: [nested], selectedNode: undefined});\n }\n\n loadNodes(nodes) {\n let hierarchy = this.state.hierarchy;\n let selectedNode = this.state.selectedNode;\n let offset = nodes.shift();\n let nodeRef = hierarchy[offset];\n let lineage = [nodeRef];\n nodes.forEach(function(n) {\n nodeRef = nodeRef.children[n];\n lineage.unshift(nodeRef);\n });\n if (lineage[0].id !== 2894885) {\n let pathway = this.stableId(lineage[0].id);\n let reaction = undefined;\n if (lineage[0].type === \"Reaction\") {\n reaction = pathway;\n pathway = this.stableId(lineage[1].id);\n }\n if (lineage[0].selected) {\n selectedNode = undefined;\n lineage[0].selected = false;\n if (this.loadedDiagram === pathway) {\n this.diagram.resetSelection();\n }\n else {\n if (this.diagram) this.diagram.resetSelection();\n this.loadDiagram(pathway);\n }\n }\n else {\n if (selectedNode) {\n selectedNode.selected = false;\n }\n selectedNode = lineage[0];\n lineage[0].selected = true;\n if (this.loadedDiagram === pathway) {\n if (reaction) {\n this.diagram.selectItem(reaction);\n }\n else {\n this.diagram.resetSelection();\n }\n }\n else {\n if (this.diagram) this.diagram.resetSelection();\n if (reaction) {\n this.loadDiagram(pathway, reaction);\n }\n else {\n this.loadDiagram(pathway);\n }\n }\n }\n this.setState({hierarchy: hierarchy, selectedNode: selectedNode});\n }\n }\n\n renderHierarchy() {\n if (this.state.hierarchy) {\n return (\n <TreeMenu\n data={this.state.hierarchy}\n expandIconClass=\"fa fa-chevron-right\"\n collapseIconClass=\"fa fa-chevron-down\"\n stateful={true}\n collapsible={true}\n onTreeNodeClick={this.loadNodes.bind(this)}\n />\n );\n }\n return <Spinner/>\n }\n\n updateQuery() {\n console.log(\"User asked to filter by \"+ this.state.selectedNode.type);\n\n this.props.doAcceptGrameneSuggestion({\n category: 'Plant Reactome',\n fq_field: 'pathways__ancestors',\n fq_value: this.state.selectedNode.id,\n name: this.state.selectedNode.label\n })\n }\n\n render() {\n let reactomeLink,searchFilter;\n\n if (this.state.selectedNode) {\n let xrefLUT = _.keyBy(this.gene.xrefs,'db');\n let links = [\n {name: 'Plant Reactome '+this.state.selectedNode.type, url: `${reactomeURL}/content/detail/${this.stableId(this.state.selectedNode.id)}`}\n ];\n if (xrefLUT.hasOwnProperty('notGramene_Plant_Reactome')) {\n links.push({name: 'Plant Reactome Gene', url: `${reactomeURL}/content/detail/${xrefLUT.notGramene_Plant_Reactome.ids[0]}`});\n }\n reactomeLink = <Links key=\"links\" links={links}/>;\n let filters = [\n {\n name: `All genes in this ${this.state.selectedNode.type}`,\n handleClick: ()=>this.updateQuery()\n }\n ];\n searchFilter = <Explore key=\"explore\" explorations={filters}/>;\n }\n return (\n <div ref={(div) => {this.divWrapper = div;}}>\n <div style={{width:350, height: 500, overflow:'scroll', float:'left'}}>{this.renderHierarchy()}</div>\n <div id={this.holderId}/>\n {searchFilter}\n {reactomeLink}\n </div>\n );\n }\n}\n\nexport default connect(\n 'selectGrameneTaxonomy',\n 'selectGramenePathways',\n 'doRequestGramenePathways',\n 'doAcceptGrameneSuggestion',\n Pathways\n);\n","import React from 'react'\nimport ReactGA from 'react-ga'\n// import {connect} from \"redux-bundler-react\";\nimport _ from 'lodash'\nimport dbxrefs from 'gramene-dbxrefs';\nimport {Detail, Title, Description, Content} from \"./generic\";\n\nconst HOW_MANY_TO_SHOW_BY_DEFAULT = 10;\n\nclass Xref extends React.Component {\n constructor(props) {\n super(props);\n this.state = {showAll: false};\n }\n\n toggleShowAll() {\n this.setState({showAll: !this.state.showAll});\n }\n\n possiblyTruncateList(vals) {\n var ellipsis, ellipsisChar, ellipsisTitle;\n\n if (vals.length > HOW_MANY_TO_SHOW_BY_DEFAULT) {\n if (this.state.showAll) {\n ellipsisChar = '^ show first ' + HOW_MANY_TO_SHOW_BY_DEFAULT;\n ellipsisTitle = 'Show less';\n }\n else {\n ellipsisChar = '… show all (' + (vals.length - HOW_MANY_TO_SHOW_BY_DEFAULT) + ' more)';\n ellipsisTitle = 'Show more';\n vals = vals.slice(0, HOW_MANY_TO_SHOW_BY_DEFAULT);\n }\n\n ellipsis = (\n <li key=\"showMore\" className=\"showAll\">\n <a title={ellipsisTitle} onClick={this.toggleShowAll.bind(this)}>{ellipsisChar}</a>\n </li>\n );\n\n vals.push(ellipsis);\n }\n\n return vals;\n }\n\n render() {\n var members, vals, db;\n db = this.props.displayName;\n\n members = this.props.members;\n\n vals = _(members)\n .map(function (m) {\n return m.val;\n })\n .flatten(true)\n .sort()\n .uniq(true) // TODO figure out why there are duplicates.\n .map(function (item, idx) {\n var url = members[0].url(item),\n liClass = idx < HOW_MANY_TO_SHOW_BY_DEFAULT ? \"default\" : \"extra\";\n let external = <small title=\"This link opens a page from an external site\"> <i className=\"fa fa-external-link\"/></small>;\n return (\n <li key={idx} className={liClass}>\n <ReactGA.OutboundLink\n eventLabel={db}\n to={url}\n target=\"_blank\"\n >\n {item}{external}\n </ReactGA.OutboundLink>\n </li>\n )\n })\n .value();\n\n vals = this.possiblyTruncateList(vals);\n\n return (\n <tr>\n <td className=\"xref-name-col\">{this.props.displayName}</td>\n <td className=\"xref-value-col\">\n <ol className=\"xref-id-list\">{vals}</ol>\n </td>\n </tr>\n );\n }\n}\n\nfunction formatXrefsForGene(gene) {\n if(!gene || !_.isArray(gene.xrefs)) {\n throw new Error(\"No xrefs for \" + _.get(gene._id));\n }\n return _(gene.xrefs)\n .keyBy('db')\n .pickBy(function(val, name) {\n return dbxrefs.isKnown(name);\n })\n .map(function(val, name) {\n var xref = dbxrefs.fetch(name);\n return {url: xref.url, label: xref.label, val: val.ids};\n })\n .groupBy('label')\n .map(function(members, displayName) {\n return (\n <Xref key={displayName} displayName={displayName} members={members} />\n )\n })\n .value();\n}\n\nconst Xrefs = ({searchResult, geneDocs}) => (\n <Detail>\n <Title key=\"title\">Cross-references</Title>\n <Description key=\"description\">References to this gene in other databases:</Description>\n <Content key=\"content\">\n <table className=\"xrefs table\">\n <thead>\n <tr>\n <th className=\"xref-name-col\">Database</th>\n <th className=\"xref-value-col\">IDs and links</th>\n </tr>\n </thead>\n <tbody>\n {formatXrefsForGene(geneDocs[searchResult.id])}\n </tbody>\n </table>\n </Content>\n </Detail>\n);\n\nexport default Xrefs;\n\n","import React from 'react'\nimport { connect } from 'redux-bundler-react'\nimport { Vis } from \"gramene-search-vis\"\nimport Selection from './selection.js'\nimport '../../../node_modules/gramene-search-vis/styles/main.less';\n\nclass TaxDist extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n collapseEmpties: true\n };\n }\n handleSelection(selections) {\n this.setState({selections})\n }\n handleHighlight(highlight) {\n this.setState({highlight})\n }\n handleFilter() {\n this.setState({selections:null})\n }\n toggleEmpties() {\n this.setState({collapseEmpties: !this.state.collapseEmpties})\n }\n render() {\n let selectedTaxa = {};\n if (this.props.grameneSearch && this.state.collapseEmpties) {\n this.props.grameneSearch.facet_counts.facet_fields.taxon_id.filter((tid,idx) => idx % 2 === 0).forEach(tid => {\n selectedTaxa[tid] = true;\n })\n }\n else {\n selectedTaxa = this.props.grameneGenomes.active;\n }\n return (\n <div className=\"results-vis big-vis\">\n <button type=\"button\" className=\"btn btn-primary btn-sm\" onClick={this.toggleEmpties.bind(this)}>{this.state.collapseEmpties ? 'Expand' : 'Collapse'} empty branches</button>\n {this.props.grameneTaxDist && <Vis taxonomy={this.props.grameneTaxDist}\n selectedTaxa={selectedTaxa}\n onSelection={this.handleSelection.bind(this)}\n onHighlight={this.handleHighlight.bind(this)}\n />}\n {this.renderSelection()}\n </div>\n );\n }\n renderSelection() {\n if (this.state.selections && this.props.grameneTaxDist) {\n return <Selection taxonomy={this.props.grameneTaxDist}\n selectedTaxa={{}}\n selections={this.state.selections}\n onFilter={this.handleFilter.bind(this)}/>\n }\n }\n}\n\nexport default connect(\n 'selectGrameneTaxDist',\n 'selectGrameneGenomes',\n 'selectGrameneSearch',\n TaxDist\n);\n","import React from 'react';\nimport numeral from 'numeral';\nimport _ from \"lodash\";\n\nimport {Table, Button, Badge} from 'react-bootstrap';\nimport {connect} from \"redux-bundler-react\";\n\nfunction selectionStats(selections, taxonomy) {\n const selectionData = getSelectionData(selections, taxonomy);\n const totalGeneResults = taxonomy.model.results.count;\n const fq = fqFromSelections(selections);\n\n return {\n selectedGenes: selectionData.resultsCount,\n totalGeneResults,\n fq,\n numSelectedBins: selectionData.binsCount,\n proportionGenesSelected: selectionData.resultsCount / totalGeneResults\n }\n}\n\nfunction getSelectionData(selection, taxonomy) {\n return _.reduce(selection, (countAcc, sel) => {\n const bins = taxonomy.getBins(sel.binFrom.idx, sel.binTo.idx);\n countAcc.binsCount += bins.length;\n countAcc.resultsCount += _.reduce(bins, (acc, bin) => acc + bin.results.count, 0);\n return countAcc;\n }, {resultsCount: 0, binsCount: 0});\n}\n\nconst selectionToSolrRange = (sel)=>`[${sel.binFrom.idx} TO ${sel.binTo.idx}]`;\n\nfunction fqFromSelections(selections) {\n const rangeStrings = selections.map(selectionToSolrRange);\n return `fixed_1000__bin:(${rangeStrings.join(' ')})`;\n}\n\nconst Selections = ({selections, taxonomy, doAcceptGrameneSuggestion, onFilter}) => {\n const stats = selectionStats(selections, taxonomy);\n\n const setFilter = () => {\n doAcceptGrameneSuggestion({\n category: 'Selections',\n fq_field: 'fixed_1000__bin',\n fq_value: `(${selections.map(selectionToSolrRange).join(' ')})`,\n name: `${selections.length} region${selections.length === 1 ? '':'s'}`\n });\n onFilter();\n };\n\n const formatProportion = (prop) => '(' + (_.isFinite(prop) ? numeral(prop).format('0.0%') : undefined) + ')';\n\n return (\n <div>\n <Table>\n <tbody>\n <tr>\n <th>Number of selected genes</th>\n <td>{stats.selectedGenes} {formatProportion(stats.proportionGenesSelected)}</td>\n <td><Button size='sm' onClick={setFilter}>selections |<Badge>{stats.selectedGenes}</Badge></Button>\n </td>\n </tr>\n </tbody>\n </Table>\n </div>\n )\n};\n\nexport default connect(\n 'doAcceptGrameneSuggestion',\n Selections\n);\n","import React from 'react'\nimport {connect} from \"redux-bundler-react\";\nimport {Alert, Container, Row, Card, CardDeck} from 'react-bootstrap'\nimport './genes.css'\n\nconst examples = [\n {\n subsite: {\n maize:1,\n sorghum:1,\n main:1,\n },\n text: \"What are the orthologs of Arabidopsis thaliana's PAD4 gene in Andropogoneae?\",\n filters: {\n status: 'init',\n rows: 20,\n operation: 'AND',\n negate: false,\n leftIdx: 0,\n rightIdx: 5,\n children: [\n {\n fq_field: 'homology__all_orthologs',\n fq_value: 'AT3G52430',\n name: 'Orthologs of PAD4',\n category: 'Gene Tree',\n leftIdx:1,\n rightIdx:2,\n negate: false,\n marked: false\n },\n {\n fq_field: 'taxonomy__ancestors',\n fq_value: 147429,\n name: 'Andropogoneae',\n category: 'Taxonomy',\n leftIdx:3,\n rightIdx:4,\n negate: false,\n marked: false\n }\n ]\n }\n },\n {\n subsite: {\n grapevine:1\n },\n text: \"What are the orthologs of Arabidopsis thaliana's PAD4 gene in rosids?\",\n filters: {\n status: 'init',\n rows: 20,\n operation: 'AND',\n negate: false,\n leftIdx: 0,\n rightIdx: 5,\n children: [\n {\n fq_field: 'homology__all_orthologs',\n fq_value: 'AT3G52430',\n name: 'Orthologs of PAD4',\n category: 'Gene Tree',\n leftIdx:1,\n rightIdx:2,\n negate: false,\n marked: false\n },\n {\n fq_field: 'taxonomy__ancestors',\n fq_value: 71275,\n name: 'rosids',\n category: 'Taxonomy',\n leftIdx:3,\n rightIdx:4,\n negate: false,\n marked: false\n }\n ]\n }\n }\n];\nconst HelpDemo = ({configuration,doReplaceGrameneFilters}) => (\n <Container fluid style={{padding: '40px'}}>\n <Row>\n <h3>Search Features</h3>\n </Row>\n <Row>\n <CardDeck style={{width:'80%'}}>\n <Card style={{'backgroundColor':'#f3f6f5', 'borderColor':'#DDE5E3'}}>\n <Card.Body>\n <Card.Title>Suggestions</Card.Title>\n <Card.Text>Matching terms are provided as you type:</Card.Text>\n <div className='gene-search-pic-sugg'/>\n </Card.Body>\n </Card>\n <Card style={{'backgroundColor':'#f3f6f5', 'borderColor':'#DDE5E3'}}>\n <Card.Body>\n <Card.Title>Visualization</Card.Title>\n <Card.Text>See the distribution of results across all genomes:</Card.Text>\n <div className='gene-search-pic-results'/>\n </Card.Body>\n </Card>\n <Card style={{'backgroundColor':'#f3f6f5', 'borderColor':'#DDE5E3'}}>\n <Card.Body>\n <Card.Title>Gene tree view</Card.Title>\n <Card.Text>Explore evolutionary history of a gene family:</Card.Text>\n <div className='gene-search-pic-genetree'/>\n </Card.Body>\n </Card>\n </CardDeck>\n </Row>\n <Row>\n <h4>For Example</h4>\n </Row>\n <Row>\n <small>\n You can ask sophisticated questions about the genes:<br/>\n <ul>\n {examples.filter(e => !!e.subsite[configuration.id]).map((e,idx) => (\n <li key={idx}><a onClick={() => doReplaceGrameneFilters(e.filters)}>{e.text}</a></li>\n ))}\n </ul>\n </small>\n </Row>\n </Container>\n);\n\nexport default connect(\n 'selectConfiguration',\n 'doReplaceGrameneFilters',\n HelpDemo\n);\n\n","import React from \"react\";\nimport { connect } from 'redux-bundler-react'\nimport { Modal, Button } from \"react-bootstrap\";\n\nclass TaxonomyModal extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n genomes : Object.values(props.grameneMaps).sort((a,b) => a.left_index - b.left_index)\n };\n if (Object.keys(props.grameneGenomes.active).length === 0) {\n this.state.genomes.forEach(g => {\n g.selected = true;\n })\n }\n else {\n this.state.genomes.forEach(g => {\n g.selected = props.grameneGenomes.active[g.taxon_id];\n })\n }\n }\n getSelectedGenomes() {\n let selected = {};\n let notAll = false;\n this.state.genomes.forEach(g => {\n if (g.selected) {\n selected[g.taxon_id] = true;\n }\n else {\n notAll = true;\n }\n });\n return notAll ? selected : {};\n }\n handleChange(e) {\n const idx = +e.target.value;\n let newState = Object.assign({},this.state);\n newState.genomes[idx].selected = !newState.genomes[idx].selected;\n this.setState(newState);\n }\n handleClose() {\n this.props.doUpdateGrameneGenomes(this.getSelectedGenomes())\n }\n selectAll() {\n const genomes = this.state.genomes.map(g => {g.selected = true; return g});\n this.setState({genomes});\n }\n selectNone() {\n const genomes = this.state.genomes.map(g => {g.selected = false; return g});\n this.setState({genomes});\n }\n renderGenomes() {\n return (\n <div>\n {this.state.genomes.map((m,idx) => {\n return (\n <div key={idx}>\n <input checked={m.selected}\n onChange={this.handleChange.bind(this)}\n type=\"checkbox\"\n value={idx}\n />\n {' '}{m.display_name}\n </div>\n )\n })}\n <Button onClick={this.handleClose.bind(this)}>Submit</Button>\n </div>\n )\n }\n render() {\n return (\n <Modal\n show={this.props.grameneGenomes.show}\n onHide={this.handleClose.bind(this)}\n size='lg'\n >\n <Modal.Header closeButton>\n <Modal.Title>Select Genomes of Interest</Modal.Title>\n </Modal.Header>\n <Modal.Body>\n <Button variant=\"outline-secondary\" onClick={this.selectAll.bind(this)}>All</Button>{' '}\n <Button variant=\"outline-secondary\" onClick={this.selectNone.bind(this)}>None</Button>\n {this.renderGenomes()}\n </Modal.Body>\n </Modal>\n )\n }\n};\n\nexport default connect(\n 'selectGrameneGenomes',\n 'selectGrameneMaps',\n 'doUpdateGrameneGenomes',\n TaxonomyModal\n)\n"],"names":["apiBundles","docsBundle","filterBundle","viewsBundle","genomesBundle","facets","genomesOfInterest","grameneSuggestions","name","actionBaseType","persist","getPromise","store","t","selectSuggestionsQuery","g","selectGrameneGenomes","fetch","selectGrameneAPI","then","res","json","suggestions","Object","keys","active","length","grouped","category","groups","forEach","group","doclist","docs","sugg","num_genes","taxon_id","id","idx","taxon_freq","reactGrameneSuggestions","shouldUpdate","queryString","actionCreator","selectGrameneSuggestionsStatus","isLoading","suggestionsRaw","data","matches","selectGrameneSuggestionsReady","status","regex","RegExp","test","doFocusFirstGrameneSuggestion","arg","dispatch","getState","console","log","grameneTaxonomy","taxNodes","taxonomy","_","keyBy","_id","hasOwnProperty","is_a","p_id","p","children","push","reactGrameneTaxonomy","grameneMaps","maps","reactGrameneMaps","curatedGenes","curation","genes","reactCuratedGenes","grameneExpressionStudies","reactGrameneExpressionStudies","grameneExpressionAssays","expr","assay","experiment","order","replace","tid","exp","sort","a","b","reactGrameneExpressionAssays","grameneSearch","offset","selectGrameneSearchOffset","rows","selectGrameneSearchRows","taxa","fq","join","selectGrameneFiltersQueryString","response","d","can_show","capabilities","c","reactGrameneSearch","formatFacetCountsForViz","count","displayName","sorted","counts","i","fc","grameneTaxDist","getReducer","initialState","state","type","payload","selectGrameneTaxDist","forIn","map","display_name","binnedResults","facet_counts","facet_fields","fixed_1000__bin","speciesTree","treesClient","tree","values","binMapper","binsClient","bins","taxDist","setBinType","setResults","grameneOrthologs","newState","assign","doRequestOrthologs","geneId","orthologs","selectGrameneOrthologs","API","taxonId","selectTargetTaxonId","newOrthologs","MAX_IDLIST_LENGTH","findNodeWithLeftIdx","node","leftIdx","result","child","rightIdx","parentIdx","markSubtree","source","invert","marked","reindexTree","grameneFilters","operation","negate","showMarked","showMenu","moveCopyMode","searchOffset","pick","filter","filters","warning","nextIdx","f","parent","target","targetCopy","fq_field","fq_value","sourceCopy","mode","moveCopySource","doNegateGrameneFilter","actions","doDeleteGrameneFilter","doChangeGrameneFilterOperation","doMoveOrCopyGrameneFilter","toUpperCase","doCopyGrameneFilter","doMarkGrameneFilterTargets","doUnmarkGrameneFilterTargets","doAcceptGrameneSuggestion","suggestion","doAddGrameneRangeQuery","terms","doToggleGrameneFilterMenu","doRequestResultsPage","page","doReplaceGrameneFilters","doClearGrameneFilters","selectGrameneFilters","selectGrameneFiltersStatus","hasSpaces","isQuery","idWithColon","getQuery","handleIdList","queryObject","ids","uniq","idList","split","slice","action","reactGrameneFilters","genomes","myUrl","newFilters","JSON","parse","url","URL","href","pathname","search","stringify","grameneViews","options","show","doToggleGrameneView","selectGrameneViews","grameneDocs","trees","domains","pathways","expression","paralogs","doRequestGrameneGene","selectGrameneGenes","doRequestGrameneTree","selectGrameneTrees","selectGrameneMaps","update_taxon_name","taxon_name","doRequestGramenePathways","selectGramenePathways","newIds","doRequestParalogExpression","selectParalogExpression","assay_re","experiments","min","max","entries","parsed","match","e","grameneGenomes","doShowGrameneGenomes","doUpdateGrameneGenomes","selectActiveGenomes","selectActiveGenomeCount","Gene","gene","Genes","results","doChangeQuantity","numFound","moreButton","fewerButton","docsToShow","doc","Pathway","pathway","Pathways","Domain","domain","Domains","Taxon","taxon","Species","ResultList","grameneGenes","grameneDomains","gramenePathways","searchUI","searchUpdated","Gramene","getStatus","cat","isChecked","toggle","tally","ResultSummary","doToggleCategory","showMatches","text","x","re","str","fontWeight","Suggestions","props","sugg1","suggestionsQuery","sugg2","margin","maxWidth","doAcceptSuggestion","groupValue","jdx","inventory","help","HelpDemo","list","GeneList","TaxDist","StatusCmp","content","grameneFiltersStatus","popover","activeGenomeCount","cursor","padding","backgroundColor","color","fontSize","Status","handleClick","window","event","cancelBubble","stopPropagation","selectTarget","unmarkTargets","Filter","classes","menu","key","menuItems","changeOperation","deleteNode","markTargets","isSource","toggleMenu","FiltersCmp","Filters","ResultsCmp","activeViews","v","React","createElement","Results","ViewsCmp","view","Views","external","location","Location","Expression","homology","Homology","xrefs","Xrefs","renderTairSummary","searchResult","summary","trimSummary","start","substr","rest","ClosestOrtholog","desc","species","model_rep_id","model_rep_name","model_rep_description","model_rep_species_name","closest_rep_id","closest_rep_name","closest_rep_description","closest_rep_species_name","renderClosestOrtholog","shouldShowClosestOrtholog","details","label","available","expandedDetail","hasData","setState","geneDocs","requestGene","model_rep_taxon_id","taxLut","closest_rep_taxon_id","ensemblURL","taxName","numWordsInDescription","description","system_name","synonyms","renderMetadata","getDetailStatus","setExpanded","ensureGene","Component","prev","next","grameneSearchRows","pageNum","grameneSearchOffset","Math","ceil","configuration","ensemblRest","Detail","paralogs_url","gene_url","paralogExpression","suggestionToFilters","orthoParaList","thisGeneId","get","homologs","pickBy","filterCategories","thing","indexOf","flatten","value","isEmpty","includes","geneCount","filterAllHomologs","bind","filterOrthologs","filterParalogs","links","treeId","gene_tree","grameneTrees","genetree","orthologList","paralogList","flagged","renderTreeVis","explorations","subComponents","title","explore","Title","Description","Content","QueryTerm","badge","isNumber","marginLeft","renderExplorations","exploration","Explore","renderLinks","link","Links","initRegion","visibleRange","initVisibleRange","span","Error","end","floor","chr","region","isChromosome","regionType","regionName","isChromsome","restrictToVisibleRange","geneName","filterDisplayName","closeModal","visible","updateQuery","jgiify","renderLocation","renderResetButton","renderBrowser","handleViewChange","resetVisibleRange","Browser","PREFIX","DallianceBrowser","initialVisibleRange","newProps","browser","setLocation","pageName","biodallianceElementId","viewStart","viewEnd","cookieKey","prefix","coordSystem","speciesName","auth","version","ucscName","sources","ensemblURI","tier_type","uri","disablePoweredBy","setDocumentTitle","noDefaultLabels","noPersist","noPersistView","maxWorkers","noTitle","noLocationField","noLeapButtons","noZoomSlider","noTrackAdder","noTrackEditor","noExport","noOptions","noHelp","maxViewWidth","addViewListener","onViewChange","timeoutID","clearTimeout","cancel","self","setTimeout","reactomeURL","holderId","diagram","Reactome","Diagram","create","proxyPrefix","placeHolder","width","divWrapper","clientWidth","height","dbId","indices","model","reactomePrefix","pathwayId","reactionId","initDiagram","loadDiagram","onDiagramLoaded","loaded","loadedDiagram","selectItem","flagItems","addEventListener","prevProps","prevState","hierarchy","selectedNode","path","loadNodes","pathwayIds","haveDocs","getHierarchy","makeTaxonSpecific","ancestorIds","annotations","clone","ancestors","reaction","r","speciesCode","lineageField","tsDocs","tsDoc","lineage","detach","nodes","pwyId","pwy","line","parentOffset","checkbox","selected","undefined","nested","FlatToNested","convert","shift","nodeRef","n","unshift","stableId","resetSelection","reactomeLink","searchFilter","xrefLUT","notGramene_Plant_Reactome","div","overflow","renderHierarchy","HOW_MANY_TO_SHOW_BY_DEFAULT","Xref","showAll","vals","ellipsis","ellipsisChar","ellipsisTitle","toggleShowAll","members","db","m","val","item","liClass","possiblyTruncateList","formatXrefsForGene","isArray","dbxrefs","isKnown","xref","groupBy","collapseEmpties","selections","highlight","selectedTaxa","toggleEmpties","handleSelection","handleHighlight","renderSelection","handleFilter","selectionStats","selectionData","getSelectionData","totalGeneResults","fqFromSelections","selectedGenes","resultsCount","numSelectedBins","binsCount","proportionGenesSelected","selection","reduce","countAcc","sel","getBins","binFrom","binTo","acc","bin","selectionToSolrRange","rangeStrings","Selections","onFilter","stats","setFilter","formatProportion","prop","isFinite","format","examples","subsite","maize","sorghum","main","grapevine","TaxonomyModal","left_index","notAll","getSelectedGenomes","handleChange","handleClose","selectAll","selectNone","renderGenomes"],"version":3,"file":"index.js.map"}
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;C,U;A,M,C,c,C,c,G,U;I,K,E,I;;A,M,C,c,C,c,G,O;I,U,E,I;I,G,W,G,G,C;e,8B,E,O;I,C;;A,M,C,c,C,c,G,U;I,U,E,I;I,G,W,G,G,C;e,iC,E,O;I,C;;A,M,C,c,C,c,G,a;I,U,E,I;I,G,W,G,G,C;e,oC,E,O;I,C;;A,M,C,c,C,c,G,W;I,U,E,I;I,G,W,G,G,C;e,kC,E,O;I,C;;A,M,C,c,C,c,G,M;I,U,E,I;I,G,W,G,G,C;e,gC;I,C;;A,M,C,c,C,c,G,O;I,U,E,I;I,G,W,G,G,C;e,iC;I,C;;A,M,C,c,C,c,G,O;I,U,E,I;I,G,W,G,G,C;e,iC;I,C;;A,M,C,c,C,c,G,K;I,U,E,I;I,G,W,G,G,C;e,+B;I,C;;;C,U;A,M,C,c,C,c,G,U;I,K,E,I;;A,c,E,O,U,C;;ACAA,GAAA,CAAA,0BAAA,GAAA,4CAAA,CAAA,wBAAA;;AACA,GAAA,CAAA,8BAAA,GAAA,4CAAA,CAAA,wBAAA;;AACA,GAAA,CAAA,4BAAA,GAAA,4CAAA,CAAA,wBAAA;;AACA,GAAA,CAAA,2BAAA,GAAA,4CAAA,CAAA,wBAAA;;AACA,GAAA,CAAA,8BAAA,GAAA,4CAAA,CAAA,wBAAA;S,4C,C,G,E,C;W,G,I,G,C,U,G,G;S,O,G,G;;A,C;S,wC,C,G,E,C;W,wC,C,G,K,sC,C,G,K,iD,C,G,K,wC;A,C;S,wC,G,C;I,K,C,G,C,S,E,oI;A,C;S,iD,C,C,E,M,E,C;I,E,G,C;I,E,S,C,M,M,U,uC,C,C,E,M;I,G,C,C,G,M,C,S,C,Q,C,I,C,C,E,K,C,C,E,E;I,E,E,C,M,M,K,C,C,W,E,C,G,C,C,W,C,I;I,E,E,C,M,G,K,C,M,G,U,K,C,I,C,C;I,E,E,C,M,S,gD,I,C,C,U,uC,C,C,E,M;A,C;S,sC,C,I,E,C;I,E,S,M,M,S,K,I,C,M,C,Q,K,I,I,I,E,U,M,I,S,K,C,I,C,I;A,C;S,wC,C,G,E,C;I,E,E,K,C,O,C,G,U,uC,C,G;A,C;S,uC,C,G,E,G,E,C;I,E,E,G,I,I,I,G,G,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BAAO,OAAO,GAAC,SAAR;mBAAqBjR,IAAI,CAACC,SAAjC;YARgB,CAAnB;QAYJ,CAfF;IAmBR,CAtDD,aAwDE,EAAO,AAAP,SAAO,AAAP,EAAO,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA,GAAA,IAAA;AAEV,CA5DD;AA8De,GAAA,CAAA,8BAAA,GAAA,gCAAA,EACb,wBADa,IAEb,sBAFa,IAGb,kBAHa,IAIb,yBAJa,GAKb6Q,iCALa;A,c,E,O,K,8B;;;;;AT9Ef,GAAA,CAAA,kCAAA,GAAA,4CAAA,CAAA,wBAAA;;C,U;A,M,C,c,C,yB,G,U;I,K,E,I;;A,yB,C,K,G,yB,C,O,G,yB,C,O,G,yB,C,M,Q,C;;AUHA,GAAA,CAAA,4BAAA,GAAA,4CAAA,CAAA,YAAA;;;;;;C,U;S,6B,C,G,E,C;I,E,S,M,M,Q,Y,M,C,Q,M,M,G,6B,Y,O,C,I,E,C;sB,I;I,C;S,6B,Y,Q,C,I,E,C;e,I,W,M,M,Q,K,I,C,W,K,M,I,I,K,M,C,S,I,M,W,I;I,C;W,6B,C,G;A,C;A,M,C,c,C,c,G,U;I,K,E,I;;A,c,E,O,U,C;;ACAA,GAAA,CAAA,4BAAA,GAAA,4CAAA,CAAA,YAAA;;AACA,GAAA,CAAA,8BAAA,GAAA,4CAAA,CAAA,cAAA;;;;AAGA,GAAA,CAAA,iCAAA,GAAA,4CAAA,CAAA,wBAAA;;AACA,GAAA,CAAA,+BAAA,GAAA,4CAAA,CAAA,wBAAA;;AACA,GAAA,CAAA,+BAAA,GAAA,4CAAA,CAAA,wBAAA;;AACA,GAAA,CAAA,+BAAA,GAAA,4CAAA,CAAA,wBAAA;;AACA,GAAA,CAAA,4BAAA,GAAA,4CAAA,CAAA,wBAAA;;;S,4C,C,G,E,C;W,G,I,G,C,U,G,G;S,O,G,G;;A,C;S,qC,C,Q,E,W,E,C;I,E,I,Q,Y,W,G,K,C,G,C,S,E,iC;A,C;S,uC,C,M,E,K,E,C;Q,G,C,C,G,C,E,C,G,K,C,M,E,C,G,C;Q,G,C,U,G,K,C,C;Q,U,C,U,G,U,C,U,I,K;Q,U,C,Y,G,I;Q,E,G,K,K,U,E,U,C,Q,G,I;Q,M,C,c,C,M,E,U,C,G,E,U;I,C;A,C;S,kC,C,W,E,U,E,W,E,C;I,E,E,U,E,uC,C,W,C,S,E,U;I,E,E,W,E,uC,C,W,E,W;W,W;A,C;S,+B,C,Q,E,U,E,C;I,E,S,U,M,Q,K,U,K,I,E,K,C,G,C,S,E,kD;I,Q,C,S,G,M,C,M,C,U,I,U,C,S;Q,W;Y,K,E,Q;Y,Q,E,I;Y,Y,E,I;;;I,E,E,U,E,qC,C,Q,E,U;A,C;S,qC,C,C,E,C,E,C;I,qC,G,M,C,c,a,e,C,E,E,E,E,C;Q,E,C,S,G,E;e,E;I,C;W,qC,C,C,E,C;A,C;S,kC,C,O,E,C;I,G,C,yB,G,+C;oB,oB,G,C;Q,G,C,K,G,qC,C,O,G,M;Q,E,E,yB,E,C;Y,G,C,S,G,qC,O,W;Y,M,G,O,C,S,C,K,E,S,E,S;Q,C,M,M,G,K,C,K,O,S;e,gD,O,M;I,C;A,C;S,gD,C,I,E,I,E,C;I,E,E,I,K,6B,C,I,O,M,Y,I,M,Q,W,I;S,E,E,I,U,C,E,K,C,G,C,S,E,wD;W,4C,C,I;A,C;S,4C,C,I,E,C;I,E,E,I,U,C,E,K,C,G,C,c,E,yD;W,I;A,C;S,+C,G,C;I,E,S,O,M,S,M,O,C,S,S,K;I,E,E,O,C,S,C,I,S,K;I,E,S,K,M,Q,U,I;Q,C;Q,O,C,S,C,O,C,I,C,O,C,S,C,O,iB,C;Q,C;e,I;I,C,Q,C,E,C;e,K;I,C;A,C;S,qC,C,C,E,C;I,qC,G,M,C,c,G,M,C,c,Y,e,C,E,E,C;e,E,C,S,I,M,C,c,C,E;I,C;W,qC,C,C;A,C;AAIA,GAAA,CAAIuD,8BAAQ,GAAA,EAAG,AAAH,SAAG,AAAH,EAAG,CAAA,4BAAf,EAAA,OAAA,GAAA,aAAA,EAAA,KAAA;IAAsB,KAAK,GAAC,4CAAN;IAAP,CAAA,GAAA,EAA6D,AAA7D,SAA6D,AAA7D,EAA6D,CAAA,4BAA7D,EAAA,OAAA,GAAA,aAAA,EAAA,CAAA;IAAgE,SAAS,GAAC,mBAAV;;AAE/E,GAAA,CAAI7C,+BAAS;IACX8C,QAAQ,EAAEC,+BAAAA,EAAAA,OAAAA;IACV3H,UAAU,EAAE4H,iCAAAA,EAAAA,OAAAA;IACZC,QAAQ,EAAEC,+BAAAA,EAAAA,OAAAA;IACV/H,QAAQ,EAAEwC,+BAAAA,EAAAA,OAAAA;IACVwF,KAAK,EAAEC,4BAAPD,EAAAA,OAAAA;;SAGOE,uCAAT,CAA2BC,YAA3B,EAAyC,CAAzC;IACE,GAAA,CAAMC,OAAO,GAAGD,YAAY,CAACC,OAA7B;IACA,EAAA,EAAGA,OAAO,IAAID,YAAY,CAAC5U,QAAb,KAA0B,IAAxC,SACE,EACE,AADF,SACE,AADF,EACE,CAAA,4BADF,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;QACO,SAAS,GAAC,iBAAV;OACF8U,iCAAW,CAACD,OAAD;AAInB,CAAA;SAEQC,iCAAT,CAAqBD,OAArB,EAA8B,CAA9B;IACE,EAAA,EAAGA,OAAO,CAACvV,MAAR,GAAiB,GAApB,EAAyB,CAAzB;QACE,GAAA,CAAMyV,KAAK,GAAGF,OAAO,CAACG,MAAR,CAAe,CAAf,EAAkB,GAAlB;QACd,GAAA,CAAMC,IAAI,GAAGJ,OAAO,CAACG,MAAR,CAAe,GAAf;eACb,EAAO,AAAP,SAAO,AAAP,EAAO,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,EAAA,CAAA,GAAA,IAAA,EAAID,KAAJ,EAAA,EAAU,AAAV,SAAU,AAAV,EAAU,CAAA,4BAAjB,EAAA,OAAA,GAAA,aAAA,EAAA,IAAA;YAAuB,SAAS,GAAC,QAAV;YAAN,MAAA,IAAV,EAA6C,AAA7C,SAA6C,AAA7C,EAA6C,CAAA,4BAAnC,EAAA,OAAA,GAAA,aAAA,EAAA,IAAA;YAAyC,SAAS,GAAC,IAAV;WAAkBE,IAAxB;IACrD,CAJD,aAME,EAAO,AAAP,SAAO,AAAP,EAAO,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,EAAA,CAAA,GAAA,IAAA,EAAIJ,OAAJ;AAEV,CAAA;AAED,GAAA,CAAMK,qCAAe,YAAfA,eAAkB,CAAA,IAAA,EACxB,CADA;IACA,GAAA,CAD0B5G,IAC1B,GAAA,IAAA,CAD0BA,IAC1B;IACE,GAAA,CAAIpQ,IAAJ,EAAUiX,IAAV,EAAgBC,OAAhB;IAEA,EAAA,EAAI9G,IAAI,CAAC+G,YAAT,EAAuB,CAAvB;QACEnX,IAAI,GAAGoQ,IAAI,CAACgH,cAAL,IAAuBhH,IAAI,CAAC+G,YAAnC;QACAF,IAAI,GAAG7G,IAAI,CAACiH,qBAAZ;QACAH,OAAO,GAAG9G,IAAI,CAACkH,sBAAf;IACD,CAJD,MAMK,EAAA,EAAIlH,IAAI,CAACmH,cAAT,EAAyB,CAF7B;QAGCvX,IAAI,GAAGoQ,IAAI,CAACoH,gBAAL,IAAyBpH,IAAI,CAACmH,cAArC;QACAN,IAAI,GAAG7G,IAAI,CAACqH,uBAAZ;QACAP,OAAO,GAAG9G,IAAI,CAACsH,wBAAf;IACD,CAAA;WAED,EACE,AADF,SACE,AADF,EACE,CAAA,4BADF,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;QACO,SAAS,GAAC,gBAAV;OAAL,EACE,AADF,SACE,AADF,EACE,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,EAAA,EAAA,GAAA,IAAA,EAAA,EACE,AADF,SACE,AADF,EACE,CAAA,4BAFJ,EAAA,OAAA,GAAA,aAAA,EAAA,IAAA;QAEU,SAAS,GAAC,OAAV;OAAqB1X,IAA3B,GADF,EAEE,AAFF,SAEE,AAFF,EAEE,CAAA,4BADA,EAAA,OAAA,GAAA,aAAA,EAAA,KAAA;QACO,SAAS,GAAC,YAAV;QAAP,CAAA,GAAkCkX,OAAlC,IAHJ,EAKE,AALF,SAKE,AALF,EAKE,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,EAAA,CAAA,GAAA,IAAA,EAAID,IAAJ;AAGL,CAzBD;SA2BSU,2CAAT,CAA+BvH,IAA/B,EAAqC,CAArC;IAEE,EAAA,EAAIwH,+CAAyB,CAACxH,IAAD,GAE3B,EAAA,AAAA,uFAAA;IACA,EAAA,AAAA,+FAAA;IACA,EAAA,AAAA,sFAAA;WACA,EACE,AADF,SACE,AADF,EACE,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,qCAAD;QAAiB,IAAI,EAAEA,IAAN;;AAGtB,C,AAED,CAFC,AAED,EAFC,AAED,4DAFC;AAGD,EAAA,AAAA,gHAAA;AACA,EAAA,AAAA,2FAAA;SACSwH,+CAAT,CAAmClB,YAAnC,EAAiD,CAAjD;WAEIA,YAAY,CAACa,cAAb,IACEb,YAAY,CAACS,YAAb,IACAT,YAAY,CAACS,YAAb,KAA8BT,YAAY,CAAC3U,EAH/C;AAMD,CAAA;AAEKoO,GAAAA,CAAAA,0B,GAAAA,EAAAA,AAAAA,SAAAA,AAAAA,EAAAA,UAAAA,gBAAAA,EAAAA,CAAAA;I,+B,C,I,E,gB;I,G,C,M,G,kC,C,I;aACJ,IAAA,CAAYwC,KAAZ,EAAmB,CAAnB;QAAmB,GAAA,CAAA,KAAA;QAAA,qCAAA,OAAA,IAAA;QACjB,KAAA,GAAA,MAAA,CAAA,IAAA,OAAMA,KAAN;QACA,KAAA,CAAK1L,KAAL;YACE4Q,OAAO;;oBAEH9V,EAAE,GAAE,QADN;oBAEE+V,KAAK,GAAE,QAFT;oBAGEC,SAAS,EAAE,KAAXA;;;oBAGAhW,EAAE,GAAE,UADN;oBAEE+V,KAAK,GAAE,UAFT;oBAGEC,SAAS,EAAE,KAAXA;;;oBAGAhW,EAAE,GAAE,QADN;oBAEE+V,KAAK,GAAE,QAFT;oBAGEC,SAAS,EAAE,KAAXA;;;oBAGAhW,EAAE,GAAE,QADN;oBAEE+V,KAAK,GAAE,QAFT;oBAGEC,SAAS,EAAE,KAAXA;;gBAGF,EAAA,AAAA,cAAA;gBACA,EAAA,AAAA,yBAAA;gBACA,EAAA,AAAA,mBAAA;gBACA,EAAA,AAAA,GAAA;;oBAEEhW,EAAE,GAAE,KADN;oBAEE+V,KAAK,GAAE,KAFT;oBAGEC,SAAS,EAAE,KAAXA;;;YAGJC,cAAc,EAAErF,KAAK,CAACqF,cAAtBA;;QAEF,GAAA,CAAIC,OAAO;;QACXtF,KAAK,CAAC+D,YAAN,CAAmBtQ,YAAnB,CAAgC5E,OAAhC,UAAwC6E,CAAC,EAAzCsM,CAAAA;mBAA6CsF,OAAO,CAAC5R,CAAD,IAAI,IAAf;QAAA,CAAzC;QACA,KAAA,CAAKY,KAAL,CAAW4Q,OAAX,CAAmBrW,OAAnB,UAA2B0E,CAAC,EAA5B,CAAA;mBAAgCA,CAAC,CAAC6R,SAAF,GAAcE,OAAO,CAACrU,cAAR,CAAuBsC,CAAC,CAACnE,EAAzB;QAAlB,CAA5B;eAvCiB,KAAA;IAwClB,CAAA;I,kC,C,I;;Y,G,G,e;YACD,KAAA,WAAA,eAAA,CAAgBmE,CAAhB,EAAmB,CAAnB;gBACE,EAAA,OAASe,KAAL,CAAW+Q,cAAX,KAA8B9R,CAAC,CAACnE,EAApC,UAA+C,QAAP;uBACjCmE,CAAC,CAAC6R,SAAF,IAAc,MAAd,KAAyB,QAAhC;YACD,CAAA;;;Y,G,G,W;YACD,KAAA,WAAA,WAAA,CAAY7R,CAAZ,EAAe,CAAf;gBACE,EAAA,EAAIA,CAAC,CAAC6R,SAAN;oBACE,EAAA,OAAS9Q,KAAL,CAAW+Q,cAAX,KAA8B9R,CAAC,CAACnE,EAApC,OACOmW,QAAL;wBAAeF,cAAc,EAAE,IAAhBA;;yBAEZ,CADJ;wBAEC,GAAA,CAAMtP,MAAM,QAAQiK,KAAL,CAAW+D,YAAX,CAAwB3U,EAAvC;wBACA,EAAA,SAAW4Q,KAAL,CAAWwF,QAAX,SAA4BxF,KAAL,CAAWwF,QAAX,CAAoBvU,cAApB,CAAmC8E,MAAnC,SACtBiK,KAAL,CAAWyF,WAAX,CAAuB1P,MAAvB;6BAEGwP,QAAL;4BAAeF,cAAc,EAAE9R,CAAC,CAACnE,EAAlBiW;;oBAChB,CAAA;;YAEJ,CAAA;;;Y,G,G,U;YACD,KAAA,WAAA,UAAA,CAAWjW,EAAX,EAAe,CAAf;gBACE,EAAA,SAAW4Q,KAAL,CAAWwF,QAAX,SAA4BxF,KAAL,CAAWwF,QAAX,CAAoBvU,cAApB,CAAmC7B,EAAnC,IAAyC,CAAtE;yBACO4Q,KAAL,CAAWyF,WAAX,CAAuBrW,EAAvB;2BACO,KAAP;gBACD,CAAA;4BACW4Q,KAAL,CAAWwF,QAAX,CAAoBpW,EAApB,EAAwB6B,cAAxB,EAAuC,QAAvC;YACR,CAAA;;;Y,G,G,c;YACD,KAAA,WAAA,cAAA,GAAiB,CAAjB;gBACE,GAAA,CAAIwM,IAAI,QAAQuC,KAAL,CAAW+D,YAAtB;gBACA,EAAA,EAAItG,IAAI,CAACiI,kBAAT,EACEjI,IAAI,CAACkH,sBAAL,QAAmC3E,KAAL,CAAW2F,MAAX,CAAkBlI,IAAI,CAACiI,kBAAvB,EAA2CrY,IAAzE;gBAEF,EAAA,EAAIoQ,IAAI,CAACmI,oBAAT,EACEnI,IAAI,CAACsH,wBAAL,QAAqC/E,KAAL,CAAW2F,MAAX,CAAkBlI,IAAI,CAACmI,oBAAvB,EAA6CvY,IAA7E;uBAEKyW,uCAAiB,CAACrG,IAAD,KAAUuH,2CAAqB,CAACvH,IAAD;YACxD,CAAA;;;Y,G,G,M;YACD,KAAA,WAAA,MAAA,GAAS,CAAT;gBAAS,GAAA,CAAA,MAAA;gBACP,GAAA,CAAMoI,UAAU,QAAQ7F,KAAL,CAAW6F,UAA9B;gBACA,GAAA,CAAM9B,YAAY,QAAQ/D,KAAL,CAAW+D,YAAhC;gBACA,GAAA,CAAM+B,OAAO,QAAQ9F,KAAL,CAAW8F,OAA3B,CACA,CADA,AACA,EADA,AACA,kBADA;gBAEA,EAAA,AAAA,oFAAA;gBACA,EAAA,AAAA,gEAAA;gBACA,EAAA,AAAA,EAAA;gBACA,GAAA,CAAMC,qBAAqB,GAAGhC,YAAY,CAACiC,WAAb,CAAyB3L,KAAzB,EAA+B,CAA/B,GAAoC5L,MAAlE;uBACA,EACE,AADF,SACE,AADF,EACE,CAAA,4BADF,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;oBACO,SAAS,GAAC,WAAV;mBAAL,EACE,AADF,SACE,AADF,EACE,CAAA,4BADF,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;oBACO,SAAS,GAAC,mBAAV;mBAAL,EACE,AADF,SACE,AADF,EACE,CAAA,4BADF,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;oBACO,SAAS,GAAC,sBAAV;mBAAL,EACE,AADF,SACE,AADF,EACE,CAAA,4BADF,EAAA,OAAA,GAAA,aAAA,EAAA,EAAA;oBACM,SAAS,GAAC,UAAV;mBAAJ,EACE,AADF,SACE,AADF,EACE,CAAA,4BADF,EAAA,OAAA,GAAA,aAAA,EAAA,IAAA;oBACQ,SAAS,GAAC,SAAV;mBAAuBsV,YAAY,CAAC1W,IAA1C,GACC0W,YAAY,CAAC3U,EAAb,KAAoB2U,YAAY,CAAC1W,IAAjC,IAAA,EAAyC,AAAzC,SAAyC,AAAzC,EAAyC,CAAA,4BAD1C,EAAA,OAAA,GAAA,aAAA,EAAA,KAAA;oBACiD,SAAS,GAAC,OAAV;oBAAqB,CAA5B,GAAiC0W,YAAY,CAAC3U,EAA9C,GAF5C,EAGE,AAHF,SAGE,AAHF,EAGE,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,8BAAA,EAAA,OAAA,GAAQ,YAAT;oBACE,UAAU,EAAE2U,YAAY,CAACkC,WAD3B;oBAEE,EAAE,KAAA,MAAA,CAAKJ,UAAL,GAAA,CAAA,GAAA,MAAA,CAAmB9B,YAAY,CAACkC,WAAhC,GAAA,WAAA;oBACF,SAAS,GAAC,aAAV;mBAHF,EAKE,AALF,SAKE,AALF,EAKE,CAAA,4BALF,EAAA,OAAA,GAAA,aAAA,EAAA,KAAA;oBAKS,SAAS,GAAC,YAAV;mBAA0BH,OAAjC,KAGH/B,YAAY,CAACmC,QAAb,IAAA,EAAyB,AAAzB,SAAyB,AAAzB,EAAyB,CAAA,4BAHtB,EAAA,OAAA,GAAA,aAAA,EAAA,KAAA;oBAG6B,SAAS,GAAC,aAAV;mBAA2BnC,YAAY,CAACmC,QAAb,CAAsB9S,IAAtB,EAA2B,EAA3B,KAC3D2S,qBAAqB,GAAG,CAAxB,IAAA,EAA6B,AAA7B,SAA6B,AAA7B,EAA6B,CAAA,4BADJ,EAAA,OAAA,GAAA,aAAA,EAAA,CAAA;oBACO,SAAS,GAAC,gBAAV;mBAA8BhC,YAAY,CAACiC,WAA9C,SAE1BG,cAAL,KAjBL,EAmBE,AAnBF,SAmBE,AAnBF,EAmBE,CAAA,4BAJkC,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;oBAI7B,SAAS,GAAC,gBAAV;wBACG7R,KAAL,CAAW4Q,OAAX,CAAmBvQ,GAAnB,UAAwBpB,CAAD,EAAGlE,GAAH,EAD1B,CAAA;2BAC0B,EACtB,AADsB,SACtB,AADsB,EACtB,CAAA,4BADsB,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;wBACjB,GAAG,EAAEA,GAAV;wBACK,SAAS,GAAA,qCAAA,EAAA,MAAA,CAA0C,MAAI,CAAC+W,eAAL,CAAqB7S,CAArB;wBACnD,OAAO,WAAP,OAAA,GAAA,CAAA;mCAAa,MAAI,CAAC8S,WAAL,CAAiB9S,CAAjB;wBAAJ,CAAA;uBACZA,CAAC,CAAC4R,KAHJ;gBADsB,CAAvB,SAOG7Q,KAAL,CAAW+Q,cAAX,SAAkCiB,UAAL,CAAgBvC,YAAY,CAAC3U,EAA7B,KAA7B,EAAiE,AAAjE,SAAiE,AAAjE,EAAiE,CAAA,4BAPxC,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;oBAO6C,SAAS,GAAC,cAAV;mBAAL,EAAiC4T,AAAjC,SAAiCA,AAAjC,EAAiCA,CAAAA,4BAAAA,EAAAA,OAAAA,GAAMC,aAAN,CAAoBxC,+BAAS,MAAMnM,KAAL,CAAW+Q,cAAZ,QAAkCrF,KAA/D;YAGxG,CAAA;;;W,I;AArHgBgD,CAAAA,CAAAA,4BAAAA,EAAAA,OAAAA,GAAMuD,S;AAwHzB,GAAA,CAAM1F,8BAAQ,YAARA,QAAW,CAAAb,KAAK,EAAI,CAA1B;IACE,EAAA,EAAIA,KAAK,CAACnN,aAAN,IAAuBmN,KAAK,CAACnN,aAAN,CAAoBS,QAA3C,IAAuD0M,KAAK,CAACrP,eAAjE,EAAkF,CAAlF;QACE,GAAA,CAAI6V,IAAJ,EAASjN,IAAT,EAAckN,IAAd;QACA,GAAA,CAAM5I,QAAQ,GAAGmC,KAAK,CAACnN,aAAN,CAAoBS,QAApB,CAA6BuK,QAA9C;QACA,EAAA,EAAIA,QAAQ,GAAGmC,KAAK,CAAC0G,iBAArB,EAAwC,CAAxC;YACE,GAAA,CAAMC,OAAO,GAAG3G,KAAK,CAAC4G,mBAAN,GAA0B5G,KAAK,CAAC0G,iBAAhD;YACAnN,IAAI,GAAA,EAAG,AAAH,SAAG,AAAH,EAAG,CAAA,4BAAPA,EAAAA,OAAAA,GAAAA,aAAAA,EAAAA,IAAAA;gBAAa,KAAK;oBAAG8H,OAAO,GAAC,IAARA;;gBAAd,KAAA,GAAA,EAAoC,AAApC,SAAoC,AAApC,EAAoC,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,EAAA,CAAA,GAAA,IAAA,EAAIsF,OAAO,GAAG,CAAd,IAApC,IAAA,GAAA,EAA4D,AAA5D,SAA4D,AAA5D,EAA4D,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,EAAA,CAAA,GAAA,IAAA,EAAIE,IAAI,CAACC,IAAL,CAAUjJ,QAAQ,GAACmC,KAAK,CAAC0G,iBAAzB;YACvEF,IAAI,GAAA,EAAG,AAAH,SAAG,AAAH,EAAG,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,yBAAD,EAAA,IAAA;YACP,EAAA,EAAIG,OAAO,GAAG,CAAd,EACEH,IAAI,GAAA,EAAG,AAAH,SAAG,AAAH,EAAG,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,2BAAD;gBAAO,OAAO,WAAP,OAAA,GAAA,CAAA;2BAAaxG,KAAK,CAAC1G,oBAAN,CAA2BqN,OAAO,GAAG,CAArC;gBAAJ,CAAA;eAAhB,EAA6D,AAA7D,SAA6D,AAA7D,EAA6D,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,kCAAD,EAAA,IAAA;YAEtEF,IAAI,GAAA,EAAG,AAAH,SAAG,AAAH,EAAG,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,yBAAD,EAAA,IAAA;YACP,EAAA,EAAI5I,QAAQ,GAAGmC,KAAK,CAAC4G,mBAAN,GAA4B5G,KAAK,CAAC0G,iBAAjD,EACED,IAAI,GAAA,EAAG,AAAH,SAAG,AAAH,EAAG,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,2BAAD;gBAAO,OAAO,WAAP,OAAA,GAAA,CAAA;2BAAazG,KAAK,CAAC1G,oBAAN,CAA2BqN,OAAO,GAAG,CAArC;gBAAJ,CAAA;eAAhB,EAA6D,AAA7D,SAA6D,AAA7D,EAA6D,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,8BAAD,EAAA,IAAA;QAEvE,CAAA;eACD,EAAO,AAAP,SAAO,AAAP,EAAO,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA,GAAA,IAAA,EAAA,EACL,AADK,SACL,AADK,EACL,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA,GAAA,IAAA,EAAMH,IAAN,EAAYjN,IAAZ,EAAkBkN,IAAlB,GACCzG,KAAK,CAACnN,aAAN,CAAoBS,QAApB,CAA6BtE,IAA7B,CAAkC2F,GAAlC,UAAuC7G,CAAD,EAAGuB,GAAH,EAFzC,CAAA;mBAEyC,EACrC,AADqC,SACrC,AADqC,EACrC,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,0BAAD;gBAAM,GAAG,EAAEA,GAAX;gBACM,YAAY,EAAEvB,CADpB;gBAEM,UAAU,EAAEkS,KAAK,CAAC+G,aAAN,CAAoBlB,UAFtC;gBAGM,WAAW,EAAE7F,KAAK,CAAC+G,aAAN,CAAoBC,WAHvC;gBAIM,OAAO,EAAEhH,KAAK,CAACrP,eAAN,CAAsB7C,CAAC,CAACqB,QAAxB,EAAkC9B,IAJjD;gBAKM,QAAQ,EAAE2S,KAAK,CAACpB,YALtB;gBAMM,WAAW,EAAEoB,KAAK,CAACjE,oBANzB;gBAOM,gBAAgB,EAAEiE,KAAK,CAAClK,kBAP9B;gBAQM,SAAS,EAAEkK,KAAK,CAACrK,gBARvB;gBASM,MAAM,EAAEqK,KAAK,CAACrP,eATpB;gBAUM,cAAc,EAAEqP,KAAK,CAACnN,aAAN,CAAoBS,QAApB,CAA6BuK,QAA7B,KAA0C,CAA1C,IAA+C/P,CAAC,CAAC0F,QAAF,CAAWkQ,QAA1D,IAAqE,QAArE,IAAkF,IAAlG;;QAX+B,CAAtC,GAcA8C,IAhBI,EAgBEjN,IAhBF,EAgBQkN,IAhBR;IAkBR,CAAA;WACM,IAAP;AACD,CApCD;AAsCe,GAAA,CAAA,8BAAA,GAAA,gCAAA,EACb,mBADa,IAEb,mBAFa,IAGb,qBAHa,IAIb,kBAJa,IAKb,sBALa,IAMb,yBANa,IAOb,uBAPa,IAQb,oBARa,IASb,kBATa,IAUb,oBAVa,GAWb5F,8BAXa;A,c,E,O,K,8B;;;;C,U;A,M,C,c,C,c,G,U;I,K,E,I;;A,c,E,O,U,C;;AC9Pf,GAAA,CAAA,4BAAA,GAAA,4CAAA,CAAA,YAAA;;;S,4C,C,G,E,C;W,G,I,G,C,U,G,G;S,O,G,G;;A,C;AAIA,GAAA,CAAMoG,4BAAM,YAANA,MAAS,CAAAjH,KAAK,EAAI,CAAxB;IACE,GAAA,CAAMvC,IAAI,GAAGuC,KAAK,CAACwF,QAAN,CAAexF,KAAK,CAAC+D,YAAN,CAAmB3U,EAAlC;IACb,GAAA,CAAI8X,YAAJ;IACA,GAAA,CAAIC,QAAQ,IAAA,2CAAA,EAAA,MAAA,CAAiD1J,IAAI,CAACzM,GAAtD;IACZ,EAAA,EAAIgP,KAAK,CAACoH,iBAAN,IAA2BpH,KAAK,CAACoH,iBAAN,CAAwB3J,IAAI,CAACzM,GAA7B,GAAmC,CAAlE;QACE,GAAA,CAAI8K,QAAQ,GAAGkE,KAAK,CAACoH,iBAAN,CAAwB3J,IAAI,CAACzM,GAA7B,EAAkC2D,GAAlC,UAAsCvD,CAAC,EAAtD,CAAA;mBAA0DA,CAAC,CAAChC,EAAN;QAAA,CAAvC;QACf,EAAA,EAAI0M,QAAQ,CAACrN,MAAT,GAAkB,CAAtB,EACEyY,YAAY,IAAA,2CAAA,EAAA,MAAA,CAAgDpL,QAAQ,CAAC1I,IAAT,EAAc,CAAd;IAE/D,CALD,MAOE4M,KAAK,CAACvD,0BAAN,CAAiCgB,IAAI,CAACzM,GAAtC;WAEF,EAAO,AAAP,SAAO,AAAP,EAAO,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,0BAAD,EAAA,IAAA,EAAA,EACL,AADK,SACL,AADK,EACL,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,yBAAD;QAAK,QAAQ,GAAC,IAAd;QAAqB,KAAK,GAAC,WAAN;OAArB,EACE,AADF,SACE,AADF,EACE,CAAA,4BADF,EAAA,OAAA,GAAA,aAAA,EAAA,MAAA;QACU,GAAG,EAAEmW,QAAb;QAAuB,WAAW,GAAC,CAAnC;QAAuC,KAAK,GAAC,IAA7C;QAAoD,MAAM,GAAC,KAAP;SAErDD,YAAY,IAAA,EAAI,AAAJ,SAAI,AAAJ,EAAI,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,yBAAD;QAAK,QAAQ,GAAC,QAAd;QAAyB,KAAK,GAAC,8BAAN;OAAzB,EACf,AADe,SACf,AADe,EACf,CAAA,4BADe,EAAA,OAAA,GAAA,aAAA,EAAA,MAAA;QACP,GAAG,EAAEA,YAAb;QAA2B,WAAW,GAAC,CAAvC;QAA2C,KAAK,GAAC,IAAjD;QAAwD,MAAM,GAAC,KAAP;;AAG7D,CArBD;AAuBe,GAAA,CAAA,8BAAA,GAAA,gCAAA,EACb,uBADa,IAEb,0BAFa,GAGbD,4BAHa;A,c,E,O,K,8B;;;;;C,U;S,6B,C,G,E,C;I,E,S,M,M,Q,Y,M,C,Q,M,M,G,6B,Y,O,C,I,E,C;sB,I;I,C;S,6B,Y,Q,C,I,E,C;e,I,W,M,M,Q,K,I,C,W,K,M,I,I,K,M,C,S,I,M,W,I;I,C;W,6B,C,G;A,C;A,M,C,c,C,c,G,U;I,K,E,I;;A,c,E,O,U,C;;AC3Bf,GAAA,CAAA,4BAAA,GAAA,4CAAA,CAAA,YAAA;;AACA,GAAA,CAAA,6BAAA,GAAA,4CAAA,CAAA,aAAA;;;AAEA,GAAA,CAAA,yCAAA,GAAA,4CAAA,CAAA,yBAAA;;AACA,GAAA,CAAA,yCAAA,GAAA,4CAAA,CAAA,yBAAA;;;;;;S,4C,C,G,E,C;W,G,I,G,C,U,G,G;S,O,G,G;;A,C;S,qC,C,Q,E,W,E,C;I,E,I,Q,Y,W,G,K,C,G,C,S,E,iC;A,C;S,uC,C,M,E,K,E,C;Q,G,C,C,G,C,E,C,G,K,C,M,E,C,G,C;Q,G,C,U,G,K,C,C;Q,U,C,U,G,U,C,U,I,K;Q,U,C,Y,G,I;Q,E,G,K,K,U,E,U,C,Q,G,I;Q,M,C,c,C,M,E,U,C,G,E,U;I,C;A,C;S,kC,C,W,E,U,E,W,E,C;I,E,E,U,E,uC,C,W,C,S,E,U;I,E,E,W,E,uC,C,W,E,W;W,W;A,C;S,+B,C,Q,E,U,E,C;I,E,S,U,M,Q,K,U,K,I,E,K,C,G,C,S,E,kD;I,Q,C,S,G,M,C,M,C,U,I,U,C,S;Q,W;Y,K,E,Q;Y,Q,E,I;Y,Y,E,I;;;I,E,E,U,E,qC,C,Q,E,U;A,C;S,qC,C,C,E,C,E,C;I,qC,G,M,C,c,a,e,C,E,E,E,E,C;Q,E,C,S,G,E;e,E;I,C;W,qC,C,C,E,C;A,C;S,kC,C,O,E,C;I,G,C,yB,G,+C;oB,oB,G,C;Q,G,C,K,G,qC,C,O,G,M;Q,E,E,yB,E,C;Y,G,C,S,G,qC,O,W;Y,M,G,O,C,S,C,K,E,S,E,S;Q,C,M,M,G,K,C,K,O,S;e,gD,O,M;I,C;A,C;S,gD,C,I,E,I,E,C;I,E,E,I,K,6B,C,I,O,M,Y,I,M,Q,W,I;S,E,E,I,U,C,E,K,C,G,C,S,E,wD;W,4C,C,I;A,C;S,4C,C,I,E,C;I,E,E,I,U,C,E,K,C,G,C,c,E,yD;W,I;A,C;S,+C,G,C;I,E,S,O,M,S,M,O,C,S,S,K;I,E,E,O,C,S,C,I,S,K;I,E,S,K,M,Q,U,I;Q,C;Q,O,C,S,C,O,C,I,C,O,C,S,C,O,iB,C;Q,C;e,I;I,C,Q,C,E,C;e,K;I,C;A,C;S,qC,C,C,E,C;I,qC,G,M,C,c,G,M,C,c,Y,e,C,E,E,C;e,E,C,S,I,M,C,c,C,E;I,C;W,qC,C,C;A,C;SAMSI,yCAAT,CAA6BnO,UAA7B,EAAyC,CAAzC;;QAEIjJ,MAAM,GAAE,IADH;QAEL+C,IAAI,EAAE,EAFD;QAGLoE,SAAS,GAAE,GAHN;QAILC,MAAM,EAAE,KAJH;QAKLZ,OAAO,EAAE,CALJ;QAMLG,QAAQ,EAAE,CANL;QAOLvF,QAAQ;;gBAEJ8G,QAAQ,EAAEe,UAAU,CAACf,QADvB;gBAEEC,QAAQ,EAAEc,UAAU,CAACd,QAFvB;gBAGE/K,IAAI,EAAE6L,UAAU,CAAC7L,IAHnB;gBAIEsB,QAAQ,EAAEuK,UAAU,CAACvK,QAJvB;gBAKE8H,OAAO,EAAE,CALX;gBAMEG,QAAQ,EAAE,CANZ;gBAOES,MAAM,EAAE,KAPV;gBAQEJ,MAAM,EAAE,KAARA;;;;AAIP,CAAA;AAEK0M,GAAAA,CAAAA,8B,GAAAA,EAAAA,AAAAA,SAAAA,AAAAA,EAAAA,UAAAA,gBAAAA,EAAAA,CAAAA;I,+B,C,Q,E,gB;I,G,C,M,G,kC,C,Q;aACJ,QAAA,CAAY3D,KAAZ,EAAmB,CAAnB;QAAmB,GAAA,CAAA,KAAA;QAAA,qCAAA,OAAA,QAAA;QACjB,KAAA,GAAA,MAAA,CAAA,IAAA,OAAMA,KAAN;QACA,EAAA,GAAKA,KAAK,CAACwF,QAAN,CAAevU,cAAf,CAA8B+O,KAAK,CAAC+D,YAAN,CAAmB3U,EAAjD,GACH4Q,KAAK,CAACyF,WAAN,CAAkBzF,KAAK,CAAC+D,YAAN,CAAmB3U,EAArC;QAEF,KAAA,CAAKyB,QAAL,GAAgBqE,yCAAAA,EAAAA,OAAAA,GAAYrE,QAAZ,CAAqBsE,IAArB,CAA0B7G,MAAM,CAAC8G,MAAP,CAAc4K,KAAK,CAACrP,eAApB;eALzB,KAAA;IAMlB,CAAA;I,kC,C,Q;;Y,G,G,a;YACD,KAAA,WAAA,aAAA,GAAgB,CAAhB;uBACE,EACE,AADF,SACE,AADF,EACE,CAAA,4BADF,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;oBACO,SAAS,GAAC,aAAV;mBAAL,EACE,AADF,SACE,AADF,EACE,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,yCAAA,EAAA,OAAA;oBAAQ,QAAQ,OAAOwE,IAAxB;oBACS,qBAAqB,OAAOsI,IADrC;oBAES,iBAAiB,OAAOuC,KAAL,CAAW7C,cAAX,CAA0B3O,MAFtD;oBAGS,QAAQ,OAAOqC,QAHxB;oBAIS,kBAAkB,EAAE,IAJ7B;oBAKS,SAAS,EAAE,IALpB;oBAMS,cAAc,EAAE,KANzB;oBAOS,eAAe,EAAE,IAP1B;oBAQS,iBAAiB,EAAE,EAR5B;oBASS,UAAU,OAAOmP,KAAL,CAAW+G,aAAX,CAAyBlB,UAArC;;YAGd,CAAA;;;Y,G,G,iB;YACD,KAAA,WAAA,iBAAA,GAAoB,CAApB;qBACO7F,KAAL,CAAWxG,uBAAX,CAAmC6N,yCAAmB;oBACpD1Y,QAAQ,GAAE,SAD2C;oBAErDwJ,QAAQ,GAAE,SAF2C;oBAGrDC,QAAQ,OAAOjD,IAAL,CAAUnE,GAHiC;oBAIrD3D,IAAI,GAAA,YAAA,EAAA,MAAA,MAAsBoQ,IAAL,CAAUpQ,IAA3B;;YAEP,CAAA;;;Y,G,G,e;YACD,KAAA,WAAA,eAAA,GAAkB,CAAlB;qBACO2S,KAAL,CAAWxG,uBAAX,CAAmC6N,yCAAmB;oBACpD1Y,QAAQ,GAAE,SAD2C;oBAErDwJ,QAAQ,GAAE,uBAF2C;oBAGrDC,QAAQ,OAAOqF,IAAL,CAAUzM,GAHiC;oBAIrD3D,IAAI,GAAA,aAAA,EAAA,MAAA,MAAuBoQ,IAAL,CAAUpQ,IAA5B;;YAEP,CAAA;;;Y,G,G,c;YACD,KAAA,WAAA,cAAA,GAAiB,CAAjB;qBACO2S,KAAL,CAAWxG,uBAAX,CAAmC6N,yCAAmB;oBACpD1Y,QAAQ,GAAE,SAD2C;oBAErDwJ,QAAQ,GAAE,gCAF2C;oBAGrDC,QAAQ,OAAOqF,IAAL,CAAUzM,GAHiC;oBAIrD3D,IAAI,GAAA,YAAA,EAAA,MAAA,MAAsBoQ,IAAL,CAAUpQ,IAA3B;;YAEP,CAAA;;;Y,G,G,Y;YACD,KAAA,WAAA,YAAA,GAAe,CAAf;4BACcia,aAAL,EAAmB,QAAnB;YACR,CAAA;;;Y,G,G,W;YAED,KAAA,WAAA,WAAA,GAAc,CAAd;4BACcA,aAAL,EAAmB,sBAAnB;YACR,CAAA;;;Y,G,G,a;YAED,KAAA,WAAA,aAAA,CAAc/S,IAAd,EAAoB,CAApB;gBACE,GAAA,CAAImP,QAAJ,EAAc6D,UAAd;gBACA7D,QAAQ,GAAG5S,6BAAAA,EAAAA,OAAAA,GAAE0W,GAAF,MAAW/J,IAAX,GAAiB,yBAAjB;gBACX8J,UAAU,QAAQ9J,IAAL,CAAUzM,GAAvB;gBAEA,EAAA,EAAI0S,QAAJ,EAAc,CAAd;oBACE,GAAA,CAAI+D,QAAQ,GAAG,6BAAA,EAAA,OAAA,GAAE/D,QAAF,EACZgE,MADY,UACIC,gBAAT,CAA0BC,KAA1B,EAAiCva,IAAjC,EAAuC,CADjD;+BAEWA,IAAI,CAACwa,OAAL,CAAatT,IAAb,MAAuB,CAA9B;oBACD,CAHY,EAIZa,MAJY,GAKZ0S,OALY,GAMZ3N,IANY,GAOZ4N,KAPY;oBASf,EAAA,GAAKjX,6BAAAA,EAAAA,OAAAA,GAAEkX,OAAF,CAAUP,QAAV,GAAqB,CAA1B;wBACE,EAAA,GAAKA,QAAQ,CAACQ,QAAT,CAAkBV,UAAlB,GAA+B,CAApC;4BACE9W,OAAO,CAACC,GAAR,EAAY,oBAAZ,GAAmC6W,UAAnC;4BACAE,QAAQ,CAACnW,IAAT,CAAciW,UAAd;wBACD,CAAA;+BACME,QAAP,CAAiB,CAAjB,AAAiB,EAAjB,AAAiB,gFAAjB;oBACD,CAAA;gBACF,CAAA;YACF,CAAA;;;Y,G,G,Y;YACD,KAAA,WAAA,YAAA,GAAe,CAAf;gBACE,GAAA,CAAI9H,CAAC;;wBACHtS,IAAI,GAAE,QADC;wBAEPsB,QAAQ,GAAE,SAFH;wBAGPkF,KAAK,OAAOsB,IAAL,CAAU+S,SAHV;wBAIPxG,WAAW,OAAOyG,iBAAL,CAAuBC,IAAvB;;;gBAEf,EAAA,OAASpS,SAAT,EACE2J,CAAC,CAACrO,IAAF;oBACEjE,IAAI,GAAE,SADD;oBAELsB,QAAQ,GAAE,SAFL;oBAGLkF,KAAK,OAAOmC,SAAL,CAAevH,MAHjB;oBAILiT,WAAW,OAAO2G,eAAL,CAAqBD,IAArB;;gBAGjB,EAAA,OAAStM,QAAT,EACE6D,CAAC,CAACrO,IAAF;oBACEjE,IAAI,GAAE,QADD;oBAELsB,QAAQ,GAAE,SAFL;oBAGLkF,KAAK,OAAOiI,QAAL,CAAcrN,MAHhB;oBAILiT,WAAW,OAAO4G,cAAL,CAAoBF,IAApB;;uBAGVzI,CAAP;YACD,CAAA;;;Y,G,G,K;YACD,KAAA,WAAA,KAAA,GAAQ,CAAR;gBACE,GAAA,CAAI4I,KAAK;;wBAELlb,IAAI,GAAE,sBADR;wBAEEyN,GAAG,KAAA,MAAA,MAAUkF,KAAL,CAAW+G,aAAX,CAAyBlB,UAA9B,GAAA,CAAA,GAAA,MAAA,MAAiDpI,IAAL,CAAUwI,WAAtD,GAAA,qBAAA,GAAA,MAAA,MAA8FxI,IAAL,CAAUzM,GAAnG;;;gBAGP,EAAA,OAASgP,KAAL,CAAWpO,QAAX,SAA4BoO,KAAL,CAAWpO,QAAX,CAAoBsB,IAApB,CAAyBjC,cAAzB,MAA6CwM,IAAL,CAAUtO,QAAlD,GACzBoZ,KAAK,CAACjX,IAAN;oBACEjE,IAAI,GAAE,MADG;oBAETyN,GAAG,OAAOkF,KAAL,CAAWpO,QAAX,CAAoBkJ,GAApB,QAA+B2C,IAAL,CAAUzM,GAAzC8J;;uBAGGyN,KAAP;YACD,CAAA;;;Y,G,G,M;YACD,KAAA,WAAA,MAAA,GAAS,CAAT;gBACE,GAAA,CAAMnZ,EAAE,QAAQ4Q,KAAL,CAAW+D,YAAX,CAAwB3U,EAAnC;gBACA,EAAA,QAAU4Q,KAAL,CAAWwF,QAAX,CAAoBvU,cAApB,CAAmC7B,EAAnC,UACH,EAAO,AAAP,SAAO,AAAP,EAAO,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,6BAAD,EAAA,IAAA;qBAEJqO,IAAL,QAAiBuC,KAAL,CAAWwF,QAAX,CAAoBpW,EAApB;gBACZ,GAAA,CAAMoZ,MAAM,QAAQ/K,IAAL,CAAUiG,QAAV,CAAmB+E,SAAnB,CAA6BrZ,EAA5C;gBACA,EAAA,QAAW4Q,KAAL,CAAW0I,YAAX,CAAwBzX,cAAxB,CAAuCuX,MAAvC,QACCxI,KAAL,CAAW/D,oBAAX,CAAgCuM,MAAhC;qBAEG,CADJ;oBAEC,GAAA,CAAMrT,IAAI,QAAQ6K,KAAL,CAAW0I,YAAX,CAAwBF,MAAxB;oBACb,EAAA,EAAIrT,IAAI,CAAClE,cAAL,EAAoB,QAApB,IAAiC,CAArC;6BACOkE,IAAL,GAAYD,yCAAAA,EAAAA,OAAAA,GAAYyT,QAAZ,CAAqBxT,IAArB;iCAAgC6K,KAAL,CAAW0I,YAAX,CAAwBF,MAAxB;;6BAClCxS,SAAL,QAAsB4S,YAAL;6BACZ9M,QAAL,QAAqB+M,WAAL;oBACjB,CAAA;gBACF,CAAA;gBACD,GAAA,CAAIC,OAAO,GAAC,CAAZ;gBACA,EAAA,OAAS9I,KAAL,CAAWpO,QAAX,SAA4BoO,KAAL,CAAWpO,QAAX,CAAoBsB,IAApB,CAAyBjC,cAAzB,MAA6CwM,IAAL,CAAUtO,QAAlD,GACzB2Z,OAAO,QAAQ9I,KAAL,CAAWrO,YAAX,SAAgCqO,KAAL,CAAWrO,YAAX,CAAwBvC,EAAxB,SAAmC4Q,KAAL,CAAWrO,YAAX,CAAwBvC,EAAxB,EAA4B0Z,OAArF,GAA+F,CAAzG;uBAEF,EACE,AADF,SACE,AADF,EACE,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,aAAD,EAAA,IAAA,EAAA,EACE,AADF,SACE,AADF,EACE,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,YAAD;oBAAO,GAAG,GAAC,KAAJ;oBAAP,iBAAA,IADF,EAEE,AAFF,SAEE,AAFF,EAEE,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,kBAAD;oBAAa,GAAG,GAAC,WAAJ;oBAAb,oHAAA,GAEGA,OAAO,GAAG,CAAV,IAAA,EAAe,AAAf,SAAe,AAAf,EAAe,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,2BAAD;oBAAO,OAAO,GAAE,OAAT;oBAAP,yEAAA,GAAqGA,OAArG,GAAA,SAAA,UAEZ3T,IAAL,IAAA,EAAa,AAAb,SAAa,AAAb,EAAa,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,cAAD;oBAAS,GAAG,GAAC,OAAJ;wBAAoB4T,aAAL,UAChC5T,IAAL,IAAA,EAAa,AAAb,SAAa,AAAb,EAAa,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,cAAD;oBAAS,GAAG,GAAC,OAAb;oBAAuB,YAAY,OAAO6T,YAAL;oBAPrD,EAQE,AARF,SAQE,AARF,EAQE,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,YAAD;oBAAO,GAAG,GAAC,KAAX;oBAAmB,KAAK,OAAOT,KAAL;;YAG/B,CAAA;;;W,Q;AA1JoBvF,CAAAA,CAAAA,4BAAAA,EAAAA,OAAAA,GAAMuD,S;AA6Jd,GAAA,CAAA,8BAAA,GAAA,gCAAA,EACb,qBADa,IAEb,kBAFa,IAGb,oBAHa,IAIb,mBAJa,IAKb,cALa,IAMb,kBANa,IAOb,oBAPa,IAQb,yBARa,IASb,uBATa,GAUb5C,8BAVa;A,c,E,O,K,8B;;;;C,U;A,M,C,c,C,c,G,U;I,K,E,I;;A,c,C,K,G,c,C,O,G,c,C,O,G,c,C,W,G,c,C,K,G,c,C,M,Q,C;;AC9Lf,GAAA,CAAA,4BAAA,GAAA,4CAAA,CAAA,YAAA;;AACA,GAAA,CAAA,4BAAA,GAAA,4CAAA,CAAA,kBAAA;;AACA,GAAA,CAAA,6BAAA,GAAA,4CAAA,CAAA,aAAA;;AACA,GAAA,CAAA,8BAAA,GAAA,4CAAA,CAAA,cAAA;;;S,4C,C,G,E,C;W,G,I,G,C,U,G,G;S,O,G,G;;A,C;S,8B,G,C;I,8B,G,M,C,M,a,M,E,C;Y,G,C,C,G,C,E,C,G,S,C,M,E,C,G,C;Y,G,C,M,G,S,C,C;gB,G,C,G,I,M,C,E,E,M,C,S,C,c,C,I,C,M,E,G,G,M,C,G,I,M,C,G;Q,C;e,M;I,C;W,8B,C,K,O,S;A,C;AAIO,GAAA,CAAMsD,4BAAM,YAANA,MAAS,CAAAjH,KAAK,EAAI,CAAxB;IACL,GAAA,CAAIiJ,aAAa,GAAG,4BAAA,EAAA,OAAA,GAAMjJ,KAAK,CAAC3O,QAAZ,GAAsB,GAAtB;WACpB,EACE,AADF,SACE,AADF,EACE,CAAA,4BADF,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;QACO,SAAS,GAAC,MAAV;OAAL,EACE,AADF,SACE,AADF,EACE,CAAA,4BADF,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;QACO,SAAS,GAAC,KAAV;OACF4X,aAAa,CAACC,KADjB,EAEGD,aAAa,CAACjD,WAFjB,GADF,EAKE,AALF,SAKE,AALF,EAKE,CAAA,4BAJA,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;QAIK,SAAS,GAAC,eAAV;OACFiD,aAAa,CAACjI,OADjB,GALF,EAQE,AARF,SAQE,AARF,EAQE,CAAA,4BAHA,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;QAGK,SAAS,GAAC,OAAV;OAAL,EACE,AADF,SACE,AADF,EACE,CAAA,4BADF,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;QACO,SAAS,GAAC,cAAf;QAAgC,EAAE,EAAE,EAApC;QAAwC,EAAE,EAAE,CAAJ;OACrCiI,aAAa,CAACE,OADjB,GADF,EAIE,AAJF,SAIE,AAJF,EAIE,CAAA,4BAHA,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;QAGK,SAAS,GAAC,cAAf;QAAgC,EAAE,EAAE,EAApC;QAAwC,EAAE,EAAE,CAAJ;OACrCF,aAAa,CAACV,KADjB;AAMP,CArBM;A,c,C,M,G,4B;AAuBA,GAAA,CAAMa,2BAAK,YAALA,KAAQ,CAAApJ,KAAK,EAAnB,CAAA;WAAmB,EAAI,AAAJ,SAAI,AAAJ,EAAI,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,EAAA,EAAA,GAAA,IAAA,EAAKA,KAAK,CAAC3O,QAAX;AAAJ,CAAnB;A,c,C,K,G,2B;AACA,GAAA,CAAMgY,iCAAW,YAAXA,WAAc,CAAArJ,KAAK,EAAzB,CAAA;WAAyB,EAAI,AAAJ,SAAI,AAAJ,EAAI,CAAA,4BAAJ,EAAA,OAAA,GAAA,aAAA,EAAA,CAAA;QAAO,SAAS,GAAC,WAAV;OAAyBA,KAAK,CAAC3O,QAAlC;AAAJ,CAAzB;A,c,C,W,G,iC;AACA,GAAA,CAAMiY,6BAAO,YAAPA,OAAU,CAAAtJ,KAAK,EAArB,CAAA;WAAqB,EAAI,AAAJ,SAAI,AAAJ,EAAI,CAAA,4BAAJ,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;QAAS,SAAS,GAAC,OAAV;OAAqBA,KAAK,CAAC3O,QAAhC;AAAJ,CAArB;A,c,C,O,G,6B;AAEP,GAAA,CAAMkY,+BAAS,YAATA,SAAY,CAAAvJ,KAAK,EAAI,CAA3B;IACE,GAAA,CAAIrR,QAAJ,EAActB,IAAd,EAAoBmc,KAApB;IACAnc,IAAI,GAAG2S,KAAK,CAAC3S,IAAb;IACA,EAAA,EAAI2S,KAAK,CAACrR,QAAV,EACEA,QAAQ,GAAGqR,KAAK,CAACrR,QAAN,IAAiB,GAA5B;IAEF,EAAA,EAAImC,6BAAAA,EAAAA,OAAAA,GAAE2Y,QAAF,CAAWzJ,KAAK,CAACnM,KAAjB,GACF2V,KAAK,GAAA,EAAG,AAAH,SAAG,AAAH,EAAG,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,2BAAD;QAAO,KAAK;YAAGE,UAAU,GAAE,MAAZA;;QAAuB,OAAO,GAAC,IAAR;OAAgB1J,KAAK,CAACnM,KAA5D;WAEV,EACE,AADF,SACE,AADF,EACE,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,4BAAD;QAAQ,OAAO,GAAC,YAAhB;QAA+B,OAAO,EAAEmM,KAAK,CAAC0B,WAAf;OAC5B/S,QADH,EACatB,IADb,EACmBmc,KADnB;AAIH,CAdD;SAgBSG,wCAAT,CAA4BX,YAA5B,EAA0C,CAA1C;WACSA,YAAY,CAACrU,GAAb,UACJiV,WAAD,EAAcva,GAAd,EADF,CAAA;eACE,EACE,AADF,SACE,AADF,EACE,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,+BAAD,EADF,8BAAA;YACa,GAAG,EAAEA,GAAL;WAAcua,WAAzB;IADF,CADK;AAIR,CAAA;AACM,GAAA,CAAMC,6BAAO,YAAPA,OAAU,CAAA7J,KAAK,EAArB,CAAA;WAAqB,EAC1B,AAD0B,SAC1B,AAD0B,EAC1B,CAAA,4BAD0B,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;QACrB,SAAS,GAAC,OAAV;OAAL,EACE,AADF,SACE,AADF,EACE,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,EAAA,EAAA,GAAA,IAAA,GAAA,cAAA,IADF,EAEE,AAFF,SAEE,AAFF,EAEE,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA,GAAA,IAAA,EACG2J,wCAAkB,CAAC3J,KAAK,CAACgJ,YAAP;AAJG,CAArB;A,c,C,O,G,6B;SASEc,iCAAT,CAAqBvB,KAArB,EAA4B,CAA5B;IACE,GAAA,CAAIjF,QAAQ,GAAA,EAAG,AAAH,SAAG,AAAH,EAAG,CAAA,4BAAf,EAAA,OAAA,GAAA,aAAA,EAAA,KAAA;QAAsB,KAAK,GAAC,4CAAN;QAAP,CAAA,GAAA,EAA6D,AAA7D,SAA6D,AAA7D,EAA6D,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,kCAAD,EAAA,IAAA;WACrEiF,KAAK,CAAC5T,GAAN,UAAWoV,IAAD,EAAO1a,GAAP,EAAjB,CAAA;eAAiB,EACf,AADe,SACf,AADe,EACf,CAAA,4BADe,EAAA,OAAA,GAAA,aAAA,EAAA,EAAA;YACX,GAAG,EAAEA,GAAL;WAAJ,EACE,AADF,SACE,AADF,EACE,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,8BAAA,EAAA,OAAA,GAAQ,YAAT;YACE,UAAU,EAAE0a,IAAI,CAAC1c,IADnB;YAEE,EAAE,EAAE0c,IAAI,CAACjP,GAFX;YAGE,MAAM,GAAC,MAHT;YAIE,SAAS,GAAC,aAAV;WAECiP,IAAI,CAAC1c,IANR,EAMciW,QANd;IAFa,CAAV;AAYR,CAAA;AAEM,GAAA,CAAM0G,2BAAK,YAALA,KAAQ,CAAAhK,KAAK,EAAnB,CAAA;WAAmB,EACxB,AADwB,SACxB,AADwB,EACxB,CAAA,4BADwB,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;QACnB,SAAS,GAAC,KAAV;OAAL,EACE,AADF,SACE,AADF,EACE,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,EAAA,EAAA,GAAA,IAAA,GAAA,wBAAA,IADF,EAEE,AAFF,SAEE,AAFF,EAEE,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,EAAA,EAAA,GAAA,IAAA,EACG8J,iCAAW,CAAC9J,KAAK,CAACuI,KAAP;AAJQ,CAAnB;A,c,C,K,G,2B;;;;;;C,U;S,6B,C,G,E,C;I,E,S,M,M,Q,Y,M,C,Q,M,M,G,6B,Y,O,C,I,E,C;sB,I;I,C;S,6B,Y,Q,C,I,E,C;e,I,W,M,M,Q,K,I,C,W,K,M,I,I,K,M,C,S,I,M,W,I;I,C;W,6B,C,G;A,C;A,M,C,c,C,c,G,U;I,K,E,I;;A,c,E,O,U,C;;ACjFP,GAAA,CAAA,4BAAA,GAAA,4CAAA,CAAA,YAAA;;AACA,GAAA,CAAA,0BAAA,GAAA,4CAAA,CAAA,gBAAA;;AACA,GAAA,CAAA,8BAAA,GAAA,4CAAA,CAAA,oBAAA;;;AAEA,GAAA,CAAA,8BAAA,GAAA,4CAAA,CAAA,wBAAA;;;;;;S,4C,C,G,E,C;W,G,I,G,C,U,G,G;S,O,G,G;;A,C;S,8B,G,C;I,8B,G,M,C,M,a,M,E,C;Y,G,C,C,G,C,E,C,G,S,C,M,E,C,G,C;Y,G,C,M,G,S,C,C;gB,G,C,G,I,M,C,E,E,M,C,S,C,c,C,I,C,M,E,G,G,M,C,G,I,M,C,G;Q,C;e,M;I,C;W,8B,C,K,O,S;A,C;S,qC,C,Q,E,W,E,C;I,E,I,Q,Y,W,G,K,C,G,C,S,E,iC;A,C;S,uC,C,M,E,K,E,C;Q,G,C,C,G,C,E,C,G,K,C,M,E,C,G,C;Q,G,C,U,G,K,C,C;Q,U,C,U,G,U,C,U,I,K;Q,U,C,Y,G,I;Q,E,G,K,K,U,E,U,C,Q,G,I;Q,M,C,c,C,M,E,U,C,G,E,U;I,C;A,C;S,kC,C,W,E,U,E,W,E,C;I,E,E,U,E,uC,C,W,C,S,E,U;I,E,E,W,E,uC,C,W,E,W;W,W;A,C;S,+B,C,Q,E,U,E,C;I,E,S,U,M,Q,K,U,K,I,E,K,C,G,C,S,E,kD;I,Q,C,S,G,M,C,M,C,U,I,U,C,S;Q,W;Y,K,E,Q;Y,Q,E,I;Y,Y,E,I;;;I,E,E,U,E,qC,C,Q,E,U;A,C;S,qC,C,C,E,C,E,C;I,qC,G,M,C,c,a,e,C,E,E,E,E,C;Q,E,C,S,G,E;e,E;I,C;W,qC,C,C,E,C;A,C;S,kC,C,O,E,C;I,G,C,yB,G,+C;oB,oB,G,C;Q,G,C,K,G,qC,C,O,G,M;Q,E,E,yB,E,C;Y,G,C,S,G,qC,O,W;Y,M,G,O,C,S,C,K,E,S,E,S;Q,C,M,M,G,K,C,K,O,S;e,gD,O,M;I,C;A,C;S,gD,C,I,E,I,E,C;I,E,E,I,K,6B,C,I,O,M,Y,I,M,Q,W,I;S,E,E,I,U,C,E,K,C,G,C,S,E,wD;W,4C,C,I;A,C;S,4C,C,I,E,C;I,E,E,I,U,C,E,K,C,G,C,c,E,yD;W,I;A,C;S,+C,G,C;I,E,S,O,M,S,M,O,C,S,S,K;I,E,E,O,C,S,C,I,S,K;I,E,S,K,M,Q,U,I;Q,C;Q,O,C,S,C,O,C,I,C,O,C,S,C,O,iB,C;Q,C;e,I;I,C,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AAA;;;Y,G,G,iB;YAED,KAAA,WAAA,iBAAA,GAAoB,CAApB;gBACE,GAAA,CAAA,qBAAA,QAA+BH,gBAAL,IAAnBK,GAAP,GAAA,qBAAA,CAAOA,GAAP,EAAYtG,KAAZ,GAAA,qBAAA,CAAYA,KAAZ,EAAmBoG,GAAnB,GAAA,qBAAA,CAAmBA,GAAnB;qBACKkB,gBAAL,CAAsBhB,GAAtB,EAA2BtG,KAA3B,EAAkCoG,GAAlC;YACD,CAAA;;;Y,G,G,iB;YAED,KAAA,WAAA,iBAAA,GAAoB,CAApB;gBAAoB,GAAA,CAAA,MAAA;gBAClB,EAAA,AAAA,sEAAA;uBACA,EACE,AADF,SACE,AADF,EACE,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,4BAAD;oBACE,IAAI,GAAC,EADP;oBAEE,OAAO,GAAC,YAFV;oBAGE,OAAO,WAAP,OAAA,GAAA,CAAA;+BAAe,MAAI,CAACmB,iBAAL;oBAAN,CAAA;oBAHX,KAAA;YAOH,CAAA;;;W,S;AAtNoBzI,CAAAA,CAAAA,4BAAAA,EAAAA,OAAAA,GAAMuD,S;AAyNd,GAAA,CAAA,8BAAA,GAAA,gCAAA,EAAQ,sBAAR,GAAiC/C,8BAAjC;A,c,E,O,K,8B;;;;C,U;S,6B,C,G,E,C;I,E,S,M,M,Q,Y,M,C,Q,M,M,G,6B,Y,O,C,I,E,C;sB,I;I,C;S,6B,Y,Q,C,I,E,C;e,I,W,M,M,Q,K,I,C,W,K,M,I,I,K,M,C,S,I,M,W,I;I,C;W,6B,C,G;A,C;A,M,C,c,C,c,G,U;I,K,E,I;;A,c,E,O,U,C;;ACnOf,GAAA,CAAA,4BAAA,GAAA,4CAAA,CAAA,YAAA;;AACA,GAAA,CAAA,uCAAA,GAAA,4CAAA,CAAA,wBAAA;S,4C,C,G,E,C;W,G,I,G,C,U,G,G;S,O,G,G;;A,C;S,8B,G,C;I,8B,G,M,C,M,a,M,E,C;Y,G,C,C,G,C,E,C,G,S,C,M,E,C,G,C;Y,G,C,M,G,S,C,C;gB,G,C,G,I,M,C,E,E,M,C,S,C,c,C,I,C,M,E,G,G,M,C,G,I,M,C,G;Q,C;e,M;I,C;W,8B,C,K,O,S;A,C;S,qC,C,Q,E,W,E,C;I,E,I,Q,Y,W,G,K,C,G,C,S,E,iC;A,C;S,uC,C,M,E,K,E,C;Q,G,C,C,G,C,E,C,G,K,C,M,E,C,G,C;Q,G,C,U,G,K,C,C;Q,U,C,U,G,U,C,U,I,K;Q,U,C,Y,G,I;Q,E,G,K,K,U,E,U,C,Q,G,I;Q,M,C,c,C,M,E,U,C,G,E,U;I,C;A,C;S,kC,C,W,E,U,E,W,E,C;I,E,E,U,E,uC,C,W,C,S,E,U;I,E,E,W,E,uC,C,W,E,W;W,W;A,C;S,+B,C,Q,E,U,E,C;I,E,S,U,M,Q,K,U,K,I,E,K,C,G,C,S,E,kD;I,Q,C,S,G,M,C,M,C,U,I,U,C,S;Q,W;Y,K,E,Q;Y,Q,E,I;Y,Y,E,I;;;I,E,E,U,E,qC,C,Q,E,U;A,C;S,qC,C,C,E,C,E,C;I,qC,G,M,C,c,a,e,C,E,E,E,E,C;Q,E,C,S,G,E;e,E;I,C;W,qC,C,C,E,C;A,C;S,kC,C,O,E,C;I,G,C,yB,G,+C;oB,oB,G,C;Q,G,C,K,G,qC,C,O,G,M;Q,E,E,yB,E,C;Y,G,C,S,G,qC,O,W;Y,M,G,O,C,S,C,K,E,S,E,S;Q,C,M,M,G,K,C,K,O,S;e,gD,O,M;I,C;A,C;S,gD,C,I,E,I,E,C;I,E,E,I,K,6B,C,I,O,M,Y,I,M,Q,W,I;S,E,E,I,U,C,E,K,C,G,C,S,E,wD;W,4C,C,I;A,C;S,4C,C,I,E,C;I,E,E,I,U,C,E,K,C,G,C,c,E,yD;W,I;A,C;S,+C,G,C;I,E,S,O,M,S,M,O,C,S,S,K;I,E,E,O,C,S,C,I,S,K;I,E,S,K,M,Q,U,I;Q,C;Q,O,C,S,C,O,C,I,C,O,C,S,C,O,iB,C;Q,C;e,I;I,C,Q,C,E,C;e,K;I,C;A,C;S,qC,C,C,E,C;I,qC,G,M,C,c,G,M,C,c,Y,e,C,E,E,C;e,E,C,S,I,M,C,c,C,E;I,C;W,qC,C,C;A,C;AAEqBkI,GAAAA,CAAAA,6B,GAAAA,EAAAA,AAAAA,SAAAA,AAAAA,EAAAA,UAAAA,gBAAAA,EAAAA,CAAAA;I,+B,C,O,E,gB;I,G,C,M,G,kC,C,O;aACnB,OAAA,CAAY1L,KAAZ,EAAmB,CAAnB;QAAmB,qCAAA,OAAA,OAAA;eAAA,MAAA,CAAA,IAAA,OACXA,KADW;IAElB,CAAA;I,kC,C,O;;Y,G,G,M;YAED,KAAA,WAAA,MAAA,GAAS,CAAT;uBACE,EACE,AADF,SACE,AADF,EACE,CAAA,4BADF,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;oBACO,SAAS,GAAC,gBAAV;mBAAL,EACE,AADF,SACE,AADF,EACE,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,CAAC,uCAAA,EAAA,OAAA,IAAD,8BAAA;wBAA2BA,KAA3B;oBAAkC,QAAQ,SAASA,KAAL,CAAWiL,UAAvB;;YAGvC,CAAA;;;W,O;AAXkCjI,CAAAA,CAAAA,4BAAAA,EAAAA,OAAAA,GAAMuD,S,EAe3C,CAfqCvD,AAerC,EAfqCA,AAerC,sBAfqCA;AAgBrC,EAAA,AAAA,2CAAA;AACA,EAAA,AAAA,kCAAA;AACA,EAAA,AAAA,mDAAA;AACA,EAAA,AAAA,gDAAA;AACA,EAAA,AAAA,GAAA;A,c,E,O,K,6B;;;;C,U;S,6B,C,G,E,C;I,E,S,M,M,Q,Y,M,C,Q,M,M,G,6B,Y,O,C,I,E,C;sB,I;I,C;S,6B,Y,Q,C,I,E,C;e,I,W,M,M,Q,K,I,C,W,K,M,I,I,K,M,C,S,I,M,W,I;I,C;W,6B,C,G;A,C;A,M,C,c,C,c,G,U;I,K,E,I;;A,c,E,O,U,C;;ACvBA,GAAA,CAAA,4BAAA,GAAA,4CAAA,CAAA,YAAA;;AACA,GAAA,CAAA,8BAAA,GAAA,4CAAA,CAAA,oBAAA;S,4C,C,G,E,C;W,G,I,G,C,U,G,G;S,O,G,G;;A,C;S,qC,C,Q,E,W,E,C;I,E,I,Q,Y,W,G,K,C,G,C,S,E,iC;A,C;S,uC,C,M,E,K,E,C;Q,G,C,C,G,C,E,C,G,K,C,M,E,C,G,C;Q,G,C,U,G,K,C,C;Q,U,C,U,G,U,C,U,I,K;Q,U,C,Y,G,I;Q,E,G,K,K,U,E,U,C,Q,G,I;Q,M,C,c,C,M,E,U,C,G,E,U;I,C;A,C;S,kC,C,W,E,U,E,W,E,C;I,E,E,U,E,uC,C,W,C,S,E,U;I,E,E,W,E,uC,C,W,E,W;W,W;A,C;S,+B,C,Q,E,U,E,C;I,E,S,U,M,Q,K,U,K,I,E,K,C,G,C,S,E,kD;I,Q,C,S,G,M,C,M,C,U,I,U,C,S;Q,W;Y,K,E,Q;Y,Q,E,I;Y,Y,E,I;;;I,E,E,U,E,qC,C,Q,E,U;A,C;S,qC,C,C,E,C,E,C;I,qC,G,M,C,c,a,e,C,E,E,E,E,C;Q,E,C,S,G,E;e,E;I,C;W,qC,C,C,E,C;A,C;S,kC,C,O,E,C;I,G,C,yB,G,+C;oB,oB,G,C;Q,G,C,K,G,qC,C,O,G,M;Q,E,E,yB,E,C;Y,G,C,S,G,qC,O,W;Y,M,G,O,C,S,C,K,E,S,E,S;Q,C,M,M,G,K,C,K,O,S;e,gD,O,M;I,C;A,C;S,gD,C,I,E,I,E,C;I,E,E,I,K,6B,C,I,O,M,Y,I,M,Q,W,I;S,E,E,I,U,C,E,K,C,G,C,S,E,wD;W,4C,C,I;A,C;S,4C,C,I,E,C;I,E,E,I,U,C,E,K,C,G,C,c,E,yD;W,I;A,C;S,+C,G,C;I,E,S,O,M,S,M,O,C,S,S,K;I,E,E,O,C,S,C,I,S,K;I,E,S,K,M,Q,U,I;Q,C;Q,O,C,S,C,O,C,I,C,O,C,S,C,O,iB,C;Q,C;e,I;I,C,Q,C,E,C;e,K;I,C;A,C;S,qC,C,C,E,C;I,qC,G,M,C,c,G,M,C,c,Y,e,C,E,E,C;e,E,C,S,I,M,C,c,C,E;I,C;W,qC,C,C;A,C;AACA,EAAA,AAAA,8EAAA;AACA,EAAA,AAAA,wDAAA;AACA,EAAA,AAAA,6DAAA;AACA,EAAA,AAAA,+DAAA;AACA,EAAA,AAAA,gEAAA;AAEA,EAAA,AAAA,qBAAA;AACA,GAAA,CAAM2I,4BAAM,IAAG,0BAAf;AAEqBC,GAAAA,CAAAA,sC,GAAAA,EAAAA,AAAAA,SAAAA,AAAAA,EAAAA,UAAAA,gBAAAA,EAAAA,CAAAA;I,+B,C,gB,E,gB;I,G,C,M,G,kC,C,gB;aAEnB,gBAAA,CAAY5L,KAAZ,EAAmB,CAAnB;QAAmB,GAAA,CAAA,KAAA;QAAA,qCAAA,OAAA,gBAAA;QACjB,KAAA,GAAA,MAAA,CAAA,IAAA,OAAMA,KAAN;QACA,KAAA,CAAK6L,mBAAL,GAA2B7L,KAAK,CAACkK,YAAjC;eAFiB,KAAA;IAGlB,CAAA;I,kC,C,gB;;Y,G,G,qB;YAED,KAAA,WAAA,qBAAA,CAAsB4B,QAAtB,EAAgC,CAAhC;gBACE,EAAA,AAAA,2CAAA;gBACA,EAAA,EAAG,8BAAA,EAAA,OAA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,CAAT;uBACE,EACE,AADF,SACE,AADF,EACE,CAAA,4BADF,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;oBACO,EAAE,OAAOlC,qBAAL;;YAEZ,CAAA;;;W,gB;AAzG2ClJ,CAAAA,CAAAA,4BAAAA,EAAAA,OAAAA,GAAMuD,S,EA4GpD,CA5G8CvD,AA4G9C,EA5G8CA,AA4G9C,+BA5G8CA;AA6G9C,EAAA,AAAA,2CAAA;AACA,EAAA,AAAA,mDAAA;AACA,EAAA,AAAA,kCAAA;AACA,EAAA,AAAA,gDAAA;AACA,EAAA,AAAA,GAAA;A,c,E,O,K,sC;;;;;;;C,U;S,6B,C,G,E,C;I,E,S,M,M,Q,Y,M,C,Q,M,M,G,6B,Y,O,C,I,E,C;sB,I;I,C;S,6B,Y,Q,C,I,E,C;e,I,W,M,M,Q,K,I,C,W,K,M,I,I,K,M,C,S,I,M,W,I;I,C;W,6B,C,G;A,C;A,M,C,c,C,c,G,U;I,K,E,I;;A,c,E,O,U,C;;AC5HA,GAAA,CAAA,4BAAA,GAAA,4CAAA,CAAA,YAAA;;;AAEA,GAAA,CAAA,mCAAA,GAAA,4CAAA,CAAA,mBAAA;;;;AAEA,GAAA,CAAA,yCAAA,GAAA,4CAAA,CAAA,yBAAA;;;;AAGA,GAAA,CAAA,6BAAA,GAAA,4CAAA,CAAA,aAAA;;S,4C,C,G,E,C;W,G,I,G,C,U,G,G;S,O,G,G;;A,C;S,oC,C,G,E,C,E,C;W,qC,C,G,K,2C,C,G,E,C,K,iD,C,G,E,C,K,sC;A,C;S,sC,G,C;I,K,C,G,C,S,E,yI;A,C;S,iD,C,C,E,M,E,C;I,E,G,C;I,E,S,C,M,M,U,uC,C,C,E,M;I,G,C,C,G,M,C,S,C,Q,C,I,C,C,E,K,C,C,E,E;I,E,E,C,M,M,K,C,C,W,E,C,G,C,C,W,C,I;I,E,E,C,M,G,K,C,M,G,U,K,C,I,C,C;I,E,E,C,M,S,gD,I,C,C,U,uC,C,C,E,M;A,C;S,uC,C,G,E,G,E,C;I,E,E,G,I,I,I,G,G,G,C,M,E,G,G,G,C,M;Q,G,C,C,G,C,E,I,G,G,C,K,C,G,G,C,G,G,E,C,G,I,C,C,I,G,C,C;W,I;A,C;S,2C,C,G,E,C,E,C;I,G,C,E,G,G,I,I,G,I,U,M,M,S,K,G,C,M,C,Q,K,G,E,U;I,E,E,E,I,I;I,G,C,I;I,G,C,E,G,I;I,G,C,E,G,K;I,G,C,E,E,E;Q,C;Y,E,G,E,C,I,C,G,K,E,I,E,G,E,C,I,I,I,G,E,G,I,C,C;Y,I,C,I,C,E,C,K;Y,E,E,C,I,I,C,M,K,C;Q,C;I,C,Q,G,E,C;Q,E,G,I;Q,E,G,G;I,C,Q,C;Y,C;Y,E,G,E,I,E,E,M,M,I,E,E,E,M;Q,C,Q,C;Y,E,E,E,E,K,C,E;Q,C;I,C;W,I;A,C;S,qC,C,G,E,C;I,E,E,K,C,O,C,G,U,G;A,C;S,qC,C,Q,E,W,E,C;I,E,I,Q,Y,W,G,K,C,G,C,S,E,iC;A,C;S,uC,C,M,E,K,E,C;Q,G,C,C,G,C,E,C,G,K,C,M,E,C,G,C;Q,G,C,U,G,K,C,C;Q,U,C,U,G,U,C,U,I,K;Q,U,C,Y,G,I;Q,E,G,K,K,U,E,U,C,Q,G,I;Q,M,C,c,C,M,E,U,C,G,E,U;I,C;A,C;S,kC,C,W,E,U,E,W,E,C;I,E,E,U,E,uC,C,W,C,S,E,U;I,E,E,W,E,uC,C,W,E,W;W,W;A,C;S,+B,C,Q,E,U,E,C;I,E,S,U,M,Q,K,U,K,I,E,K,C,G,C,S,E,kD;I,Q,C,S,G,M,C,M,C,U,I,U,C,S;Q,W;Y,K,E,Q;Y,Q,E,I;Y,Y,E,I;;;I,E,E,U,E,qC,C,Q,E,U;A,C;S,qC,C,C,E,C,E,C;I,qC,G,M,C,c,a,e,C,E,E,E,E,C;Q,E,C,S,G,E;e,E;I,C;W,qC,C,C,E,C;A,C;S,kC,C,O,E,C;I,G,C,yB,G,+C;oB,oB,G,C;Q,G,C,K,G,qC,C,O,G,M;Q,E,E,yB,E,C;Y,G,C,S,G,qC,O,W;Y,M,G,O,C,S,C,K,E,S,E,S;Q,C,M,M,G,K,C,K,O,S;e,gD,O,M;I,C;A,C;S,gD,C,I,E,I,E,C;I,E,E,I,K,6B,C,I,O,M,Y,I,M,Q,W,I;S,E,E,I,U,C,E,K,C,G,C,S,E,wD;W,4C,C,I;A,C;S,4C,C,I,E,C;I,E,E,I,U,C,E,K,C,G,C,c,E,yD;W,I;A,C;S,+C,G,C;I,E,S,O,M,S,M,O,C,S,S,K;I,E,E,O,C,S,C,I,S,K;I,E,S,K,M,Q,U,I;Q,C;Q,O,C,S,C,O,C,I,C,O,C,S,C,O,iB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C,OAAb;wBAAuB,YAAY,EAAE7a,OAAd;;gBACvC,CAAA;uBACD,EACE,AADF,SACE,AADF,EACE,CAAA,4BADF,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;oBACO,GAAG,WAAE,GAAA,CAACgb,GAAD,EAAS,CAAd;wBAAe,MAAI,CAAC5D,UAAL,GAAkB4D,GAAlB;oBAAuB,CAAA;mBAA3C,EACE,AADF,SACE,AADF,EACE,CAAA,4BADF,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;oBACO,KAAK;wBAAG7D,KAAK,EAAC,GAAP;wBAAYG,MAAM,EAAE,GAApB;wBAAyB2D,QAAQ,GAAC,MAAlC;yBAA4C,KAAA,IAAM,IAAN;;wBAAqBC,eAAL,KAD1E,EAEE,AAFF,SAEE,AAFF,EAEE,CAAA,4BADA,EAAA,OAAA,GAAA,aAAA,EAAA,GAAA;oBACK,EAAE,OAAOtE,QAAT;oBACJiE,YAHH,EAIGD,YAJH;YAOH,CAAA;;;W,Q;AAjPoBxP,CAAAA,CAAAA,4BAAAA,EAAAA,OAAAA,GAAMuD,S;AAoPd,GAAA,CAAA,8BAAA,GAAA,gCAAA,EACb,qBADa,IAEb,qBAFa,IAGb,wBAHa,IAIb,yBAJa,GAKbnI,8BALa;A,c,E,O,K,8B;;;;;C,U;S,6B,C,G,E,C;I,E,S,M,M,Q,Y,M,C,Q,M,M,G,6B,Y,O,C,I,E,C;sB,I;I,C;S,6B,Y,Q,C,I,E,C;e,I,W,M,M,Q,K,I,C,W,K,M,I,I,K,M,C,S,I,M,W,I;I,C;W,6B,C,G;A,C;A,M,C,c,C,c,G,U;I,K,E,I;;A,c,E,O,U,C;;AChQf,GAAA,CAAA,4BAAA,GAAA,4CAAA,CAAA,YAAA;;AACA,GAAA,CAAA,8BAAA,GAAA,4CAAA,CAAA,cAAA;;AAEA,GAAA,CAAA,6BAAA,GAAA,4CAAA,CAAA,aAAA;;AACA,GAAA,CAAA,qCAAA,GAAA,4CAAA,CAAA,qBAAA;;;S,4C,C,G,E,C;W,G,I,G,C,U,G,G;S,O,G,G;;A,C;S,qC,C,Q,E,W,E,C;I,E,I,Q,Y,W,G,K,C,G,C,S,E,iC;A,C;S,uC,C,M,E,K,E,C;Q,G,C,C,G,C,E,C,G,K,C,M,E,C,G,C;Q,G,C,U,G,K,C,C;Q,U,C,U,G,U,C,U,I,K;Q,U,C,Y,G,I;Q,E,G,K,K,U,E,U,C,Q,G,I;Q,M,C,c,C,M,E,U,C,G,E,U;I,C;A,C;S,kC,C,W,E,U,E,W,E,C;I,E,E,U,E,uC,C,W,C,S,E,U;I,E,E,W,E,uC,C,W,E,W;W,W;A,C;S,+B,C,Q,E,U,E,C;I,E,S,U,M,Q,K,U,K,I,E,K,C,G,C,S,E,kD;I,Q,C,S,G,M,C,M,C,U,I,U,C,S;Q,W;Y,K,E,Q;Y,Q,E,I;Y,Y,E,I;;;I,E,E,U,E,qC,C,Q,E,U;A,C;S,qC,C,C,E,C,E,C;I,qC,G,M,C,c,a,e,C,E,E,E,E,C;Q,E,C,S,G,E;e,E;I,C;W,qC,C,C,E,C;A,C;S,kC,C,O,E,C;I,G,C,yB,G,+C;oB,oB,G,C;Q,G,C,K,G,qC,C,O,G,M;Q,E,E,yB,E,C;Y,G,C,S,G,qC,O,W;Y,M,G,O,C,S,C,K,E,S,E,S;Q,C,M,M,G,K,C,K,O,S;e,gD,O,M;I,C;A,C;S,gD,C,I,E,I,E,C;I,E,E,I,K,6B,C,I,O,M,Y,I,M,Q,W,I;S,E,E,I,U,C,E,K,C,G,C,S,E,wD;W,4C,C,I;A,C;S,4C,C,I,E,C;I,E,E,I,U,C,E,K,C,G,C,c,E,yD;W,I;A,C;S,+C,G,C;I,E,S,O,M,S,M,O,C,S,S,K;I,E,E,O,C,S,C,I,S,K;I,E,S,K,M,Q,U,I;Q,C;Q,O,C,S,C,O,C,I,C,O,C,S,C,O,iB,C;Q,C;e,I;I,C,Q,C,E,C;e,K;I,C;A,C;S,qC,C,C,E,C;I,qC,G,M,C,c,G,M,C,c,Y,e,C,E,E,C;e,E,C,S,I,M,C,c,C,E;I,C;W,qC,C,C;A,C;AAGA,GAAA,CAAM2U,iDAA2B,GAAG,EAApC;AAEMC,GAAAA,CAAAA,0B,GAAAA,EAAAA,AAAAA,SAAAA,AAAAA,EAAAA,UAAAA,gBAAAA,EAAAA,CAAAA;I,+B,C,I,E,gB;I,G,C,M,G,kC,C,I;aACJ,IAAA,CAAYhT,KAAZ,EAAmB,CAAnB;QAAmB,GAAA,CAAA,KAAA;QAAA,qCAAA,OAAA,IAAA;QACjB,KAAA,GAAA,MAAA,CAAA,IAAA,OAAMA,KAAN;QACA,KAAA,CAAK1L,KAAL;YAAc2e,OAAO,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I,C;W,6B,C,G;A,C;A,M,C,c,C,c,G,U;I,K,E,I;;A,c,E,O,U,C;;AULA,GAAA,CAAA,4BAAA,GAAA,4CAAA,CAAA,YAAA;;;;AAGA,GAAA,CAAA,gCAAA,GAAA,4CAAA,CAAA,wBAAA;;S,4C,C,G,E,C;W,G,I,G,C,U,G,G;S,O,G,G;;A,C;S,qC,C,Q,E,W,E,C;I,E,I,Q,Y,W,G,K,C,G,C,S,E,iC;A,C;S,uC,C,M,E,K,E,C;Q,G,C,C,G,C,E,C,G,K,C,M,E,C,G,C;Q,G,C,U,G,K,C,C;Q,U,C,U,G,U,C,U,I,K;Q,U,C,Y,G,I;Q,E,G,K,K,U,E,U,C,Q,G,I;Q,M,C,c,C,M,E,U,C,G,E,U;I,C;A,C;S,kC,C,W,E,U,E,W,E,C;I,E,E,U,E,uC,C,W,C,S,E,U;I,E,E,W,E,uC,C,W,E,W;W,W;A,C;S,+B,C,Q,E,U,E,C;I,E,S,U,M,Q,K,U,K,I,E,K,C,G,C,S,E,kD;I,Q,C,S,G,M,C,M,C,U,I,U,C,S;Q,W;Y,K,E,Q;Y,Q,E,I;Y,Y,E,I;;;I,E,E,U,E,qC,C,Q,E,U;A,C;S,qC,C,C,E,C,E,C;I,qC,G,M,C,c,a,e,C,E,E,E,E,C;Q,E,C,S,G,E;e,E;I,C;W,qC,C,C,E,C;A,C;S,kC,C,O,E,C;I,G,C,yB,G,+C;oB,oB,G,C;Q,G,C,K,G,qC,C,O,G,M;Q,E,E,yB,E,C;Y,G,C,S,G,qC,O,W;Y,M,G,O,C,S,C,K,E,S,E,S;Q,C,M,M,G,K,C,K,O,S;e,gD,O,M;I,C;A,C;S,gD,C,I,E,I,E,C;I,E,E,I,K,6B,C,I,O,M,Y,I,M,Q,W,I;S,E,E,I,U,C,E,K,C,G,C,S,E,wD;W,4C,C,I;A,C;S,4C,C,I,E,C;I,E,E,I,U,C,E,K,C,G,C,c,E,yD;W,I;A,C;S,+C,G,C;I,E,S,O,M,S,M,O,C,S,S,K;I,E,E,O,C,S,C,I,S,K;I,E,S,K,M,Q,U,I;Q,C;Q,O,C,S,C,O,C,I,C,O,C,S,C,O,iB,C;Q,C;e,I;I,C,Q,C,E,C;e,K;I,C;A,C;S,qC,C,C,E,C;I,qC,G,M,C,c,G,M,C,c,Y,e,C,E,E,C;e,E,C,S,I,M,C,c,C,E;I,C;W,qC,C,C;A,C;AAGM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AAA,GADtD,EAEE,AAFF,SAEE,AAFF,EAEE,CAAA,4BAAA,EAAA,OAAA,GAAA,aAAA,EAAA,EAAA,GAAA,IAAA,EACG2H,8BAAQ,CAAC/e,MAAT,UAAgBuF,CAAC,EAZhB,CAAA;iBAYsBA,CAAC,CAACyZ,OAAF,CAAU5P,aAAa,CAAC3X,EAAxB;IAAN,CAAjB,EAAoDuF,GAApD,UAAyDuI,CAAD,EAAG7N,GAAH,EAAvC,CAAA;eAAuC,EACvD,AADuD,SACvD,AADuD,EACvD,CAAA,4BADuD,EAAA,OAAA,GAAA,aAAA,EAAA,EAAA;YACnD,GAAG,EAAEA,GAAL;WAAJ,EAAc,AAAd,SAAc,AAAd,EAAc,CAAA,4BAAd,EAAA,OAAA,GAAA,aAAA,EAAA,CAAA;YAAiB,OAAO,WAAP,OAAA,GAAA,CAAA;uBAAemK,uBAAuB,CAAC0D,CAAC,CAACtF,OAAH;YAA7B,CAAA;WAA2CsF,CAAC,CAACwC,IAAzD;IADyC,CAAxD;AArCM,CAAjB;AA8Ce,GAAA,CAAA,8BAAA,GAAA,gCAAA,EACb,mBADa,IAEb,uBAFa,GAGbiB,8BAHa;A,c,E,O,K,8B;;;;;AZxHf,GAAA,CAAA,+BAAA,GAAA,4CAAA,CAAA,wBAAA;;C,U;S,6B,C,G,E,C;I,E,S,M,M,Q,Y,M,C,Q,M,M,G,6B,Y,O,C,I,E,C;sB,I;I,C;S,6B,Y,Q,C,I,E,C;e,I,W,M,M,Q,K,I,C,W,K,M,I,I,K,M,C,S,I,M,W,I;I,C;W,6B,C,G;A,C;A,M,C,c,C,c,G,U;I,K,E,I;;A,c,E,O,U,C;;AaPA,GAAA,CAAA,4BAAA,GAAA,4CAAA,CAAA,YAAA;;;S,4C,C,G,E,C;W,G,I,G,C,U,G,G;S,O,G,G;;A,C;S,qC,C,Q,E,W,E,C;I,E,I,Q,Y,W,G,K,C,G,C,S,E,iC;A,C;S,uC,C,M,E,K,E,C;Q,G,C,C,G,C,E,C,G,K,C,M,E,C,G,C;Q,G,C,U,G,K,C,C;Q,U,C,U,G,U,C,U,I,K;Q,U,C,Y,G,I;Q,E,G,K,K,U,E,U,C,Q,G,I;Q,M,C,c,C,M,E,U,C,G,E,U;I,C;A,C;S,kC,C,W,E,U,E,W,E,C;I,E,E,U,E,uC,C,W,C,S,E,U;I,E,E,W,E,uC,C,W,E,W;W,W;A,C;S,+B,C,Q,E,U,E,C;I,E,S,U,M,Q,K,U,K,I,E,K,C,G,C,S,E,kD;I,Q,C,S,G,M,C,M,C,U,I,U,C,S;Q,W;Y,K,E,Q;Y,Q,E,I;Y,Y,E,I;;;I,E,E,U,E,qC,C,Q,E,U;A,C;S,qC,C,C,E,C,E,C;I,qC,G,M,C,c,a,e,C,E,E,E,E,C;Q,E,C,S,G,E;e,E;I,C;W,qC,C,C,E,C;A,C;S,kC,C,O,E,C;I,G,C,yB,G,+C;oB,oB,G,C;Q,G,C,K,G,qC,C,O,G,M;Q,E,E,yB,E,C;Y,G,C,S,G,qC,O,W;Y,M,G,O,C,S,C,K,E,S,E,S;Q,C,M,M,G,K,C,K,O,S;e,gD,O,M;I,C;A,C;S,gD,C,I,E,I,E,C;I,E,E,I,K,6B,C,I,O,M,Y,I,M,Q,W,I;S,E,E,I,U,C,E,K,C,G,C,S,E,wD;W,4C,C,I;A,C;S,4C,C,I,E,C;I,E,E,I,U,C,E,K,C,G,C,c,E,yD;W,I;A,C;S,+C,G,C;I,E,S,O,M,S,M,O,C,S,S,K;I,E,E,O,C,S,C,I,S,K;I,E,S,K,M,Q,U,I;Q,C;Q,O,C,S,C,O,C,I,C,O,C,S,C,O,iB,C;Q,C;e,I;I,C,Q,C,E,C;e,K;I,C;A,C;S,qC,C,C,E,C;I,qC,G,M,C,c,G,M,C,c,Y,e,C,E,E,C;e,E,C,S,I,M,C,c,C,E;I,C;W,qC,C,C;A,C;AAIMqW,GAAAA,CAAAA,mC,GAAAA,EAAAA,AAAAA,SAAAA,AAAAA,EAAAA,UAAAA,gBAAAA,EAAAA,CAAAA;I,+B,C,a,E,gB;I,G,C,M,G,kC,C,a;aACJ,aAAA,CAAYhX,KAAZ,EAAmB,CAAnB;QAAmB,GAAA,CAAA,KAAA;QAAA,qCAAA,OAAA,aAAA;QACjB,KAAA,GAAA,MAAA,CAAA,IAAA,OAAMA,KAAN;QACA,KAAA,CAAK1L,KAAL;YACEmG,OAAO,EAAGnM,MAAM,CAAC8G,MAAP,CAAc4K,KAAK,CAACxO,WAApB,EAAiCiB,IAAjC,UAAuCC,CAAD,EAAGC,CAAH,EAAhD8H,CAAAA;uBAAyD/H,CAAC,CAACukB,UAAF,GAAetkB,CAAC,CAACskB,UAA1B;YAAA,CAAtC;;QAEZ,EAAA,E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","sources":["src/index.js","src/bundles/index.js","src/bundles/api.js","src/bundles/filters.js","src/bundles/views.js","src/bundles/docs.js","src/bundles/genomes.js","src/components/resultList.js","src/components/resultSummary.js","src/components/suggestions.js","src/components/geneSearchUI.js","src/components/results/GeneList.js","src/components/results/details/Expression.js","src/components/results/details/Homology.js","src/components/results/details/generic.js","src/components/results/details/Location.js","src/components/results/details/location/browser.js","src/components/results/details/location/dallianceBrowser.js","src/components/results/details/Pathways.js","src/components/results/details/Xrefs.js","src/components/results/TaxDist.js","src/components/results/selection.js","src/components/results/HelpDemo.js","src/components/TaxonomyModal.js"],"sourcesContent":["import bundles from './bundles';\nimport resultList from './components/resultList';\nimport resultSummary from './components/resultSummary';\nimport suggestions from './components/suggestions';\nimport {Status, Filters, Results, Views} from './components/geneSearchUI';\n\nexport { bundles, resultList, resultSummary, suggestions, Status, Filters, Results, Views };\n","import apiBundles from './api'\nimport filterBundle from './filters'\nimport viewsBundle from './views'\nimport docsBundle from './docs'\nimport genomesBundle from './genomes'\n\nexport default [...apiBundles, docsBundle, filterBundle, viewsBundle, genomesBundle];","import { createAsyncResourceBundle, createSelector } from 'redux-bundler'\nimport _ from 'lodash'\nimport binsClient from \"gramene-bins-client\";\nimport treesClient from \"gramene-trees-client\";\nimport {build} from \"gramene-taxonomy-with-genomes\";\n\nconst facets = [\n \"{!facet.limit='200' facet.mincount='1' key='taxon_id'}taxon_id\",\n \"{!facet.limit='100' facet.mincount='1' key='genetree'}gene_tree\",\n \"{!facet.limit='100' facet.mincount='1' key='pathways'}pathways__ancestors\",\n \"{!facet.limit='100' facet.mincount='1' key='domains'}domain_roots\",\n \"{!facet.limit='-1' facet.mincount='1' key='fixed_1000__bin'}fixed_1000__bin\"\n];\nconst genomesOfInterest = '(taxon_id:2769) OR (taxon_id:3055) OR (taxon_id:3218) OR (taxon_id:3702) OR (taxon_id:3847) OR (taxon_id:4555) OR (taxon_id:4558) OR (taxon_id:4577) OR (taxon_id:13333) OR (taxon_id:15368) OR (taxon_id:29760) OR (taxon_id:39947) OR (taxon_id:55577) OR (taxon_id:88036) OR (taxon_id:214687)';\n\nconst grameneSuggestions = createAsyncResourceBundle( {\n name: 'grameneSuggestions',\n actionBaseType: 'GRAMENE_SUGGESTIONS',\n persist: false,\n getPromise: ({store}) => {\n const t = store.selectSuggestionsQuery().replaceAll(':',' ').trim();\n const g = store.selectGrameneGenomes();\n return fetch(`${store.selectGrameneAPI()}/suggest?q={!boost b=relevance}name:${t}^3 id:${t}^5 synonym:${t}^2 text:${t}*^1`)\n .then(res => res.json())\n .then(suggestions => {\n if (Object.keys(g.active).length > 0) {\n suggestions.grouped.category.groups.forEach(group => {\n group.doclist.docs.forEach(sugg => {\n sugg.num_genes = 0;\n sugg.taxon_id.forEach((id,idx) => {\n if (g.active[id]) {\n sugg.num_genes += sugg.taxon_freq[idx]\n }\n })\n })\n })\n }\n return suggestions\n })\n }\n});\n\ngrameneSuggestions.reactGrameneSuggestions = createSelector(\n 'selectGrameneSuggestionsShouldUpdate',\n 'selectSuggestionsQuery',\n (shouldUpdate, queryString) => {\n if (shouldUpdate && queryString) {\n return { actionCreator: 'doFetchGrameneSuggestions' }\n }\n }\n);\n\ngrameneSuggestions.selectGrameneSuggestionsStatus = createSelector(\n 'selectGrameneSuggestionsShouldUpdate',\n 'selectGrameneSuggestionsIsLoading',\n 'selectGrameneSuggestionsRaw',\n 'selectSuggestionsQuery',\n (shouldUpdate, isLoading, suggestionsRaw, queryString) => {\n if (!queryString) return '';\n if (shouldUpdate) return 'update needed';\n if (isLoading) return 'loading';\n if (suggestionsRaw) return suggestionsRaw.data.grouped.category.matches + ' terms';\n return 'error';\n }\n);\n\ngrameneSuggestions.selectGrameneSuggestionsReady = createSelector(\n 'selectGrameneSuggestionsStatus',\n (status) => {\n const regex = RegExp('terms$');\n return regex.test(status);\n }\n);\n\ngrameneSuggestions.doFocusFirstGrameneSuggestion = arg => ({dispatch, getState}) => {\n console.log('inside doFocusFirstGrameneSuggestion');\n};\n\nconst grameneTaxonomy = createAsyncResourceBundle({\n name: 'grameneTaxonomy',\n actionBaseType: 'GRAMENE_TAXONOMY',\n persist: true,\n getPromise: ({store}) => {\n return fetch(`${store.selectGrameneAPI()}/taxonomy?subset=gramene&rows=-1`)\n .then(res => res.json())\n .then(taxNodes => {\n let taxonomy = _.keyBy(taxNodes, '_id');\n taxNodes.forEach(t => {\n t._id = +t._id; // ensure taxonomy id is a number\n if (t.hasOwnProperty(\"is_a\")) {\n t.is_a.forEach(p_id => {\n const p = taxonomy[p_id];\n if (!p.hasOwnProperty('children')) p.children = [];\n p.children.push(t._id)\n })\n }\n });\n return taxonomy\n })\n }\n});\ngrameneTaxonomy.reactGrameneTaxonomy = createSelector(\n 'selectGrameneTaxonomyShouldUpdate',\n (shouldUpdate) => {\n if (shouldUpdate) {\n return { actionCreator: 'doFetchGrameneTaxonomy' }\n }\n }\n);\nconst grameneMaps = createAsyncResourceBundle({\n name: 'grameneMaps',\n actionBaseType: 'GRAMENE_MAPS',\n persist: true,\n getPromise: ({store}) => {\n return fetch(`${store.selectGrameneAPI()}/maps?rows=-1`)\n .then(res => res.json())\n .then(maps => _.keyBy(maps, 'taxon_id'))\n }\n});\ngrameneMaps.reactGrameneMaps = createSelector(\n 'selectGrameneMapsShouldUpdate',\n (shouldUpdate) => {\n if (shouldUpdate) {\n return { actionCreator: 'doFetchGrameneMaps' }\n }\n }\n);\n\nconst curatedGenes = createAsyncResourceBundle( {\n name: 'curatedGenes',\n actionBaseType: 'CURATED_GENES',\n persist: true,\n getPromise: ({store}) => {\n return fetch(`https://devdata.gramene.org/curation/curations?rows=0&minFlagged=2`)\n .then(res => res.json())\n .then(curation => _.keyBy(curation.genes, 'gene_id'))\n }\n});\ncuratedGenes.reactCuratedGenes = createSelector(\n 'selectCuratedGenesShouldUpdate',\n (shouldUpdate) => {\n if (shouldUpdate) {\n return { actionCreator: 'doFetchCuratedGenes' }\n }\n }\n);\n\nconst grameneExpressionStudies = createAsyncResourceBundle( {\n name: 'grameneExpressionStudies',\n actionBaseType: 'GRAMENE_EXPRESSION_STUDIES',\n persist: true,\n getPromise: ({store}) => {\n return fetch(`${store.selectGrameneAPI()}/experiments?rows=-1`)\n .then(res => res.json())\n .then(res => _.keyBy(res, '_id'))\n }\n});\ngrameneExpressionStudies.reactGrameneExpressionStudies = createSelector(\n 'selectGrameneExpressionStudiesShouldUpdate',\n (shouldUpdate) => {\n if (shouldUpdate) {\n return { actionCreator: 'doFetchGrameneExpressionStudies' }\n }\n }\n);\n\nconst grameneExpressionAssays = createAsyncResourceBundle( {\n name: 'grameneExpressionAssays',\n actionBaseType: 'GRAMENE_EXPRESSION_ASSAYS',\n persist: true,\n getPromise: ({store}) => {\n return fetch(`${store.selectGrameneAPI()}/assays?rows=-1`)\n .then(res => res.json())\n .then(res => {\n let expr={};\n res.forEach(assay => {\n if (!expr.hasOwnProperty(assay.taxon_id)) {\n expr[assay.taxon_id] = {};\n }\n if (!expr[assay.taxon_id].hasOwnProperty(assay.experiment)) {\n expr[assay.taxon_id][assay.experiment] = [];\n }\n assay.order = +assay.group.replace('g','');\n expr[assay.taxon_id][assay.experiment].push(assay);\n });\n // sort each experiment\n for (const tid in expr) {\n for (const exp in expr[tid]) {\n expr[tid][exp].sort((a,b) => a.order - b.order);\n }\n }\n return expr;\n })\n }\n});\ngrameneExpressionAssays.reactGrameneExpressionAssays = createSelector(\n 'selectGrameneExpressionAssaysShouldUpdate',\n (shouldUpdate) => {\n if (shouldUpdate) {\n return { actionCreator: 'doFetchGrameneExpressionAssays' }\n }\n }\n);\n\nconst grameneSearch = createAsyncResourceBundle({\n name: 'grameneSearch',\n actionBaseType: 'GRAMENE_SEARCH',\n persist: false,\n getPromise: ({store}) => {\n const offset = store.selectGrameneSearchOffset();\n const rows = store.selectGrameneSearchRows();\n const g = store.selectGrameneGenomes();\n const taxa = Object.keys(g.active);\n let fq='';\n if (taxa.length) {\n console.log('search add a fq for ',taxa);\n fq = `&fq=taxon_id:(${taxa.join(' OR ')})`;\n }\n return fetch(`${store.selectGrameneAPI()}/search?q=${store.selectGrameneFiltersQueryString()}&facet.field=${facets}&rows=${rows}&start=${offset}${fq}`)\n .then(res => res.json())\n .then(res => {\n res.response.docs.forEach(d => {\n d.can_show = {};\n d.capabilities.forEach(c => {\n d.can_show[c]=true;\n })\n });\n return res;\n })\n }\n});\ngrameneSearch.reactGrameneSearch = createSelector(\n 'selectGrameneSearchShouldUpdate',\n 'selectGrameneFiltersStatus',\n (shouldUpdate, status) => {\n if (shouldUpdate && status === 'search') {\n return { actionCreator: 'doFetchGrameneSearch' }\n }\n }\n);\n\nfunction formatFacetCountsForViz(a) {\n let res = {\n count: a.length/2,\n displayName: \"fixed_1000__bin\",\n data: {},\n sorted: []\n };\n let counts = [];\n for(let i=0;i<a.length;i+=2) {\n const fc = {\n id: +a[i],\n count: +a[i+1]\n };\n res.data[a[i]] = fc;\n counts.push(fc);\n }\n res.sorted = counts.sort((a,b) => a.id - b.id);\n return res;\n}\n\n// bundle to prepare data for the TaxDist component\nconst grameneTaxDist = {\n name: 'grameneTaxDist',\n getReducer: () => {\n const initialState = {};\n return (state = initialState, {type, payload}) => {\n return state;\n }\n },\n selectGrameneTaxDist: createSelector(\n 'selectGrameneSearch',\n 'selectGrameneTaxonomy',\n 'selectGrameneMaps',\n (grameneSearch,grameneTaxonomy,grameneMaps) => {\n if (grameneSearch && grameneTaxonomy && grameneMaps) {\n _.forIn(grameneMaps, (map, tid) => {\n grameneTaxonomy[tid].name = map.display_name;\n });\n const binnedResults = formatFacetCountsForViz(grameneSearch.facet_counts.facet_fields.fixed_1000__bin);\n let speciesTree = treesClient.taxonomy.tree(Object.values(grameneTaxonomy));\n let binMapper = binsClient.bins(grameneMaps);\n let taxDist = build(binMapper, speciesTree);\n taxDist.setBinType('fixed',1000);\n taxDist.setResults(binnedResults);\n return taxDist;\n }\n return null;\n }\n )\n};\n\n// this query will give the sorghum orthologs of AT1G01260\n// want to provide these on non-sorghum genes if available\n// http://data.gramene.org/search?q=homology__all_orthologs:AT1G01260&fq=taxon_id:4558&fl=id\nconst grameneOrthologs = {\n name: 'grameneOrthologs',\n getReducer: () => {\n const initialState = {};\n return (state = initialState, {type, payload}) => {\n let newState;\n switch (type) {\n case 'GRAMENE_ORTHOLOGS_REQUESTED':\n if (!state.hasOwnProperty(payload)) {\n newState = Object.assign({}, state);\n newState[payload] = [];\n return newState;\n }\n break;\n case 'GRAMENE_ORTHOLOGS_RECEIVED':\n return Object.assign({}, state, payload);\n }\n return state;\n }\n },\n doRequestOrthologs: geneId => ({dispatch, store}) => {\n const orthologs = store.selectGrameneOrthologs();\n if (!orthologs.hasOwnProperty(geneId)) {\n dispatch({type: 'GRAMENE_ORTHOLOGS_REQUESTED', payload: geneId});\n const API = store.selectGrameneAPI();\n const taxonId = store.selectTargetTaxonId();\n fetch(`${API}/search?q=homology__all_orthologs:${geneId}&fq=taxon_id:${taxonId}&fl=id`)\n .then(res => res.json())\n .then(res => {\n let newOrthologs = {};\n newOrthologs[geneId] = res.response.docs.map(d => d.id);\n dispatch({type: 'GRAMENE_ORTHOLOGS_RECEIVED', payload: newOrthologs})\n })\n }\n },\n selectGrameneOrthologs: state => state.grameneOrthologs\n};\n\n\n// function selectFacetIDs(store, field) {\n// const path = `grameneGenes.data.facet_counts.facet_fields.${field}`;\n// if (_.has(store,path)) {\n// const flat_facets = _.get(store,path);\n// let idList = [];\n// if (isNaN(+flat_facets[0])) {\n// for (let i = 0; i < flat_facets.length; i += 2) {\n// idList.push(flat_facets[i])\n// }\n// }\n// else {\n// for (let i = 0; i < flat_facets.length; i += 2) {\n// idList.push(+flat_facets[i])\n// }\n// if (idList.length === 1) idList.push(0);\n// }\n// return idList;\n// }\n// }\n//\n// grameneGenes.selectDomainFacets = store => selectFacetIDs(store, 'domains');\n// grameneGenes.selectPathwayFacets = store => selectFacetIDs(store, 'pathways');\n// grameneGenes.selectTaxonomyFacets = store => selectFacetIDs(store, 'taxon_id');\n//\n// const grameneDomains = createAsyncResourceBundle({\n// name: 'grameneDomains',\n// actionBaseType: 'GRAMENE_DOMAINS',\n// persist: false,\n// getPromise: ({store}) =>\n// fetch(`${store.selectGrameneAPI()}/domains?rows=-1&idList=${store.selectDomainFacets().join(',')}`)\n// .then(res => res.json())\n// .then(docs => {return {domains: docs, numFound: docs.length}})\n// });\n//\n// const gramenePathways = createAsyncResourceBundle({\n// name: 'gramenePathways',\n// actionBaseType: 'GRAMENE_PATHWAYS',\n// persist: false,\n// getPromise: ({store}) =>\n// fetch(`${store.selectGrameneAPI()}/pathways?rows=-1&idList=${store.selectPathwayFacets().join(',')}`)\n// .then(res => res.json())\n// .then(docs => {return {pathways: docs, numFound: docs.length}})\n// });\n//\n// const grameneTaxonomy = createAsyncResourceBundle({\n// name: 'grameneTaxonomy',\n// actionBaseType: 'GRAMENE_TAXONOMY',\n// persist: false,\n// getPromise: ({store}) =>\n// fetch(`${store.selectGrameneAPI()}/taxonomy?rows=-1&idList=${store.selectTaxonomyFacets().join(',')}`)\n// .then(res => res.json())\n// .then(docs => {return {taxonomy: docs, numFound: docs.length}})\n// });\n\n\nexport default [grameneSuggestions, grameneSearch, grameneMaps, grameneTaxonomy, grameneTaxDist, grameneOrthologs, curatedGenes];//, grameneExpressionStudies, grameneExpressionAssays];\n","import {createSelector} from \"redux-bundler\";\nimport _ from 'lodash';\nconst MAX_IDLIST_LENGTH = 20;\n\nfunction findNodeWithLeftIdx(node, idx) {\n if (node.leftIdx === idx) {\n return node;\n }\n let result=null;\n if (node.leftIdx < idx && node.hasOwnProperty('children')) {\n node.children.forEach(child => {\n if (child.rightIdx > idx) {\n child.parentIdx = node.leftIdx;\n const res = findNodeWithLeftIdx(child, idx);\n if (res) result = res;\n }\n })\n }\n return result;\n}\n\nfunction markSubtree(node, source, invert) {\n node.marked = (node.leftIdx >= source.leftIdx && node.rightIdx <= source.rightIdx);\n if (invert) node.marked = !node.marked;\n if (node.hasOwnProperty('children')) {\n node.children.forEach(child => {\n markSubtree(child, source, invert);\n })\n }\n}\n\nfunction reindexTree(node, idx) {\n node.leftIdx = idx;\n idx++;\n if (node.hasOwnProperty('children')) {\n node.children.forEach(child => {\n idx = reindexTree(child, idx);\n });\n }\n node.rightIdx = idx;\n idx++;\n return idx;\n}\n\nconst grameneFilters = {\n name: 'grameneFilters',\n getReducer: () => {\n const initialState = {\n status: 'init', // others include 'search', 'waiting' and 'ready'\n operation: 'AND',\n negate: false,\n marked: false,\n leftIdx: 0,\n rightIdx: 1,\n children: [],\n showMarked: false,\n showMenu: false,\n moveCopyMode: '',\n searchOffset: 0,\n rows: 20\n };\n return (state = initialState, {type, payload}) => {\n let newState;\n switch (type) {\n case 'GRAMENE_FILTERS_CLEARED': {\n newState = Object.assign({}, initialState, {\n status: 'search',\n children: []\n });\n return newState;\n }\n case 'GRAMENE_FILTER_ADDED': {\n const idx = state.rightIdx;\n newState = Object.assign({}, state, {\n status: 'search',\n showMarked: true,\n rightIdx: idx + 2,\n searchOffset: 0\n });\n let child = _.pick(payload, ['fq_field', 'fq_value', 'name', 'category']);\n child.leftIdx = idx;\n child.rightIdx = idx + 1;\n child.negate = false;\n child.showMenu = false;\n newState.children.push(child);\n markSubtree(newState, child, false);\n return newState;\n }\n case 'GRAMENE_FILTER_TREE_ADDED': {\n newState = Object.assign({}, state, {\n status: 'search',\n showMarked: true,\n rightIdx: payload.rightIdx + 1,\n searchOffset: 0\n });\n newState.children.push(payload);\n markSubtree(newState, payload, false);\n return newState;\n }\n case 'GRAMENE_FILTER_SET_ADDED': {\n // create a filter with the payload.operation and children payload.filters\n let filter = {\n leftIdx: state.rightIdx,\n rightIdx: state.rightIdx + (payload.filters.length) * 2 + 1,\n operation: payload.operation,\n negate: false,\n showMenu: false,\n children: payload.filters\n };\n if (payload.warning) {\n filter.warning = payload.warning\n }\n let nextIdx = filter.leftIdx+1;\n payload.filters.forEach(f => {\n f.leftIdx = nextIdx++;\n f.rightIdx = nextIdx++;\n f.negate = false;\n f.showMenu = false;\n });\n newState = Object.assign({}, state, {\n status: 'search',\n showMarked: true,\n searchOffset: 0,\n rightIdx: filter.rightIdx + 1\n });\n newState.children.push(filter);\n markSubtree(newState, filter, false);\n return newState;\n }\n case 'GRAMENE_FILTER_NEGATED': {\n newState = Object.assign({}, state, {\n status: 'search',\n showMarked: true,\n searchOffset: 0\n });\n let node = findNodeWithLeftIdx(newState, payload.leftIdx);\n if (node) {\n node.negate = !node.negate;\n markSubtree(newState, node, false);\n return newState;\n }\n break;\n }\n case 'GRAMENE_FILTER_DELETED': {\n newState = Object.assign({}, state, {\n status: 'search',\n showMarked: true,\n searchOffset: 0\n });\n let node = findNodeWithLeftIdx(newState, payload.leftIdx);\n if (node) {\n let parent = findNodeWithLeftIdx(newState, node.parentIdx);\n parent.children = parent.children.filter(child => child.leftIdx !== node.leftIdx);\n reindexTree(newState, 0);\n markSubtree(newState, parent, false);\n return newState;\n }\n break;\n }\n case 'GRAMENE_FILTER_OPERATION_CHANGED': {\n if (payload.hasOwnProperty('operation')) {\n newState = Object.assign({}, state, {\n status: 'search',\n showMarked: true,\n searchOffset: 0\n });\n let node = findNodeWithLeftIdx(newState, payload.leftIdx);\n node.operation = node.operation === 'AND' ? 'OR' : 'AND';\n markSubtree(newState, node, false);\n return newState;\n }\n break;\n }\n case 'GRAMENE_FILTER_MOVED': {\n newState = Object.assign({}, state, {\n status: 'search',\n showMarked: true,\n moveCopyMode: '',\n searchOffset: 0\n });\n let source = findNodeWithLeftIdx(newState, payload.source.leftIdx);\n let target = findNodeWithLeftIdx(newState, payload.target.leftIdx);\n if (source && target) {\n source.showMenu = false;\n let parent = findNodeWithLeftIdx(newState, source.parentIdx);\n parent.children = parent.children.filter(child => child.leftIdx !== source.leftIdx);\n target.showMenu = false;\n if (!target.hasOwnProperty('children')) {\n let targetCopy = Object.assign({}, target);\n target.children = [targetCopy];\n target.operation = 'OR';\n target.negate = false;\n delete target.fq_field;\n delete target.fq_value;\n delete target.name;\n delete target.category;\n }\n target.children.push(source);\n reindexTree(newState, 0);\n markSubtree(newState, target, false);\n return newState;\n }\n break;\n }\n case 'GRAMENE_FILTER_COPIED': {\n newState = Object.assign({}, state, {\n status: 'search',\n showMarked: true,\n moveCopyMode: '',\n searchOffset: 0\n });\n let source = findNodeWithLeftIdx(newState, payload.source.leftIdx);\n let target = findNodeWithLeftIdx(newState, payload.target.leftIdx);\n if (source && target) {\n source.showMenu = false;\n if (!target.hasOwnProperty('children')) {\n let targetCopy = Object.assign({}, target);\n target.children = [targetCopy];\n target.operation = 'OR';\n target.negate = false;\n delete target.fq_field;\n delete target.fq_value;\n delete target.name;\n delete target.category;\n }\n let sourceCopy = Object.assign({}, source);\n target.children.push(sourceCopy);\n reindexTree(newState, 0);\n markSubtree(newState, target, false);\n return newState;\n }\n break;\n }\n case 'GRAMENE_FILTER_TARGETS_MARKED':\n newState = Object.assign({}, state, {\n showMarked: true,\n moveCopyMode: payload.mode,\n moveCopySource: payload.source\n });\n markSubtree(newState, payload.source, true);\n return newState;\n case 'GRAMENE_FILTER_TARGETS_UNMARKED':\n newState = Object.assign({}, state, {\n showMarked: false\n });\n return newState;\n case 'GRAMENE_FILTERS_REPLACED':\n payload.status = 'search';\n payload.searchOffset = 0;\n return payload;\n case 'GRAMENE_FILTERS_STATUS_CHANGED':\n if (!(state.status === 'ready' && payload === 'waiting')) {\n return Object.assign({}, state, {status: payload})\n }\n break;\n case 'GRAMENE_FILTERS_SET_SHOW_MARKED':\n return Object.assign({}, state, {showMarked: payload});\n case 'GRAMENE_FILTER_MENU_TOGGLED':\n payload.showMenu = !payload.showMenu;\n return Object.assign({}, state);\n case 'GRAMENE_SEARCH_PAGE_REQUESTED':\n return Object.assign({}, state, {status: 'search', searchOffset: payload * state.rows});\n case 'GRAMENE_SEARCH_FETCH_STARTED':\n return Object.assign({}, state, {status: 'loading'});\n case 'GRAMENE_SEARCH_FETCH_FINISHED':\n return Object.assign({}, state, {status: 'finished'});\n case 'GRAMENE_GENOMES_UPDATED':\n return Object.assign({}, state, {status: 'search'});\n case 'URL_UPDATED':\n if (state.status === 'ready') {\n return Object.assign({}, initialState, {children:[]})\n }\n break;\n case 'APP_IDLE':\n if (state.showMarked) {\n return Object.assign({}, state, {showMarked: false})\n }\n }\n return state;\n }\n },\n doNegateGrameneFilter: filter => ({dispatch, getState}) => {\n dispatch({\n type: 'BATCH_ACTIONS', actions: [\n {type: 'GRAMENE_SEARCH_CLEARED'},\n {type: 'GRAMENE_FILTER_NEGATED', payload: filter}\n ]\n })\n },\n doDeleteGrameneFilter: filter => ({dispatch}) => {\n dispatch({\n type: 'BATCH_ACTIONS', actions: [\n {type: 'GRAMENE_SEARCH_CLEARED'},\n {type: 'GRAMENE_TAXONOMY_CLEARED'},\n {type: 'GRAMENE_FILTER_DELETED', payload: filter}\n ]\n })\n },\n doChangeGrameneFilterOperation: filter => ({dispatch}) => {\n dispatch({\n type: 'BATCH_ACTIONS', actions: [\n {type: 'GRAMENE_SEARCH_CLEARED'},\n {type: 'GRAMENE_FILTER_OPERATION_CHANGED', payload: filter}\n ]\n })\n },\n doMoveOrCopyGrameneFilter: (target) => ({dispatch, getState}) => {\n const state = getState();\n if (state.grameneFilters.moveCopyMode) {\n const source = state.grameneFilters.moveCopySource;\n dispatch({\n type: 'BATCH_ACTIONS', actions: [\n {type: 'GRAMENE_SEARCH_CLEARED'},\n {type: `GRAMENE_FILTER_${state.grameneFilters.moveCopyMode.toUpperCase()}D`, payload: {source, target}}\n ]\n })\n }\n },\n doCopyGrameneFilter: (source, target) => ({dispatch, getState}) => {\n dispatch({\n type: 'BATCH_ACTIONS', actions: [\n {type: 'GRAMENE_SEARCH_CLEARED'},\n {type: 'GRAMENE_FILTER_COPIED', payload: {source, target}}\n ]\n })\n },\n doMarkGrameneFilterTargets: (source, mode) => ({dispatch}) => {\n dispatch({type: 'GRAMENE_FILTER_TARGETS_MARKED', payload: {source:source, mode:mode}})\n },\n doUnmarkGrameneFilterTargets: () => ({dispatch}) => {\n dispatch({type: 'GRAMENE_FILTER_TARGETS_UNMARKED'})\n },\n doAcceptGrameneSuggestion: suggestion => ({dispatch, getState}) => {\n if (!suggestion.name) {\n suggestion.name = suggestion.display_name;\n }\n dispatch({\n type: 'BATCH_ACTIONS', actions: [\n {type: 'GRAMENE_SEARCH_CLEARED'},\n {type: 'GRAMENE_FILTER_ADDED', payload: suggestion}\n ]\n })\n },\n doAddGrameneRangeQuery: terms => ({dispatch}) => {\n dispatch({\n type: 'BATCH_ACTIONS', actions: [\n {type: 'GRAMENE_SEARCH_CLEARED'},\n {type: 'GRAMENE_FILTER_SET_ADDED', payload: {operation: 'AND', filters: terms}}\n ]\n })\n },\n doToggleGrameneFilterMenu: node => ({dispatch}) => {\n dispatch({type: 'GRAMENE_FILTER_MENU_TOGGLED', payload: node})\n },\n doRequestResultsPage: page => ({dispatch}) => {\n dispatch(\n {type: 'BATCH_ACTIONS', actions: [\n {type: 'GRAMENE_SEARCH_CLEARED'},\n {type: 'GRAMENE_SEARCH_PAGE_REQUESTED', payload: page}\n ]\n })\n },\n doReplaceGrameneFilters: filters => ({dispatch}) => {\n dispatch({\n type: 'BATCH_ACTIONS', actions: [\n {type: 'GRAMENE_SEARCH_CLEARED'},\n {type: 'GRAMENE_FILTERS_REPLACED', payload: filters}\n ]\n })\n },\n doClearGrameneFilters: () => ({dispatch}) => {\n dispatch({\n type: 'BATCH_ACTIONS', actions: [\n {type: 'GRAMENE_SEARCH_CLEARED'},\n {type: 'GRAMENE_FILTERS_CLEARED'}\n ]\n })\n },\n selectGrameneFilters: state => state.grameneFilters,\n selectGrameneFiltersStatus: state => state.grameneFilters.status,\n selectGrameneFiltersQueryString: state => {\n const hasSpaces = new RegExp(/^[^\\[\\(].*\\s/);\n const isQuery = new RegExp(/\\([a-zA-Z0-9_]+:[a-zA-Z0-9_]+\\s/);\n const idWithColon = new RegExp(/^[a-zA-Z0-9_]+:[a-zA-Z0-9_]+$/);\n function getQuery(node) {\n const negate = node.negate ? 'NOT ' : '';\n if (node.hasOwnProperty('children')) {\n // do some recursion\n return `${negate}(${node.children.map(c => getQuery(c)).sort().join(` ${node.operation} `)})`\n }\n else {\n // this node is a suggestion\n if (isQuery.test(node.fq_value))\n return `${negate}${node.fq_value.replace(/:/g,'\\\\:')}`;\n if (hasSpaces.test(node.fq_value))\n return `${negate}${node.fq_field}:\"${node.fq_value}\"`;\n else if (idWithColon.test(node.fq_value))\n return `${negate}${node.fq_field}:${node.fq_value.replace(/:/g,'\\\\:')}`;\n else\n return `${negate}${node.fq_field}:${node.fq_value}`\n }\n }\n if (state.grameneFilters.rightIdx === 1) {\n return '*:*';\n }\n return `*:* AND (${getQuery(state.grameneFilters)})`;\n },\n selectGrameneSearchOffset: state => state.grameneFilters.searchOffset,\n selectGrameneSearchRows: state => state.grameneFilters.rows\n};\n\nconst handleIdList = (queryObject) => {\n let actions = [{type: 'GRAMENE_SEARCH_CLEARED'}];\n let ids = _.uniq(queryObject.idList.split(','));\n let warning = null;\n if (ids.length > MAX_IDLIST_LENGTH) {\n ids = _.slice(ids, 0, MAX_IDLIST_LENGTH);\n warning = `The idList query parameter is limited to ${MAX_IDLIST_LENGTH} genes`\n }\n let filters = ids.map((id,idx) => {\n return {\n category: 'Gene',\n name: id,\n fq_field: 'id',\n fq_value: id\n }\n });\n if (filters.length === 1) {\n actions.push({type: 'GRAMENE_FILTER_ADDED', payload: filters[0]})\n }\n else {\n let action = {type: 'GRAMENE_FILTER_SET_ADDED', payload: {operation: 'OR', filters:filters}};\n if (warning) {\n action.payload.warning = warning\n }\n actions.push(action)\n }\n return { type: 'BATCH_ACTIONS', actions: actions };\n};\n\ngrameneFilters.reactGrameneFilters = createSelector(\n 'selectQueryObject',\n 'selectGrameneFilters',\n 'selectActiveGenomes',\n 'selectUrlObject',\n (queryObject, filters, genomes, myUrl) => {\n if (filters.status === 'init') {\n if (queryObject.filters) {\n const newFilters = JSON.parse(queryObject.filters);\n let actions = [\n {type: 'GRAMENE_SEARCH_CLEARED'},\n {type: 'GRAMENE_FILTERS_REPLACED', payload: newFilters}\n ];\n if (queryObject.genomes) {\n let active={};\n queryObject.genomes.split(',').forEach(t => {\n active[t]=true\n });\n actions.push({type: 'GRAMENE_GENOMES_UPDATED', payload: active});\n }\n return { type: 'BATCH_ACTIONS', actions: actions };\n }\n if (queryObject.hasOwnProperty('suggestion')) {\n return {\n type: 'BATCH_ACTIONS', actions: [\n {type: 'GRAMENE_SEARCH_CLEARED'},\n {type: 'GRAMENE_FILTER_ADDED', payload: JSON.parse(queryObject.suggestion)}\n ]\n };\n }\n if (queryObject.hasOwnProperty('idList')) {\n return handleIdList(queryObject);\n }\n const url = new URL(myUrl.href);\n if (url.pathname === '/genes') {\n return {type: 'GRAMENE_FILTERS_CLEARED'}\n }\n }\n if (filters.status === 'finished') {\n const url = new URL(myUrl.href);\n url.search = `filters=${JSON.stringify(Object.assign({}, filters, {status: 'init'}))}&genomes=${genomes.join(',')}`;\n return {\n type: 'BATCH_ACTIONS', actions: [\n {type: 'URL_UPDATED', payload: {url: url.href, replace:false}},\n {type: 'GRAMENE_FILTERS_STATUS_CHANGED', payload: 'ready'}\n ]\n }\n }\n }\n);\n\nexport default grameneFilters;","const grameneViews = {\n name: 'grameneViews',\n getReducer: () => {\n const initialState = {\n options: [\n // {\n // id: 'help',\n // name: 'Help / Demo',\n // show: 'off'\n // },\n {\n id: 'taxonomy',\n name: 'Taxonomic distribution',\n show: 'on'\n },\n {\n id: 'list',\n name: 'Gene list',\n show: 'on'\n }\n // {\n // id: 'pathways',\n // name: 'Pathways',\n // show: 'disabled'\n // },\n // {\n // id: 'domains',\n // name: 'Domains',\n // show: 'disabled'\n // },\n // {\n // id: 'go',\n // name: 'GO terms',\n // show: 'disabled'\n // }\n ]\n };\n return (state = initialState, {type, payload}) => {\n let newState;\n switch (type) {\n case 'GRAMENE_VIEW_TOGGLED':\n newState = Object.assign({},state);\n newState.options[payload].show = newState.options[payload].show === 'on' ? 'off' : 'on';\n return newState;\n default:\n return state;\n }\n }\n },\n doToggleGrameneView: idx => ({dispatch, getState}) => {\n dispatch({type: 'GRAMENE_VIEW_TOGGLED', payload: idx})\n },\n selectGrameneViews: state => state.grameneViews,\n};\n\nexport default grameneViews;","const grameneDocs = {\n name: 'grameneDocs',\n getReducer: () => {\n const initialState = {\n genes: {},\n trees: {},\n domains: {},\n pathways: {},\n expression: {}\n };\n return (state = initialState, {type, payload}) => {\n let newState;\n switch (type) {\n case 'GRAMENE_GENE_REQUESTED':\n if (!state.genes.hasOwnProperty(payload)) {\n newState = Object.assign({}, state);\n newState.genes[payload] = {};\n return newState;\n }\n break;\n case 'GRAMENE_GENE_RECEIVED':\n newState = Object.assign({}, state);\n newState.genes = Object.assign({}, state.genes, payload);\n return newState;\n case 'GRAMENE_TREE_REQUESTED':\n if (!state.trees.hasOwnProperty(payload)) {\n newState = Object.assign({}, state);\n newState.trees[payload] = {};\n return newState;\n }\n break;\n case 'GRAMENE_TREE_RECEIVED':\n newState = Object.assign({}, state);\n newState.trees = Object.assign({}, state.trees, payload);\n return newState;\n // case 'GRAMENE_PATHWAYS_REQUESTED':\n // newState = Object.assign({}, state);\n // payload.forEach(id => {\n // if (!state.pathways.hasOwnProperty(id)) {\n // newState.pathways[id] = {};\n // }\n // });\n // return newState;\n case 'GRAMENE_PATHWAYS_RECEIVED':\n newState = Object.assign({}, state);\n newState.pathways = Object.assign({}, state.pathways, payload);\n return newState;\n case 'PARALOG_EXPRESSION_REQUESTED':\n if (!state.expression.hasOwnProperty(payload)) {\n newState = Object.assign({},state);\n newState.expression[payload] = [];\n return newState;\n }\n break;\n case 'PARALOG_EXPRESSION_RECEIVED':\n newState = Object.assign({}, state);\n newState.expression = Object.assign({}, state.expression);\n newState.expression[payload.id] = payload.paralogs;\n return newState;\n }\n return state;\n }\n },\n doRequestGrameneGene: id => ({dispatch, store}) => {\n const genes = store.selectGrameneGenes();\n if (!genes.hasOwnProperty(id)) {\n dispatch({type: 'GRAMENE_GENE_REQUESTED', payload: id});\n fetch(`${store.selectGrameneAPI()}/genes?idList=${id}`)\n .then(res => res.json())\n .then(res => {\n let genes = {};\n res.forEach(g => {\n genes[g._id] = g;\n });\n dispatch({type: 'GRAMENE_GENE_RECEIVED', payload: genes})\n })\n }\n },\n doRequestGrameneTree: id => ({dispatch, store}) => {\n const trees = store.selectGrameneTrees();\n const maps = store.selectGrameneMaps();\n if (!trees.hasOwnProperty(id)) {\n dispatch({type: 'GRAMENE_TREE_REQUESTED', payload: id});\n fetch(`${store.selectGrameneAPI()}/genetrees?idList=${id}`)\n .then(res => res.json())\n .then(res => {\n let trees = {};\n res.forEach(t => {\n function update_taxon_name(node) {\n if (maps.hasOwnProperty(node.taxon_id)) {\n node.taxon_name = maps[node.taxon_id].display_name\n }\n else if (node.taxon_id === 1100004558) {\n node.taxon_name = \"Sorghum bicolor\"\n }\n if (node.taxon_id === 45770001 && node.hasOwnProperty('children')) {\n node.taxon_name = \"Zea mays\"\n }\n if (node.taxon_id === 297600009 && node.hasOwnProperty('children')) {\n node.taxon_name = \"Vitis vinifera\"\n }\n if (node.hasOwnProperty('children')) {\n node.children.forEach(c => update_taxon_name(c))\n }\n }\n update_taxon_name(t);\n trees[t._id] = t;\n });\n dispatch({type: 'GRAMENE_TREE_RECEIVED', payload: trees})\n })\n }\n },\n doRequestGramenePathways: ids => ({dispatch, store}) => {\n const pathways = store.selectGramenePathways();\n let newIds = ids.filter(id => !pathways.hasOwnProperty(id));\n if (newIds) {\n dispatch({type: 'GRAMENE_PATHWAYS_REQUESTED', payload: newIds});\n fetch(`${store.selectGrameneAPI()}/pathways?idList=${newIds.join(',')}`)\n .then(res => res.json())\n .then(res => {\n let pathways = {};\n res.forEach(p => {\n pathways[p._id] = p;\n });\n dispatch({type: 'GRAMENE_PATHWAYS_RECEIVED', payload: pathways})\n })\n }\n },\n doRequestParalogExpression: id => ({dispatch, store}) => {\n const expr = store.selectParalogExpression();\n if (!expr.hasOwnProperty(id)) {\n dispatch({type: 'PARALOG_EXPRESSION_REQUESTED', payload: id});\n fetch(`${store.selectGrameneAPI()}/search?q=homology__within_species_paralog:${id}&fl=id,name,*__expr&rows=100`)\n .then(res => res.json())\n .then(res => {\n const assay_re = /(.+)_tpms_g(\\d+)/;\n const paralogs = res.response.docs.map(d => {\n let p = {\n id: d.id,\n name: d.name,\n experiments: {},\n min:1000,\n max:0\n };\n delete d.id;\n delete d.name;\n Object.entries(d).forEach(assay => {\n const parsed = assay[0].match(assay_re);\n const expr = parsed[1].replace('_','-');\n if (! p.experiments.hasOwnProperty(expr)) {\n p.experiments[expr] = [];\n }\n const g = parsed[2] - 1;\n const e = d[assay[0]];\n if (e < p.min) p.min = e;\n if (e > p.max) p.max = e;\n p.experiments[expr][g] = e;\n });\n return p;\n }).map(p => {\n for (const expr in p.experiments) {\n p.experiments[expr] = p.experiments[expr].filter(e => e >= 0);\n }\n return p;\n });\n dispatch({type: 'PARALOG_EXPRESSION_RECEIVED', payload: {id, paralogs}});\n })\n }\n },\n selectGrameneGenes: state => state.grameneDocs.genes,\n selectGrameneTrees: state => state.grameneDocs.trees,\n selectGramenePathways: state => state.grameneDocs.pathways,\n selectParalogExpression: state => state.grameneDocs.expression\n};\n\nexport default grameneDocs;\n","import {createSelector} from \"redux-bundler\";\nconst grameneGenomes = {\n name: 'grameneGenomes',\n getReducer: () => {\n const initialState = {\n show: false,\n active: {}\n };\n return (state = initialState, {type, payload}) => {\n let newState;\n switch (type) {\n case 'GRAMENE_GENOMES_TOGGLED':\n newState = Object.assign({},state);\n newState.show = !newState.show;\n return newState;\n case 'GRAMENE_GENOMES_UPDATED':\n newState = Object.assign({}, state);\n newState.active = payload;\n return newState;\n default:\n return state;\n }\n }\n },\n doShowGrameneGenomes: () => ({dispatch, getState}) => {\n dispatch({type: 'GRAMENE_GENOMES_TOGGLED'})\n },\n doUpdateGrameneGenomes: genomes => ({dispatch, getState}) => {\n dispatch({type: 'BATCH_ACTIONS', actions: [\n {type: 'GRAMENE_SEARCH_CLEARED'},\n {type: 'GRAMENE_GENOMES_TOGGLED'},\n {type: 'GRAMENE_GENOMES_UPDATED', payload: genomes}]})\n },\n selectGrameneGenomes: state => state.grameneGenomes,\n selectActiveGenomes: state => {\n return Object.keys(state.grameneGenomes.active)\n },\n selectActiveGenomeCount: createSelector(\n 'selectGrameneMaps',\n 'selectGrameneGenomes',\n (maps,genomes) => {\n if (maps && genomes) {\n return Object.keys(genomes.active).length || Object.keys(maps).length;\n }\n return 0;\n }\n )\n};\n\nexport default grameneGenomes;","import {connect} from 'redux-bundler-react'\nimport React from 'react'\n\nconst Gene = ({gene}) => {\n return <div className=\"row\">{gene.id}</div>\n};\n\nconst Genes = (results, rows, doChangeQuantity) => {\n if (results && results.numFound > 0) {\n const moreButton = (results.numFound > rows)\n ? <button onClick={e => doChangeQuantity('Genes',20)}>more</button>\n : '';\n const fewerButton = (rows > 20)\n ? <button onClick={e => doChangeQuantity('Genes',-20)}>fewer</button>\n : '';\n const docsToShow = results.response.docs.slice(0,rows);\n return (\n <div id=\"Genes\" className=\"container mb40 anchor\">\n <div className=\"fancy-title mb40\">\n <h4>Genes</h4>\n </div>\n {docsToShow.map((doc,idx) => <Gene key={idx} gene={doc}/>)}\n {fewerButton}{moreButton}\n </div>\n );\n }\n};\n\nconst Pathway = ({pathway}) => {\n return <div className=\"row\">{pathway.name}</div>\n};\nconst Pathways = results => {\n if (results && results.numFound > 0) {\n return (\n <div id=\"Pathways\" className=\"container mb40 anchor\">\n <div className=\"fancy-title\">\n <h4>Pathways</h4>\n </div>\n {results.pathways.map((doc,idx) => (<Pathway key={idx} pathway={doc}/>))}\n </div>\n );\n }\n};\n\nconst Domain = ({domain}) => {\n return <div className=\"row\">{domain.id}</div>\n};\nconst Domains = results => {\n if (results && results.numFound > 0) {\n return (\n <div id=\"Domains\" className=\"container mb40 anchor\">\n <div className=\"fancy-title mb40\">\n <h4>Domains</h4>\n </div>\n {results.domains.map((doc,idx) => (<Domain key={idx} domain={doc}/>))}\n </div>\n );\n }\n};\n\nconst Taxon = ({taxon}) => {\n return <div className=\"row\">{taxon.id}</div>\n};\nconst Species = results => {\n if (results && results.numFound > 0) {\n return (\n <div id=\"Species\" className=\"container mb40 anchor\">\n <div className=\"fancy-title mb40\">\n <h4>Species</h4>\n </div>\n {results.taxonomy.map((doc,idx) => (<Taxon key={idx} taxon={doc}/>))}\n </div>\n );\n }\n};\n\nconst ResultList = ({grameneGenes, grameneDomains, gramenePathways, grameneTaxonomy, searchUI, searchUpdated, doChangeQuantity}) => {\n if (searchUI.Gramene) {\n return (\n <div id=\"gramene\" className=\"row\">\n <div className=\"fancy-title pt50\">\n <h3>Gramene search results</h3>\n </div>\n {searchUI.Genes && Genes(grameneGenes, searchUI.rows.Genes, doChangeQuantity)}\n {searchUI.Domains && Domains(grameneDomains)}\n {searchUI.Pathways && Pathways(gramenePathways)}\n {searchUI.Species && Species(grameneTaxonomy)}\n </div>\n )\n }\n else {\n return null;\n }\n};\n\nexport default connect(\n 'selectGrameneGenes',\n 'selectGrameneDomains',\n 'selectGramenePathways',\n 'selectGrameneTaxonomy',\n 'selectSearchUI',\n 'selectSearchUpdated',\n 'doChangeQuantity',\n ResultList\n);\n","import {connect} from 'redux-bundler-react'\nimport React from 'react'\n\nconst getStatus = (cat, results, isChecked, toggle) => {\n const tally = results ? results.numFound : <img src=\"/static/images/dna_spinner.svg\"/>;\n return (\n <li className='category-leaf'>\n <input type=\"checkbox\" checked={isChecked} onChange={e => toggle(cat)}/>\n <a data-scroll href={`#${cat}`} className=\"nav-link active\">{cat}<span style={{float:\"right\"}}>{tally}</span></a>\n </li>\n )\n};\n\nconst ResultSummary = ({grameneGenes, gramenePathways, grameneDomains, grameneTaxonomy, searchUI, searchUpdated, doToggleCategory}) => {\n const status = grameneGenes ?\n grameneGenes.numFound:\n<img src=\"/static/images/dna_spinner.svg\"/>;\n if (searchUI.Gramene) return (\n <li className=\"active category-expanded\">\n <a onClick={e => doToggleCategory('Gramene')}>\n Gramene Search<span style={{float:\"right\"}}>{status}</span>\n </a>\n <ul className=\"list-unstyled\">\n {getStatus('Genes', grameneGenes, searchUI.Genes, doToggleCategory)}\n {getStatus('Domains', grameneDomains, searchUI.Domains, doToggleCategory)}\n {getStatus('Pathways', gramenePathways, searchUI.Pathways, doToggleCategory)}\n {getStatus('Species', grameneTaxonomy, searchUI.Species, doToggleCategory)}\n</ul>\n </li>\n);\nelse return (\n <li className=\"active category-collapsed\">\n <a onClick={e => doToggleCategory('Gramene')}>\n Gramene Search<span\n style={{float:\"right\"}}>{status}</span>\n </a>\n </li>\n);\n};\n\nexport default connect(\n 'selectGrameneGenes',\n 'selectGramenePathways',\n 'selectGrameneDomains',\n 'selectGrameneTaxonomy',\n 'selectSearchUI',\n 'selectSearchUpdated',\n 'doToggleCategory',\n ResultSummary\n);\n","import {connect} from 'redux-bundler-react'\nimport React from 'react'\nimport { Button, Badge, Alert } from 'react-bootstrap'\nimport './styles.css'\n\nfunction showMatches(text, x) {\n let re = new RegExp(`(${x})`, 'ig');\n let match = text.split(re);\n console.log('showMatches',text, x, match);\n return <span>\n {match.map((str, idx) => {\n if (idx % 2 === 1) {\n return <span key={idx} style={{fontWeight:'bolder'}}>{str}</span>\n }\n return <span key={idx}>{str}</span>\n })}\n </span>\n}\n\nconst Suggestions = props => {\n let suggestions = props.grameneSuggestions;\n if (suggestions && suggestions.grouped) {\n if (suggestions.grouped.category.matches === 0) {\n let sugg1 = {\n fq_field: 'text',\n fq_value: props.suggestionsQuery,\n name: `Genes containing \"${props.suggestionsQuery}\"`,\n category: 'Gene',\n };\n let sugg2 = {\n fq_field: 'text',\n fq_value: `${props.suggestionsQuery}*`,\n name: `Genes matching \"${props.suggestionsQuery}*\"`,\n category: 'Gene',\n };\n return (\n <div style={{margin: '10px', maxWidth: '820px'}}>\n <Alert variant={'info'}><em>No suggestions found.</em> You may still attempt a full text search, though it is unlikely to find any genes for you.</Alert>\n <Button id={'word'}\n size={'sm'}\n variant={'outline-secondary'}\n onClick={() => {props.doAcceptSuggestion(sugg1); props.doAcceptGrameneSuggestion(sugg1)}}>\n {`All genes that contain the word \"${props.suggestionsQuery}\"`}\n </Button>\n <Button id={'word'}\n size={'sm'}\n variant={'outline-secondary'}\n onClick={() => {props.doAcceptSuggestion(sugg2); props.doAcceptGrameneSuggestion(sugg2)}}>\n {`All genes that contain a word that starts with \"${props.suggestionsQuery}\"`}\n </Button>\n </div>\n );\n }\n else {\n return (\n <div style={{margin: '10px'}}>\n {suggestions.grouped.category.groups.map((g,idx) => {\n return <div key={idx} id='gramene-suggestion'>\n <h4 className=\"mt10\">{g.groupValue}</h4>\n {g.doclist.docs.map((sugg,jdx) =>\n <Button id={`${idx}-${jdx}`}\n key={jdx}\n disabled={sugg.num_genes === 0}\n size='sm'\n variant=\"outline-secondary\"\n onClick={() => {props.doAcceptSuggestion(sugg); props.doAcceptGrameneSuggestion(sugg)}}>\n {showMatches(sugg.display_name,props.suggestionsQuery)}{' '}\n <Badge variant=\"secondary\">{sugg.num_genes}</Badge>\n </Button>\n )}\n </div>\n })}\n </div>\n );\n }\n }\n else {\n return <div></div>\n }\n}\n\nexport default connect(\n 'selectGrameneSuggestions',\n 'selectSuggestionsQuery',\n 'doAcceptSuggestion',\n 'doAcceptGrameneSuggestion',\n Suggestions\n);\n","import React from 'react'\nimport { connect } from 'redux-bundler-react'\nimport { Alert, OverlayTrigger, Popover, Modal } from 'react-bootstrap'\nimport { IoAlertCircle } from 'react-icons/io5'\nimport { BsGearFill,BsTrash } from 'react-icons/bs'\nimport GeneList from './results/GeneList'\nimport TaxDist from './results/TaxDist'\nimport HelpDemo from './results/HelpDemo'\nimport TaxonomyModal from './TaxonomyModal'\nimport './styles.css';\n\nconst inventory = {\n help: HelpDemo,\n list: GeneList,\n taxonomy: TaxDist\n};\n\nconst StatusCmp = props => {\n let content = props.grameneFiltersStatus;\n // if (props.grameneFiltersStatus === 'init') {\n // props.doClearGrameneFilters();\n // }\n if (props.grameneFiltersStatus === 'ready') {\n let tally = <span>Ready</span>;\n if (props.grameneSearch) {\n let genes = props.grameneSearch.response.numFound;\n let genomes = props.grameneSearch.facet_counts.facet_fields.taxon_id.length / 2;\n tally = <span><b>{genes}</b> genes in <b>{genomes}</b> genomes</span>;\n }\n const popover = (\n <Popover>\n <Popover.Title as=\"h3\">Genomes Filter</Popover.Title>\n <Popover.Content>Searching {props.activeGenomeCount} genomes</Popover.Content>\n </Popover>\n );\n\n content = <span>\n {tally}\n <OverlayTrigger placement=\"auto\" overlay={popover}>\n <span style={{float:'right', cursor:'pointer'}} onClick={props.doShowGrameneGenomes}><BsGearFill/></span>\n </OverlayTrigger>\n <TaxonomyModal/>\n </span>;\n }\n return <div style={{padding:'5px', backgroundColor:'dimgray', color:'cornsilk', fontSize:'small'}}>{content}</div>\n};\n\nconst Status = connect(\n 'selectGrameneSearch',\n 'selectGrameneFiltersStatus',\n 'selectActiveGenomeCount',\n 'doShowGrameneGenomes',\n 'doClearGrameneFilters',\n StatusCmp\n);\n\nconst handleClick = (e, moveCopyMode, showMarked, node, actions) => {\n if (!e) e = window.event;\n e.cancelBubble = true;\n if (e.stopPropagation) e.stopPropagation();\n\n if (showMarked && moveCopyMode) {\n if (node.marked) {\n actions.selectTarget(node);\n }\n else {\n actions.unmarkTargets()\n }\n }\n console.log(node, showMarked);\n};\n\nconst Filter = ({node,moveCopyMode,showMarked,actions}) => {\n let classes = 'gramene-filter gramene-filter';\n if (node.operation) {\n classes = `${classes}-${node.operation}`\n }\n if (node.negate) {\n classes = `${classes} gramene-filter-NOT`\n }\n if (showMarked && node.marked) {\n classes = `${classes} gramene-filter-marked`\n }\n let content = '';\n let menu = '';\n let children = [];\n\n if (node.showMenu) {\n let key=1;\n let menuItems = [];\n if (node.hasOwnProperty('operation')) {\n menuItems.push(<li key={key++} onClick={()=>actions.changeOperation(node)}>convert to <i>{node.operation === 'AND' ? 'OR' : 'AND'}</i></li>);\n }\n if (node.leftIdx > 0) {\n menuItems.push(<li key={key++} onClick={()=>actions.deleteNode(node)}>delete</li>);\n menuItems.push(<li key={key++} onClick={()=>actions.markTargets(node,'move')}>move{node.isSource && ' select destination'}</li>);\n menuItems.push(<li key={key++} onClick={()=>actions.markTargets(node,'copy')}>copy{node.isSource && ' select destination'}</li>)\n }\n menuItems.push(<li key={key++} onClick={()=>actions.negate(node)}>negate</li>);\n menu = <div className='gramene-filter-menu'><ul>{menuItems}</ul></div>;\n }\n let warning;\n if (node.warning) {\n const popover = (\n <Popover>\n <Popover.Title as=\"h3\">Warning</Popover.Title>\n <Popover.Content>{node.warning}</Popover.Content>\n </Popover>\n );\n warning = (\n <OverlayTrigger placement=\"auto\" overlay={popover}><span style={{float:'right', color:'red', cursor:'pointer'}}><IoAlertCircle/></span></OverlayTrigger>\n )\n }\n if (node.operation) {\n children = node.children.map((child,idx) => <Filter key={idx} moveCopyMode={moveCopyMode} node={child} showMarked={showMarked} actions={actions}/>);\n content = (\n <div>\n <span className='gramene-filter-operation'\n onClick={()=>actions.toggleMenu(node)}>{node.operation}</span>\n {warning}\n </div>\n );\n }\n else {\n content = <span className='gramene-filter-text'\n onClick={()=>actions.toggleMenu(node)}>{node.category} | {node.name}</span>;\n }\n return (\n <div key={node.leftIdx} className={classes} onClick={(e)=>handleClick(e,moveCopyMode, showMarked,node,actions)}>\n {content}{menu}{children}\n </div>\n )\n};\n\nconst FiltersCmp = props => {\n const actions = {\n negate: props.doNegateGrameneFilter,\n deleteNode: props.doDeleteGrameneFilter,\n changeOperation: props.doChangeGrameneFilterOperation,\n selectTarget: props.doMoveOrCopyGrameneFilter,\n markTargets: props.doMarkGrameneFilterTargets,\n unmarkTargets: props.doUnmarkGrameneFilterTargets,\n toggleMenu: props.doToggleGrameneFilterMenu\n };\n if (props.grameneFilters.rightIdx > 1) {\n return <div className='gramene-filter-container'>\n <b>Filters</b>\n <span style={{float:'right', cursor:'pointer'}} onClick={props.doClearGrameneFilters}><BsTrash/></span>\n <Filter node={props.grameneFilters}\n moveCopyMode={props.grameneFilters.moveCopyMode}\n showMarked={props.grameneFilters.showMarked}\n actions={actions}/>\n </div>\n }\n else {\n return <div className='gramene-filter-container'>\n <b>Filters</b>\n <div className='gramene-filter gramene-filter-AND'>No filters defined</div>\n </div>\n }\n};\n\nconst Filters = connect(\n 'selectGrameneFilters',\n 'doNegateGrameneFilter',\n 'doDeleteGrameneFilter',\n 'doChangeGrameneFilterOperation',\n 'doMoveOrCopyGrameneFilter',\n 'doMarkGrameneFilterTargets',\n 'doUnmarkGrameneFilterTargets',\n 'doToggleGrameneFilterMenu',\n 'doClearGrameneFilters',\n FiltersCmp\n);\n\nconst ResultsCmp = props => {\n let activeViews = props.grameneViews.options.filter((v,idx) => {\n v.idx = idx;\n return v.show === 'on'\n });\n // if (props.grameneFilters.rightIdx === 1 || activeViews.length === 0) {\n // return <HelpDemo/>\n // }\n return props.grameneFilters.rightIdx > 1 ? (\n <div style={{padding:'10px'}}>\n {activeViews.map(v => {\n let p = Object.assign({}, props);\n p.key = v.idx;\n return (\n <div key={v.idx}>\n {/*<Alert variant=\"primary\" onClose={() => props.doToggleGrameneView(v.idx)} dismissible>*/}\n {/* {v.name}*/}\n {/*</Alert>*/}\n {React.createElement(inventory[v.id], p)}\n </div>\n )\n })}\n </div>\n ) : null;\n};\n\nconst Results = connect(\n 'selectGrameneFilters',\n 'selectGrameneViews',\n 'doToggleGrameneView',\n ResultsCmp\n);\n\nconst ViewsCmp = props => (\n <div className={'gramene-view-container'}>\n <b>Views</b>\n <ul className={'gramene-view'}>\n {props.grameneViews.options.map((view,idx) => (\n <li key={idx} className={`gramene-view-${view.show}`}\n onClick={(e) => {\n if (view.show !== 'disabled') {\n props.doToggleGrameneView(idx)\n }\n }}\n >{view.name}</li>\n ))}\n </ul>\n {/*<div>*/}\n {/* Key:*/}\n {/* <ul className={'gramene-view'}>*/}\n {/* <li className='gramene-view-on'>On</li>*/}\n {/* <li className='gramene-view-off'>Off</li>*/}\n {/* <li className='gramene-view-disabled'>Disabled</li>*/}\n {/* </ul>*/}\n {/*</div>*/}\n \n </div>\n);\n\nconst Views = connect(\n 'selectGrameneViews',\n 'doToggleGrameneView',\n ViewsCmp\n);\n\nexport {Status, Filters, Results, Views};","import React from 'react'\nimport ReactGA from 'react-ga'\nimport { connect } from 'redux-bundler-react'\nimport './genes.css'\nimport Expression from './details/Expression'\nimport Homology from './details/Homology'\nimport Location from './details/Location'\nimport Pathways from \"./details/Pathways\"\nimport Xrefs from \"./details/Xrefs\"\nimport {GrFormPrevious, GrFormNextLink, GrFormNext, GrHpe} from 'react-icons/gr'\nimport { Badge } from 'react-bootstrap'\n\nlet external = <small title=\"This link opens a page from an external site\"> <i className=\"fa fa-external-link\"/></small>;\n\nlet inventory = {\n location: Location,\n expression: Expression,\n homology: Homology,\n pathways: Pathways,\n xrefs: Xrefs\n};\n\nfunction renderTairSummary(searchResult) {\n const summary = searchResult.summary;\n if(summary && searchResult.taxon_id === 3702) {\n return (\n <div className=\"gene-summary-tair\">\n {trimSummary(summary)}\n </div>\n )\n }\n}\n\nfunction trimSummary(summary) {\n if(summary.length > 160) {\n const start = summary.substr(0, 150);\n const rest = summary.substr(150);\n return <p>{start}<span className=\"ellipsis\">…</span><span className=\"rest\">{rest}</span></p>\n }\n else {\n return <p>{summary}</p>\n }\n}\n\nconst ClosestOrtholog = ({gene}) =>\n{\n let name, desc, species;\n\n if (gene.model_rep_id) {\n name = gene.model_rep_name || gene.model_rep_id;\n desc = gene.model_rep_description;\n species = gene.model_rep_species_name;\n }\n\n else if (gene.closest_rep_id) {\n name = gene.closest_rep_name || gene.closest_rep_id;\n desc = gene.closest_rep_description;\n species = gene.closest_rep_species_name;\n }\n\n return (\n <div className=\"closest-ortholog\">\n <h4>\n <span className=\"gene-id\">{name}</span>\n <small className=\"species-name\"> {species}</small>\n </h4>\n <p>{desc}</p>\n </div>\n );\n};\n\nfunction renderClosestOrtholog(gene) {\n\n if (shouldShowClosestOrtholog(gene)) {\n\n // we used to not add the closest ortholog to the DOM if the homology detail was visible.\n // however, that could cause the height of the result to change. Instead we set visibility:hidden\n // so that the renderer takes into account the height of the ortholog even if not shown.\n return (\n <ClosestOrtholog gene={gene}/>\n );\n }\n}\n\n// show closest ortholog prominently if we have data to show:-\n// a. either there's a closest ortholog (determined by traversing the gene tree until an id or description looks\n// curated) b. or there's a model ortholog (traverse tree to find an ortholog in arabidopsis)\nfunction shouldShowClosestOrtholog(searchResult) {\n return (\n searchResult.closest_rep_id || (\n searchResult.model_rep_id &&\n searchResult.model_rep_id !== searchResult.id\n )\n );\n}\n\nclass Gene extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n details: [\n {\n id: 'location',\n label: 'Location',\n available: false\n },\n {\n id: 'expression',\n label: 'Expression',\n available: false\n },\n {\n id: 'homology',\n label: 'Homology',\n available: false\n },\n {\n id: 'pathways',\n label: 'Pathways',\n available: false\n },\n // {\n // id: 'pubs',\n // label: 'Publications',\n // available: false\n // },\n {\n id: 'xrefs',\n label: 'Xrefs',\n available: false\n }\n ],\n expandedDetail: props.expandedDetail\n };\n let hasData = {};\n props.searchResult.capabilities.forEach(c => hasData[c]=true);\n this.state.details.forEach(d => d.available = hasData.hasOwnProperty(d.id));\n }\n getDetailStatus(d) {\n if (this.state.expandedDetail === d.id) return 'expanded';\n return d.available ? 'closed' : 'disabled';\n }\n setExpanded(d) {\n if (d.available) {\n if (this.state.expandedDetail === d.id) {\n this.setState({expandedDetail: null})\n }\n else {\n const geneId = this.props.searchResult.id;\n if (!(this.props.geneDocs && this.props.geneDocs.hasOwnProperty(geneId))) {\n this.props.requestGene(geneId)\n }\n this.setState({expandedDetail: d.id})\n }\n }\n }\n ensureGene(id) {\n if (!(this.props.geneDocs && this.props.geneDocs.hasOwnProperty(id))) {\n this.props.requestGene(id);\n return false;\n }\n return this.props.geneDocs[id].hasOwnProperty('taxon_id')\n }\n renderMetadata() {\n let gene = this.props.searchResult;\n if (gene.model_rep_taxon_id) {\n gene.model_rep_species_name = this.props.taxLut[gene.model_rep_taxon_id].name;\n }\n if (gene.closest_rep_taxon_id) {\n gene.closest_rep_species_name = this.props.taxLut[gene.closest_rep_taxon_id].name;\n }\n return renderTairSummary(gene) || renderClosestOrtholog(gene);\n }\n render() {\n const ensemblURL = this.props.ensemblURL;\n const searchResult = this.props.searchResult;\n const taxName = this.props.taxName;\n // let orthologs='';\n // if (this.props.orthologs && this.props.orthologs.hasOwnProperty(searchResult.id)) {\n // orthologs = this.props.orthologs[searchResult.id].join(', ');\n // }\n const numWordsInDescription = searchResult.description.split(' ').length;\n return (\n <div className=\"result-gene\">\n <div className=\"result-gene-summary\">\n <div className=\"result-gene-title-body\">\n <h3 className=\"gene-title\">\n <span className=\"gene-name\">{searchResult.name}</span>\n {searchResult.id !== searchResult.name && <small className=\"gene-id\">{' '}{searchResult.id}</small>}\n <ReactGA.OutboundLink\n eventLabel={searchResult.system_name}\n to={`${ensemblURL}/${searchResult.system_name}/Info/Index`}\n className=\"external-link\"\n >\n <small className=\"gene-species\">{taxName}</small>\n </ReactGA.OutboundLink>\n </h3>\n {searchResult.synonyms && <small className=\"gene-synonyms\">{searchResult.synonyms.join(', ')}</small>}\n {numWordsInDescription > 1 && <p className=\"gene-description\">{searchResult.description}</p>}\n </div>\n {this.renderMetadata()}\n </div>\n <div className=\"gene-detail-tabs\">\n {this.state.details.map((d,idx) => (\n <div key={idx}\n className={`col-md-1 text-center gene-detail-tab-${this.getDetailStatus(d)}`}\n onClick={()=>this.setExpanded(d)}\n >{d.label}</div>\n ))}\n </div>\n {this.state.expandedDetail && this.ensureGene(searchResult.id) && <div className=\"visible-detail\">{React.createElement(inventory[this.state.expandedDetail], this.props)}</div>}\n </div>\n )\n }\n}\n\nconst GeneList = props => {\n if (props.grameneSearch && props.grameneSearch.response && props.grameneTaxonomy) {\n let prev,page,next;\n const numFound = props.grameneSearch.response.numFound;\n if (numFound > props.grameneSearchRows) {\n const pageNum = props.grameneSearchOffset/props.grameneSearchRows;\n page = <span style={{padding:'10px'}}>page <b>{pageNum + 1}</b> of <b>{Math.ceil(numFound/props.grameneSearchRows)}</b></span>;\n prev = <GrHpe/>;\n if (pageNum > 0) {\n prev = <Badge onClick={()=>props.doRequestResultsPage(pageNum - 1)}><GrFormPrevious/></Badge>\n }\n next = <GrHpe/>;\n if (numFound > props.grameneSearchOffset + props.grameneSearchRows) {\n next = <Badge onClick={()=>props.doRequestResultsPage(pageNum + 1)}><GrFormNext/></Badge>\n }\n }\n return <div>\n <div>{prev}{page}{next}</div>\n {props.grameneSearch.response.docs.map((g,idx) => (\n <Gene key={idx}\n searchResult={g}\n ensemblURL={props.configuration.ensemblURL}\n ensemblRest={props.configuration.ensemblRest}\n taxName={props.grameneTaxonomy[g.taxon_id].name}\n geneDocs={props.grameneGenes}\n requestGene={props.doRequestGrameneGene}\n requestOrthologs={props.doRequestOrthologs}\n orthologs={props.grameneOrthologs}\n taxLut={props.grameneTaxonomy}\n expandedDetail={props.grameneSearch.response.numFound === 1 && g.can_show.homology ? 'homology' : null}\n />\n ))}\n {prev}{page}{next}\n </div>\n }\n return null;\n};\n\nexport default connect(\n 'selectConfiguration',\n 'selectGrameneSearch',\n 'selectGrameneTaxonomy',\n 'selectGrameneGenes',\n 'selectGrameneOrthologs',\n 'selectGrameneSearchOffset',\n 'selectGrameneSearchRows',\n 'doRequestGrameneGene',\n 'doRequestOrthologs',\n 'doRequestResultsPage',\n GeneList);\n","import React from 'react'\nimport {connect} from \"redux-bundler-react\";\nimport {Tabs, Tab} from 'react-bootstrap';\n\nconst Detail = props => {\n const gene = props.geneDocs[props.searchResult.id];\n let paralogs_url;\n let gene_url = `/static/atlasWidget.html?reference=0&genes=${gene._id}`;\n if (props.paralogExpression && props.paralogExpression[gene._id]) {\n let paralogs = props.paralogExpression[gene._id].map(p => p.id);\n if (paralogs.length > 1) {\n paralogs_url= `/static/atlasWidget.html?reference=1&genes=${paralogs.join(' ')}`;\n }\n }\n else {\n props.doRequestParalogExpression(gene._id)\n }\n return <Tabs>\n <Tab eventKey=\"gene\" title=\"All Studies\">\n <iframe src={gene_url} frameBorder=\"0\" width=\"100%\" height=\"500px\"></iframe>\n </Tab>\n {paralogs_url && <Tab eventKey=\"paralogs\" title=\"Reference Study (all paralogs)\">\n <iframe src={paralogs_url} frameBorder=\"0\" width=\"100%\" height=\"500px\"></iframe>\n </Tab>}\n </Tabs>\n};\n\nexport default connect(\n 'selectParalogExpression',\n 'doRequestParalogExpression',\n Detail\n);\n\n","import React from 'react'\nimport _ from 'lodash';\nimport {connect} from \"redux-bundler-react\";\nimport TreeVis from \"gramene-genetree-vis\";\nimport treesClient from \"gramene-trees-client\";\nimport {Detail, Title, Description, Content, Explore, Links} from \"./generic\";\nimport {Spinner, Alert} from \"react-bootstrap\";\nimport '../../../../node_modules/gramene-genetree-vis/src/styles/msa.less';\nimport '../../../../node_modules/gramene-genetree-vis/src/styles/tree.less';\n\nfunction suggestionToFilters(suggestion) {\n return {\n status: 'init',\n rows: 20,\n operation: 'AND',\n negate: false,\n leftIdx: 0,\n rightIdx: 3,\n children: [\n {\n fq_field: suggestion.fq_field,\n fq_value: suggestion.fq_value,\n name: suggestion.name,\n category: suggestion.category,\n leftIdx: 1,\n rightIdx: 2,\n negate: false,\n marked: false\n }\n ]\n }\n}\n\nclass Homology extends React.Component {\n constructor(props) {\n super(props);\n if (!props.geneDocs.hasOwnProperty(props.searchResult.id)) {\n props.requestGene(props.searchResult.id)\n }\n this.taxonomy = treesClient.taxonomy.tree(Object.values(props.grameneTaxonomy))\n }\n renderTreeVis() {\n return (\n <div className=\"gene-genetree\">\n <TreeVis genetree={this.tree}\n initialGeneOfInterest={this.gene}\n genomesOfInterest={this.props.grameneGenomes.active}\n taxonomy={this.taxonomy}\n allowGeneSelection={true}\n pivotTree={true}\n enableCuration={false}\n enablePhyloview={true}\n numberOfNeighbors={10}\n ensemblUrl={this.props.configuration.ensemblURL}/>\n </div>\n )\n }\n filterAllHomologs() {\n this.props.doReplaceGrameneFilters(suggestionToFilters({\n category: 'Gene Tree',\n fq_field: 'gene_tree',\n fq_value: this.tree._id,\n name: `Homologs of ${this.gene.name}`\n }))\n }\n filterOrthologs() {\n this.props.doReplaceGrameneFilters(suggestionToFilters({\n category: 'Gene Tree',\n fq_field: 'homology__all_orthologs',\n fq_value: this.gene._id,\n name: `Orthologs of ${this.gene.name}`\n }))\n }\n filterParalogs() {\n this.props.doReplaceGrameneFilters(suggestionToFilters({\n category: 'Gene Tree',\n fq_field: 'homology__within_species_paralog',\n fq_value: this.gene._id,\n name: `Paralogs of ${this.gene.name}`\n }))\n }\n orthologList() {\n return this.orthoParaList('ortholog');\n }\n\n paralogList() {\n return this.orthoParaList('within_species_paralog');\n }\n\n orthoParaList(type) {\n var homology, thisGeneId;\n homology = _.get(this.gene, 'homology.homologous_genes');\n thisGeneId = this.gene._id;\n\n if (homology) {\n var homologs = _(homology)\n .pickBy(function filterCategories(thing, name) {\n return name.indexOf(type) === 0;\n })\n .values()\n .flatten()\n .uniq()\n .value();\n\n if (!_.isEmpty(homologs)) {\n if (!homologs.includes(thisGeneId)) {\n console.log(\"add to homologs list\",thisGeneId);\n homologs.push(thisGeneId);\n }\n return homologs; // only return something if we have something. We're testing for truthiness later.\n }\n }\n }\n explorations() {\n let x = [{\n name: 'Homologs',\n category: 'Gene Tree',\n count: this.tree.geneCount,\n handleClick: this.filterAllHomologs.bind(this)\n }];\n if (this.orthologs) {\n x.push({\n name: 'Orthologs',\n category: 'Gene Tree',\n count: this.orthologs.length,\n handleClick: this.filterOrthologs.bind(this)\n });\n }\n if (this.paralogs) {\n x.push({\n name: 'Paralogs',\n category: 'Gene Tree',\n count: this.paralogs.length,\n handleClick: this.filterParalogs.bind(this)\n });\n }\n return x;\n }\n links() {\n let links = [\n {\n name: 'Ensembl Gene Tree view',\n url: `${this.props.configuration.ensemblURL}/${this.gene.system_name}/Gene/Compara_Tree?g=${this.gene._id}`\n }\n ];\n if (this.props.curation && this.props.curation.taxa.hasOwnProperty(this.gene.taxon_id)) {\n links.push({\n name: 'Curate',\n url: this.props.curation.url + this.gene._id\n })\n }\n return links;\n }\n render() {\n const id = this.props.searchResult.id;\n if (!this.props.geneDocs.hasOwnProperty(id)) {\n return <Spinner/>\n }\n this.gene = this.props.geneDocs[id];\n const treeId = this.gene.homology.gene_tree.id;\n if (! this.props.grameneTrees.hasOwnProperty(treeId)) {\n this.props.doRequestGrameneTree(treeId);\n }\n else {\n const tree = this.props.grameneTrees[treeId];\n if (tree.hasOwnProperty('taxon_id')) {\n this.tree = treesClient.genetree.tree([this.props.grameneTrees[treeId]]);\n this.orthologs = this.orthologList();\n this.paralogs = this.paralogList();\n }\n }\n let flagged=0;\n if (this.props.curation && this.props.curation.taxa.hasOwnProperty(this.gene.taxon_id)) {\n flagged = this.props.curatedGenes && this.props.curatedGenes[id] ? this.props.curatedGenes[id].flagged : 0;\n }\n return (\n <Detail>\n <Title key=\"title\">Compara Gene Tree</Title>\n <Description key=\"description\">\n This phylogram shows the relationships between this gene and others similar to it, as determined by Ensembl Compara.\n {flagged > 1 && <Alert variant={'warning'}>This gene was flagged for potential gene structural annotation issues by {flagged} curators</Alert>}\n </Description>\n {this.tree && <Content key=\"content\">{this.renderTreeVis()}</Content>}\n {this.tree && <Explore key=\"explore\" explorations={this.explorations()}/>}\n <Links key=\"links\" links={this.links()}/>\n </Detail>\n )\n }\n}\n\nexport default connect(\n 'selectGrameneTaxonomy',\n 'selectGrameneTrees',\n 'selectGrameneGenomes',\n 'selectConfiguration',\n 'selectCuration',\n 'selectCuratedGenes',\n 'doRequestGrameneTree',\n 'doAcceptGrameneSuggestion',\n 'doReplaceGrameneFilters',\n Homology\n);\n\n","import React from 'react';\nimport keyBy from 'lodash/keyBy';\nimport _ from \"lodash\";\nimport ReactGA from \"react-ga\";\nimport { BiLinkExternal } from \"react-icons/bi\";\nimport { Button, Badge } from \"react-bootstrap\";\n\nexport const Detail = props => {\n let subComponents = keyBy(props.children, 'key');\n return (\n <div className=\"detail\">\n <div className=\"intro\">\n {subComponents.title}\n {subComponents.description}\n </div>\n <div className=\"content-wrapper\">\n {subComponents.content}\n </div>\n <div className=\"actions\">\n <div className=\"action-wrapper\" xs={12} sm={5}>\n {subComponents.explore}\n </div>\n <div className=\"action-wrapper\" xs={12} sm={7}>\n {subComponents.links}\n </div>\n </div>\n </div>\n )\n};\n\nexport const Title = props => <h4>{props.children}</h4>;\nexport const Description = props => <p className=\"description\">{props.children}</p>;\nexport const Content = props => <div className=\"content\">{props.children}</div>;\n\nconst QueryTerm = props => {\n let category, name, badge;\n name = props.name;\n if (props.category) {\n category = props.category + ' | ';\n }\n if (_.isNumber(props.count)) {\n badge = <Badge style={{marginLeft: \"0.5rem\"}} variant='dark'>{props.count}</Badge>\n }\n return (\n <Button variant='outline-dark' onClick={props.handleClick}>\n {category}{name}{badge}\n </Button>\n )\n};\n\nfunction renderExplorations(explorations) {\n return explorations.map(\n (exploration, idx) =>\n <QueryTerm key={idx} {...exploration} />\n );\n}\nexport const Explore = props => (\n <div className=\"explore\">\n <h5>Search Filters</h5>\n <div>\n {renderExplorations(props.explorations)}\n </div>\n </div>\n);\n\nfunction renderLinks(links) {\n let external = <small title=\"This link opens a page from an external site\"> <BiLinkExternal/></small>;\n return links.map((link, idx) =>\n <li key={idx}>\n <ReactGA.OutboundLink\n eventLabel={link.name}\n to={link.url}\n target=\"_blank\"\n className=\"external-link\"\n >\n {link.name}{external}\n </ReactGA.OutboundLink>\n </li>\n )\n}\n\nexport const Links = props => (\n <div className=\"links\">\n <h5>Links to other resources</h5>\n <ul>\n {renderLinks(props.links)}\n </ul>\n </div>\n);\n","import React from 'react'\nimport getProp from 'lodash/get';\nimport isEqual from 'lodash/isEqual';\nimport {Button} from \"react-bootstrap\";\nimport Browser from \"./location/browser\";\nimport {connect} from \"redux-bundler-react\";\nimport {Detail, Title, Description, Content, Explore, Links} from \"./generic\";\nimport '../../../../node_modules/gramene-genetree-vis/src/styles/msa.less';\nimport '../../../../node_modules/gramene-genetree-vis/src/styles/tree.less';\n\nclass Location extends React.Component {\n constructor(props) {\n super(props);\n this.gene = this.props.geneDocs[this.props.searchResult.id];\n this.initRegion();\n this.state = {\n visibleRange: this.initVisibleRange()\n };\n }\n\n initVisibleRange() {\n var location, span, padding, result;\n location = this.gene.location;\n if(!location) {\n throw new Error(`Could not find the location of the gene in props.`);\n }\n\n span = location.end - location.start + 1;\n padding = Math.floor(.1 * span);\n\n result = {\n chr: location.region,\n start: location.start - padding,\n end: location.end + padding\n };\n\n result.displayName = `${result.chr}:${result.start}-${result.end}`;\n\n return result;\n }\n\n initRegion() {\n var region, isChromosome, regionType, regionName;\n region = this.gene.location.region;\n if (region) {\n isChromosome = /^\\d+$/.test(region);\n if (isChromosome) {\n regionType = 'chromosome';\n regionName = 'Chromosome ' + region;\n }\n else {\n regionType = 'scaffold';\n regionName = region;\n }\n this.region = {\n isChromsome: isChromosome,\n name: regionName,\n type: regionType\n };\n }\n }\n\n\n handleViewChange(chr, start, end) {\n var visibleRange = {\n chr: chr,\n start: start,\n end: end,\n displayName: `${chr}:${start}-${end}`\n };\n\n if(!isEqual(visibleRange, this.state.visibleRange)) {\n this.setState({\n visibleRange: visibleRange\n });\n }\n }\n\n updateQuery(restrictToVisibleRange) {\n var location, geneName, visibleRange, filter, filterDisplayName, fq;\n location = this.gene.location;\n geneName = this.gene.name;\n // category: 'Gene Tree',\n // fq_field: 'gene_tree',\n // fq_value: this.tree._id,\n // name: `Homologs of ${this.gene.name}`\n\n let terms = [\n {\n category: \"Map\",\n name: location.map,\n fq_field: 'map',\n fq_value: location.map\n },\n {\n category: \"Region\",\n name: location.region,\n fq_field: 'region',\n fq_value: location.region\n }\n ];\n fq = `map:${location.map} AND region:${location.region}`;\n\n if (restrictToVisibleRange) {\n visibleRange = this.state.visibleRange;\n\n terms.push({\n category: \"Interval\",\n name: `${visibleRange.start}-${visibleRange.end}`,\n fq_field: 'start',\n fq_value: `[${visibleRange.start} TO ${visibleRange.end}]`\n });\n fq += ` AND (start:[${visibleRange.start} TO ${visibleRange.end}]`\n + ` OR end:[${visibleRange.start} TO ${visibleRange.end}])`;\n\n filterDisplayName = visibleRange.displayName;\n } else {\n filterDisplayName = \"Shares \" + this.region.type + \" with \" + geneName;\n }\n\n console.log(\"User asked to filter by location\");\n filter = {\n category: 'Location',\n id: fq,\n fq: fq,\n display_name: filterDisplayName\n };\n\n // QueryActions.removeAllFilters();\n // QueryActions.setFilter(filter);\n this.props.doAddGrameneRangeQuery(terms);\n if (this.props.closeModal) this.props.closeModal();\n }\n\n explorations() {\n var visible, result;\n visible = this.state.visibleRange;\n result = [\n {\n name: `All on ${this.region.name}`,\n handleClick: ()=>this.updateQuery(false)\n }\n ];\n if (visible) {\n result.push({\n name: `All within ${getProp(visible, 'displayName')}`,\n handleClick: ()=>this.updateQuery(true)\n });\n }\n return result;\n }\n\n links() {\n function jgiify(id) {\n return id.replace('SORBI_3','Sobic.').replace(/\\.v[0-9]\\.[0-9]$/,'');\n }\n var gene = this.gene;\n let links = [\n {name: 'Ensembl Browser', url: `${this.props.ensemblURL}/${gene.system_name}/Gene/Summary?g=${gene._id}`},\n {name: 'PhytoMine', url: `https://phytozome.jgi.doe.gov/phytomine/keywordSearchResults.do?searchTerm=${jgiify(gene._id)}&searchSubmit=Search`},\n ];\n if (gene.taxon_id === 3702)\n links.push({name: 'Thalemine', url: `https://bar.utoronto.ca/thalemine/keywordSearchResults.do?searchTerm=${gene._id}&searchSubmit=search`});\n if (gene.taxon_id === 4577)\n links.push({name: 'MaizeGDB', url: `http://www.maizegdb.org/gene_center/gene/${gene._id}`});\n return links;\n }\n\n render() {\n return (\n <Detail>\n {/*<Title key=\"title\">Genome location: {this.renderGenePosition()}</Title>*/}\n <Description key=\"description\">Currently viewing: {this.renderLocation()} {this.renderResetButton()}</Description>\n <Content key=\"content\">\n {this.renderBrowser()}\n </Content>\n <Explore key=\"explore\" explorations={this.explorations()}/>\n <Links key=\"links\" links={this.links()}/>\n </Detail>\n );\n }\n\n\n renderBrowser() {\n return (\n <Browser gene={this.gene} {...this.props} {...this.state} onViewChange={ this.handleViewChange.bind(this) }/>\n );\n }\n\n renderGenePosition() {\n var location = this.gene.location;\n return (\n <span className=\"location\">\n <span className=\"region\">{this.region.name}</span>:<span className=\"start\">{location.start}</span>-<span\n className=\"end\">{location.end}</span>\n </span>\n );\n }\n\n renderLocation() {\n var location = this.state.visibleRange;\n return (\n <span className=\"location\">\n <span className=\"region\">{location.chr}</span>:<span className=\"start\">{location.start}</span>-<span\n className=\"end\">{location.end}</span>\n </span>\n );\n }\n\n resetVisibleRange() {\n const {chr, start, end} = this.initVisibleRange();\n this.handleViewChange(chr, start, end);\n }\n\n renderResetButton() {\n // let active=isEqual(this.props.visibleRange, this.state.visibleRange);\n return (\n <Button\n size=\"sm\"\n variant=\"outline-dark\"\n onClick={() => this.resetVisibleRange()}>\n Reset\n </Button>\n )\n }\n}\n\nexport default connect('doAddGrameneRangeQuery',Location);\n\n","import React from \"react\";\nimport DallianceBrowser from \"./dallianceBrowser.js\";\n\nexport default class Browser extends React.Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n return (\n <div className=\"location-browser\">\n <DallianceBrowser {...this.props} expanded={!!this.props.closeModal} />\n </div>\n )\n }\n\n}\n\n// Browser.propTypes = {\n// gene: React.PropTypes.object.isRequired,\n// expanded: React.PropTypes.bool,\n// visibleRange: React.PropTypes.object.isRequired,\n// onViewChange: React.PropTypes.func.isRequired\n// };","import React from \"react\";\nimport isEqual from \"lodash/isEqual\";\n// var ensemblREST = require('../../../../../package.json').gramene.ensemblREST;\n//const ensemblREST = 'http://data.gramene.org/ensembl63';\n// const ensemblREST = 'https://data.sorghumbase.org/ensembl2';\n// const ensemblREST = 'https://data.gramene.org/vitis-ensembl1';\n// const ensemblREST = 'https://data.gramene.org/pansite-ensembl';\n\n// calculate this once.\nconst PREFIX = '/static/gramene-dalliance/';\n\nexport default class DallianceBrowser extends React.Component {\n\n constructor(props) {\n super(props);\n this.initialVisibleRange = props.visibleRange;\n }\n\n shouldComponentUpdate(newProps) {\n // should we reset the view to initial state?\n if(isEqual(newProps.visibleRange, this.initialVisibleRange)) {\n this.browser.setLocation(newProps.visibleRange.chr, newProps.visibleRange.start, newProps.visibleRange.end);\n }\n\n return false;\n }\n\n biodallianceElementId() {\n return this.props.gene._id + 'Browser';\n }\n\n browser() {\n var g, view, start, end, browser;\n g = this.props.gene;\n view = this.props.visibleRange;\n start = view.start;\n end = view.end;\n\n this.browser = browser = new Browser(\n {\n pageName: this.biodallianceElementId(),\n chr: g.location.region,\n viewStart: start,\n viewEnd: end,\n cookieKey: g._id + 'BrowserCookie',\n prefix: PREFIX,\n\n coordSystem: {\n speciesName: g.system_name,\n taxon: g.taxon_id,\n auth: 'Gramene',\n version: '3',\n ucscName: 'IRGSP-1.0'\n },\n\n sources: [\n {\n name: 'DNA',\n ensemblURI: this.props.ensemblRest,\n species: g.system_name,\n tier_type: 'sequence'\n },\n {\n name: 'Genes',\n uri: this.props.ensemblRest,\n tier_type: 'ensembl',\n species: g.system_name,\n type: ['gene', 'transcript', 'exon', 'cds']\n }\n ],\n\n // hubs: ['/Track_Hubs/DRP000315/hub.txt'],\n disablePoweredBy: true,\n setDocumentTitle: false,\n noDefaultLabels: true,//!this.props.expanded,\n noPersist: true,\n noPersistView: true,\n maxWorkers: 2,\n noTitle: true,\n noLocationField: false,\n noLeapButtons: true,//!this.props.expanded,\n noZoomSlider: false, //!this.props.expanded,\n noTrackAdder: true,//!this.props.expanded,\n noTrackEditor: true,//!this.props.expanded,\n noExport: true,//!this.props.expanded,\n noOptions: true,//!this.props.expanded,\n noHelp: true,\n maxViewWidth: 1000000\n }\n );\n \n browser.addViewListener(this.props.onViewChange);\n }\n\n cancel() {\n if (typeof this.timeoutID == \"number\") {\n window.clearTimeout(this.timeoutID);\n delete this.timeoutID;\n }\n }\n\n componentDidMount() {\n // this.browser();\n this.cancel();\n var self = this;\n this.timeoutID = window.setTimeout(function () {self.browser();}, 0);\n }\n\n componentWillUnmount() {\n this.cancel();\n }\n\n render() {\n return (\n <div id={this.biodallianceElementId()}/>\n );\n }\n}\n\n// DallianceBrowser.propTypes = {\n// gene: React.PropTypes.object.isRequired,\n// visibleRange: React.PropTypes.object.isRequired,\n// expanded: React.PropTypes.bool,\n// onViewChange: React.PropTypes.func.isRequired\n// };","import React from 'react'\nimport {connect} from \"redux-bundler-react\";\nimport FlatToNested from 'flat-to-nested';\nimport {Explore, Links} from \"./generic\";\nimport treesClient from \"gramene-trees-client\";\nimport {TreeMenu} from \"react-tree-menu\";\nimport {Spinner} from \"react-bootstrap\";\nimport _ from 'lodash'\nimport \"./tree-view.css\"\n\nvar reactomeURL = \"https://plantreactome.gramene.org\";\n\nclass Pathways extends React.Component {\n constructor(props) {\n super(props);\n this.taxonomy = treesClient.taxonomy.tree(Object.values(props.grameneTaxonomy))\n this.gene = props.geneDocs[props.searchResult.id];\n this.holderId = 'displayHolder' + this.gene._id;\n this.state = {};\n }\n\n initDiagram() {\n this.diagram = Reactome.Diagram.create({\n proxyPrefix: reactomeURL, //'//plantreactome.gramene.org', //'//plantreactomedev.oicr.on.ca', ////cord3084-pc7.science.oregonstate.edu', // reactomedev.oicr.on.ca\n placeHolder: this.holderId,\n width: this.divWrapper.clientWidth - 350 - 1,\n height: 500\n });\n }\n\n stableId(dbId) {\n let prefix = this.taxonomy.indices.id[this.gene.taxon_id].model.reactomePrefix || 'OSA';\n return `R-${prefix}-${dbId}`;\n }\n\n loadDiagram(pathwayId, reactionId) {\n if (!this.diagram) this.initDiagram();\n this.diagram.loadDiagram(pathwayId);\n\n this.diagram.onDiagramLoaded(function (loaded) {\n this.loadedDiagram = loaded;\n if (reactionId) {\n this.diagram.selectItem(reactionId);\n }\n // var xref = _.find(this.props.gene.xrefs,{db : 'Gramene_Plant_Reactome'}).ids[0];\n this.diagram.flagItems(this.gene._id);\n }.bind(this));\n }\n\n componentDidMount() {\n if (Reactome && Reactome.Diagram) {\n // this.initDiagram();\n }\n else {\n window.addEventListener('launchDiagram', function (e) {\n // this.initDiagram()\n }.bind(this));\n }\n }\n\n componentDidUpdate(prevProps, prevState) {\n if (this.state.hierarchy && ! this.state.selectedNode) {\n let node = this.state.hierarchy[0];\n let path = [0];\n let parent = node;\n while (node.children) {\n path.push(0);\n parent = node;\n node = node.children[0];\n }\n console.log(parent,node,path);\n this.loadNodes(path);\n }\n if (!this.state.hierarchy && this.pathwayIds) {\n const haveDocs = this.pathwayIds.filter(id => this.props.gramenePathways.hasOwnProperty(id));\n if (haveDocs.length === this.pathwayIds.length) {\n const docs = this.pathwayIds.map(id => this.props.gramenePathways[id]);\n this.getHierarchy(this.makeTaxonSpecific(docs,this.gene.taxon_id));\n }\n }\n }\n\n componentWillMount() {\n var pathways, reactionId, ancestorIds;\n pathways = this.gene.annotations.pathways;\n if(!pathways) {\n throw new Error(\"No pathway annotation present for \" + this.gene._id);\n }\n\n this.pathwayIds = _.clone(pathways.ancestors);\n pathways.entries.forEach(function(reaction) {\n let [r,speciesCode,id] = reaction.id.split('-');\n\n this.pathwayIds.push(+id);\n }.bind(this));\n\n this.props.doRequestGramenePathways(this.pathwayIds);\n\n // DocActions.needDocs('pathways', this.pathwayIds, (docs) => { return this.makeTaxonSpecific(docs,this.props.gene.taxon_id)}, this.getHierarchy);\n }\n\n makeTaxonSpecific(docs,taxon_id) {\n let lineageField = 'lineage_'+taxon_id;\n let tsDocs = docs.map(function(doc) {\n let tsDoc = _.pick(doc,['_id','name','type']);\n tsDoc.lineage = doc[lineageField];\n return tsDoc;\n });\n console.log(tsDocs);\n return tsDocs;\n }\n\n componentWillUnmount() {\n // DocActions.noLongerNeedDocs('pathways', this.pathwayIds);\n if (this.diagram) this.diagram.detach();\n }\n\n getHierarchy(docs) {\n let pathways = _.keyBy(docs,'_id');\n let nodes = [];\n this.pathwayIds.forEach(function (pwyId) {\n if (pathways[pwyId]) {\n let pwy = pathways[pwyId];\n pwy.lineage.forEach(function(line) {\n let parentOffset = line.length - 2;\n nodes.push({\n id: pwyId,\n label: pwy.name,\n type: pwy.type,\n checkbox: false,\n selected: false,\n parent: parentOffset >=0 ? line[parentOffset] : undefined\n });\n });\n }\n });\n\n let nested = new FlatToNested().convert(nodes);\n\n this.setState({hierarchy: [nested], selectedNode: undefined});\n }\n\n loadNodes(nodes) {\n let hierarchy = this.state.hierarchy;\n let selectedNode = this.state.selectedNode;\n let offset = nodes.shift();\n let nodeRef = hierarchy[offset];\n let lineage = [nodeRef];\n nodes.forEach(function(n) {\n nodeRef = nodeRef.children[n];\n lineage.unshift(nodeRef);\n });\n if (lineage[0].id !== 2894885) {\n let pathway = this.stableId(lineage[0].id);\n let reaction = undefined;\n if (lineage[0].type === \"Reaction\") {\n reaction = pathway;\n pathway = this.stableId(lineage[1].id);\n }\n if (lineage[0].selected) {\n selectedNode = undefined;\n lineage[0].selected = false;\n if (this.loadedDiagram === pathway) {\n this.diagram.resetSelection();\n }\n else {\n if (this.diagram) this.diagram.resetSelection();\n this.loadDiagram(pathway);\n }\n }\n else {\n if (selectedNode) {\n selectedNode.selected = false;\n }\n selectedNode = lineage[0];\n lineage[0].selected = true;\n if (this.loadedDiagram === pathway) {\n if (reaction) {\n this.diagram.selectItem(reaction);\n }\n else {\n this.diagram.resetSelection();\n }\n }\n else {\n if (this.diagram) this.diagram.resetSelection();\n if (reaction) {\n this.loadDiagram(pathway, reaction);\n }\n else {\n this.loadDiagram(pathway);\n }\n }\n }\n this.setState({hierarchy: hierarchy, selectedNode: selectedNode});\n }\n }\n\n renderHierarchy() {\n if (this.state.hierarchy) {\n return (\n <TreeMenu\n data={this.state.hierarchy}\n expandIconClass=\"fa fa-chevron-right\"\n collapseIconClass=\"fa fa-chevron-down\"\n stateful={true}\n collapsible={true}\n onTreeNodeClick={this.loadNodes.bind(this)}\n />\n );\n }\n return <Spinner/>\n }\n\n updateQuery() {\n console.log(\"User asked to filter by \"+ this.state.selectedNode.type);\n\n this.props.doAcceptGrameneSuggestion({\n category: 'Plant Reactome',\n fq_field: 'pathways__ancestors',\n fq_value: this.state.selectedNode.id,\n name: this.state.selectedNode.label\n })\n }\n\n render() {\n let reactomeLink,searchFilter;\n\n if (this.state.selectedNode) {\n let xrefLUT = _.keyBy(this.gene.xrefs,'db');\n let links = [\n {name: 'Plant Reactome '+this.state.selectedNode.type, url: `${reactomeURL}/content/detail/${this.stableId(this.state.selectedNode.id)}`}\n ];\n if (xrefLUT.hasOwnProperty('notGramene_Plant_Reactome')) {\n links.push({name: 'Plant Reactome Gene', url: `${reactomeURL}/content/detail/${xrefLUT.notGramene_Plant_Reactome.ids[0]}`});\n }\n reactomeLink = <Links key=\"links\" links={links}/>;\n let filters = [\n {\n name: `All genes in this ${this.state.selectedNode.type}`,\n handleClick: ()=>this.updateQuery()\n }\n ];\n searchFilter = <Explore key=\"explore\" explorations={filters}/>;\n }\n return (\n <div ref={(div) => {this.divWrapper = div;}}>\n <div style={{width:350, height: 500, overflow:'scroll', float:'left'}}>{this.renderHierarchy()}</div>\n <div id={this.holderId}/>\n {searchFilter}\n {reactomeLink}\n </div>\n );\n }\n}\n\nexport default connect(\n 'selectGrameneTaxonomy',\n 'selectGramenePathways',\n 'doRequestGramenePathways',\n 'doAcceptGrameneSuggestion',\n Pathways\n);\n","import React from 'react'\nimport ReactGA from 'react-ga'\n// import {connect} from \"redux-bundler-react\";\nimport _ from 'lodash'\nimport dbxrefs from 'gramene-dbxrefs';\nimport {Detail, Title, Description, Content} from \"./generic\";\n\nconst HOW_MANY_TO_SHOW_BY_DEFAULT = 10;\n\nclass Xref extends React.Component {\n constructor(props) {\n super(props);\n this.state = {showAll: false};\n }\n\n toggleShowAll() {\n this.setState({showAll: !this.state.showAll});\n }\n\n possiblyTruncateList(vals) {\n var ellipsis, ellipsisChar, ellipsisTitle;\n\n if (vals.length > HOW_MANY_TO_SHOW_BY_DEFAULT) {\n if (this.state.showAll) {\n ellipsisChar = '^ show first ' + HOW_MANY_TO_SHOW_BY_DEFAULT;\n ellipsisTitle = 'Show less';\n }\n else {\n ellipsisChar = '… show all (' + (vals.length - HOW_MANY_TO_SHOW_BY_DEFAULT) + ' more)';\n ellipsisTitle = 'Show more';\n vals = vals.slice(0, HOW_MANY_TO_SHOW_BY_DEFAULT);\n }\n\n ellipsis = (\n <li key=\"showMore\" className=\"showAll\">\n <a title={ellipsisTitle} onClick={this.toggleShowAll.bind(this)}>{ellipsisChar}</a>\n </li>\n );\n\n vals.push(ellipsis);\n }\n\n return vals;\n }\n\n render() {\n var members, vals, db;\n db = this.props.displayName;\n\n members = this.props.members;\n\n vals = _(members)\n .map(function (m) {\n return m.val;\n })\n .flatten(true)\n .sort()\n .uniq(true) // TODO figure out why there are duplicates.\n .map(function (item, idx) {\n var url = members[0].url(item),\n liClass = idx < HOW_MANY_TO_SHOW_BY_DEFAULT ? \"default\" : \"extra\";\n let external = <small title=\"This link opens a page from an external site\"> <i className=\"fa fa-external-link\"/></small>;\n return (\n <li key={idx} className={liClass}>\n <ReactGA.OutboundLink\n eventLabel={db}\n to={url}\n target=\"_blank\"\n >\n {item}{external}\n </ReactGA.OutboundLink>\n </li>\n )\n })\n .value();\n\n vals = this.possiblyTruncateList(vals);\n\n return (\n <tr>\n <td className=\"xref-name-col\">{this.props.displayName}</td>\n <td className=\"xref-value-col\">\n <ol className=\"xref-id-list\">{vals}</ol>\n </td>\n </tr>\n );\n }\n}\n\nfunction formatXrefsForGene(gene) {\n if(!gene || !_.isArray(gene.xrefs)) {\n throw new Error(\"No xrefs for \" + _.get(gene._id));\n }\n return _(gene.xrefs)\n .keyBy('db')\n .pickBy(function(val, name) {\n return dbxrefs.isKnown(name);\n })\n .map(function(val, name) {\n var xref = dbxrefs.fetch(name);\n return {url: xref.url, label: xref.label, val: val.ids};\n })\n .groupBy('label')\n .map(function(members, displayName) {\n return (\n <Xref key={displayName} displayName={displayName} members={members} />\n )\n })\n .value();\n}\n\nconst Xrefs = ({searchResult, geneDocs}) => (\n <Detail>\n <Title key=\"title\">Cross-references</Title>\n <Description key=\"description\">References to this gene in other databases:</Description>\n <Content key=\"content\">\n <table className=\"xrefs table\">\n <thead>\n <tr>\n <th className=\"xref-name-col\">Database</th>\n <th className=\"xref-value-col\">IDs and links</th>\n </tr>\n </thead>\n <tbody>\n {formatXrefsForGene(geneDocs[searchResult.id])}\n </tbody>\n </table>\n </Content>\n </Detail>\n);\n\nexport default Xrefs;\n\n","import React from 'react'\nimport { connect } from 'redux-bundler-react'\nimport { Vis } from \"gramene-search-vis\"\nimport Selection from './selection.js'\nimport '../../../node_modules/gramene-search-vis/styles/main.less';\n\nclass TaxDist extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n collapseEmpties: true\n };\n }\n handleSelection(selections) {\n this.setState({selections})\n }\n handleHighlight(highlight) {\n this.setState({highlight})\n }\n handleFilter() {\n this.setState({selections:null})\n }\n toggleEmpties() {\n this.setState({collapseEmpties: !this.state.collapseEmpties})\n }\n render() {\n let selectedTaxa = {};\n if (this.props.grameneSearch && this.state.collapseEmpties) {\n this.props.grameneSearch.facet_counts.facet_fields.taxon_id.filter((tid,idx) => idx % 2 === 0).forEach(tid => {\n selectedTaxa[tid] = true;\n })\n }\n else {\n selectedTaxa = this.props.grameneGenomes.active;\n }\n return (\n <div className=\"results-vis big-vis\">\n <button type=\"button\" className=\"btn btn-primary btn-sm\" onClick={this.toggleEmpties.bind(this)}>{this.state.collapseEmpties ? 'Expand' : 'Collapse'} empty branches</button>\n {this.props.grameneTaxDist && <Vis taxonomy={this.props.grameneTaxDist}\n selectedTaxa={selectedTaxa}\n onSelection={this.handleSelection.bind(this)}\n onHighlight={this.handleHighlight.bind(this)}\n />}\n {this.renderSelection()}\n </div>\n );\n }\n renderSelection() {\n if (this.state.selections && this.props.grameneTaxDist) {\n return <Selection taxonomy={this.props.grameneTaxDist}\n selectedTaxa={{}}\n selections={this.state.selections}\n onFilter={this.handleFilter.bind(this)}/>\n }\n }\n}\n\nexport default connect(\n 'selectGrameneTaxDist',\n 'selectGrameneGenomes',\n 'selectGrameneSearch',\n TaxDist\n);\n","import React from 'react';\nimport numeral from 'numeral';\nimport _ from \"lodash\";\n\nimport {Table, Button, Badge} from 'react-bootstrap';\nimport {connect} from \"redux-bundler-react\";\n\nfunction selectionStats(selections, taxonomy) {\n const selectionData = getSelectionData(selections, taxonomy);\n const totalGeneResults = taxonomy.model.results.count;\n const fq = fqFromSelections(selections);\n\n return {\n selectedGenes: selectionData.resultsCount,\n totalGeneResults,\n fq,\n numSelectedBins: selectionData.binsCount,\n proportionGenesSelected: selectionData.resultsCount / totalGeneResults\n }\n}\n\nfunction getSelectionData(selection, taxonomy) {\n return _.reduce(selection, (countAcc, sel) => {\n const bins = taxonomy.getBins(sel.binFrom.idx, sel.binTo.idx);\n countAcc.binsCount += bins.length;\n countAcc.resultsCount += _.reduce(bins, (acc, bin) => acc + bin.results.count, 0);\n return countAcc;\n }, {resultsCount: 0, binsCount: 0});\n}\n\nconst selectionToSolrRange = (sel)=>`[${sel.binFrom.idx} TO ${sel.binTo.idx}]`;\n\nfunction fqFromSelections(selections) {\n const rangeStrings = selections.map(selectionToSolrRange);\n return `fixed_1000__bin:(${rangeStrings.join(' ')})`;\n}\n\nconst Selections = ({selections, taxonomy, doAcceptGrameneSuggestion, onFilter}) => {\n const stats = selectionStats(selections, taxonomy);\n\n const setFilter = () => {\n doAcceptGrameneSuggestion({\n category: 'Selections',\n fq_field: 'fixed_1000__bin',\n fq_value: `(${selections.map(selectionToSolrRange).join(' ')})`,\n name: `${selections.length} region${selections.length === 1 ? '':'s'}`\n });\n onFilter();\n };\n\n const formatProportion = (prop) => '(' + (_.isFinite(prop) ? numeral(prop).format('0.0%') : undefined) + ')';\n\n return (\n <div>\n <Table>\n <tbody>\n <tr>\n <th>Number of selected genes</th>\n <td>{stats.selectedGenes} {formatProportion(stats.proportionGenesSelected)}</td>\n <td><Button size='sm' onClick={setFilter}>selections |<Badge>{stats.selectedGenes}</Badge></Button>\n </td>\n </tr>\n </tbody>\n </Table>\n </div>\n )\n};\n\nexport default connect(\n 'doAcceptGrameneSuggestion',\n Selections\n);\n","import React from 'react'\nimport {connect} from \"redux-bundler-react\";\nimport {Alert, Container, Row, Card, CardDeck} from 'react-bootstrap'\nimport './genes.css'\n\nconst examples = [\n {\n subsite: {\n maize:1,\n sorghum:1,\n main:1,\n },\n text: \"What are the orthologs of Arabidopsis thaliana's PAD4 gene in Andropogoneae?\",\n filters: {\n status: 'init',\n rows: 20,\n operation: 'AND',\n negate: false,\n leftIdx: 0,\n rightIdx: 5,\n children: [\n {\n fq_field: 'homology__all_orthologs',\n fq_value: 'AT3G52430',\n name: 'Orthologs of PAD4',\n category: 'Gene Tree',\n leftIdx:1,\n rightIdx:2,\n negate: false,\n marked: false\n },\n {\n fq_field: 'taxonomy__ancestors',\n fq_value: 147429,\n name: 'Andropogoneae',\n category: 'Taxonomy',\n leftIdx:3,\n rightIdx:4,\n negate: false,\n marked: false\n }\n ]\n }\n },\n {\n subsite: {\n grapevine:1\n },\n text: \"What are the orthologs of Arabidopsis thaliana's PAD4 gene in rosids?\",\n filters: {\n status: 'init',\n rows: 20,\n operation: 'AND',\n negate: false,\n leftIdx: 0,\n rightIdx: 5,\n children: [\n {\n fq_field: 'homology__all_orthologs',\n fq_value: 'AT3G52430',\n name: 'Orthologs of PAD4',\n category: 'Gene Tree',\n leftIdx:1,\n rightIdx:2,\n negate: false,\n marked: false\n },\n {\n fq_field: 'taxonomy__ancestors',\n fq_value: 71275,\n name: 'rosids',\n category: 'Taxonomy',\n leftIdx:3,\n rightIdx:4,\n negate: false,\n marked: false\n }\n ]\n }\n }\n];\nconst HelpDemo = ({configuration,doReplaceGrameneFilters}) => (\n <Container fluid style={{padding: '40px'}}>\n <Row>\n <h3>Search Features</h3>\n </Row>\n <Row>\n <CardDeck style={{width:'80%'}}>\n <Card style={{'backgroundColor':'#f3f6f5', 'borderColor':'#DDE5E3'}}>\n <Card.Body>\n <Card.Title>Suggestions</Card.Title>\n <Card.Text>Matching terms are provided as you type:</Card.Text>\n <div className='gene-search-pic-sugg'/>\n </Card.Body>\n </Card>\n <Card style={{'backgroundColor':'#f3f6f5', 'borderColor':'#DDE5E3'}}>\n <Card.Body>\n <Card.Title>Visualization</Card.Title>\n <Card.Text>See the distribution of results across all genomes:</Card.Text>\n <div className='gene-search-pic-results'/>\n </Card.Body>\n </Card>\n <Card style={{'backgroundColor':'#f3f6f5', 'borderColor':'#DDE5E3'}}>\n <Card.Body>\n <Card.Title>Gene tree view</Card.Title>\n <Card.Text>Explore evolutionary history of a gene family:</Card.Text>\n <div className='gene-search-pic-genetree'/>\n </Card.Body>\n </Card>\n </CardDeck>\n </Row>\n <Row>\n <h4>For Example</h4>\n </Row>\n <Row>\n <small>\n You can ask sophisticated questions about the genes:<br/>\n <ul>\n {examples.filter(e => !!e.subsite[configuration.id]).map((e,idx) => (\n <li key={idx}><a onClick={() => doReplaceGrameneFilters(e.filters)}>{e.text}</a></li>\n ))}\n </ul>\n </small>\n </Row>\n </Container>\n);\n\nexport default connect(\n 'selectConfiguration',\n 'doReplaceGrameneFilters',\n HelpDemo\n);\n\n","import React from \"react\";\nimport { connect } from 'redux-bundler-react'\nimport { Modal, Button } from \"react-bootstrap\";\n\nclass TaxonomyModal extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n genomes : Object.values(props.grameneMaps).sort((a,b) => a.left_index - b.left_index)\n };\n if (Object.keys(props.grameneGenomes.active).length === 0) {\n this.state.genomes.forEach(g => {\n g.selected = true;\n })\n }\n else {\n this.state.genomes.forEach(g => {\n g.selected = props.grameneGenomes.active[g.taxon_id];\n })\n }\n }\n getSelectedGenomes() {\n let selected = {};\n let notAll = false;\n this.state.genomes.forEach(g => {\n if (g.selected) {\n selected[g.taxon_id] = true;\n }\n else {\n notAll = true;\n }\n });\n return notAll ? selected : {};\n }\n handleChange(e) {\n const idx = +e.target.value;\n let newState = Object.assign({},this.state);\n newState.genomes[idx].selected = !newState.genomes[idx].selected;\n this.setState(newState);\n }\n handleClose() {\n this.props.doUpdateGrameneGenomes(this.getSelectedGenomes())\n }\n selectAll() {\n const genomes = this.state.genomes.map(g => {g.selected = true; return g});\n this.setState({genomes});\n }\n selectNone() {\n const genomes = this.state.genomes.map(g => {g.selected = false; return g});\n this.setState({genomes});\n }\n renderGenomes() {\n return (\n <div>\n {this.state.genomes.map((m,idx) => {\n return (\n <div key={idx}>\n <input checked={m.selected}\n onChange={this.handleChange.bind(this)}\n type=\"checkbox\"\n value={idx}\n />\n {' '}{m.display_name}\n </div>\n )\n })}\n <Button onClick={this.handleClose.bind(this)}>Submit</Button>\n </div>\n )\n }\n render() {\n return (\n <Modal\n show={this.props.grameneGenomes.show}\n onHide={this.handleClose.bind(this)}\n size='lg'\n >\n <Modal.Header closeButton>\n <Modal.Title>Select Genomes of Interest</Modal.Title>\n </Modal.Header>\n <Modal.Body>\n <Button variant=\"outline-secondary\" onClick={this.selectAll.bind(this)}>All</Button>{' '}\n <Button variant=\"outline-secondary\" onClick={this.selectNone.bind(this)}>None</Button>\n {this.renderGenomes()}\n </Modal.Body>\n </Modal>\n )\n }\n};\n\nexport default connect(\n 'selectGrameneGenomes',\n 'selectGrameneMaps',\n 'doUpdateGrameneGenomes',\n TaxonomyModal\n)\n"],"names":["apiBundles","docsBundle","filterBundle","viewsBundle","genomesBundle","facets","genomesOfInterest","grameneSuggestions","name","actionBaseType","persist","getPromise","store","t","selectSuggestionsQuery","replaceAll","trim","g","selectGrameneGenomes","fetch","selectGrameneAPI","then","res","json","suggestions","Object","keys","active","length","grouped","category","groups","forEach","group","doclist","docs","sugg","num_genes","taxon_id","id","idx","taxon_freq","reactGrameneSuggestions","shouldUpdate","queryString","actionCreator","selectGrameneSuggestionsStatus","isLoading","suggestionsRaw","data","matches","selectGrameneSuggestionsReady","status","regex","RegExp","test","doFocusFirstGrameneSuggestion","arg","dispatch","getState","console","log","grameneTaxonomy","taxNodes","taxonomy","_","keyBy","_id","hasOwnProperty","is_a","p_id","p","children","push","reactGrameneTaxonomy","grameneMaps","maps","reactGrameneMaps","curatedGenes","curation","genes","reactCuratedGenes","grameneExpressionStudies","reactGrameneExpressionStudies","grameneExpressionAssays","expr","assay","experiment","order","replace","tid","exp","sort","a","b","reactGrameneExpressionAssays","grameneSearch","offset","selectGrameneSearchOffset","rows","selectGrameneSearchRows","taxa","fq","join","selectGrameneFiltersQueryString","response","d","can_show","capabilities","c","reactGrameneSearch","formatFacetCountsForViz","count","displayName","sorted","counts","i","fc","grameneTaxDist","getReducer","initialState","state","type","payload","selectGrameneTaxDist","forIn","map","display_name","binnedResults","facet_counts","facet_fields","fixed_1000__bin","speciesTree","treesClient","tree","values","binMapper","binsClient","bins","taxDist","setBinType","setResults","grameneOrthologs","newState","assign","doRequestOrthologs","geneId","orthologs","selectGrameneOrthologs","API","taxonId","selectTargetTaxonId","newOrthologs","MAX_IDLIST_LENGTH","findNodeWithLeftIdx","node","leftIdx","result","child","rightIdx","parentIdx","markSubtree","source","invert","marked","reindexTree","grameneFilters","operation","negate","showMarked","showMenu","moveCopyMode","searchOffset","pick","filter","filters","warning","nextIdx","f","parent","target","targetCopy","fq_field","fq_value","sourceCopy","mode","moveCopySource","doNegateGrameneFilter","actions","doDeleteGrameneFilter","doChangeGrameneFilterOperation","doMoveOrCopyGrameneFilter","toUpperCase","doCopyGrameneFilter","doMarkGrameneFilterTargets","doUnmarkGrameneFilterTargets","doAcceptGrameneSuggestion","suggestion","doAddGrameneRangeQuery","terms","doToggleGrameneFilterMenu","doRequestResultsPage","page","doReplaceGrameneFilters","doClearGrameneFilters","selectGrameneFilters","selectGrameneFiltersStatus","hasSpaces","isQuery","idWithColon","getQuery","handleIdList","queryObject","ids","uniq","idList","split","slice","action","reactGrameneFilters","genomes","myUrl","newFilters","JSON","parse","url","URL","href","pathname","search","stringify","grameneViews","options","show","doToggleGrameneView","selectGrameneViews","grameneDocs","trees","domains","pathways","expression","paralogs","doRequestGrameneGene","selectGrameneGenes","doRequestGrameneTree","selectGrameneTrees","selectGrameneMaps","update_taxon_name","taxon_name","doRequestGramenePathways","selectGramenePathways","newIds","doRequestParalogExpression","selectParalogExpression","assay_re","experiments","min","max","entries","parsed","match","e","grameneGenomes","doShowGrameneGenomes","doUpdateGrameneGenomes","selectActiveGenomes","selectActiveGenomeCount","Gene","gene","Genes","results","doChangeQuantity","numFound","moreButton","fewerButton","docsToShow","doc","Pathway","pathway","Pathways","Domain","domain","Domains","Taxon","taxon","Species","ResultList","grameneGenes","grameneDomains","gramenePathways","searchUI","searchUpdated","Gramene","getStatus","cat","isChecked","toggle","tally","ResultSummary","doToggleCategory","showMatches","text","x","re","str","fontWeight","Suggestions","props","sugg1","suggestionsQuery","sugg2","margin","maxWidth","doAcceptSuggestion","groupValue","jdx","inventory","help","HelpDemo","list","GeneList","TaxDist","StatusCmp","content","grameneFiltersStatus","popover","activeGenomeCount","cursor","padding","backgroundColor","color","fontSize","Status","handleClick","window","event","cancelBubble","stopPropagation","selectTarget","unmarkTargets","Filter","classes","menu","key","menuItems","changeOperation","deleteNode","markTargets","isSource","toggleMenu","FiltersCmp","Filters","ResultsCmp","activeViews","v","React","createElement","Results","ViewsCmp","view","Views","external","location","Location","Expression","homology","Homology","xrefs","Xrefs","renderTairSummary","searchResult","summary","trimSummary","start","substr","rest","ClosestOrtholog","desc","species","model_rep_id","model_rep_name","model_rep_description","model_rep_species_name","closest_rep_id","closest_rep_name","closest_rep_description","closest_rep_species_name","renderClosestOrtholog","shouldShowClosestOrtholog","details","label","available","expandedDetail","hasData","setState","geneDocs","requestGene","model_rep_taxon_id","taxLut","closest_rep_taxon_id","ensemblURL","taxName","numWordsInDescription","description","system_name","synonyms","renderMetadata","getDetailStatus","setExpanded","ensureGene","Component","prev","next","grameneSearchRows","pageNum","grameneSearchOffset","Math","ceil","configuration","ensemblRest","Detail","paralogs_url","gene_url","paralogExpression","suggestionToFilters","orthoParaList","thisGeneId","get","homologs","pickBy","filterCategories","thing","indexOf","flatten","value","isEmpty","includes","geneCount","filterAllHomologs","bind","filterOrthologs","filterParalogs","links","treeId","gene_tree","grameneTrees","genetree","orthologList","paralogList","flagged","renderTreeVis","explorations","subComponents","title","explore","Title","Description","Content","QueryTerm","badge","isNumber","marginLeft","renderExplorations","exploration","Explore","renderLinks","link","Links","initRegion","visibleRange","initVisibleRange","span","Error","end","floor","chr","region","isChromosome","regionType","regionName","isChromsome","restrictToVisibleRange","geneName","filterDisplayName","closeModal","visible","updateQuery","jgiify","renderLocation","renderResetButton","renderBrowser","handleViewChange","resetVisibleRange","Browser","PREFIX","DallianceBrowser","initialVisibleRange","newProps","browser","setLocation","pageName","biodallianceElementId","viewStart","viewEnd","cookieKey","prefix","coordSystem","speciesName","auth","version","ucscName","sources","ensemblURI","tier_type","uri","disablePoweredBy","setDocumentTitle","noDefaultLabels","noPersist","noPersistView","maxWorkers","noTitle","noLocationField","noLeapButtons","noZoomSlider","noTrackAdder","noTrackEditor","noExport","noOptions","noHelp","maxViewWidth","addViewListener","onViewChange","timeoutID","clearTimeout","cancel","self","setTimeout","reactomeURL","holderId","diagram","Reactome","Diagram","create","proxyPrefix","placeHolder","width","divWrapper","clientWidth","height","dbId","indices","model","reactomePrefix","pathwayId","reactionId","initDiagram","loadDiagram","onDiagramLoaded","loaded","loadedDiagram","selectItem","flagItems","addEventListener","prevProps","prevState","hierarchy","selectedNode","path","loadNodes","pathwayIds","haveDocs","getHierarchy","makeTaxonSpecific","ancestorIds","annotations","clone","ancestors","reaction","r","speciesCode","lineageField","tsDocs","tsDoc","lineage","detach","nodes","pwyId","pwy","line","parentOffset","checkbox","selected","undefined","nested","FlatToNested","convert","shift","nodeRef","n","unshift","stableId","resetSelection","reactomeLink","searchFilter","xrefLUT","notGramene_Plant_Reactome","div","overflow","renderHierarchy","HOW_MANY_TO_SHOW_BY_DEFAULT","Xref","showAll","vals","ellipsis","ellipsisChar","ellipsisTitle","toggleShowAll","members","db","m","val","item","liClass","possiblyTruncateList","formatXrefsForGene","isArray","dbxrefs","isKnown","xref","groupBy","collapseEmpties","selections","highlight","selectedTaxa","toggleEmpties","handleSelection","handleHighlight","renderSelection","handleFilter","selectionStats","selectionData","getSelectionData","totalGeneResults","fqFromSelections","selectedGenes","resultsCount","numSelectedBins","binsCount","proportionGenesSelected","selection","reduce","countAcc","sel","getBins","binFrom","binTo","acc","bin","selectionToSolrRange","rangeStrings","Selections","onFilter","stats","setFilter","formatProportion","prop","isFinite","format","examples","subsite","maize","sorghum","main","grapevine","TaxonomyModal","left_index","notAll","getSelectedGenomes","handleChange","handleClose","selectAll","selectNone","renderGenomes"],"version":3,"file":"index.js.map"}
|