{"version":3,"file":"./frontend/certificates.js","mappings":";;;;;AAAA;AACE,WAAUA,CAAC,EAAG;EACf,IAAIC,KAAK,EAAEC,qBAAqB,EAAEC,uBAAuB,EACxDC,0BAA0B,EAAEC,aAAa,EAAEC,qBAAqB,EAChEC,cAAc,EAAEC,iCAAiC;EAElD,IAAIC,+BAA+B;EACnC,IAAIC,8BAA8B;EAElCC,MAAM,CAACC,cAAc,GAAG,UAAUC,EAAE,EAAEC,OAAO,EAAG;IAC/C,IAAIC,IAAI,GAAG,IAAI;MACdC,QAAQ,GAAG;QACVC,KAAK,EAAE,CAAC;QACRC,MAAM,EAAE,CAAC;QACTC,aAAa,EAAE,CAAC;QAChBC,cAAc,EAAE,CAAC;QACjBC,KAAK,EAAE;MACR,CAAC;MACDC,GAAG,GAAGtB,CAAC,CAAEa,EAAG,CAAC;MACbU,OAAO,GAAG,IAAI;MACdC,YAAY;MAAEC,UAAU;IAEzB,IAAIC,sBAAsB,EAAEC,WAAW,EAAEC,qBAAqB;IAE9D,SAASC,IAAIA,CAAA,EAAG;MACfL,YAAY,GAAGxB,CAAC,CAAEW,MAAO,CAAC,CAACO,MAAM,CAAC,CAAC;MACnCO,UAAU,GAAGzB,CAAC,CAAEW,MAAO,CAAC,CAACM,KAAK,CAAC,CAAC;MAChCa,WAAW,CAAC,CAAC;MACbC,UAAU,CAAC,CAAC;MACZ/B,CAAC,CAAEgC,QAAS,CAAC,CAACC,EAAE,CAAE,OAAO,EAAE,cAAc,GAAGX,GAAG,CAACY,IAAI,CAAE,IAAK,CAAC,GAAG,IAAI,EAAE,UAAUC,CAAC,EAAG;QAClFA,CAAC,CAACC,cAAc,CAAC,CAAC;QAClBC,QAAQ,CAAC,CAAC;MACX,CAAE,CAAC;MACHtB,IAAI,CAACQ,OAAO,GAAGA,OAAO;IACvB;IAEA,SAASO,WAAWA,CAAA,EAAG;MACtBJ,sBAAsB,GAAG1B,CAAC,CAAE,sBAAuB,CAAC;IACrD;IAEA,SAAS+B,UAAUA,CAAA,EAAG;MACrB,IAAK,CAAER,OAAO,EAAG;QAChBA,OAAO,GAAGD,GAAG,CAACgB,IAAI,CAAE,QAAS,CAAC;QAC9Bf,OAAO,GAAG,IAAIgB,MAAM,CAACC,MAAM,CAAEjB,OAAO,CAACkB,GAAG,CAAE,CAAE,CAAE,CAAC;QAC/ClB,OAAO,CAACmB,SAAS,GAAG,KAAK;QAEzB1C,CAAC,CAAC2C,IAAI,CAAE7B,OAAO,CAAC8B,MAAM,EAAE,UAAUC,CAAC,EAAG;UACrCC,WAAW,EAAE;QACd,CAAE,CAAC;QAEH9C,CAAC,CAAC2C,IAAI,CAAE7B,OAAO,CAAC8B,MAAM,EAAE,UAAUC,CAAC,EAAEE,KAAK,EAAG;UAC5C,IAAK,CAAEA,KAAK,CAACC,IAAI,EAAG;YACnB;UACD;UAEA,IAAKhD,CAAC,CAACiD,aAAa,CAAEF,KAAM,CAAC,EAAG;YAC/BG,WAAW,CAAEH,KAAM,CAAC;UACrB;QACD,CAAE,CAAC;MACJ;IACD;IAEA,SAASI,aAAaA,CAAEC,OAAO,EAAG;MACjC;MACA;MACA,MAAMC,UAAU,GAAGC,IAAI,CAAEF,OAAO,CAACG,KAAK,CAAE,GAAI,CAAC,CAAE,CAAC,CAAG,CAAC;;MAEpD;MACA,MAAMC,UAAU,GAAGJ,OAAO,CAACG,KAAK,CAAE,GAAI,CAAC,CAAE,CAAC,CAAE,CAACA,KAAK,CAAE,GAAI,CAAC,CAAE,CAAC,CAAE,CAACA,KAAK,CAAE,GAAI,CAAC,CAAE,CAAC,CAAE;;MAEhF;MACA,MAAME,EAAE,GAAG,IAAIC,WAAW,CAAEL,UAAU,CAACM,MAAO,CAAC;;MAE/C;MACA,MAAMC,EAAE,GAAG,IAAIC,UAAU,CAAEJ,EAAG,CAAC;;MAE/B;MACA,KAAM,IAAIZ,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGQ,UAAU,CAACM,MAAM,EAAEd,CAAC,EAAE,EAAG;QAC7Ce,EAAE,CAAEf,CAAC,CAAE,GAAGQ,UAAU,CAACS,UAAU,CAAEjB,CAAE,CAAC;MACrC;;MAEA;MACA,MAAMkB,IAAI,GAAG,IAAIC,IAAI,CAAE,CAAEP,EAAE,CAAE,EAAE;QAAET,IAAI,EAAEQ;MAAW,CAAE,CAAC;MACrD,OAAOO,IAAI;IACZ;IAEA,IAAIE,kBAAkB,GAAG,aAAa;IAEtC,SAAS5B,QAAQA,CAAA,EAAG;MACnB,IAAKV,WAAW,CAACgC,MAAM,EAAG;QACzB,MAAMO,YAAY,GAAGvC,WAAW,CAACwC,IAAI,CAAE,eAAgB,CAAC;QAExD,IAAKC,SAAS,KAAKtD,OAAO,CAACuD,IAAI,EAAG;UACjCJ,kBAAkB,GAAGnD,OAAO,CAACuD,IAAI;QAClC;QAEA,QAASH,YAAY;UACrB,KAAK,KAAK;YACTI,WAAW,CAAC,CAAC;YACb;UACD,KAAK,OAAO;UACZ;YACCC,aAAa,CAAC,CAAC;YACf;QACD;MACD;IACD;IAEA,SAASA,aAAaA,CAAA,EAAG;MACxB,MAAMC,IAAI,GAAG;QACZC,MAAM,EAAE,KAAK;QACbC,UAAU,EAAE,CAAC,GAAGnD,OAAO,CAACoD,OAAO,CAAC;MACjC,CAAC;MAED,MAAMC,QAAQ,GAAGrD,OAAO,CAACsD,SAAS,CAAC,CAAC;MACpC,MAAMC,SAAS,GAAG3B,aAAa,CAAEyB,QAAS,CAAC;MAC3C,MAAMG,QAAQ,GAAG,IAAIC,QAAQ,CAAC,CAAC;MAE/Bf,kBAAkB,GAAGA,kBAAkB,GAAG,MAAM;MAEhDc,QAAQ,CAACE,MAAM,CAAE,OAAO,EAAEH,SAAS,EAAEb,kBAAmB,CAAC;MAEzDiB,UAAU,CAAE3D,OAAO,CAACsD,SAAS,CAAEL,IAAK,CAAC,EAAEP,kBAAmB,CAAC;MAE3D,OAAO,KAAK;IACb;IAEA,SAASkB,aAAaA,CAAA,EAAG;MACxB,MAAMX,IAAI,GAAG;QACZC,MAAM,EAAE,KAAK;QACbC,UAAU,EAAE,CAAC,GAAGnD,OAAO,CAACoD,OAAO,CAAC,CAAC;QACjCS,OAAO,EAAE;MACV,CAAC;MAED,MAAMjB,IAAI,GAAG5C,OAAO,CAACsD,SAAS,CAAEL,IAAK,CAAC;MAEtC,MAAMa,IAAI,GAAGrF,CAAC,CAAE,oCAAqC,CAAC,CAACsF,YAAY,CAAE,GAAG,GAAGhE,GAAG,CAAE,CAAC,CAAE,CAACiE,EAAG,CAAC;MAExF3D,qBAAqB,GAAG5B,CAAC,CAAE,qBAAsB,CAAC;MAElDqF,IAAI,CAACnD,IAAI,CAAE,KAAK,EAAEiC,IAAK,CAAC;;MAExB;MACAqB,UAAU,CAAE,YAAW;QACtB,IAAKH,IAAI,CAACpE,KAAK,CAAC,CAAC,GAAGQ,UAAU,EAAG;UAChCG,qBAAqB,CAAC6D,GAAG,CAAE,OAAO,EAAE,MAAO,CAAC;QAC7C;MACD,CAAC,EAAE,GAAI,CAAC;IACT;IAEA,IAAI3C,WAAW,GAAG,CAAC;IACnB,IAAI4C,kBAAkB,GAAG,CAAC;IAE1B,SAASC,uBAAuBA,CAAA,EAAG;MAClCD,kBAAkB,EAAE;MAEpB,IAAKA,kBAAkB,KAAK5C,WAAW,EAAG;QACzC,MAAM8C,cAAc,GAAG9E,OAAO,CAAC+E,QAAQ;QACvC;;QAEA,MAAMC,UAAU,GAAG,IAAIC,KAAK,CAAC,CAAC;QAC9B,MAAMC,WAAW,GAAG,CAAC,CAAC;;QAEtB;QACA,IAAK5B,SAAS,KAAK6B,kBAAkB,EAAG;UACvC,MAAMC,cAAc,GAAG,IAAIC,MAAM,CAAE,GAAG,GAAGF,kBAAkB,CAACG,QAAS,CAAC;UAEtE,IAAK,CAAEF,cAAc,CAACG,IAAI,CAAET,cAAe,CAAC,EAAG;YAC9CE,UAAU,CAACQ,WAAW,GAAG,WAAW;YACpCN,WAAW,CAACM,WAAW,GAAG,WAAW;UACtC;QACD;QAEAR,UAAU,CAACS,MAAM,GAAG,YAAW;UAC9BvF,QAAQ,GAAG;YACVC,KAAK,EAAE,IAAI,CAACA,KAAK;YACjBC,MAAM,EAAE,IAAI,CAACA;UACd,CAAC;UAEDqB,MAAM,CAACwD,KAAK,CAACS,OAAO,CAAEV,UAAU,CAACW,GAAG,EAAE,UAAUC,GAAG,EAAG;YACrDnF,OAAO,CAACoF,eAAe,GAAGD,GAAG;YAC7BE,UAAU,CAAC,CAAC;YACZzB,aAAa,CAAC,CAAC;YAEf,IAAK3E,iCAAiC,CAACmD,MAAM,EAAG;cAC/CkD,iBAAiB,CAAC,CAAC;YACpB;YAEA,IAAKnF,sBAAsB,CAACiC,MAAM,EAAG;cACpChC,WAAW,GAAGD,sBAAsB,CAACY,IAAI,CAAE,WAAY,CAAC;YACzD;YAEA,MAAMwE,YAAY,GAAG9E,QAAQ,CAAC+E,aAAa,CAAElG,EAAG,CAAC;YACjD,IAAKiG,YAAY,EAAG;cACnB,MAAME,WAAW,GAAGF,YAAY,CAACC,aAAa,CAAE,qBAAsB,CAAC;cACvEC,WAAW,CAACC,SAAS,CAACC,GAAG,CAAE,QAAS,CAAC;YACtC;;YAEA;YACAlH,CAAC,CAAEgC,QAAS,CAAC,CAACmF,cAAc,CAAE,iCAAkC,CAAC;UAClE,CAAC,EAAEnB,WAAY,CAAC;QACjB,CAAC;QAEDF,UAAU,CAACW,GAAG,GAAGb,cAAc;MAChC;IACD;IAEA,SAASiB,iBAAiBA,CAAA,EAAG;MAC5B,MAAM1C,IAAI,GAAG;QACZiD,MAAM,EAAE,mBAAmB;QAC3BC,MAAM,EAAEzF,qBAAqB,CAACM,IAAI,CAAE,KAAM,CAAC;QAC3CoF,UAAU,EAAExG,OAAO,CAACyG;MACrB,CAAC;MAEDvH,CAAC,CAACwH,IAAI,CAAE;QACPC,GAAG,EAAExB,kBAAkB,CAACyB,QAAQ;QAChCvD,IAAI;QACJwD,MAAM,EAAE,MAAM;QACdC,QAAQ,EAAE,MAAM;QAChBC,UAAUA,CAAA,EAAG;UACZnG,sBAAsB,CAACuD,MAAM,CAAE,wDAAyD,CAAC;QAC1F,CAAC;QACD6C,OAAOA,CAAEC,EAAE,EAAG;UACb,IAAKA,EAAE,CAACC,IAAI,KAAK,CAAC,EAAG;YACpBhI,CAAC,CAAC2C,IAAI,CAAEpC,cAAc,EAAE,UAAU4B,CAAC,EAAG;cACrC,MAAM8F,MAAM,GAAGjI,CAAC,CAAE,IAAK,CAAC,CAACsC,IAAI,CAAE,GAAI,CAAC;cACpC,MAAM4F,SAAS,GAAGD,MAAM,CAAC/F,IAAI,CAAE,MAAO,CAAC;cACvC,MAAMiG,cAAc,GAAGD,SAAS,GAAGH,EAAE,CAACK,QAAQ;cAC9CH,MAAM,CAAC/F,IAAI,CAAE,MAAM,EAAEiG,cAAe,CAAC;YACtC,CAAE,CAAC;YAEH5H,cAAc,CAAC8H,IAAI,CAAC,CAAC;UACtB;QACD,CAAC;QACDC,QAAQA,CAAA,EAAG;UACV5G,sBAAsB,CAACY,IAAI,CAAE,aAAc,CAAC,CAACiG,MAAM,CAAC,CAAC;QACtD,CAAC;QACDC,KAAKA,CAAErG,CAAC,EAAG;UACVsG,OAAO,CAACC,GAAG,CAAEvG,CAAE,CAAC;QACjB;MACD,CAAE,CAAC;IACJ;IAEA,SAASwG,UAAUA,CAAEC,KAAK,EAAG;MAC5B,MAAMzG,CAAC,GAAGH,QAAQ,CAAC6G,aAAa,CAAE,KAAM,CAAC;MACzC1G,CAAC,CAAC2G,SAAS,GAAGF,KAAK;MACnB,OAAOzG,CAAC,CAAC4G,UAAU,CAACpF,MAAM,KAAK,CAAC,GAAG,EAAE,GAAGxB,CAAC,CAAC4G,UAAU,CAAE,CAAC,CAAE,CAACC,SAAS;IACpE;IAEA,SAAS9F,WAAWA,CAAEsB,IAAI,EAAG;MAC5BA,IAAI,CAACyE,IAAI,GAAGN,UAAU,CAAEnE,IAAI,CAACyE,IAAK,CAAC,IAAI,EAAE;MAEzC,MAAMC,QAAQ,GAAGlJ,CAAC,CAACmJ,MAAM,CAAE;UACzBC,QAAQ,EAAE,EAAE;UACZC,IAAI,EAAE,CAAC;UACPC,GAAG,EAAE,CAAC;UACNC,UAAU,EAAE,CAAC;UACbC,OAAO,EAAE,QAAQ;UACjBC,OAAO,EAAE,QAAQ;UACjBC,UAAU,EAAE,WAAW;UACvBC,SAAS,EAAE,QAAQ;UACnBC,OAAO,EAAE;QACV,CAAC,EAAEpF,IAAK,CAAC;QACTyE,IAAI,GAAGzE,IAAI,CAACyE,IAAI,IAAI,EAAE;MAEvB,IAAIY,OAAO,GAAG,IAAI;MAElB,IAAI;QACH,MAAMC,MAAM,GAAG,uBAAuB,CAACzD,IAAI,CAAE7B,IAAI,CAACyE,IAAK,CAAC;QAExD,IAAKzE,IAAI,CAACmF,SAAS,KAAK,eAAe,IAAIG,MAAM,EAAG;UACnD,MAAMC,OAAO,GAAG,IAAIhE,KAAK,CAAC,CAAC;UAC3BgE,OAAO,CAACzD,WAAW,GAAG,WAAW;UAEjCyD,OAAO,CAACxD,MAAM,GAAG,YAAW;YAC3BsD,OAAO,GAAG,IAAItH,MAAM,CAACwD,KAAK,CAAE,IAAI,EAAEmD,QAAS,CAAC;YAC5CW,OAAO,CAACG,MAAM,CAAED,OAAO,CAACtD,GAAG,EAAE,YAAW,CAAC,CAAC,EAAE;cAAEH,WAAW,EAAE;YAAY,CAAE,CAAC;YAC1E/E,OAAO,CAAC2F,GAAG,CAAE2C,OAAQ,CAAC;YACtB;YACAlE,uBAAuB,CAAC,CAAC;UAC1B,CAAC;UAEDoE,OAAO,CAACtD,GAAG,GAAGjC,IAAI,CAACyE,IAAI;QACxB,CAAC,MAAM;UACN,MAAMgB,IAAI,GAAKC,CAAC,IAAMA,CAAC,CAACC,OAAO,CAC9B,kCAAkC,EAAE,MACrC,CAAC;UAEDN,OAAO,GAAG,IAAItH,MAAM,CAAC6H,IAAI,CAAE,EAAE,EAAElB,QAAS,CAAC;UAEzCW,OAAO,CAACZ,IAAI,GAAGgB,IAAI,CAAEJ,OAAO,CAACZ,IAAK,CAAC;UACnC;;UAEA1H,OAAO,CAAC2F,GAAG,CAAE2C,OAAQ,CAAC;UAEtBlE,uBAAuB,CAAC,CAAC;QAC1B;MACD,CAAC,CAAC,OAAQxD,CAAC,EAAG;QACbsG,OAAO,CAACC,GAAG,CAAEvG,CAAE,CAAC;MACjB;MAEA,OAAO0H,OAAO;IACf;IAEA,SAASQ,WAAWA,CAAA,EAAG;MACtB,OAAO/I,GAAG,CAACL,KAAK,CAAC,CAAC;IACnB;IAEA,SAAS2F,UAAUA,CAAA,EAAG;MACrBrF,OAAO,CAAC+I,SAAS,CAAEtJ,QAAQ,CAACE,MAAO,CAAC;MACpCK,OAAO,CAACgJ,QAAQ,CAAEvJ,QAAQ,CAACC,KAAM,CAAC;MAClCM,OAAO,CAACiJ,OAAO,CAAExJ,QAAQ,CAACK,KAAM,CAAC;MACjCE,OAAO,CAACkJ,UAAU,CAAC,CAAC;MACpBlJ,OAAO,CAACmJ,SAAS,CAAC,CAAC;;MAEnB;IACD;IAEA,SAASC,QAAQA,CAAA,EAAG;MACnB,IAAIC,QAAQ,GAAGtJ,GAAG,CAACuJ,QAAQ,CAAE,qBAAsB,CAAC;QACnDC,QAAQ,GAAGxJ,GAAG,CAACyJ,MAAM,CAAC,CAAC,CAAC9J,KAAK,CAAC,CAAC;QAC/B+J,SAAS,GAAGhL,CAAC,CAAEW,MAAO,CAAC,CAACO,MAAM,CAAC,CAAC,IAAK,EAAE,GAAG+J,QAAQ,CAAE3J,GAAG,CAACyJ,MAAM,CAAC,CAAC,CAACG,QAAQ,CAAC,CAAC,CAAC5B,GAAI,CAAC,CAAE;QACnF6B,QAAQ,GAAGnK,QAAQ,CAACC,KAAK;QACzBmK,SAAS,GAAGpK,QAAQ,CAACE,MAAM;MAE5B,MAAMmK,KAAK,GAAGC,IAAI,CAACC,GAAG,CACrBT,QAAQ,GAAGK,QAAQ,EACnBH,SAAS,GAAGI,SACb,CAAC;MAEDD,QAAQ,GAAGA,QAAQ,GAAGE,KAAK;MAC3B,IAAKF,QAAQ,EAAG;QACfP,QAAQ,CAACnF,GAAG,CAAE;UACb;QAAA,CACC,CAAC;MACJ;IACD;IAEA,SAAS+F,YAAYA,CAAEC,MAAM,EAAEC,IAAI,EAAEC,KAAK,EAAG;MAC5C,MAAM7K,OAAO,GAAG,CAAC,CAAC;MAClB,QAAS4K,IAAI;QACb,KAAK,WAAW;UACf;UACA;QACD,KAAK,OAAO;UACX;UACA5K,OAAO,CAAC8K,IAAI,GAAGD,KAAK;UACpB;QACD,KAAK,QAAQ;QACb,KAAK,QAAQ;UACZ,IAAKA,KAAK,GAAG,CAAC,EAAG;YAChB,IAAKD,IAAI,KAAK,QAAQ,EAAG;cACxBD,MAAM,CAACI,KAAK,GAAG,IAAI;YACpB,CAAC,MAAM;cACNJ,MAAM,CAACK,KAAK,GAAG,IAAI;YACpB;UACD,CAAC,MAAM,IAAKJ,IAAI,KAAK,QAAQ,EAAG;YAC/BD,MAAM,CAACI,KAAK,GAAG,KAAK;UACrB,CAAC,MAAM;YACNJ,MAAM,CAACK,KAAK,GAAG,KAAK;UACrB;UACAhL,OAAO,CAAE4K,IAAI,CAAE,GAAKJ,IAAI,CAACS,GAAG,CAAEJ,KAAM,CAAG;UACvC;QACD,KAAK,KAAK;QACV,KAAK,MAAM;QACX,KAAK,OAAO;UACX7K,OAAO,CAAE4K,IAAI,CAAE,GAAGT,QAAQ,CAAEU,KAAM,CAAC;UACnC;QACD;UACC7K,OAAO,CAAE4K,IAAI,CAAE,GAAGC,KAAK;MACxB;MACA3L,CAAC,CAAC2C,IAAI,CAAE7B,OAAO,EAAE,UAAUkL,CAAC,EAAEC,CAAC,EAAG;QACjCR,MAAM,CAACS,GAAG,CAAEF,CAAC,EAAEC,CAAE,CAAC;MACnB,CAAE,CAAC;MACHR,MAAM,CAACU,SAAS,CAAC,CAAC;IACnB;IAEA,SAAS7H,WAAWA,CAAA,EAAG;MACtB,MAAM8H,eAAe,GAAG,SAAAA,CAAU3E,GAAG,EAAE4E,QAAQ,EAAG;QACjD,MAAM3F,GAAG,GAAG,IAAIX,KAAK,CAAC,CAAC;QACvB;;QAEAW,GAAG,CAAC4F,OAAO,GAAG,YAAW;UACxBC,KAAK,CAAE,sBAAsB,GAAG9E,GAAG,GAAG,GAAI,CAAC;QAC5C,CAAC;QACDf,GAAG,CAACH,MAAM,GAAG,YAAW;UACvB8F,QAAQ,CAAE3F,GAAG,EAAEA,GAAG,CAACzF,KAAK,EAAEyF,GAAG,CAACxF,MAAO,CAAC;QACvC,CAAC;QACDwF,GAAG,CAACD,GAAG,GAAGgB,GAAG;MACd,CAAC;MAED,MAAM+E,SAAS,GAAG,SAAAA,CAAUC,OAAO,EAAExL,KAAK,EAAEC,MAAM,EAAG;QACpD,IAAIwL,GAAG,EAAEC,QAAQ,EAAEC,SAAS;QAE5B,IAAK3L,KAAK,IAAIC,MAAM,EAAG;UACtBwL,GAAG,GAAG,IAAIG,KAAK,CAAE,GAAG,EAAE,IAAI,EAAE,CAAE5L,KAAK,EAAEC,MAAM,CAAE,EAAE,IAAK,CAAC;UACrDyL,QAAQ,GAAGD,GAAG,CAACI,QAAQ,CAACC,QAAQ,CAACC,QAAQ,CAAC,CAAC;UAC3CJ,SAAS,GAAK1L,MAAM,GAAGyL,QAAQ,GAAK1L,KAAK;QAC1C,CAAC,MAAM;UACNyL,GAAG,GAAG,IAAIG,KAAK,CAAE,GAAG,EAAE,IAAI,EAAE,CAAE5L,KAAK,EAAEC,MAAM,CAAE,EAAE,IAAK,CAAC;UACrDyL,QAAQ,GAAGD,GAAG,CAACI,QAAQ,CAACC,QAAQ,CAACC,QAAQ,CAAC,CAAC;UAC3C;UACAJ,SAAS,GAAGF,GAAG,CAACI,QAAQ,CAACC,QAAQ,CAACE,SAAS,CAAC,CAAC;QAC9C;QAEAP,GAAG,CAACQ,QAAQ,CAAET,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAEE,QAAQ,EAAEC,SAAS,EAAE,EAAE,EAAE,MAAO,CAAC;QACrEF,GAAG,CAACS,IAAI,CAAElJ,kBAAkB,GAAG,MAAO,CAAC;MACxC,CAAC;MAEDrC,qBAAqB,GAAG5B,CAAC,CAAE,qBAAsB,CAAC;MAElD,IAAK4B,qBAAqB,CAAC+B,MAAM,EAAG;QACnC,MAAM8D,GAAG,GAAG7F,qBAAqB,CAACM,IAAI,CAAE,KAAM,CAAC;QAE/CkK,eAAe,CAAE3E,GAAG,EAAE+E,SAAU,CAAC;MAClC;IACD;IAEA3K,IAAI,CAAC,CAAC;EACP,CAAC;EAED,SAASC,WAAWA,CAAA,EAAG;IACtB7B,KAAK,GAAGD,CAAC,CAAE,YAAa,CAAC;IACzBE,qBAAqB,GAAGF,CAAC,CAAE,qBAAsB,CAAC;IAClDG,uBAAuB,GAAGH,CAAC,CAAE,yCAA0C,CAAC;IACxEI,0BAA0B,GAAGJ,CAAC,CAAE,sCAAuC,CAAC;IACxEK,aAAa,GAAGL,CAAC,CAAE,oBAAqB,CAAC;IACzCM,qBAAqB,GAAGN,CAAC,CAAE,6BAA8B,CAAC;IAC1DO,cAAc,GAAGP,CAAC,CAAE,oBAAqB,CAAC;IAC1CQ,iCAAiC,GAAGR,CAAC,CAAE,4CAA6C,CAAC;IAErFS,+BAA+B,GAAGT,CAAC,CAAE,yCAA0C,CAAC;IAChFU,8BAA8B,GAAGV,CAAC,CAAE,kCAAmC,CAAC;EACzE;EAEA,SAASoN,QAAQA,CAAA,EAAG;IACnB,IAAK/M,aAAa,CAACsD,MAAM,EAAG;MAC3B,SAAS0J,KAAKA,CAAA,EAAG;QAChBhN,aAAa,CAACiN,OAAO,CAAE,YAAW;UACjCrN,KAAK,CAACwF,GAAG,CAAE,UAAU,EAAE,MAAO,CAAC;QAChC,CAAE,CAAC;MACJ;MAEA,SAAS8H,IAAIA,CAAA,EAAG;QACftN,KAAK,CAACwF,GAAG,CAAE,UAAU,EAAE,QAAS,CAAC;QACjCpF,aAAa,CAACmN,MAAM,CAAC,CAAC;MACvB;MAEAxN,CAAC,CAAEgC,QAAS,CAAC,CAACC,EAAE,CAAE,iCAAiC,EAAE,YAAW;QAC/D5B,aAAa,CAACoN,QAAQ,CAAE,OAAQ,CAAC,CAACC,IAAI,CAAC,CAAC;QAExCzN,KAAK,CACHgC,EAAE,CAAE,OAAO,EAAE,UAAUE,CAAC,EAAG;UAC3B,IAAKA,CAAC,CAACwL,OAAO,KAAK,EAAE,EAAG;YACvBN,KAAK,CAAC,CAAC;UACR;QACD,CAAE,CAAC,CACFpL,EAAE,CAAE,OAAO,EAAE,cAAc,EAAE,UAAUE,CAAC,EAAG;UAC3CkL,KAAK,CAAC,CAAC;UACPlL,CAAC,CAACC,cAAc,CAAC,CAAC;QACnB,CAAE,CAAC;QAEJhC,0BAA0B,CAAC6B,EAAE,CAAE,QAAQ,EAAE,UAAUE,CAAC,EAAG;UACtDA,CAAC,CAACC,cAAc,CAAC,CAAC;UAClBmL,IAAI,CAAC,CAAC;QACP,CAAE,CAAC;QAEH,IAAKpN,uBAAuB,CAACwD,MAAM,EAAG;UACrC4J,IAAI,CAAC,CAAC;QACP;MACD,CAAE,CAAC;IACJ;EACD;EAEA,SAASK,gBAAgBA,CAAEC,IAAI,EAAG;IACjC,MAAMC,IAAI,GAAGC,MAAM,CAACC,SAAS,CAACF,IAAI,GAAI,SAASC,MAAM,CAACC,SAAS,CAACF,IAAM,EAAC,GAAG,EAAE;IAC5E,MAAMG,GAAG,GAAGJ,IAAI,CAAC9G,aAAa,CAAE,2BAA4B,CAAC;IAC7D,MAAMmH,QAAQ,GAAG,IAAIlJ,QAAQ,CAAE6I,IAAK,CAAC;IACrC,MAAM1J,IAAI,GAAGgK,MAAM,CAACC,WAAW,CAAEF,QAAQ,CAACG,OAAO,CAAC,CAAE,CAAC;IACrDlK,IAAI,CAACiD,MAAM,GAAG,yBAAyB;IAEvCpH,CAAC,CAACwH,IAAI,CAAE;MACPC,GAAG,EAAExB,kBAAkB,CAACyB,QAAQ,GAAGoG,IAAI;MACvC3J,IAAI;MACJwD,MAAM,EAAE,MAAM;MACdE,UAAUA,CAAA,EAAG;QACZoG,GAAG,CAAChH,SAAS,CAACC,GAAG,CAAE,SAAU,CAAC;MAC/B,CAAC;MACDY,OAAOA,CAAEC,EAAE,EAAG;QACb,IAAKA,EAAE,CAACC,IAAI,KAAK,CAAC,EAAG;UACpB,IAAK5D,SAAS,KAAK2D,EAAE,CAACuG,WAAW,EAAG;YACnC3N,MAAM,CAAC4N,QAAQ,CAACpE,OAAO,CAAEpC,EAAE,CAACuG,WAAY,CAAC;UAC1C,CAAC,MAAM;YACNT,IAAI,CAACW,OAAO,CAAE,kCAAmC,CAAC,CAACC,kBAAkB,CAAE,WAAW,EAAE1G,EAAE,CAAC2G,gBAAiB,CAAC;YACzGb,IAAI,CAACtF,MAAM,CAAC,CAAC;UACd;QACD,CAAC,MAAM;UACNgE,KAAK,CAAExE,EAAE,CAAC4G,OAAQ,CAAC;QACpB;MACD,CAAC;MACDnG,KAAKA,CAAErG,CAAC,EAAG;QACVsG,OAAO,CAACC,GAAG,CAAEvG,CAAE,CAAC;MACjB,CAAC;MACDmG,QAAQA,CAAA,EAAG;QACV2F,GAAG,CAAChH,SAAS,CAACsB,MAAM,CAAE,SAAU,CAAC;MAClC;IACD,CAAE,CAAC;EACJ;;EAEA;AACD;AACA;AACA;EACC,SAASqG,eAAeA,CAAEf,IAAI,EAAG;IAChC,IAAIc,OAAO,GAAG,EAAE;IAChB,IAAIE,MAAM,GAAG,EAAE;IACf,MAAMX,QAAQ,GAAG,IAAIlJ,QAAQ,CAAE6I,IAAK,CAAC;IACrC,MAAM1J,IAAI,GAAGgK,MAAM,CAACC,WAAW,CAAEF,QAAQ,CAACG,OAAO,CAAC,CAAE,CAAC;IACrD,MAAMJ,GAAG,GAAGJ,IAAI,CAAC9G,aAAa,CAAE,2BAA4B,CAAC;IAC7DkH,GAAG,CAAChH,SAAS,CAACC,GAAG,CAAE,SAAU,CAAC;IAE9B,MAAM4H,YAAY,GAAG9M,QAAQ,CAAC6G,aAAa,CAAE,KAAM,CAAC;IACpDiG,YAAY,CAAC7H,SAAS,CAACC,GAAG,CAAE,qBAAsB,CAAC;IAEnD6H,EAAE,CAACC,QAAQ,CAAE;MACZC,IAAI,EAAE,6BAA6B;MACnCtH,MAAM,EAAE,MAAM;MACdxD;IACD,CAAE,CAAC,CAAC+K,IAAI,CAAIC,GAAG,IAAM;MACpB,MAAM;QAAEhL;MAAK,CAAC,GAAGgL,GAAG;MACpBN,MAAM,GAAGM,GAAG,CAACN,MAAM;MACnBF,OAAO,GAAGQ,GAAG,CAACR,OAAO;MAErBG,YAAY,CAAC7H,SAAS,CAACC,GAAG,CAAE2H,MAAO,CAAC;MACpCC,YAAY,CAAChG,SAAS,GAAG6F,OAAO;MAChCd,IAAI,CAACuB,qBAAqB,CAAE,WAAW,EAAEN,YAAa,CAAC;MAEvD,IAAK1K,SAAS,KAAKyK,MAAM,IAAIA,MAAM,KAAK,SAAS,EAAG;QACnD,IAAK1K,IAAI,CAACkL,QAAQ,EAAG;UACpB7J,UAAU,CAAE,YAAW;YACtB7E,MAAM,CAAC4N,QAAQ,CAACe,IAAI,GAAGnL,IAAI,CAACkL,QAAQ;UACrC,CAAC,EAAE,GAAI,CAAC;QACT;MACD;IACD,CAAE,CAAC,CAACE,KAAK,CAAIC,GAAG,IAAM;MACrBV,YAAY,CAAC7H,SAAS,CAACC,GAAG,CAAE,OAAQ,CAAC;MACrC4H,YAAY,CAAChG,SAAS,GAAG0G,GAAG,CAACb,OAAO;MACpCd,IAAI,CAACuB,qBAAqB,CAAE,WAAW,EAAEN,YAAa,CAAC;IACxD,CAAE,CAAC,CAACI,IAAI,CAAE,MAAM;MACfjB,GAAG,CAAC1F,MAAM,CAAC,CAAC;IACb,CAAE,CAAC;EACJ;EAEAvI,CAAC,CAAEgC,QAAS,CAAC,CAACyN,KAAK,CAAE,YAAW;IAC/B3N,WAAW,CAAC,CAAC;IACbvB,cAAc,CAACmN,IAAI,CAAC,CAAC;IAErB,IAAK,CAAEvN,uBAAuB,CAACwD,MAAM,EAAG;MACvCvD,0BAA0B,CAACqF,GAAG,CAAE,SAAS,EAAE,cAAe,CAAC;IAC5D;;IAEA;;IAEA;IACA,IAAKvF,qBAAqB,CAACyD,MAAM,EAAG;MACnC,IAAI;QACH3D,CAAC,CAAC2C,IAAI,CAAEzC,qBAAqB,EAAE,UAAU2C,CAAC,EAAG;UAC5C,MAAM6M,eAAe,GAAGC,IAAI,CAACC,KAAK,CAAE5P,CAAC,CAAE,IAAK,CAAC,CAAC6P,GAAG,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC;UAE3D7P,CAAC,CAAE,IAAK,CAAC,CAAC6P,GAAG,CAAE,EAAG,CAAC;UACnB,MAAMC,aAAa,GAAG,GAAG,GAAG9P,CAAC,CAAE,IAAK,CAAC,CAACwO,OAAO,CAAE,KAAM,CAAC,CAACtM,IAAI,CAAE,IAAK,CAAC;UAEnE,MAAM6N,GAAG,GAAGnP,cAAc,CAAEkP,aAAa,EAAEJ,eAAgB,CAAC;;UAE5D;QACD,CAAE,CAAC;MACJ,CAAC,CAAC,OAAQvN,CAAC,EAAG;QACbsG,OAAO,CAACC,GAAG,CAAEvG,CAAE,CAAC;MACjB;IACD;;IAEA;IACAiL,QAAQ,CAAC,CAAC;;IAEV;IACApL,QAAQ,CAACgO,gBAAgB,CAAE,QAAQ,EAAE,UAAU7N,CAAC,EAAG;MAClD,MAAMtB,EAAE,GAAGsB,CAAC,CAAC8N,MAAM;MAEnB,IAAKpP,EAAE,CAACqP,YAAY,CAAE,MAAO,CAAC,KAAK,uBAAuB,EAAG;QAC5D/N,CAAC,CAACC,cAAc,CAAC,CAAC;QAClBwM,eAAe,CAAE/N,EAAG,CAAC;MACtB,CAAC,MAAM,IAAKA,EAAE,CAACqP,YAAY,CAAE,MAAO,CAAC,KAAK,8BAA8B,EAAG;QAC1E/N,CAAC,CAACC,cAAc,CAAC,CAAC;QAClBwL,gBAAgB,CAAE/M,EAAG,CAAC;MACvB;IACD,CAAE,CAAC;EACJ,CAAE,CAAC;AACJ,CAAC,EAAEsP,MAAO,CAAC,C","sources":["webpack://learnpress-certificates/./assets/src/js/frontend/certificates.js"],"sourcesContent":["/* eslint-disable camelcase */\n( function( $ ) {\n\tlet $html, el_lp_data_config_cer, el_show_cer_popup_first,\n\t\tel_form_certificate_button, el_popup_cert, el_single_certificate,\n\t\tel_social_cert, el_need_upload_cert_img_to_server;\n\n\tlet el_form_lp_cert_add_to_cart_woo;\n\tlet el_form_lp_cert_add_to_cart_lp;\n\n\twindow.LP_Certificate = function( el, options ) {\n\t\tlet self = this,\n\t\t\tviewport = {\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0,\n\t\t\t\ttemplateWidth: 0,\n\t\t\t\ttemplateHeight: 0,\n\t\t\t\tratio: 1,\n\t\t\t},\n\t\t\t$el = $( el ),\n\t\t\t$canvas = null,\n\t\t\twindowHeight, windowWith;\n\n\t\tlet el_certificate_actions, el_download, el_certificate_result;\n\n\t\tfunction init() {\n\t\t\twindowHeight = $( window ).height();\n\t\t\twindowWith = $( window ).width();\n\t\t\tgetElements();\n\t\t\tinitCanvas();\n\t\t\t$( document ).on( 'click', '[data-cert=\"' + $el.attr( 'id' ) + '\"]', function( e ) {\n\t\t\t\te.preventDefault();\n\t\t\t\tdownload();\n\t\t\t} );\n\t\t\tself.$canvas = $canvas;\n\t\t}\n\n\t\tfunction getElements() {\n\t\t\tel_certificate_actions = $( '.certificate-actions' );\n\t\t}\n\n\t\tfunction initCanvas() {\n\t\t\tif ( ! $canvas ) {\n\t\t\t\t$canvas = $el.find( 'canvas' );\n\t\t\t\t$canvas = new fabric.Canvas( $canvas.get( 0 ) );\n\t\t\t\t$canvas.selection = false;\n\n\t\t\t\t$.each( options.layers, function( i ) {\n\t\t\t\t\ttotal_layer++;\n\t\t\t\t} );\n\n\t\t\t\t$.each( options.layers, function( i, layer ) {\n\t\t\t\t\tif ( ! layer.type ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( $.isPlainObject( layer ) ) {\n\t\t\t\t\t\tcreateLayer( layer );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\tfunction dataURItoBlob( dataURI ) {\n\t\t\t// convert base64 to raw binary data held in a string\n\t\t\t// doesn't handle URLEncoded DataURIs - see SO answer #6850276 for code that does this\n\t\t\tconst byteString = atob( dataURI.split( ',' )[ 1 ] );\n\n\t\t\t// separate out the mime component\n\t\t\tconst mimeString = dataURI.split( ',' )[ 0 ].split( ':' )[ 1 ].split( ';' )[ 0 ];\n\n\t\t\t// write the bytes of the string to an ArrayBuffer\n\t\t\tconst ab = new ArrayBuffer( byteString.length );\n\n\t\t\t// create a view into the buffer\n\t\t\tconst ia = new Uint8Array( ab );\n\n\t\t\t// set the bytes of the buffer to the correct values\n\t\t\tfor ( let i = 0; i < byteString.length; i++ ) {\n\t\t\t\tia[ i ] = byteString.charCodeAt( i );\n\t\t\t}\n\n\t\t\t// write the ArrayBuffer to a blob, and you're done\n\t\t\tconst blob = new Blob( [ ab ], { type: mimeString } );\n\t\t\treturn blob;\n\t\t}\n\n\t\tlet name_file_download = 'certificate';\n\n\t\tfunction download() {\n\t\t\tif ( el_download.length ) {\n\t\t\t\tconst downloadType = el_download.data( 'type-download' );\n\n\t\t\t\tif ( undefined !== options.name ) {\n\t\t\t\t\tname_file_download = options.name;\n\t\t\t\t}\n\n\t\t\t\tswitch ( downloadType ) {\n\t\t\t\tcase 'pdf':\n\t\t\t\t\tdownloadPDF();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'image':\n\t\t\t\tdefault:\n\t\t\t\t\tdownloadImage();\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction downloadImage() {\n\t\t\tconst args = {\n\t\t\t\tformat: 'png',\n\t\t\t\tmultiplier: 1 / $canvas.getZoom(),\n\t\t\t};\n\n\t\t\tconst data_url = $canvas.toDataURL();\n\t\t\tconst imageBlob = dataURItoBlob( data_url );\n\t\t\tconst ajaxData = new FormData();\n\n\t\t\tname_file_download = name_file_download + '.png';\n\n\t\t\tajaxData.append( 'files', imageBlob, name_file_download );\n\n\t\t\tdownloadjs( $canvas.toDataURL( args ), name_file_download );\n\n\t\t\treturn false;\n\t\t}\n\n\t\tfunction createPreview() {\n\t\t\tconst args = {\n\t\t\t\tformat: 'png',\n\t\t\t\tmultiplier: 1 / $canvas.getZoom(),\n\t\t\t\tquality: 1,\n\t\t\t};\n\n\t\t\tconst data = $canvas.toDataURL( args );\n\n\t\t\tconst $img = $( '' ).insertBefore( '#' + $el[ 0 ].id );\n\n\t\t\tel_certificate_result = $( '.certificate-result' );\n\n\t\t\t$img.attr( 'src', data );\n\n\t\t\t// Resize image certificate preview\n\t\t\tsetTimeout( function() {\n\t\t\t\tif ( $img.width() > windowWith ) {\n\t\t\t\t\tel_certificate_result.css( 'width', '100%' );\n\t\t\t\t}\n\t\t\t}, 100 );\n\t\t}\n\n\t\tlet total_layer = 0;\n\t\tlet total_layer_loaded = 0;\n\n\t\tfunction check_layers_added_done() {\n\t\t\ttotal_layer_loaded++;\n\n\t\t\tif ( total_layer_loaded === total_layer ) {\n\t\t\t\tconst url_img_cer_bg = options.template;\n\t\t\t\t//var url_img_cer_bg = 'https://cdn.glitch.com/4c9ebeb9-8b9a-4adc-ad0a-238d9ae00bb5%2Fmdn_logo-only_color.svg?1535749917189';\n\n\t\t\t\tconst img_cer_bg = new Image();\n\t\t\t\tconst args_fabric = {};\n\n\t\t\t\t// Check image crossOrigin\n\t\t\t\tif ( undefined !== localize_lp_cer_js ) {\n\t\t\t\t\tconst is_same_domain = new RegExp( '^' + localize_lp_cer_js.base_url );\n\n\t\t\t\t\tif ( ! is_same_domain.test( url_img_cer_bg ) ) {\n\t\t\t\t\t\timg_cer_bg.crossOrigin = 'Anonymous';\n\t\t\t\t\t\targs_fabric.crossOrigin = 'Anonymous';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\timg_cer_bg.onload = function() {\n\t\t\t\t\tviewport = {\n\t\t\t\t\t\twidth: this.width,\n\t\t\t\t\t\theight: this.height,\n\t\t\t\t\t};\n\n\t\t\t\t\tfabric.Image.fromURL( img_cer_bg.src, function( img ) {\n\t\t\t\t\t\t$canvas.backgroundImage = img;\n\t\t\t\t\t\tupdateView();\n\t\t\t\t\t\tcreatePreview();\n\n\t\t\t\t\t\tif ( el_need_upload_cert_img_to_server.length ) {\n\t\t\t\t\t\t\tsaveImageToServer();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( el_certificate_actions.length ) {\n\t\t\t\t\t\t\tel_download = el_certificate_actions.find( '.download' );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst elCerPreview = document.querySelector( el );\n\t\t\t\t\t\tif ( elCerPreview ) {\n\t\t\t\t\t\t\tconst elCerConfig = elCerPreview.querySelector( '.lp-data-config-cer' );\n\t\t\t\t\t\t\telCerConfig.classList.add( 'loaded' );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Show popup certificate\n\t\t\t\t\t\t$( document ).triggerHandler( 'learn-press/certificates/loaded' );\n\t\t\t\t\t}, args_fabric );\n\t\t\t\t};\n\n\t\t\t\timg_cer_bg.src = url_img_cer_bg;\n\t\t\t}\n\t\t}\n\n\t\tfunction saveImageToServer() {\n\t\t\tconst data = {\n\t\t\t\taction: 'lpCertCreateImage',\n\t\t\t\tdata64: el_certificate_result.attr( 'src' ),\n\t\t\t\tname_image: options.key_cer,\n\t\t\t};\n\n\t\t\t$.ajax( {\n\t\t\t\turl: localize_lp_cer_js.url_ajax,\n\t\t\t\tdata,\n\t\t\t\tmethod: 'post',\n\t\t\t\tdataType: 'json',\n\t\t\t\tbeforeSend() {\n\t\t\t\t\tel_certificate_actions.append( '
  • Loading share social...
  • ' );\n\t\t\t\t},\n\t\t\t\tsuccess( rs ) {\n\t\t\t\t\tif ( rs.code === 1 ) {\n\t\t\t\t\t\t$.each( el_social_cert, function( e ) {\n\t\t\t\t\t\t\tconst elLink = $( this ).find( 'a' );\n\t\t\t\t\t\t\tconst hrefShare = elLink.attr( 'href' );\n\t\t\t\t\t\t\tconst url_cert_share = hrefShare + rs.url_cert;\n\t\t\t\t\t\t\telLink.attr( 'href', url_cert_share );\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\tel_social_cert.show();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tcomplete() {\n\t\t\t\t\tel_certificate_actions.find( '.fa-spinner' ).remove();\n\t\t\t\t},\n\t\t\t\terror( e ) {\n\t\t\t\t\tconsole.log( e );\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tfunction htmlDecode( input ) {\n\t\t\tconst e = document.createElement( 'div' );\n\t\t\te.innerHTML = input;\n\t\t\treturn e.childNodes.length === 0 ? '' : e.childNodes[ 0 ].nodeValue;\n\t\t}\n\n\t\tfunction createLayer( args ) {\n\t\t\targs.text = htmlDecode( args.text ) || '';\n\n\t\t\tconst defaults = $.extend( {\n\t\t\t\t\tfontSize: 24,\n\t\t\t\t\tleft: 0,\n\t\t\t\t\ttop: 0,\n\t\t\t\t\tlineHeight: 1,\n\t\t\t\t\toriginX: 'center',\n\t\t\t\t\toriginY: 'center',\n\t\t\t\t\tfontFamily: 'Helvetica',\n\t\t\t\t\tfieldType: 'custom',\n\t\t\t\t\tqr_size: 40,\n\t\t\t\t}, args ),\n\t\t\t\ttext = args.text || '';\n\n\t\t\tlet $object = null;\n\n\t\t\ttry {\n\t\t\t\tconst is_url = /^(https?|s?ftp):\\/\\//i.test( args.text );\n\n\t\t\t\tif ( args.fieldType === 'verified-link' && is_url ) {\n\t\t\t\t\tconst qr_code = new Image();\n\t\t\t\t\tqr_code.crossOrigin = 'Anonymous';\n\n\t\t\t\t\tqr_code.onload = function() {\n\t\t\t\t\t\t$object = new fabric.Image( null, defaults );\n\t\t\t\t\t\t$object.setSrc( qr_code.src, function() {}, { crossOrigin: 'Anonymous' } );\n\t\t\t\t\t\t$canvas.add( $object );\n\t\t\t\t\t\t//console.log(qr_code.src);\n\t\t\t\t\t\tcheck_layers_added_done();\n\t\t\t\t\t};\n\n\t\t\t\t\tqr_code.src = args.text;\n\t\t\t\t} else {\n\t\t\t\t\tconst wrap = ( s ) => s.replace(\n\t\t\t\t\t\t/(?![^\\n]{1,64}$)([^\\n]{1,64})\\s/g, '$1\\n'\n\t\t\t\t\t);\n\n\t\t\t\t\t$object = new fabric.Text( '', defaults );\n\n\t\t\t\t\t$object.text = wrap( $object.text );\n\t\t\t\t\t//console.log($object.text);\n\n\t\t\t\t\t$canvas.add( $object );\n\n\t\t\t\t\tcheck_layers_added_done();\n\t\t\t\t}\n\t\t\t} catch ( e ) {\n\t\t\t\tconsole.log( e );\n\t\t\t}\n\n\t\t\treturn $object;\n\t\t}\n\n\t\tfunction getMaxWidth() {\n\t\t\treturn $el.width();\n\t\t}\n\n\t\tfunction updateView() {\n\t\t\t$canvas.setHeight( viewport.height );\n\t\t\t$canvas.setWidth( viewport.width );\n\t\t\t$canvas.setZoom( viewport.ratio );\n\t\t\t$canvas.calcOffset();\n\t\t\t$canvas.renderAll();\n\n\t\t\t//fitImage();\n\t\t}\n\n\t\tfunction fitImage() {\n\t\t\tlet $preview = $el.siblings( '.certificate-result' ),\n\t\t\t\tscrWidth = $el.parent().width(),\n\t\t\t\tscrHeight = $( window ).height() - ( 60 + parseInt( $el.parent().position().top ) ),\n\t\t\t\tmaxWidth = viewport.width,\n\t\t\t\tmaxHeight = viewport.height;\n\n\t\t\tconst scale = Math.min(\n\t\t\t\tscrWidth / maxWidth,\n\t\t\t\tscrHeight / maxHeight\n\t\t\t);\n\n\t\t\tmaxWidth = maxWidth * scale;\n\t\t\tif ( maxWidth ) {\n\t\t\t\t$preview.css( {\n\t\t\t\t\t//maxWidth: maxWidth * scale\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\tfunction setLayerProp( $layer, prop, value ) {\n\t\t\tconst options = {};\n\t\t\tswitch ( prop ) {\n\t\t\tcase 'textAlign':\n\t\t\t\t//$layer.originX = value;\n\t\t\t\tbreak;\n\t\t\tcase 'color':\n\t\t\t\t//$layer.set('fill', value);\n\t\t\t\toptions.fill = value;\n\t\t\t\tbreak;\n\t\t\tcase 'scaleX':\n\t\t\tcase 'scaleY':\n\t\t\t\tif ( value < 0 ) {\n\t\t\t\t\tif ( prop === 'scaleX' ) {\n\t\t\t\t\t\t$layer.flipX = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$layer.flipY = true;\n\t\t\t\t\t}\n\t\t\t\t} else if ( prop === 'scaleX' ) {\n\t\t\t\t\t$layer.flipX = false;\n\t\t\t\t} else {\n\t\t\t\t\t$layer.flipY = false;\n\t\t\t\t}\n\t\t\t\toptions[ prop ] = ( Math.abs( value ) );\n\t\t\t\tbreak;\n\t\t\tcase 'top':\n\t\t\tcase 'left':\n\t\t\tcase 'angle':\n\t\t\t\toptions[ prop ] = parseInt( value );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\toptions[ prop ] = value;\n\t\t\t}\n\t\t\t$.each( options, function( k, v ) {\n\t\t\t\t$layer.set( k, v );\n\t\t\t} );\n\t\t\t$layer.setCoords();\n\t\t}\n\n\t\tfunction downloadPDF() {\n\t\t\tconst getImageFromUrl = function( url, callback ) {\n\t\t\t\tconst img = new Image();\n\t\t\t\t// img.crossOrigin = 'anonymous'\n\n\t\t\t\timg.onError = function() {\n\t\t\t\t\talert( 'Cannot load image: \"' + url + '\"' );\n\t\t\t\t};\n\t\t\t\timg.onload = function() {\n\t\t\t\t\tcallback( img, img.width, img.height );\n\t\t\t\t};\n\t\t\t\timg.src = url;\n\t\t\t};\n\n\t\t\tconst createPDF = function( imgData, width, height ) {\n\t\t\t\tlet doc, pdfWidth, pdfHeight;\n\n\t\t\t\tif ( width >= height ) {\n\t\t\t\t\tdoc = new jsPDF( 'l', 'mm', [ width, height ], true );\n\t\t\t\t\tpdfWidth = doc.internal.pageSize.getWidth();\n\t\t\t\t\tpdfHeight = ( height * pdfWidth ) / width;\n\t\t\t\t} else {\n\t\t\t\t\tdoc = new jsPDF( 'p', 'mm', [ width, height ], true );\n\t\t\t\t\tpdfWidth = doc.internal.pageSize.getWidth();\n\t\t\t\t\t// pdfHeight = (height * pdfWidth) / width;\n\t\t\t\t\tpdfHeight = doc.internal.pageSize.getHeight();\n\t\t\t\t}\n\n\t\t\t\tdoc.addImage( imgData, 'jpg', 0, 0, pdfWidth, pdfHeight, '', 'FAST' );\n\t\t\t\tdoc.save( name_file_download + '.pdf' );\n\t\t\t};\n\n\t\t\tel_certificate_result = $( '.certificate-result' );\n\n\t\t\tif ( el_certificate_result.length ) {\n\t\t\t\tconst url = el_certificate_result.attr( 'src' );\n\n\t\t\t\tgetImageFromUrl( url, createPDF );\n\t\t\t}\n\t\t}\n\n\t\tinit();\n\t};\n\n\tfunction getElements() {\n\t\t$html = $( 'html, body' );\n\t\tel_lp_data_config_cer = $( '.lp-data-config-cer' );\n\t\tel_show_cer_popup_first = $( 'input[name=f_auto_show_cer_popup_first]' );\n\t\tel_form_certificate_button = $( 'form[name=\"certificate-form-button\"]' );\n\t\tel_popup_cert = $( '#certificate-popup' );\n\t\tel_single_certificate = $( '.single-certificate-content' );\n\t\tel_social_cert = $( '.share-social-cert' );\n\t\tel_need_upload_cert_img_to_server = $( 'input[name=need_upload_cert_img_to_server]' );\n\n\t\tel_form_lp_cert_add_to_cart_woo = $( 'form[name=form-lp-cert-add-to-cart-woo]' );\n\t\tel_form_lp_cert_add_to_cart_lp = $( 'form[name=form-lp-cert-purchase]' );\n\t}\n\n\tfunction popupCer() {\n\t\tif ( el_popup_cert.length ) {\n\t\t\tfunction close() {\n\t\t\t\tel_popup_cert.fadeOut( function() {\n\t\t\t\t\t$html.css( 'overflow', 'auto' );\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tfunction open() {\n\t\t\t\t$html.css( 'overflow', 'hidden' );\n\t\t\t\tel_popup_cert.fadeIn();\n\t\t\t}\n\n\t\t\t$( document ).on( 'learn-press/certificates/loaded', function() {\n\t\t\t\tel_popup_cert.addClass( 'ready' ).hide();\n\n\t\t\t\t$html\n\t\t\t\t\t.on( 'keyup', function( e ) {\n\t\t\t\t\t\tif ( e.keyCode === 27 ) {\n\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t}\n\t\t\t\t\t} )\n\t\t\t\t\t.on( 'click', '.close-popup', function( e ) {\n\t\t\t\t\t\tclose();\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t} );\n\n\t\t\t\tel_form_certificate_button.on( 'submit', function( e ) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\topen();\n\t\t\t\t} );\n\n\t\t\t\tif ( el_show_cer_popup_first.length ) {\n\t\t\t\t\topen();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction addCertToCartWoo( form ) {\n\t\tconst lang = lpData.urlParams.lang ? `?lang=${ lpData.urlParams.lang }` : '';\n\t\tconst btn = form.querySelector( '.btn-add-cert-to-cart-woo' );\n\t\tconst formData = new FormData( form );\n\t\tconst data = Object.fromEntries( formData.entries() );\n\t\tdata.action = 'lp_cert_add_to_cart_woo';\n\n\t\t$.ajax( {\n\t\t\turl: localize_lp_cer_js.url_ajax + lang,\n\t\t\tdata,\n\t\t\tmethod: 'post',\n\t\t\tbeforeSend() {\n\t\t\t\tbtn.classList.add( 'loading' );\n\t\t\t},\n\t\t\tsuccess( rs ) {\n\t\t\t\tif ( rs.code === 1 ) {\n\t\t\t\t\tif ( undefined !== rs.redirect_to ) {\n\t\t\t\t\t\twindow.location.replace( rs.redirect_to );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tform.closest( '.wrapper-lp-cert-add-to-cart-woo' ).insertAdjacentHTML( 'beforeend', rs.button_view_cart );\n\t\t\t\t\t\tform.remove();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\talert( rs.message );\n\t\t\t\t}\n\t\t\t},\n\t\t\terror( e ) {\n\t\t\t\tconsole.log( e );\n\t\t\t},\n\t\t\tcomplete() {\n\t\t\t\tbtn.classList.remove( 'loading' );\n\t\t\t},\n\t\t} );\n\t}\n\n\t/**\n\t * Event add certificate to cart LP\n\t * @param form\n\t */\n\tfunction addCertToCartLP( form ) {\n\t\tlet message = '';\n\t\tlet status = '';\n\t\tconst formData = new FormData( form );\n\t\tconst data = Object.fromEntries( formData.entries() );\n\t\tconst btn = form.querySelector( '.btn-purchase-certificate' );\n\t\tbtn.classList.add( 'loading' );\n\n\t\tconst newElMessage = document.createElement( 'div' );\n\t\tnewElMessage.classList.add( 'learn-press-message' );\n\n\t\twp.apiFetch( {\n\t\t\tpath: '/lp/v1/certificate/purchase',\n\t\t\tmethod: 'POST',\n\t\t\tdata,\n\t\t} ).then( ( res ) => {\n\t\t\tconst { data } = res;\n\t\t\tstatus = res.status;\n\t\t\tmessage = res.message;\n\n\t\t\tnewElMessage.classList.add( status );\n\t\t\tnewElMessage.innerHTML = message;\n\t\t\tform.insertAdjacentElement( 'beforeend', newElMessage );\n\n\t\t\tif ( undefined !== status && status === 'success' ) {\n\t\t\t\tif ( data.redirect ) {\n\t\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t\twindow.location.href = data.redirect;\n\t\t\t\t\t}, 800 );\n\t\t\t\t}\n\t\t\t}\n\t\t} ).catch( ( err ) => {\n\t\t\tnewElMessage.classList.add( 'error' );\n\t\t\tnewElMessage.innerHTML = err.message;\n\t\t\tform.insertAdjacentElement( 'beforeend', newElMessage );\n\t\t} ).then( () => {\n\t\t\tbtn.remove();\n\t\t} );\n\t}\n\n\t$( document ).ready( function() {\n\t\tgetElements();\n\t\tel_social_cert.hide();\n\n\t\tif ( ! el_show_cer_popup_first.length ) {\n\t\t\tel_form_certificate_button.css( 'display', 'inline-block' );\n\t\t}\n\n\t\t//console.log(localize_lp_cer_js);\n\n\t\t/*** Create certificates ***/\n\t\tif ( el_lp_data_config_cer.length ) {\n\t\t\ttry {\n\t\t\t\t$.each( el_lp_data_config_cer, function( i ) {\n\t\t\t\t\tconst data_config_cer = JSON.parse( $( this ).val() ) || {};\n\n\t\t\t\t\t$( this ).val( '' );\n\t\t\t\t\tconst id_div_parent = '#' + $( this ).closest( 'div' ).attr( 'id' );\n\n\t\t\t\t\tconst cer = LP_Certificate( id_div_parent, data_config_cer );\n\n\t\t\t\t\t//console.log(data_config_cer);\n\t\t\t\t} );\n\t\t\t} catch ( e ) {\n\t\t\t\tconsole.log( e );\n\t\t\t}\n\t\t}\n\n\t\t// Popup Certificate\n\t\tpopupCer();\n\n\t\t// Events submit form\n\t\tdocument.addEventListener( 'submit', function( e ) {\n\t\t\tconst el = e.target;\n\n\t\t\tif ( el.getAttribute( 'name' ) === 'form-lp-cert-purchase' ) {\n\t\t\t\te.preventDefault();\n\t\t\t\taddCertToCartLP( el );\n\t\t\t} else if ( el.getAttribute( 'name' ) === 'form-lp-cert-add-to-cart-woo' ) {\n\t\t\t\te.preventDefault();\n\t\t\t\taddCertToCartWoo( el );\n\t\t\t}\n\t\t} );\n\t} );\n}( jQuery ) );\n\n"],"names":["$","$html","el_lp_data_config_cer","el_show_cer_popup_first","el_form_certificate_button","el_popup_cert","el_single_certificate","el_social_cert","el_need_upload_cert_img_to_server","el_form_lp_cert_add_to_cart_woo","el_form_lp_cert_add_to_cart_lp","window","LP_Certificate","el","options","self","viewport","width","height","templateWidth","templateHeight","ratio","$el","$canvas","windowHeight","windowWith","el_certificate_actions","el_download","el_certificate_result","init","getElements","initCanvas","document","on","attr","e","preventDefault","download","find","fabric","Canvas","get","selection","each","layers","i","total_layer","layer","type","isPlainObject","createLayer","dataURItoBlob","dataURI","byteString","atob","split","mimeString","ab","ArrayBuffer","length","ia","Uint8Array","charCodeAt","blob","Blob","name_file_download","downloadType","data","undefined","name","downloadPDF","downloadImage","args","format","multiplier","getZoom","data_url","toDataURL","imageBlob","ajaxData","FormData","append","downloadjs","createPreview","quality","$img","insertBefore","id","setTimeout","css","total_layer_loaded","check_layers_added_done","url_img_cer_bg","template","img_cer_bg","Image","args_fabric","localize_lp_cer_js","is_same_domain","RegExp","base_url","test","crossOrigin","onload","fromURL","src","img","backgroundImage","updateView","saveImageToServer","elCerPreview","querySelector","elCerConfig","classList","add","triggerHandler","action","data64","name_image","key_cer","ajax","url","url_ajax","method","dataType","beforeSend","success","rs","code","elLink","hrefShare","url_cert_share","url_cert","show","complete","remove","error","console","log","htmlDecode","input","createElement","innerHTML","childNodes","nodeValue","text","defaults","extend","fontSize","left","top","lineHeight","originX","originY","fontFamily","fieldType","qr_size","$object","is_url","qr_code","setSrc","wrap","s","replace","Text","getMaxWidth","setHeight","setWidth","setZoom","calcOffset","renderAll","fitImage","$preview","siblings","scrWidth","parent","scrHeight","parseInt","position","maxWidth","maxHeight","scale","Math","min","setLayerProp","$layer","prop","value","fill","flipX","flipY","abs","k","v","set","setCoords","getImageFromUrl","callback","onError","alert","createPDF","imgData","doc","pdfWidth","pdfHeight","jsPDF","internal","pageSize","getWidth","getHeight","addImage","save","popupCer","close","fadeOut","open","fadeIn","addClass","hide","keyCode","addCertToCartWoo","form","lang","lpData","urlParams","btn","formData","Object","fromEntries","entries","redirect_to","location","closest","insertAdjacentHTML","button_view_cart","message","addCertToCartLP","status","newElMessage","wp","apiFetch","path","then","res","insertAdjacentElement","redirect","href","catch","err","ready","data_config_cer","JSON","parse","val","id_div_parent","cer","addEventListener","target","getAttribute","jQuery"],"sourceRoot":""}