graphql
Version:
A Query Language and Runtime which can target any service.
1 lines • 90 kB
Source Map (JSON)
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/language/parser.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,iCAAgC;AAEtD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,2BAA0B;AAmE9D,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAiB;AACvD,OAAO,EAAE,iBAAiB,EAAE,gCAA+B;AAC3D,OAAO,EAAE,IAAI,EAAE,oBAAmB;AAElC,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,oBAAmB;AAC1D,OAAO,EAAE,qBAAqB,EAAE,oCAAmC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,qBAAoB;AAC/C,OAAO,EAAE,SAAS,EAAE,wBAAuB;AA6F3C,MAAM,UAAU,KAAK,CACnB,MAAuB,EACvB,OAAsB;IAEtB,OAAO,WAAW,CAAC,YAAY,CAAC;QAC9B,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC;QACtE,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,SAAS,CAChB,MAAuB,EACvB,OAAiC;IAEjC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;IACxC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE;QAC5C,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,MAAM,CAAC,UAAU;KACzB,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAuBD,MAAM,UAAU,UAAU,CACxB,MAAuB,EACvB,OAAsB;IAEtB,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,KAAK,CAAC;AACf,CAAC;AAkBD,MAAM,UAAU,eAAe,CAC7B,MAAuB,EACvB,OAAsB;IAEtB,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,MAAM,CAAC,sBAAsB,EAAE,CAAC;IAC9C,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,KAAK,CAAC;AACf,CAAC;AAuBD,MAAM,UAAU,SAAS,CACvB,MAAuB,EACvB,OAAsB;IAEtB,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;IACzC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,IAAI,CAAC;AACd,CAAC;AAqBD,MAAM,UAAU,qBAAqB,CACnC,MAAuB;IAEvB,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,IAAI,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7C,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;IAClD,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,UAAU,CAAC;AACpB,CAAC;AAaD,MAAM,OAAO,MAAM;IAKjB,YAAY,MAAuB,EAAE,UAAwB,EAAE;QAC7D,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC;QAEvC,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAOD,SAAS;QACP,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAW,KAAK,EAAE;YAChC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;IACL,CAAC;IASD,aAAa;QACX,OAAO,IAAI,CAAC,IAAI,CAAe,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YAChD,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,WAAW,EAAE,IAAI,CAAC,IAAI,CACpB,SAAS,CAAC,GAAG,EACb,IAAI,CAAC,eAAe,EACpB,SAAS,CAAC,GAAG,CACd;SACF,CAAC,CAAC;IACL,CAAC;IA2BD,eAAe;QACb,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACzC,CAAC;QAGD,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,MAAM,YAAY,GAAG,cAAc;YACjC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;YACzB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAEtB,IAAI,cAAc,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC;YAC9D,MAAM,WAAW,CACf,IAAI,CAAC,MAAM,CAAC,MAAM,EAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EACvB,8EAA8E,CAC/E,CAAC;QACJ,CAAC;QACD,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YACzC,QAAQ,YAAY,CAAC,KAAK,EAAE,CAAC;gBAC3B,KAAK,QAAQ;oBACX,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACtC,KAAK,QAAQ;oBACX,OAAO,IAAI,CAAC,yBAAyB,EAAE,CAAC;gBAC1C,KAAK,MAAM;oBACT,OAAO,IAAI,CAAC,yBAAyB,EAAE,CAAC;gBAC1C,KAAK,WAAW;oBACd,OAAO,IAAI,CAAC,4BAA4B,EAAE,CAAC;gBAC7C,KAAK,OAAO;oBACV,OAAO,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBACzC,KAAK,MAAM;oBACT,OAAO,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBACxC,KAAK,OAAO;oBACV,OAAO,IAAI,CAAC,8BAA8B,EAAE,CAAC;gBAC/C,KAAK,WAAW;oBACd,OAAO,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC3C,CAAC;YAED,QAAQ,YAAY,CAAC,KAAK,EAAE,CAAC;gBAC3B,KAAK,OAAO,CAAC;gBACb,KAAK,UAAU,CAAC;gBAChB,KAAK,cAAc;oBACjB,OAAO,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBACzC,KAAK,UAAU;oBACb,OAAO,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC1C,CAAC;YAED,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,WAAW,CACf,IAAI,CAAC,MAAM,CAAC,MAAM,EAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EACvB,wEAAwE,CACzE,CAAC;YACJ,CAAC;YAED,QAAQ,YAAY,CAAC,KAAK,EAAE,CAAC;gBAC3B,KAAK,QAAQ;oBACX,OAAO,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IAWD,wBAAwB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,IAAI,CAA0B,KAAK,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,oBAAoB;gBAC/B,SAAS,EAAE,iBAAiB,CAAC,KAAK;gBAClC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,SAAS;gBACf,mBAAmB,EAAE,SAAS;gBAC9B,UAAU,EAAE,SAAS;gBACrB,YAAY,EAAE,IAAI,CAAC,iBAAiB,EAAE;aACvC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC;QACT,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAA0B,KAAK,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,oBAAoB;YAC/B,SAAS;YACT,WAAW;YACX,IAAI;YACJ,mBAAmB,EAAE,IAAI,CAAC,wBAAwB,EAAE;YACpD,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;YACvC,YAAY,EAAE,IAAI,CAAC,iBAAiB,EAAE;SACvC,CAAC,CAAC;IACL,CAAC;IAOD,kBAAkB;QAChB,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACxD,QAAQ,cAAc,CAAC,KAAK,EAAE,CAAC;YAC7B,KAAK,OAAO;gBACV,OAAO,iBAAiB,CAAC,KAAK,CAAC;YACjC,KAAK,UAAU;gBACb,OAAO,iBAAiB,CAAC,QAAQ,CAAC;YACpC,KAAK,cAAc;gBACjB,OAAO,iBAAiB,CAAC,YAAY,CAAC;QAC1C,CAAC;QAED,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC;IAOD,wBAAwB;QACtB,OAAO,IAAI,CAAC,YAAY,CACtB,SAAS,CAAC,OAAO,EACjB,IAAI,CAAC,uBAAuB,EAC5B,SAAS,CAAC,OAAO,CAClB,CAAC;IACJ,CAAC;IAOD,uBAAuB;QACrB,OAAO,IAAI,CAAC,IAAI,CAAyB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YAC1D,IAAI,EAAE,IAAI,CAAC,mBAAmB;YAC9B,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAAE;YACpC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE;YAC9B,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACpE,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC;gBACtD,CAAC,CAAC,IAAI,CAAC,sBAAsB,EAAE;gBAC/B,CAAC,CAAC,SAAS;YACb,UAAU,EAAE,IAAI,CAAC,oBAAoB,EAAE;SACxC,CAAC,CAAC;IACL,CAAC;IAOD,aAAa;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC,IAAI,CAAe,KAAK,EAAE;YACpC,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE;SACvB,CAAC,CAAC;IACL,CAAC;IASD,iBAAiB;QACf,OAAO,IAAI,CAAC,IAAI,CAAmB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YACpD,IAAI,EAAE,IAAI,CAAC,aAAa;YACxB,UAAU,EAAE,IAAI,CAAC,IAAI,CACnB,SAAS,CAAC,OAAO,EACjB,IAAI,CAAC,cAAc,EACnB,SAAS,CAAC,OAAO,CAClB;SACF,CAAC,CAAC;IACL,CAAC;IAUD,cAAc;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAChC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE;YACtB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;IACxB,CAAC;IASD,UAAU;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAEhC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACrC,IAAI,KAAK,CAAC;QACV,IAAI,IAAI,CAAC;QACT,IAAI,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,KAAK,GAAG,WAAW,CAAC;YACpB,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,WAAW,CAAC;QACrB,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAY,KAAK,EAAE;YACjC,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,KAAK;YACL,IAAI;YACJ,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;YACrC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;YACvC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gBACxC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;IACL,CAAC;IASD,cAAc,CAAC,OAAgB;QAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;QACpE,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IACvE,CAAC;IAGD,sBAAsB;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC;QACxC,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IACvE,CAAC;IASD,aAAa,CAAC,UAAmB,KAAK;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAE9B,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAe,KAAK,EAAE;YACpC,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,IAAI;YACJ,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;SACvC,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAGD,qBAAqB;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAE9B,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAuB,KAAK,EAAE;YAC5C,IAAI,EAAE,IAAI,CAAC,iBAAiB;YAC5B,IAAI;YACJ,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;SACrC,CAAC,CAAC;IACL,CAAC;IAaD,aAAa;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEnC,MAAM,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACtC,IACE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gBAC5B,IAAI,CAAC,QAAQ,CAAC,6BAA6B,EAC3C,CAAC;gBACD,OAAO,IAAI,CAAC,IAAI,CAAqB,KAAK,EAAE;oBAC1C,IAAI,EAAE,IAAI,CAAC,eAAe;oBAC1B,IAAI;oBACJ,SAAS,EAAE,IAAI,CAAC,sBAAsB,EAAE;oBACxC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;iBACxC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,CAAqB,KAAK,EAAE;gBAC1C,IAAI,EAAE,IAAI,CAAC,eAAe;gBAC1B,IAAI;gBACJ,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;aACxC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAqB,KAAK,EAAE;YAC1C,IAAI,EAAE,IAAI,CAAC,eAAe;YAC1B,aAAa,EAAE,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,SAAS;YACnE,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;YACvC,YAAY,EAAE,IAAI,CAAC,iBAAiB,EAAE;SACvC,CAAC,CAAC;IACL,CAAC;IAUD,uBAAuB;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,QAAQ,CAAC,6BAA6B,KAAK,IAAI,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC,IAAI,CAAyB,KAAK,EAAE;gBAC9C,IAAI,EAAE,IAAI,CAAC,mBAAmB;gBAC9B,WAAW;gBACX,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE;gBAC9B,mBAAmB,EAAE,IAAI,CAAC,wBAAwB,EAAE;gBACpD,aAAa,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;gBAChE,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;gBACvC,YAAY,EAAE,IAAI,CAAC,iBAAiB,EAAE;aACvC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAyB,KAAK,EAAE;YAC9C,IAAI,EAAE,IAAI,CAAC,mBAAmB;YAC9B,WAAW;YACX,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE;YAC9B,aAAa,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;YAChE,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;YACvC,YAAY,EAAE,IAAI,CAAC,iBAAiB,EAAE;SACvC,CAAC,CAAC;IACL,CAAC;IAOD,iBAAiB;QACf,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IA0BD,iBAAiB,CAAC,OAAgB;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,SAAS,CAAC,SAAS;gBACtB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACjC,KAAK,SAAS,CAAC,OAAO;gBACpB,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACnC,KAAK,SAAS,CAAC,GAAG;gBAChB,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC,IAAI,CAAe,KAAK,EAAE;oBACpC,IAAI,EAAE,IAAI,CAAC,GAAG;oBACd,KAAK,EAAE,KAAK,CAAC,KAAK;iBACnB,CAAC,CAAC;YACL,KAAK,SAAS,CAAC,KAAK;gBAClB,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC,IAAI,CAAiB,KAAK,EAAE;oBACtC,IAAI,EAAE,IAAI,CAAC,KAAK;oBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;iBACnB,CAAC,CAAC;YACL,KAAK,SAAS,CAAC,MAAM,CAAC;YACtB,KAAK,SAAS,CAAC,YAAY;gBACzB,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACnC,KAAK,SAAS,CAAC,IAAI;gBACjB,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,QAAQ,KAAK,CAAC,KAAK,EAAE,CAAC;oBACpB,KAAK,MAAM;wBACT,OAAO,IAAI,CAAC,IAAI,CAAmB,KAAK,EAAE;4BACxC,IAAI,EAAE,IAAI,CAAC,OAAO;4BAClB,KAAK,EAAE,IAAI;yBACZ,CAAC,CAAC;oBACL,KAAK,OAAO;wBACV,OAAO,IAAI,CAAC,IAAI,CAAmB,KAAK,EAAE;4BACxC,IAAI,EAAE,IAAI,CAAC,OAAO;4BAClB,KAAK,EAAE,KAAK;yBACb,CAAC,CAAC;oBACL,KAAK,MAAM;wBACT,OAAO,IAAI,CAAC,IAAI,CAAgB,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC9D;wBACE,OAAO,IAAI,CAAC,IAAI,CAAgB,KAAK,EAAE;4BACrC,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,KAAK,EAAE,KAAK,CAAC,KAAK;yBACnB,CAAC,CAAC;gBACP,CAAC;YACH,KAAK,SAAS,CAAC,MAAM;gBACnB,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;oBACnC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;wBAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;wBACxC,MAAM,WAAW,CACf,IAAI,CAAC,MAAM,CAAC,MAAM,EAClB,KAAK,CAAC,KAAK,EACX,yBAAyB,OAAO,sBAAsB,CACvD,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBAC/B,CAAC;gBACH,CAAC;gBACD,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9B;gBACE,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,sBAAsB;QACpB,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,kBAAkB;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,IAAI,CAAkB,KAAK,EAAE;YACvC,IAAI,EAAE,IAAI,CAAC,MAAM;YACjB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,YAAY;SAC7C,CAAC,CAAC;IACL,CAAC;IAWD,SAAS,CAAC,OAAgB;QACxB,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,IAAI,CAAgB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YACjD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC;SACjE,CAAC,CAAC;IACL,CAAC;IAaD,WAAW,CAAC,OAAgB;QAC1B,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,IAAI,CAAkB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YACnD,IAAI,EAAE,IAAI,CAAC,MAAM;YACjB,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IASD,gBAAgB,CAAC,OAAgB;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAkB,KAAK,EAAE;YACvC,IAAI,EAAE,IAAI,CAAC,YAAY;YACvB,IAAI;YACJ,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;SACvC,CAAC,CAAC;IACL,CAAC;IAWD,eAAe,CAAC,OAAgB;QAC9B,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;YAC/B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACtB,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAWD,cAAc,CAAC,OAAgB;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAgB,KAAK,EAAE;YACrC,IAAI,EAAE,IAAI,CAAC,SAAS;YACpB,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE;YACtB,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;SACxC,CAAC,CAAC;IACL,CAAC;IAYD,kBAAkB;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,IAAI,IAAI,CAAC;QACT,IAAI,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;YAClD,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5C,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACtC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAe,KAAK,EAAE;gBACpC,IAAI,EAAE,IAAI,CAAC,SAAS;gBACpB,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC/B,CAAC;QAED,IAAI,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC,IAAI,CAAkB,KAAK,EAAE;gBACvC,IAAI,EAAE,IAAI,CAAC,aAAa;gBACxB,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAOD,cAAc;QACZ,OAAO,IAAI,CAAC,IAAI,CAAgB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YACjD,IAAI,EAAE,IAAI,CAAC,UAAU;YACrB,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE;SACvB,CAAC,CAAC;IACL,CAAC;IAID,eAAe;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC1E,CAAC;IAOD,gBAAgB;QACd,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IASD,qBAAqB;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/C,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAC9B,SAAS,CAAC,OAAO,EACjB,IAAI,CAAC,4BAA4B,EACjC,SAAS,CAAC,OAAO,CAClB,CAAC;QACF,OAAO,IAAI,CAAC,IAAI,CAAuB,KAAK,EAAE;YAC5C,IAAI,EAAE,IAAI,CAAC,iBAAiB;YAC5B,WAAW;YACX,UAAU;YACV,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IAOD,4BAA4B;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,IAAI,CAA8B,KAAK,EAAE;YACnD,IAAI,EAAE,IAAI,CAAC,yBAAyB;YACpC,SAAS;YACT,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAOD,yBAAyB;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC,IAAI,CAA2B,KAAK,EAAE;YAChD,IAAI,EAAE,IAAI,CAAC,sBAAsB;YACjC,WAAW;YACX,IAAI;YACJ,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IASD,yBAAyB;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC,IAAI,CAA2B,KAAK,EAAE;YAChD,IAAI,EAAE,IAAI,CAAC,sBAAsB;YACjC,WAAW;YACX,IAAI;YACJ,UAAU;YACV,UAAU;YACV,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IASD,yBAAyB;QACvB,OAAO,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC;YACxD,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IASD,qBAAqB;QACnB,OAAO,IAAI,CAAC,YAAY,CACtB,SAAS,CAAC,OAAO,EACjB,IAAI,CAAC,oBAAoB,EACzB,SAAS,CAAC,OAAO,CAClB,CAAC;IACJ,CAAC;IAQD,oBAAoB;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAsB,KAAK,EAAE;YAC3C,IAAI,EAAE,IAAI,CAAC,gBAAgB;YAC3B,WAAW;YACX,IAAI;YACJ,SAAS,EAAE,IAAI;YACf,IAAI;YACJ,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAOD,iBAAiB;QACf,OAAO,IAAI,CAAC,YAAY,CACtB,SAAS,CAAC,OAAO,EACjB,IAAI,CAAC,kBAAkB,EACvB,SAAS,CAAC,OAAO,CAClB,CAAC;IACJ,CAAC;IAQD,kBAAkB;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACvC,IAAI,YAAY,CAAC;QACjB,IAAI,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/C,YAAY,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC/C,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC,IAAI,CAA2B,KAAK,EAAE;YAChD,IAAI,EAAE,IAAI,CAAC,sBAAsB;YACjC,WAAW;YACX,IAAI;YACJ,IAAI;YACJ,YAAY;YACZ,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAQD,4BAA4B;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC,IAAI,CAA8B,KAAK,EAAE;YACnD,IAAI,EAAE,IAAI,CAAC,yBAAyB;YACpC,WAAW;YACX,IAAI;YACJ,UAAU;YACV,UAAU;YACV,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAQD,wBAAwB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC,IAAI,CAA0B,KAAK,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,qBAAqB;YAChC,WAAW;YACX,IAAI;YACJ,UAAU;YACV,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IASD,qBAAqB;QACnB,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC;YACzD,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAQD,uBAAuB;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,IAAI,CAAyB,KAAK,EAAE;YAC9C,IAAI,EAAE,IAAI,CAAC,oBAAoB;YAC/B,WAAW;YACX,IAAI;YACJ,UAAU;YACV,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IASD,yBAAyB;QACvB,OAAO,IAAI,CAAC,YAAY,CACtB,SAAS,CAAC,OAAO,EACjB,IAAI,CAAC,wBAAwB,EAC7B,SAAS,CAAC,OAAO,CAClB,CAAC;IACJ,CAAC;IAOD,wBAAwB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC,IAAI,CAA0B,KAAK,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,qBAAqB;YAChC,WAAW;YACX,IAAI;YACJ,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAOD,kBAAkB;QAChB,IACE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,MAAM;YAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,OAAO;YACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,MAAM,EAClC,CAAC;YACD,MAAM,WAAW,CACf,IAAI,CAAC,MAAM,CAAC,MAAM,EAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EACvB,GAAG,YAAY,CACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAClB,oDAAoD,CACtD,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAQD,8BAA8B;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,IAAI,CAAgC,KAAK,EAAE;YACrD,IAAI,EAAE,IAAI,CAAC,4BAA4B;YACvC,WAAW;YACX,IAAI;YACJ,UAAU;YACV,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IASD,0BAA0B;QACxB,OAAO,IAAI,CAAC,YAAY,CACtB,SAAS,CAAC,OAAO,EACjB,IAAI,CAAC,kBAAkB,EACvB,SAAS,CAAC,OAAO,CAClB,CAAC;IACJ,CAAC;IAkBD,wBAAwB;QACtB,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QAE7C,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YACzC,QAAQ,YAAY,CAAC,KAAK,EAAE,CAAC;gBAC3B,KAAK,QAAQ;oBACX,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBACrC,KAAK,QAAQ;oBACX,OAAO,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBACzC,KAAK,MAAM;oBACT,OAAO,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBACzC,KAAK,WAAW;oBACd,OAAO,IAAI,CAAC,2BAA2B,EAAE,CAAC;gBAC5C,KAAK,OAAO;oBACV,OAAO,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBACxC,KAAK,MAAM;oBACT,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBACvC,KAAK,OAAO;oBACV,OAAO,IAAI,CAAC,6BAA6B,EAAE,CAAC;gBAC9C,KAAK,WAAW;oBACd,OAAO,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IAWD,oBAAoB;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/C,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CACtC,SAAS,CAAC,OAAO,EACjB,IAAI,CAAC,4BAA4B,EACjC,SAAS,CAAC,OAAO,CAClB,CAAC;QACF,IAAI,UAAU,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YAC7D,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAsB,KAAK,EAAE;YAC3C,IAAI,EAAE,IAAI,CAAC,gBAAgB;YAC3B,UAAU;YACV,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IAQD,wBAAwB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAA0B,KAAK,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,qBAAqB;YAChC,IAAI;YACJ,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAUD,wBAAwB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC5C,IACE,UAAU,KAAK,SAAS;YACxB,UAAU,KAAK,SAAS;YACxB,MAAM,KAAK,SAAS,EACpB,CAAC;YACD,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAA0B,KAAK,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,qBAAqB;YAChC,IAAI;YACJ,UAAU;YACV,UAAU;YACV,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAUD,2BAA2B;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC5C,IACE,UAAU,KAAK,SAAS;YACxB,UAAU,KAAK,SAAS;YACxB,MAAM,KAAK,SAAS,EACpB,CAAC;YACD,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAA6B,KAAK,EAAE;YAClD,IAAI,EAAE,IAAI,CAAC,wBAAwB;YACnC,IAAI;YACJ,UAAU;YACV,UAAU;YACV,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IASD,uBAAuB;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3C,IAAI,UAAU,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACpD,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAyB,KAAK,EAAE;YAC9C,IAAI,EAAE,IAAI,CAAC,oBAAoB;YAC/B,IAAI;YACJ,UAAU;YACV,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IASD,sBAAsB;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAChD,IAAI,UAAU,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACrD,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAwB,KAAK,EAAE;YAC7C,IAAI,EAAE,IAAI,CAAC,mBAAmB;YAC9B,IAAI;YACJ,UAAU;YACV,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IASD,6BAA6B;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACjD,IAAI,UAAU,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACrD,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAA+B,KAAK,EAAE;YACpD,IAAI,EAAE,IAAI,CAAC,2BAA2B;YACtC,IAAI;YACJ,UAAU;YACV,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAChC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAyB,KAAK,EAAE;YAC9C,IAAI,EAAE,IAAI,CAAC,mBAAmB;YAC9B,IAAI;YACJ,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAUD,wBAAwB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAChC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,IAAI,CAA0B,KAAK,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,oBAAoB;YAC/B,WAAW;YACX,IAAI;YACJ,SAAS,EAAE,IAAI;YACf,UAAU;YACV,UAAU;YACV,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IASD,uBAAuB;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACzE,CAAC;IAgCD,sBAAsB;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAcD,qBAAqB;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,IAAI,UAAgC,CAAC;QACrC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5D,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,CAAC;QACD,IAAI,YAAkC,CAAC;QACvC,IACE,CAAC,WAAW,IAAI,UAAU,CAAC;YAC3B,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,OAAO,CAAC,EAC3C,CAAC;YACD,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAC,IAAI,CAAkC,KAAK,EAAE;oBACvD,IAAI,EAAE,IAAI,CAAC,6BAA6B;oBACxC,IAAI;oBACJ,YAAY;iBACb,CAAC,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,CAA0B,KAAK,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,oBAAoB;gBAC/B,IAAI;aACL,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,UAAU,EAAE,CAAC;YACtB,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAC,IAAI,CAAyB,KAAK,EAAE;oBAC9C,IAAI,EAAE,IAAI,CAAC,mBAAmB;oBAC9B,IAAI;oBACJ,SAAS,EAAE,UAAU;oBACrB,YAAY;iBACb,CAAC,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,CAAuB,KAAK,EAAE;gBAC5C,IAAI,EAAE,IAAI,CAAC,iBAAiB;gBAC5B,IAAI;gBACJ,UAAU;aACX,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAqB,KAAK,EAAE;YAC1C,IAAI,EAAE,IAAI,CAAC,eAAe;YAC1B,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAWD,IAAI,CACF,UAAiB,EACjB,IAAO;QAEP,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YACtC,IAAI,CAAC,GAAG,GAAG,IAAI,QAAQ,CACrB,UAAU,EACV,IAAI,CAAC,MAAM,CAAC,SAAS,EACrB,IAAI,CAAC,MAAM,CAAC,MAAM,CACnB,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAOD,IAAI,CAAC,IAAe;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;IACzC,CAAC;IAQD,WAAW,CAAC,IAAe;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,WAAW,CACf,IAAI,CAAC,MAAM,CAAC,MAAM,EAClB,KAAK,CAAC,KAAK,EACX,YAAY,gBAAgB,CAAC,IAAI,CAAC,WAAW,YAAY,CAAC,KAAK,CAAC,GAAG,CACpE,CAAC;IACJ,CAAC;IAQD,mBAAmB,CAAC,IAAe;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAQD,aAAa,CAAC,KAAa;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC3D,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,CACf,IAAI,CAAC,MAAM,CAAC,MAAM,EAClB,KAAK,CAAC,KAAK,EACX,aAAa,KAAK,YAAY,YAAY,CAAC,KAAK,CAAC,GAAG,CACrD,CAAC;QACJ,CAAC;IACH,CAAC;IAQD,qBAAqB,CAAC,KAAa;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC3D,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAOD,UAAU,CAAC,OAAsB;QAC/B,MAAM,KAAK,GAAG,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAC3C,OAAO,WAAW,CAChB,IAAI,CAAC,MAAM,CAAC,MAAM,EAClB,KAAK,CAAC,KAAK,EACX,cAAc,YAAY,CAAC,KAAK,CAAC,GAAG,CACrC,CAAC;IACJ,CAAC;IASD,GAAG,CACD,QAAmB,EACnB,OAAgB,EAChB,SAAoB;QAEpB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAUD,YAAY,CACV,QAAmB,EACnB,OAAgB,EAChB,SAAoB;QAEpB,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,EAAE,CAAC;YACjB,GAAG,CAAC;gBACF,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACjC,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE;YAC/C,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IASD,IAAI,CACF,QAAmB,EACnB,OAAgB,EAChB,SAAoB;QAEpB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,GAAG,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjC,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE;QAC/C,OAAO,KAAK,CAAC;IACf,CAAC;IASD,aAAa,CAAI,aAAwB,EAAE,OAAgB;QACzD,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QAExC,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,GAAG,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjC,CAAC,QAAQ,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE;QAClD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,YAAY;QACV,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAEpC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,GAAG,EAAE,CAAC;YACjC,EAAE,IAAI,CAAC,aAAa,CAAC;YACrB,IAAI,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,GAAG,SAAS,EAAE,CAAC;gBAC9D,MAAM,WAAW,CACf,IAAI,CAAC,MAAM,CAAC,MAAM,EAClB,KAAK,CAAC,KAAK,EACX,+BAA+B,SAAS,2BAA2B,CACpE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAOD,SAAS,YAAY,CAAC,KAAY;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,OAAO,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC7E,CAAC;AAOD,SAAS,gBAAgB,CAAC,IAAe;IACvC,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1D,CAAC","sourcesContent":["/** @category Parsing */\n\nimport type { Maybe } from '../jsutils/Maybe.ts';\n\nimport type { GraphQLError } from '../error/GraphQLError.ts';\nimport { syntaxError } from '../error/syntaxError.ts';\n\nimport { parseChannel, shouldTrace } from '../diagnostics.ts';\n\nimport type {\n ArgumentCoordinateNode,\n ArgumentNode,\n BooleanValueNode,\n ConstArgumentNode,\n ConstDirectiveNode,\n ConstListValueNode,\n ConstObjectFieldNode,\n ConstObjectValueNode,\n ConstValueNode,\n DefinitionNode,\n DirectiveArgumentCoordinateNode,\n DirectiveCoordinateNode,\n DirectiveDefinitionNode,\n DirectiveExtensionNode,\n DirectiveNode,\n DocumentNode,\n EnumTypeDefinitionNode,\n EnumTypeExtensionNode,\n EnumValueDefinitionNode,\n EnumValueNode,\n FieldDefinitionNode,\n FieldNode,\n FloatValueNode,\n FragmentArgumentNode,\n FragmentDefinitionNode,\n FragmentSpreadNode,\n InlineFragmentNode,\n InputObjectTypeDefinitionNode,\n InputObjectTypeExtensionNode,\n InputValueDefinitionNode,\n InterfaceTypeDefinitionNode,\n InterfaceTypeExtensionNode,\n IntValueNode,\n ListTypeNode,\n ListValueNode,\n MemberCoordinateNode,\n NamedTypeNode,\n NameNode,\n NonNullTypeNode,\n NullValueNode,\n ObjectFieldNode,\n ObjectTypeDefinitionNode,\n ObjectTypeExtensionNode,\n ObjectValueNode,\n OperationDefinitionNode,\n OperationTypeDefinitionNode,\n ScalarTypeDefinitionNode,\n ScalarTypeExtensionNode,\n SchemaCoordinateNode,\n SchemaDefinitionNode,\n SchemaExtensionNode,\n SelectionNode,\n SelectionSetNode,\n StringValueNode,\n Token,\n TypeCoordinateNode,\n TypeNode,\n TypeSystemExtensionNode,\n UnionTypeDefinitionNode,\n UnionTypeExtensionNode,\n ValueNode,\n VariableDefinitionNode,\n VariableNode,\n} from './ast.ts';\nimport { Location, OperationTypeNode } from './ast.ts';\nimport { DirectiveLocation } from './directiveLocation.ts';\nimport { Kind } from './kinds.ts';\nimport type { LexerInterface } from './lexer.ts';\nimport { isPunctuatorTokenKind, Lexer } from './lexer.ts';\nimport { SchemaCoordinateLexer } from './schemaCoordinateLexer.ts';\nimport { isSource, Source } from './source.ts';\nimport { TokenKind } from './tokenKind.ts';\n\n/** Configuration options to control parser behavior */\nexport interface ParseOptions {\n /**\n * By default, the parser creates AST nodes that know the location\n * in the source that they correspond to. This configuration flag\n * disables that behavior for performance or testing.\n */\n noLocation?: boolean | undefined;\n\n /**\n * Parser CPU and memory usage is linear to the number of tokens in a document\n * however in extreme cases it becomes quadratic due to memory exhaustion.\n * Parsing happens before validation so even invalid queries can burn lots of\n * CPU time and memory.\n * To prevent this you can set a maximum number of tokens allowed within a document.\n */\n maxTokens?: number | undefined;\n\n /**\n * EXPERIMENTAL:\n *\n * If enabled, the parser will understand and parse fragment variable definitions\n * and arguments on fragment spreads. Fragment variable definitions will be represented\n * in the `variableDefinitions` field of the FragmentDefinitionNode.\n * Fragment spread arguments will be represented in the `arguments` field of FragmentSpreadNode.\n * @example\n * ```graphql prettier-ignore\n * {\n * t { ...A(var: true) }\n * }\n * fragment A($var: Boolean = false) on T {\n * ...B(x: $var)\n * }\n * ```\n */\n experimentalFragmentArguments?: boolean | undefined;\n\n /**\n * Internal parser hook for GraphQL.js entry points that need to parse a\n * restricted grammar with an alternate lexer.\n * @internal\n */\n lexer?: LexerInterface | undefined;\n}\n\n/**\n * Given a GraphQL source, parses it into a Document.\n * Throws GraphQLError if a syntax error is encountered.\n * @param source - A GraphQL source string or source object.\n * @param options - Optional parser configuration.\n * @returns The parsed GraphQL document AST.\n * @example\n * ```ts\n * // Parse a GraphQL document with the default parser options.\n * import { parse } from 'graphql/language';\n *\n * const document = parse('{ hero { name } }');\n *\n * document.kind; // => 'Document'\n * ```\n * @example\n * ```ts\n * // This variant enables parser options and provides an explicit lexer.\n * import { Lexer, Source, parse } from 'graphql/language';\n *\n * const document = parse(\n * `\n * {\n * t { ...A(var: true) }\n * }\n * fragment A($var: Boolean = false) on T {\n * name\n * }\n * `,\n * {\n * experimentalFragmentArguments: true,\n * maxTokens: 80,\n * noLocation: true,\n * },\n * );\n * const directiveDocument = parse('directive @foo @bar on FIELD');\n * const source = new Source('{ hero }');\n * const lexerDocument = parse(source, { lexer: new Lexer(source) });\n *\n * document.definitions[0].kind; // => 'OperationDefinition'\n * document.definitions[1].kind; // => 'FragmentDefinition'\n * document.loc; // => undefined\n * directiveDocument.definitions[0].kind; // => 'DirectiveDefinition'\n * lexerDocument.definitions[0].kind; // => 'OperationDefinition'\n * ```\n */\nexport function parse(\n source: string | Source,\n options?: ParseOptions,\n): DocumentNode {\n return shouldTrace(parseChannel)\n ? parseChannel.traceSync(() => parseImpl(source, options), { source })\n : parseImpl(source, options);\n}\n\nfunction parseImpl(\n source: string | Source,\n options: ParseOptions | undefined,\n): DocumentNode {\n const parser = new Parser(source, options);\n const document = parser.parseDocument();\n Object.defineProperty(document, 'tokenCount', {\n enumerable: false,\n value: parser.tokenCount,\n });\n return document;\n}\n\n/**\n * Given a string containing a GraphQL value (ex. `[42]`), parse the AST for\n * that value.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Values directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: valueFromAST().\n * @param source - A GraphQL source string or source object containing a value.\n * @param options - Optional parser configuration.\n * @returns The parsed GraphQL value AST.\n * @example\n * ```ts\n * import { parseValue } from 'graphql/language';\n *\n * const value = parseValue('[42]');\n *\n * value.kind; // => 'ListValue'\n * ```\n */\nexport function parseValue(\n source: string | Source,\n options?: ParseOptions,\n): ValueNode {\n const parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n const value = parser.parseValueLiteral(false);\n parser.expectToken(TokenKind.EOF);\n return value;\n}\n\n/**\n * Similar to parseValue(), but raises a parse error if it encounters a\n * variable. The return type will be a constant value.\n * @param source - A GraphQL source string or source object containing a constant value.\n * @param options - Optional parser configuration.\n * @returns The parsed GraphQL constant value AST.\n * @example\n * ```ts\n * import { parseConstValue } from 'graphql/language';\n *\n * const value = parseConstValue('{ enabled: true }');\n *\n * value.kind; // => 'ObjectValue'\n * parseConstValue('$variable'); // throws an error\n * ```\n */\nexport function parseConstValue(\n source: string | Source,\n options?: ParseOptions,\n): ConstValueNode {\n const parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n const value = parser.parseConstValueLiteral();\n parser.expectToken(TokenKind.EOF);\n return value;\n}\n\n/**\n * Given a string containing a GraphQL Type (ex. `[Int!]`), parse the AST for\n * that type.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Types directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: typeFromAST().\n * @param source - A GraphQL source string or source object containing a type reference.\n * @param options - Optional parser configuration.\n * @returns The parsed GraphQL type AST.\n * @example\n * ```ts\n * import { parseType } from 'graphql/language';\n *\n * const type = parseType('[String!]');\n *\n * type.kind; // => 'ListType'\n * ```\n */\nexport function parseType(\n source: string | Source,\n options?: ParseOptions,\n): TypeNode {\n const parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n const type = parser.parseTypeReference();\n parser.expectToken(TokenKind.EOF);\n return type;\n}\n\n/**\n * Given a string containing a GraphQL Schema Coordinate (ex. `Type.field`),\n * parse the AST for that schema coordinate.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * Consider providing the results to the utility function:\n * resolveASTSchemaCoordinate(). Or calling resolveSchemaCoordinate() directly\n * with an unparsed source.\n * @param source - A GraphQL source string or source object containing a schema coordinate.\n * @returns The parsed GraphQL schema coordinate AST.\n * @example\n * ```ts\n * import { parseSchemaCoordinate } from 'graphql/language';\n *\n * const coordinate = parseSchemaCoordinate('Query.hero');\n *\n * coordinate.kind; // => 'MemberCoordinate'\n * ```\n */\nexport function parseSchemaCoordinate(\n source: string | Source,\n): SchemaCoordinateNode {\n const sourceObj = isSource(source) ? source : new Source(source);\n const lexer = new SchemaCoordinateLexer(sourceObj);\n const parser = new Parser(source, { lexer });\n parser.expectToken(TokenKind.SOF);\n const coordinate = parser.parseSchemaCoordinate();\n parser.expectToken(TokenKind.EOF);\n return coordinate;\n}\n\n/**\n * This class is exported only to assist people in implementing their own parsers\n * without duplicating too much code and should be used only as last resort for cases\n * such as experimental syntax or if certain features could not be contributed upstream.\n *\n * It is still part of the internal API and is versioned, so any changes to it are never\n * considered breaking changes. If you still need to support multiple versions of the\n * library, please use the `versionInfo` variable for version detection.\n *\n * @internal\n */\nexport class Parser {\n protected _options: Omit<ParseOptions, 'lexer'>;\n protected _lexer: LexerInterface;\n protected _tokenCounter: number;\n\n constructor(source: string | Source, options: ParseOptions = {}) {\n const { lexer, ..._options } = options;\n\n if (lexer) {\n this._lexer = lexer;\n } else {\n const sourceObj = isSource(source) ? source : new Source(source);\n this._lexer = new Lexer(sourceObj);\n }\n\n this._options = _options;\n this._tokenCounter = 0;\n }\n\n get tokenCount(): number {\n return this._tokenCounter;\n }\n\n /**\n * Converts a name lex token into a name parse node.\n *\n * @internal\n */\n parseName(): NameNode {\n const token = this.expectToken(TokenKind.NAME);\n return this.node<NameNode>(token, {\n kind: Kind.NAME,\n value: token.value,\n });\n }\n\n // Implements the parsing rules in the Document section.\n\n /**\n * Document : Definition+\n *\n * @internal\n */\n parseDocument(): DocumentNode {\n return this.node<DocumentNode>(this._lexer.token, {\n kind: Kind.DOCUMENT,\n definitions: this.many(\n TokenKind.SOF,\n this.parseDefinition,\n TokenKind.EOF,\n ),\n });\n }\n\n /**\n * Definition :\n * - ExecutableDefinition\n * - TypeSystemDefinition\n * - TypeSystemExtension\n *\n * ExecutableDefinition :\n * - OperationDefinition\n * - FragmentDefinition\n *\n * TypeSystemDefinition :\n * - SchemaDefinition\n * - TypeDefinition\n * - DirectiveDefinition\n *\n * TypeDefinition :\n * - ScalarTypeDefinition\n * - ObjectTypeDefinition\n * - InterfaceTypeDefinition\n * - UnionTypeDefinition\n * - EnumTypeDefinition\n * - InputObjectTypeDefinition\n *\n * @internal\n */\n parseDefinition(): DefinitionNode {\n if (this.peek(TokenKind.BRACE_L)) {\n return this.parseOperationDefinition();\n }\n\n // Many definitions begin with a description and require a lookahead.\n const hasDescription = this.peekDescription();\n const keywordToken = hasDescription\n ? this._lexer.lookahead()\n : this._lexer.token;\n\n if (hasDescription && keywordToken.kind === TokenKind.BRACE_L) {\n throw syntaxError(\n this._lexer.source,\n this._lexer.token.start,\n 'Unexpected description, descriptions are not supported on shorthand queries.',\n );\n }\n if (keywordToken.kind === TokenKind.NAME) {\n switch (keywordToken.value) {\n case 'schema':\n return this.parseSchemaDefinition();\n case 'scalar':\n return this.parseScalarTypeDefinition();\n case 'type':\n return this.parseObjectTypeDefinition();\n case 'interface':\n return this.parseInterfaceTypeDefinition();\n case 'union':\n return this.parseUnionTypeDefinition();\n case 'enum':\n return this.parseEnumTypeDefinition();\n case 'input':\n return this.parseInputObjectTypeDefinition();\n case 'directive':\n return this.parseDirectiveDefinition();\n }\n\n switch (keywordToken.value) {\n case 'query':\n case 'mutation':\n case 'subscription':\n return this.parseOperationDefinition();\n case 'fragment':\n return this.parseFragmentDefinition();\n }\n\n if (hasDescription) {\n throw syntaxError(\n this._lexer.source,\n this._lexer.token.start,\n 'Unexpected description, only GraphQL definitions support descriptions.',\n );\n }\n\n switch (keywordToken.value) {\n case 'extend':\n return this.parseTypeSystemExtension();\n }\n }\n\n throw this.unexpected(keywordToken);\n }\n\n // Implements the parsing rules in the Operations section.\n\n /**\n * OperationDefinition :\n * - SelectionSet\n * - OperationType Name? VariableDefinitions? Directives? SelectionSet\n *\n * @internal\n */\n parseOperationDefinition(): OperationDefinitionNode {\n const start = this._lexer.token;\n if (this.peek(TokenKind.BRACE_L)) {\n return this.node<OperationDefinitionNode>(start, {\n kind: Kind.OPERATION_DEFINITION,\n operation: OperationTypeNode.QUERY,\n description: undefined,\n name: undefined,\n variableDefinitions: undefined,\n directives: undefined,\n selectionSet: this.parseSelectionSet(),\n });\n }\n const description = this.parseDescription();\n const operation = this.parseOperationType();\n let name;\n if (this.peek(TokenKind.NAME)) {\n name = this.parseName();\n }\n return this.node<OperationDefinitionNode>(start, {\n kind: Kind.OPERATION_DEFINITION,\n operation,\n description,\n name,\n variableDefinitions: this.parseVariableDefinitions(),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n });\n }\n\n /**\n * OperationType : one of query mutation subscription\n *\n * @internal\n */\n parseOperationType(): OperationTypeNode {\n const operationToken = this.expectToken(TokenKind.NAME);\n switch (operationToken.value) {\n case 'query':\n return OperationTypeNode.QUERY;\n case 'mutation':\n return OperationTypeNode.MUTATION;\n case 'subscription':\n return OperationTypeNode.SUBSCRIPTION;\n }\n\n throw this.unexpected(operationToken);\n }\n\n /**\n * VariableDefinitions : ( VariableDefinition+ )\n *\n * @internal\n */\n parseVariableDefinitions(): Array<VariableDefinitionNode> | undefined {\n return this.optionalMany(\n TokenKind.PAREN_L,\n this.parseVariableDefinition,\n TokenKind.PAREN_R,\n );\n }\n\n /**\n * VariableDefinition : Variable : Type DefaultValue? Directives[Const]?\n *\n * @internal\n */\n parseVariableDefinition(): VariableDefinitionNode {\n return this.node<VariableDefinitionNode>(this._lexer.token, {\n kind: Kind.VARIABLE_DEFINITION,\n description: this.parseDescription(),\n variable: this.parseVariable(),\n type: (this.expectToken(TokenKind.COLON), this.parseTypeReference()),\n defaultValue: this.expectOptionalToken(TokenKind.EQUALS)\n ? this.parseConstValueLiteral()\n : undefined,\n directives: this.parseConstDirectives(),\n });\n }\n\n /**\n * Variable : $ Name\n *\n * @internal\n */\n parseVariable(): VariableNode {\n const start = this._lexer.token;\n this.expectToken(TokenKind.DOLLAR);\n return this.node<VariableNode>(start, {\n kind: Kind.VARIABLE,\n name: this.parseName(),\n });\n }\n\n /**\n * ```\n * SelectionSet : { Selection+ }\n * ```\n *\n * @internal\